Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Custom Scheduling on OpenStack

Custom Scheduling on OpenStack

How do you go about creating a custom scheduler for OpenStack?

James Smith

April 22, 2013
Tweet

Other Decks in Programming

Transcript

  1. University of St Andrews School of Computer Science 1 LSCITS

    Cloud Workshop 2013 Custom Scheduling on OpenStack @jws7 James Smith
  2. University of St Andrews School of Computer Science Previously 2

    Use SIGAR library to gather resource usage Correlate with Power Meter readings Generate Power Model
  3. University of St Andrews School of Computer Science Previously 3

    Use SIGAR library to gather resource usage Correlate with Power Meter readings Generate Power Model CloudMonitor
  4. University of St Andrews School of Computer Science Workload Mixing

    4 What is the effect of workload mixing on Energy and Performance?
  5. University of St Andrews School of Computer Science Workload Mixing

    6 Exploit the characteristics of different applications in order to distribute effectively
  6. University of St Andrews School of Computer Science Workload Mix

    1 9 Consumes XX W Performance Scores XXX / ops per second
  7. University of St Andrews School of Computer Science Workload Mix

    2 10 Consumes YY W Performance Scores YYY / ops per second
  8. University of St Andrews School of Computer Science Experiment Design

    12 Demonstrate that workload mixes of virtual machines effect energy and performance v/s Power Distribution Unit
  9. University of St Andrews School of Computer Science Experiment Design

    13 Phoronix Test Suite used: gzip for CPU task aio-stress for I/O v/s Power Distribution Unit
  10. University of St Andrews School of Computer Science Results 14

    v/s Power Distribution Unit 135 W/h 116 W/h 128 W/h 127 W/h
  11. University of St Andrews School of Computer Science Results 15

    v/s Power Distribution Unit 251 W/h 255 W/h
  12. University of St Andrews School of Computer Science Results 16

    v/s Power Distribution Unit gzip 18.13s i/o stress 525.31 Mb/s gzip 18.11s i/o stress 388.23 Mb/s
  13. University of St Andrews School of Computer Science Results 17

    v/s Power Distribution Unit gzip 18.13s i/o stress 525.31 Mb/s gzip 18.11s i/o stress 388.23 Mb/s
  14. University of St Andrews School of Computer Science Less energy

    and same or better performance Results 18 v/s Power Distribution Unit More energy and same or worse performance
  15. University of St Andrews School of Computer Science Conclusion 19

    One workload mix uses less energy and has the same or better performance than the other Therefore there is a possibility of an optimal workload mix that not only reduces energy but holds or increases performance
  16. University of St Andrews School of Computer Science 20 It

    should be possible to develop an energy-aware scheduler for a Private Cloud system So what? without adverse perfomance
  17. University of St Andrews School of Computer Science What’s next?

    21 Developing the scheduler on OpenStack....
  18. University of St Andrews School of Computer Science Overview 22

    IaaS Private Cloud Project Used by over 150 companies including IBM, Intel, Cisco... Expanded from 30k lines of code at launch to 600k 400 active developers...
  19. University of St Andrews School of Computer Science Developing your

    own scheduler 25 “If you want to create your own filter you just need to inherit from BaseHostFilter and implement one method: host_passes. This method should return True if host passes the filter. It takes host_state(describes host) and filter_properties dictionary as the parameters.”
  20. University of St Andrews School of Computer Science Getting it

    to run! •Ok kids, this is where it gets complicated... 26
  21. University of St Andrews School of Computer Science Let me

    tell you a story •A day in the life of a Computer Science PhD student 27
  22. University of St Andrews School of Computer Science This isn’t

    dodgy... honest! •Spend 3 hours in a obscure IRC chatroom in a dark corner of the internet chatting to a guy called Boris in broken English •Also known as the the #openstack-dev forum •To fix a bug with a two year old version of a massively complicated private cloud system. 28
  23. University of St Andrews School of Computer Science The bug?

    • Putting my custom scheduler in the correct directory caused it to be “loaded” by the Openstack code • However, I had misformed the configuration file. This meant that there was no object reference for this new code. • But the system wouldn’t fail saying “bad config”. Instead if failed saying that the new code was bad. Which of course it wasn’t. • “The problem isn’t over here, it’s over there!” Myself, Derek and two OpenStack dev’s spent a week looking in the wrong place. • Isn’t this called epistemic complexity? 30
  24. University of St Andrews School of Computer Science How did

    we figure it out? •A long process of elimination. 31
  25. University of St Andrews School of Computer Science Lessons learned?

    •Developing for OpenStack is hard •Lack of documentation •Unhelpful errors •Large and complicated system •But the openstack dev community are very helpful. 32