overseer: low-level hardware monitoring and management for java
TRANSCRIPT
Tool Demonstration
web: http://sosoa.inf.unisi.chemail: [email protected]
Overseer: Low-Level Hardware Monitoring and Management for Java
Achille Peternier, Daniele Bonetta, Walter Binder, Cesare Pautasso
The Overseer library
The Overseer library
Developers/ApplicationsJava VMKernelCPUReality
The Overseer library
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 millenniumJoshua Bloch, Google Inc.
The Overseer library
Developers/ApplicationsJava VMKernelCPUReality
Outline
The Overseer libraryOverHpcDemo: HW survey
Demo: HPC measurements
OverAgentDemo: threads and CPU usage monitoring
OverIpmiDemo: power consumption and thread scheduling
Conclusion
The Overseer library
Overseer
overseer.jarOverHpc
import ch.usi.overseer.OverHpcOverAgent
import ch.usi.overseer.OverAgent-agentpath=path2libOverIpmi
import ch.usi.overseer.OverIpmi
libpfmhwlocfreeipmiJVMTI
Operating System (Linux)Hardware
OverHpc
Hardware Performance Counters (HPCs)Cache misses, branch mispredictions, prefetch efficiency, etc.
Hardware SurveyUnderlying architectureNumber of available CPUs, cores, NUMA nodes
How are they aggregated
Scheduling managementChanging the way OS threads are assigned to cores for execution
OverHpc - Deployment
Local
Remote
1 CPU (Core2Duo)
2 Cores
2 Processing Units
2 GB RAM
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)
OverHpc - Demo
HW Architectural overview:
Extended version of Runtime.availableProcessors()
HPCs at work:
Enumerating available HPCs
Measuring hardware-level metrics during a CPU intensive task
OverAgent
JVMTI Native Agent
Intercepting thread creation/termination at the JVM levelSending notifications back to the application level
Monitoring CPU usage on a per thread-basis ( la unix top command)
Template for plug&play agents
OverAgent - Demo
Thread monitoring (including CPU usage):
Keeping track of threads spawning and their CPU usage
OverIpmi
Interfacing various hardware-level sensors commonly available on server-class machinesSystem temperatures, power consumption, etc.
* 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)
OverIpmi - Demo
Per-core bindings and power consumption:
Computing Fibonacci series on several cores
First using a single CPU, then more
Overseer@work
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.
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.
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.
Conclusion
Links:Overseer library available here: http://sosoa.inf.unisi.ch
JOpera:
http://www.jopera.org
Contacts:email: [email protected]
Thank you!
Muokkaa otsikon tekstimuotoa napsauttamalla
Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso