130 likes | 235 Views
Profile Driven Component Placement for Cluster-based Online Services. Christopher Stewart (University of Rochester) Kai Shen (University of Rochester) Sandhya Dwarkadas (University of Rochester) Michael Scott (University of Rochester) Jian Yin (IBM TJ Watson).
E N D
Profile Driven Component Placement for Cluster-based Online Services Christopher Stewart (University of Rochester) Kai Shen (University of Rochester) Sandhya Dwarkadas (University of Rochester) Michael Scott (University of Rochester) Jian Yin (IBM TJ Watson)
Large Distributed Online Services • Amazon, EBay, Google, Citrix, etc. • Implemented via many distinct single-purpose components • Developers use common interface • Service demands affect the bottom line • Sustained Throughput • Response time, Reliability, etc. • Hardware costs affect bottom line. • How can we optimize transparently?
Component Placement • Given a complex service divided into N components distributed among M machines: Is system performance affected by component placement? Can we determine the maximal throughput placement? Web Server Business Logic Datasource
Our Solution Offline Available resources and workload Web Server WS • Build component profiles • Ascertain workload and available resources • Estimate throughput for all settings (or use heuristic) • Setting with largest throughput estimate is optimal Component Resource Consumption Profiles Business Logic A A Placement Executive Business Logic B B Placement Decisions Runtime environment for a cluster-based online services Database DB
Component Profiles • Characterize resource consumption per component • Acquired via offline examination • Contain information on the following resources • CPU Consumption (average , peak) • Memory Usage (peak) • Network Consumption (average , peak) • Derived from proc file system We hypothesize resource consumption grows linearly with workload (requests per second).
Profile Validation Resource consumption is proportional to workload. 12 1.5 average average linear fitting 10 peak peak linear fitting 8 1 CPU usage (in percentage) 6 Network usage (in Mb) 4 0.5 2 0 0 0 2 4 6 8 10 12 0 2 4 6 8 10 12 Workload (requests/second) Resulting component profile:
Predicting Throughput For any given placement: • A server reaches maximum throughput when a resource saturates • Using component profiles, we predict resource consumption over all components on the server • CPUconsumption = CPUper-request * Workload + CPUoverhead • A workload is non-saturating iff • CPUsaturation > CPUper-request * Workload + CPUoverhead • CPUmax : Largest non-saturating workload • TP = MIN[ CPUmax, MEMmax, NETmax] of all servers
Experimental Setup • RUBiS [Amza et al., 2002] • Auction benchmark modeled after EBay • 11 Components : Web server, Database, and 9 Enterprise Java Beans. • 2 Machine setup • 1.26 GHz, 2 GB Memory, JBOSS, and MySql • Business logic: No replication, Static database and web server • Compare 4 Placement Strategies • All on web, All on DB, Writer’s with Web, and Profiler’s choice
Impact of Placement • We Observe: • Placement affects maximal throughput by 38% • Profiler’s choice exceeds other strategies by 22-38% All with Web All with database Writers with Web Profiler ‘s choice 100 80 60 Throughput (requests/second) • We Conclude: • Component placement can significantly affect performance. • Component Profiles can choose a good placement strategy. 40 20 0 0 20 40 60 80 100 120 Input workload (requests/second)
Prediction Accuracy • We Observe: • Throughput tends to fall between peak and average predictions • Large ranges Pessimistic estimation 120 Measurement result Optimistic estimation 100 80 Throughput (requests/decond) 60 • We Conclude: • Component profile predictions are generally accurate • More accurate measurement tools are needed. 40 20 0 AllWeb AllDB WritersWeb Profiler
Future Work • Improve Prediction Accuracy • Use profiles for other QoS metrics and service needs • response time, service differentiation, and capacity planning • Dynamic placement decisions • Adjust to changing workloads online • Support plug and play hardware modifications • Placement over wide area networks • Extend edge servers for optimal performance
Take Away Points • Component placement has a significant impact upon performance in online services. • Component profiles capture resource consumption characteristics • Resource consumption and throughput can be predicted via component profiles
www.cs.rochester.edu/~stewart/profile More Information