Presentation is loading. Please wait.

Presentation is loading. Please wait.

Andrea Camesi, Jarle Hulaas Software Engineering Laboratory Swiss Federal Institute of Technology in Lausanne (EPFL) Switzerland.

Similar presentations


Presentation on theme: "Andrea Camesi, Jarle Hulaas Software Engineering Laboratory Swiss Federal Institute of Technology in Lausanne (EPFL) Switzerland."— Presentation transcript:

1 Andrea Camesi, Jarle Hulaas Firstname.Lastname@epfl.ch Software Engineering Laboratory Swiss Federal Institute of Technology in Lausanne (EPFL) Switzerland Joint work with Walter Binder Advances in Portable Resource Management

2 © Andrea Camesi and Jarle Hulaas 07/07/2005 2 Plan CPU Load Prediction Approach of CPU Load Measurements Future research directions Graphical Monitoring tool Layer structure Monitoring CPU consumption Portable Resource Management Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2

3 © Andrea Camesi and Jarle Hulaas 07/07/2005 3 Portable Resource Management Physical resources CPU, Memory, Network bandwidth, Battery power What is Resource Management ? Logical / conceptual resources Threads, Sockets, etc. Resource Management Views From outside (e.g. by the middleware) Accounting (non-intrusive monitoring) of consumption Controlling (possibly limiting) the consumption From inside Adaptive Resource-Aware applications Units of Measurement Bytecode instructions(CPU), Byte(Memory, Network bandwidth,..)

4 © Andrea Camesi and Jarle Hulaas 07/07/2005 4 Portable Resource Management What is it good for ? Software development Monitoring and profiling of Distributed Applications Benefits of Resource Management Quality of Service Billing for resource consumption Provisioning, load balancing Security with respect to Mobile Code Detecting/terminating Denial-of-Service attacks

5 © Andrea Camesi and Jarle Hulaas 07/07/2005 5 Portable Resource Management What is it good for ? Benefits of Resource Management Reliability and Flexibility Adapt behavior (algorithm) in front of resource saturation especially in Embedded Devices, Resource-Awareness Reliability Accountability (liability) for resource consumption interrupt a component and reclaim all its resources

6 © Andrea Camesi and Jarle Hulaas 07/07/2005 6 Plan CPU Load Prediction Approach of CPU Load Measurements Future research directions Graphical Monitoring tool Layer structure Monitoring CPU consumption Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2 Portable Resource Management Resource Awareness Heterogeneous Distributed System

7 © Andrea Camesi and Jarle Hulaas 07/07/2005 7 Resource Awareness Heterogeneous Distributed System No programming model for Resource-Awareness No available platform (java or other) to support Resource- Awareness Need portability Why portable ? Devise methods that are portable even across platforms/languages.Net, Resilient (?) Explore potential of portable Resource-Awareness strategies, portable units of measurement

8 © Andrea Camesi and Jarle Hulaas 07/07/2005 8 Plan CPU Load Prediction Approach of CPU Load Measurements Future research directions Graphical Monitoring tool Layer structure Monitoring CPU consumption Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2 Portable Resource Management Resource Awareness Heterogeneous Distributed System Programming models

9 © Andrea Camesi and Jarle Hulaas 07/07/2005 9 Resource Awareness Programming models Traditional Java thread-based Event-based (lower level) Programmer must provide fine grained applications Reactive model

10 © Andrea Camesi and Jarle Hulaas 07/07/2005 10 Per-thread and per-component accounting objects Net Mem CPU Resource-reified Multi-threaded Component (‘has a’ relation) invokes Resource Awareness callbacks Mem CPU Per-domain extensible management objects Net domain Memory domain CPU domain Programming models

11 © Andrea Camesi and Jarle Hulaas 07/07/2005 11 Plan CPU Load Prediction Approach of CPU Load Measurements Future research directions Graphical Monitoring tool Layer structure Monitoring CPU consumption Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2 Portable Resource Management Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2

12 © Andrea Camesi and Jarle Hulaas 07/07/2005 12 J-RAF2 Our solution: portable resource management through bytecode rewriting schemes Our General Approach with J-RAF2 The Java Resource Accounting Framework, 2nd edition www..org + = As easy to deploy as any Java application across all kinds of devices If the overhead is reasonable, why not favor a portable approach ?

13 © Andrea Camesi and Jarle Hulaas 07/07/2005 13 J-RAF2 Execute Original Java Application (compiled) Rewrite bytecode Transformed, Resource-reified Version of Application Per-thread or per-component accounting objects Net CPU Mem Meta-level Execution hooks Our General Approach with J-RAF2

