QoS-Aware Storage Virtualization for Cloud File Systems Christoph Kleineweber (Speaker) Alexander Reinefeld Thorsten Schütt Zuse Institute Berlin 1
Outline – Introduction – Performance Models – Reservation Scheduling – Evaluation – Conclusion 2
Introduction – Cloud Storage – Difgerent interfaces E.g. block device, object store, database, fjle system – – Shared infrastructure Multi tenants – – Heterogeneous hardware Difgerent devices (e.g. HDDs and SSDs) – Multiple generations – – Difgerent customers' requirements Capacity – Throughput (MB/s, IOPS) – Difgerent access patterns (sequential, random) – 3
XtreemFS Architecture – Object based fjle-systems Separation of data and metadata storage – Scale capacity and performance by adding / removing OSDs – 4
Quality of Service Extensions – Application and device Modeling Classify applications – Determine OSD performance before usage – – Reservation scheduling Find appropriate OSDs for a customer – – Reservation enforcement (future work) Proportional-fair-share queue on OSDs – 5
Application and Device Behavior – Applications have difgerent access patterns Sequential – Random – – Performance depends on pattern and device Sequential vs. random – HDDs vs. SSDs – – OSD stack causes uncertainties Local fjle system properties – (Multiple) caches – Aging efgects – → Use empirical performance models 6
Device Benchmarks (HDD) Sequential Random Mixed 7
Device Performance - Observations – Sequential throughput decreases with a growing number of concurrent streams on HDDs – Almost constant random performance for HDDs and SSDs – Mixed workloads result in performance degradation on HDDs – SSDs are insensitive to mixed workloads and concurrent access 8
Reservation Scheduling – Find suffjcient OSDs for reservation Requirements: capacity, sequential throughput (MB/s), – random throughput (IOPS) OSDs have limited resources – OSD resources depend on current schedule – – Performance can be afgected by Selecting OSDs with fjtting capabilities – Number of reservations per OSD – Striping over multiple OSDs – – Minimize used OSDs 9
Multi-Dimensional Bin-Packing – Formulate reservations and OSDs as vectors Each dimension represents one resource (capacity, seq. throughput, – random throughput) Sum of reservations must not exceed OSD vector – – Using T oyoda's algorithm to solve bin-packing Find OSD with minimized angle between OSD vector and sum of – reservation vectors – Online problem 10
Scheduling Algorithm 11
XtreemFS Integration – Using logical volume per reservation Virtual fjle system with own namespace – – Implemented new reservation scheduler service Requests OSDs from directory server – Determines OSD performance by initial benchmarks – Computes schedule – Limits OSDs per volume by setting OSD selection policy – – Reservations are enforced on OSDs by adding proportional fair-share queue (future work) 12
Evaluation - Setup – Discrete event based simulation Reservations created at a rate of 0.5 – Random and sequential reservations each with probability 0.5 – Capacity, throughput and lifetime exponentially distributed with – mean of 100 (GB, MB/s, IOPS, steps) – Storage cluster of SSDs and HDDs Performance characteristics from device benchmarks – – Baseline Allocating dedicated OSDs for sequential access reservations – Random access reservations may share OSDs – 13
Evaluation – Saved OSDs over Time 14
Evaluation – Saved OSDs vs. Active Reservations 15
Conclusion – Object-based fjle systems are well suited for cloud storage – QoS-aware scheduling algorithm reduces resource usage while guaranteeing performance – Detailed knowledge about device characteristics is necessary 16
Questions? Website: xtreemfs.org Repository: github.com/xtreemfs Mailinglist: xtreemfs@googlegroups.com 17
Recommend
More recommend