Andrea Camesi, Jarle Hulaas - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Andrea Camesi, Jarle Hulaas

Description:

... a run of 201_compress on Linux machine. Measurements. 07/07/2005 ... (with Sun JDK 1.5.0 in interpreted mode, on a Sun Sparc 500 MHz machine under Solaris 9) ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 26
Provided by: jarleh
Category:
Tags: andrea | camesi | hulaas | jarle

less

Transcript and Presenter's Notes

Title: Andrea Camesi, Jarle Hulaas


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

2
Plan
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
3
Portable Resource Management
  • Physical resources
  • CPU, Memory, Network bandwidth, Battery power
  • 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
Portable Resource Management
  • What is it good for ?
  • Software development
  • Monitoring and profiling of Distributed
    Applications
  • Quality of Service
  • Billing for resource consumption
  • Provisioning, load balancing
  • Security with respect to Mobile Code
  • Detecting/terminating Denial-of-Service attacks

5
Portable Resource Management
  • What is it good for ?
  • 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
Plan
Portable Resource Management
  • Resource Awareness
  • Heterogeneous Distributed System
  • Programming models
  • Our General Approach with J-RAF2

Resource Awareness
Heterogeneous Distributed System
Graphical Monitoring tool Layer
structure Monitoring CPU consumption
CPU Load Prediction Approach of CPU
Load Measurements
Future research directions
7
Resource Awareness
Heterogeneous Distributed System
  • No programming model for Resource-Awareness
  • No available platform (java or other) to support
    Resource-Awareness
  • Need portability
  • Devise methods that are portable even across
    platforms/languages
  • .Net, Resilient (?)
  • Explore potential of portable Resource-Awareness
    strategies, portable units of measurement

8
Plan
Portable Resource Management
  • Resource Awareness
  • Heterogeneous Distributed System
  • Programming models
  • Our General Approach with J-RAF2

Resource Awareness
Heterogeneous Distributed System
Programming models
Graphical Monitoring tool Layer
structure Monitoring CPU consumption
CPU Load Prediction Approach of CPU
Load Measurements
Future research directions
9
Resource Awareness
Programming models
  • Traditional Java thread-based
  • Event-based (lower level)
  • Programmer must provide fine grained
    applications
  • Reactive model

10
Resource Awareness
Programming models
Resource-reified Multi-threaded Component
11
Plan
Portable Resource Management
  • Resource Awareness
  • Heterogeneous Distributed System
  • Programming models
  • Our General Approach with J-RAF2

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
12
J-RAF2
Our General Approach with J-RAF2
  • As easy to deploy as any Java application
  • across all kinds of devices
  • If the overhead is reasonable,
  • why not favor a portable approach ?
  • Our solution portable resource management
    through bytecode rewriting schemes

The Java Resource Accounting Framework, 2nd
edition

13
J-RAF2
Our General Approach with J-RAF2
Execute
14
Plan
Portable Resource Management
  • Resource Awareness
  • Heterogeneous Distributed System
  • Programming models
  • Our General Approach with J-RAF2

Resource Awareness
Heterogeneous Distributed System
Programming models
Our General Approach with J-RAF2
Graphical Monitoring tool Layer
structure Monitoring CPU consumption
Graphical Monitoring tool
Layer structure
Monitoring CPU consumption
CPU Load Prediction Approach of CPU
Load Measurements
Future research directions
15
Graphical Monitoring tool
What is Graphical Monitoring ?
  • High-level layer code
  • User-defined Accounting, Control and Profiling
    applications

Benefits of Graphical Monitoring
  • Visualize the behavior of a server application
  • Internet applications
  • Quality of Service, Security, Reliability
  • Enforce limits, reduce threads priority

16
Graphical Monitoring tool
Layer structure
17
Graphical Monitoring tool
Monitoring the Java 2D Demo application -
Standalone - Applet Viewer - Netscape browser -
Tomcat Servlet
18
Plan
Portable Resource Management
  • Resource Awareness
  • Heterogeneous Distributed System
  • Programming models
  • Our General Approach with J-RAF2

Resource Awareness
Heterogeneous Distributed System
Programming models
Our General Approach with J-RAF2
Graphical Monitoring tool Layer
structure Monitoring CPU consumption
Graphical Monitoring tool
Layer structure
Monitoring CPU consumption
CPU Load Prediction Approach of CPU
Load Measurements
CPU Load Prediction
Approach of CPU Load
Measurements
Future research directions
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
  • 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
  • Estimate CPU time
  • Number of executed bytecode instructions /
    elapsed CPU time
  • Difficulties
  • JIT, GC, Bytecode weight

20
CPU Load Prediction
Benefits of CPU time Prediction
  • 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
  • J-RAF2
  • Increase the value of our tools

Pros
  • Better understanding of java applications and
    java environment
  • Continuous metric give more information

21
CPU Load Prediction
Measurements
Samples taken during a run of 201_compress on
Linux machine
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
Plan
Portable Resource Management
  • Resource Awareness
  • Heterogeneous Distributed System
  • Programming models
  • Our General Approach with J-RAF2

Resource Awareness
Heterogeneous Distributed System
Programming models
Our General Approach with J-RAF2
Graphical Monitoring tool Layer
structure Monitoring CPU consumption
Graphical Monitoring tool
Layer structure
Monitoring CPU consumption
CPU Load Prediction Approach of CPU
Load Measurements
CPU Load Prediction
Approach of CPU Load
Measurements
Future research directions
Future research directions
24
Future research directions
Short-term
  • 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
  • Memory accounting

Mid-term
  • Explore different programming models for
    Resource-Aware systems

Long-term
  • Explore aspect-oriented programming as a way of
    defining Resource-Awareness strategies

25
  • Thank you for your attention !
Write a Comment
User Comments (0)
About PowerShow.com