14 © Andrea Camesi and Jarle Hulaas 07/07/2005 14 Graphical Monitoring tool Layer structure Monitoring CPU consumption Plan CPU Load Prediction Approach of CPU Load Measurements Future research directions Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2 Portable Resource Management Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2 Graphical Monitoring tool Layer structure Monitoring CPU consumption

15 © Andrea Camesi and Jarle Hulaas 07/07/2005 15 Graphical Monitoring tool What is Graphical Monitoring ? Benefits of Graphical Monitoring Visualize the behavior of a server application Internet applications Quality of Service, Security, Reliability Enforce limits, reduce threads priority High-level layer code User-defined: Accounting, Control and Profiling applications

16 © Andrea Camesi and Jarle Hulaas 07/07/2005 16 Graphical Monitoring tool VM Native Code (unmanaged) (partly unmanaged native code) Bytecode rewriting engine CPU-manageable runtime Adaptable CPU management libraries Sample CPU-monitoring policy Layer structure

17 © Andrea Camesi and Jarle Hulaas 07/07/2005 17 Graphical Monitoring tool Monitoring the Java 2D Demo application: - Standalone - Applet Viewer - Netscape browser - Tomcat Servlet

18 © Andrea Camesi and Jarle Hulaas 07/07/2005 18 Graphical Monitoring tool Layer structure Monitoring CPU consumption Plan CPU Load Prediction Approach of CPU Load Measurements Future research directions Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2 Portable Resource Management Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2 Graphical Monitoring tool Layer structure Monitoring CPU consumption CPU Load Prediction Approach of CPU Load Measurements

19 © Andrea Camesi and Jarle Hulaas 07/07/2005 19 CPU Load Prediction What is CPU Load Prediction? Bytecode instruction counting (BIC) and CPU time They are distinct metrics for different purposes Profile based on BIC are precise, platform-independent, directly comparable across different environment, independent of CPU BIC could be useful to fix absolute limit of execution time BIC could be useful to evaluate algorithm complexity Estimate CPU time Number of executed bytecode instructions / elapsed CPU time Relationship between BIC and CPU time Intuitive relation: proportional, but not so simple No previous work Goal: find the exact relationship Use profiles based on BIC to accurately estimate CPU time Difficulties: JIT, GC, Bytecode weight

20 © Andrea Camesi and Jarle Hulaas 07/07/2005 20 CPU Load Prediction Benefits of CPU time Prediction J-RAF2 Increase the value of our tools Resource Aware Cross development: embedded device, e.g. PDA Heterogeneous Environment with mobile code: evaluate execution time of an application in a portable way User defined deterministic scheduler based on BIC as application specific Pros Better understanding of java applications and java environment Continuous metric give more information

21 © Andrea Camesi and Jarle Hulaas 07/07/2005 21 CPU Load Prediction Samples taken during a run of 201_compress on Linux machine Measurements

22 © Andrea Camesi and Jarle Hulaas 07/07/2005 22 CPU Load Prediction Number of bytecodes executed per millisecond of CPU time (with Sun JDK 1.5.0 in interpreted mode, on a Sun Sparc 500 MHz machine under Solaris 9) Number of bytecodes executed per millisecond of CPU time (with Sun JDK 1.5.0 in interpreted mode, on an Intel Pentium 2.6 GHz machine under Linux)

23 © Andrea Camesi and Jarle Hulaas 07/07/2005 23 Graphical Monitoring tool Layer structure Monitoring CPU consumption Plan CPU Load Prediction Approach of CPU Load Measurements Future research directions Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2 Portable Resource Management Resource Awareness Heterogeneous Distributed System Programming models Our General Approach with J-RAF2 Graphical Monitoring tool Layer structure Monitoring CPU consumption CPU Load Prediction Approach of CPU Load Measurements Future research directions

24 © Andrea Camesi and Jarle Hulaas 07/07/2005 24 Future research directions Associate different weights to sequences of bytecode instructions Increase the level of precision of measurements Use profiles based on BIC to accurately estimate CPU time Explore aspect-oriented programming as a way of defining Resource-Awareness strategies Explore different programming models for Resource-Aware systems Memory accounting Short-term Mid-term Long-term

25 © Andrea Camesi and Jarle Hulaas 07/07/2005 25 Thank you for your attention !


Download ppt "Andrea Camesi, Jarle Hulaas Software Engineering Laboratory Swiss Federal Institute of Technology in Lausanne (EPFL) Switzerland."

Similar presentations


Ads by Google