Tool Demonstration <ul>web:  http://sosoa.inf.unisi.ch email:  achille.peternier@usi.ch </ul>Overseer: Low-Level Hardware ...
The Overseer library
The Overseer library Developers/ Applications Java VM Kernel CPU Reality
The Overseer library <ul>” Today it is impossible to estimate performance: you have to measure it. Programming has become ...
The Overseer library Developers/ Applications Java VM Kernel CPU Reality
Outline <ul><li>The Overseer library </li><ul><li>OverHpc </li><ul><li>Demo: HW survey
Demo: HPC measurements </li></ul><li>OverAgent </li><ul><li>Demo: threads and CPU usage monitoring </li></ul><li>OverIpmi ...
The Overseer library Overseer overseer.jar OverHpc import ch.usi.overseer.OverHpc OverAgent import ch.usi.overseer.OverAge...
OverHpc <ul><li>Hardware Performance Counters (HPCs) </li><ul><li>Cache misses, branch mispredictions, prefetch efficiency...
How are they aggregated </li></ul></ul><li>Scheduling management </li><ul><li>Changing the way OS threads are assigned to ...
OverHpc - Deployment Local Remote <ul><li>1 CPU (Core2Duo)
2 Cores
2 Processing Units
2 GB RAM </li></ul><ul><li>4 CPUs (Nehalem-based esacore Xeon)
24 Cores (6 cores per CPU)
48 Processing Units (2 Hyperthreading units per core)
128 GB RAM (4 NUMA nodes, 32 GB each) </li></ul>
Upcoming SlideShare
Loading in …5
×

Overseer: Low-Level Hardware Monitoring and Management for Java

1,795 views

Published on

O

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,795
On SlideShare
0
From Embeds
0
Number of Embeds
184
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Overseer: Low-Level Hardware Monitoring and Management for Java

  1. 1. Tool Demonstration <ul>web: http://sosoa.inf.unisi.ch email: achille.peternier@usi.ch </ul>Overseer: Low-Level Hardware Monitoring and Management for Java Achille Peternier , Daniele Bonetta, Walter Binder, Cesare Pautasso
  2. 2. The Overseer library
  3. 3. The Overseer library Developers/ Applications Java VM Kernel CPU Reality
  4. 4. The Overseer library <ul>” Today it is impossible to estimate performance: you have to measure it. Programming has become an empirical science.” Performance Anxiety: Performance analysis in the new millennium Joshua Bloch, Google Inc. </ul>
  5. 5. The Overseer library Developers/ Applications Java VM Kernel CPU Reality
  6. 6. Outline <ul><li>The Overseer library </li><ul><li>OverHpc </li><ul><li>Demo: HW survey
  7. 7. Demo: HPC measurements </li></ul><li>OverAgent </li><ul><li>Demo: threads and CPU usage monitoring </li></ul><li>OverIpmi </li><ul><li>Demo: power consumption and thread scheduling </li></ul></ul><li>Conclusion </li></ul>
  8. 8. The Overseer library Overseer overseer.jar OverHpc import ch.usi.overseer.OverHpc OverAgent import ch.usi.overseer.OverAgent -agentpath=path2lib OverIpmi import ch.usi.overseer.OverIpmi libpfm hwloc freeipmi JVMTI Operating System (Linux) Hardware
  9. 9. OverHpc <ul><li>Hardware Performance Counters (HPCs) </li><ul><li>Cache misses, branch mispredictions, prefetch efficiency, etc. </li></ul><li>Hardware Survey </li><ul><li>Underlying architecture </li><ul><li>Number of available CPUs, cores, NUMA nodes
  10. 10. How are they aggregated </li></ul></ul><li>Scheduling management </li><ul><li>Changing the way OS threads are assigned to cores for execution </li></ul></ul>
  11. 11. OverHpc - Deployment Local Remote <ul><li>1 CPU (Core2Duo)
  12. 12. 2 Cores
  13. 13. 2 Processing Units
  14. 14. 2 GB RAM </li></ul><ul><li>4 CPUs (Nehalem-based esacore Xeon)
  15. 15. 24 Cores (6 cores per CPU)
  16. 16. 48 Processing Units (2 Hyperthreading units per core)
  17. 17. 128 GB RAM (4 NUMA nodes, 32 GB each) </li></ul>
  18. 18. OverHpc - Demo <ul><li>HW Architectural overview: </li></ul><ul><ul><li>Extended version of Runtime.availableProcessors() </li></ul></ul><ul><li>HPCs at work: </li></ul><ul><ul><li>Enumerating available HPCs
  19. 19. Measuring hardware-level metrics during a CPU intensive task </li></ul></ul>
  20. 20. OverAgent <ul><li>JVMTI Native Agent
  21. 21. Intercepting thread creation/termination at the JVM level </li><ul><li>Sending notifications back to the application level </li></ul><li>Monitoring CPU usage on a per thread-basis ( à la unix top command)
  22. 22. Template for ”plug&play” agents </li></ul>
  23. 23. OverAgent - Demo <ul><li>Thread monitoring (including CPU usage): </li></ul><ul><ul><li>Keeping track of threads spawning and their CPU usage </li></ul></ul>
  24. 24. OverIpmi <ul><li>Interfacing various hardware-level sensors commonly available on server-class machines </li><ul><li>System temperatures, power consumption, etc. </li></ul></ul>* The Intelligent Platform Management Interface (IPMI) is a standardized computer system interface used by system administrators to manage a computer system and monitor its operation. ( wiki)
  25. 25. OverIpmi - Demo <ul><li>Per-core bindings and power consumption: </li></ul><ul><ul><li>Computing Fibonacci series on several cores
  26. 26. First using a single CPU, then more </li></ul></ul>
  27. 27. [email_address] <ul><li>Daniele Bonetta, Achille Peternier, Cesare Pautasso, and Walter Binder. A multicore-aware runtime architecture for scalable service composition. In Services Computing Conference (APSCC), 2010 IEEE Asia-Pacific, pages 83-90, dec. 2010.
  28. 28. Achille Peternier, Daniele Bonetta, Cesare Pautasso, and Walter Binder. Exploiting multicores to optimize business process execution. In Service-Oriented Computing and Applications (SOCA), 2010 IEEE International Conference on, pages 1-8, dec. 2010.
  29. 29. Daniele Bonetta, Achille Peternier, Cesare Pautasso, and Walter Binder. Towards scalable service composition on multicores. In Proceedings of the 2010 international conference on On the move to meaningful internet systems, OTM'10, pages 655-664, Berlin, Heidelberg, 2010. Springer-Verlag. </li></ul>
  30. 30. Conclusion <ul><li>Links: </li><ul><li>Overseer library available here: http://sosoa.inf.unisi.ch
  31. 31. JOpera: http://www.jopera.org </li></ul><li>Contacts: </li><ul><li>email: achille.peternier@usi.ch </li></ul></ul>
  32. 32. Thank you!

×