E N D
1. Rain: A Workload Generation Toolkit for Cloud Computing Applications Aaron Beitch, Timothy Yung, Rean Griffith, and many others…
2. 2 Overview Overview
Motivation
Features
Role in the Demo
Conclusions and Acknowledgments
4. 4 Overview: A flexible workload generation toolkit Rain is a by-product of our dynamic resource allocation work (Web Director, SCADS Director)
Handling workload variations is as important as peak performance. Scaling up as important as scaling down!
5. Motivation: Many classes of workload variation in the Cloud We identify three classes relevant for our work
The amount of load (diurnal patterns, ramps, spikes)
The mix of operations (changes in feature popularity, transitions from read-heavy workloads to write-heavy workloads)
Variations in data-popularity (data-hotspots in stateful systems e.g. distributed storage)
6. Existing Workload ToolsNot Flexible Enough
7. Main Feature: Flexibility Non-stationary workloads
Time-varying load amount, mix (user behavior), and data hotspots
Full spectrum of load-generation strategies
open-loop, closed-loop and partly open-loop
Multi-track/tenant aggregated workloads
Lightweight (~2000 lines of Java)
Easy to build new drivers or extend core components
10 drivers (so far) targeting web, storage, analytics
8. Non-stationary Workloads
9. Architecture: Separate Request generation from Request execution
10. Simple API to Build Drivers Targeting New Systems/Apps
11. LOC for SCADr and comRADes drivers
12. Multi-App/Tenant Workloads
13. Multiple instances of Rain will be deployed on Mesos and used to subject the undergrad apps (SCADr, gRADit, comRADes) to a variety of workload variations designed to cause both the web and storage tier (SCADS) to scale up and down automatically Role in Today’s Demo: Auto-scaling Web and Storage Tiers
14. Thanks to all the Contributors!
15. Conclusion Managing workload variations is key to dynamic resource allocation in the Cloud
We identify three classes of workload variation (amount, mix, data-popularity)
Rain: statistics-based workload generation toolkit that uses parameterized or empirical distributions to characterize different classes of workload variations
Released under a BSD license on GitHub (http://github.com/yungsters/rain-workload-toolkit)
Rain is also a component of VMmark 2.0 benchmark
16. Thank You
Thank You for your time and attention!
Questions, Comments, Queries?
For further information contact: Rean Griffith (rean@eecs.berkeley.edu)
Rain Workload Toolkit (BSD-licensed on GitHub): http://github.com/yungsters/rain-workload-toolkit
17. Backup
18. How Rain Differs=Architecture Made different architectural choices to allow for more flexibility
Decoupled request generation from request execution (allows for more sophisticated generation strategies e.g. simulations and using parameterized or empirical probability distributions)
Requests as parameterizable objects, see GoF command pattern, (supports open-loop and partly-open-loop load generation)
Support for multiple “independent” workload tracks to simulate multi-tenant/app workloads
19. Implementation ~1813 lines of Java
Includes a port of the Olio workload generator used by Faban in the Cloudstone benchmark
~2841 lines of Java
20. 20 Some numbers… Simple cluster on EC2 (150 Olio Users)
21. 21 Some numbers…