Using extremal optimization for Java program initial placement in clusters of JVMs - PowerPoint PPT Presentation

About This Presentation
Title:

Using extremal optimization for Java program initial placement in clusters of JVMs

Description:

Using extremal optimization for Java program initial ... the application A ProActive Java multi ... Poland 2Institute of High Performance Computing ... – PowerPoint PPT presentation

Number of Views:179
Avg rating:3.0/5.0
Slides: 31
Provided by: ErykLas
Category:

less

Transcript and Presenter's Notes

Title: Using extremal optimization for Java program initial placement in clusters of JVMs


1
Using extremal optimization for Java program
initial placement in clustersof JVMs
  • E. Laskowski1, M. Tudruj1,3, I. De Falco2,U.
    Scafuri2, E. Tarantino2, R. Olejnik4
  • 1Institute of Computer Science, Polish Academy of
    Sciences, Warsaw, Poland
  • 2Institute of High Performance Computing and
    Networking, ICAR-CNR,
  • Naples, Italy
  • 3Polish-Japanese Institute of Information
    Technology, Warsaw, Poland
  • 4Computer Science Laboratory of Lille, University
    of Science and
  • Technology of Lille, France.
  • laskowsk, tudruj_at_ipipan.waw.pl
  • de.falco_at_icar.na.it
  • Richard.Olejnik_at_lifl.fr

2
Contents
  • Motivation
  • The ProActive environment
  • Metrics
  • Extremal Optimization
  • Experimental results
  • Conclusions

3
Motivation
  • Efficient load balancing on Grid platform
  • Distribution management
  • load metrics CPU queue length, resource
    utilization, response time
  • communications metrics transferred data volume,
    message exchange frequency.
  • Balancing strategies
  • optimization of initial distribution of
    components of an application (initial object
    deployment)
  • dynamic load balancing (migration of objects).

4
ProActive
  • ProActive a Java-based framework for cluster and
    Grid computing
  • an Java API tools
  • Desktop?SMP?LAN?Cluster?Grid
  • Application model
  • Remote Mobile Objects, Group Communications
  • Asynchronous Communications with synchronization
    (Futures mechanism)
  • OO SPMD, Migration, Web Services, Grid support
  • Various protocols rmi, ssh, LSF, Globus

5
Active Objects
  • Active Object is a standard Java object with an
    attached thread
  • asynchronous method calls
  • wait by necessity.
  • Active Objects are created on nodes of the
    parallel system
  • the deployment is specified by external XML
    description and/or API calls
  • the location is completely transparent to the
    client.
  • Active objects are mobile.

6
Active Objects
7
Distributed multi-threaded model
8
Initial deployment optimization steps
  • Measure the properties of the environment
  • CPU power and availability, network utilization.
  • Execute a program for some representative data
    (data sample)
  • carry out the measurements of the number of
    mutual method calls and data volume
  • create a method call graph (a DAG) with the use
    of method dependency graph and measured data.
  • Find the optimal mapping of the graph
  • Deploy and run the application in ProActive

9
Observation
  • Load monitoring (system observation)
  • predicts workstation load and network utilization
  • principle
  • the average idle time that threads pass to the OS
    is directly related to the CPU load
  • the maximal number of RMI calls per second.
  • Object monitoring (application observation)
  • gives the intensity of communication between
    active objects
  • principle the number of method calls between
    active objects and the volume of serialized data.

10
Application observation
  • Application objects
  • global objects (ProActive's active objects)
  • local objects (traditional Java objects)
  • Only global (active) objects are observed
  • Observed items
  • quantity of objects work
  • intensity of communications between objects
  • Counting the method invocation number (remote
    communication)

11
Invocation counters
Output global invocations
Output local invocations
counters
G an Active Object
counter
G
Input invocations
counter
Local objects
12
The system description
  • The system consists of N computing resources
    (nodes)
  • The state of system resources
  • node power ai the number of instructions
    computed per time unit on the node i
  • average load of each node li(?t) in a particular
    time span ?t li(?t) ranges in 0.0, 1.0, where
    0.0 means a node with no load and 1.0 a node
    loaded at 100
  • network bandwidth ßij the communication
    bandwidth between the pair of nodes i and j.

13
The application
  • An application is subdivided into P communicating
    subtasks, two possible models
  • an application is described by an undirected
    weighted graph Gtig P, E (the TIG model)
  • an application is described by a weighted
    directed acyclic graph Gdag P, E (the DAG
    model)
  • it is possible to translate DAG into TIG
  • Parameters of a subtask k
  • the number of instructions ?k to be executed
  • the amount of communications ?km to be performed
    with the other m-th subtask

14
EO algorithm
  • An introductory optimization algorithm determines
    an initial distribution of application components
    on JVMs located on Grid nodes
  • The problem is to assign each subtask to one node
    in the grid in a way that the execution of the
    application task is as efficient as possible
  • the optimal mapping of application tasks onto the
    nodes in heterogeneous environment is NPhard
  • So, we use the Extremal Optimization algorithm
    for mapping of tasks to nodes

15
The principle of the EO
  • Extremal Optimization is a co-evolutionary
    algorithm proposed by Boettcher and Percus in
    1999
  • EO works with one single solution S made of a
    given number of components si, each of which is a
    variable of the problem, is thought to be a
    species of the ecosystem, and is assigned a
    fitness value fi
  • Two fitness functions, one for the variables and
    one for the global solution.

16
The outline of the EO
  • an initial random solution S is generated and its
    fitness F(S) is computed
  • repeat the following until a termination
    criterion becomes satisfied
  • the fitness value fi is computed for each of the
    components si
  • the worst variable (in terms of fi) is randomly
    updated, so that the solution is transformed into
    another solution S belonging to its neighborhood
    Neigh(S)

17
Problems and improvements
  • The basic EO leads to a deterministic process,
    i.e., it gets stuck in a local optimum
  • to avoid this behavior, Boettcher and Percus
    introduced a probabilistic version of EO /t-EO/
  • the variables are ranked in increasing order of
    fitness values /for the minimization problem/
  • a distribution probability over the ranks k is
    conside-red for a given value of the parameter
    t pk k-t, 1 k n
  • at each update a rank k is selected according to
    pk and the variable si with i p(k) randomly
    changes its state.

18
Pseudocode of the t-EO algorithm(for a
minimization problem)
  • The only algorithm parameters are
  • the maximum number of iterations Niter
  • the probabilistic selection value t

19
(No Transcript)
20
Fitness of a solution
  • Fitness function of a mapping solution
  • where
  • ?ijcomp the computation time needed to execute
    the subtask i on the node j to which it is
    assigned by the proposed mapping solution
  • ?ijcomm the communication time requested to
    execute the subtask i on the node j to which it
    is assigned by the proposed mapping solution
  • ?ij ?ijcomp ?ijcomm is the total time needed to
    execute the subtask i on the node j to which it
    is assigned by the proposed mapping solution.

21
Experimental results
  • t-EO parameter setting
  • Niter 200,000
  • t 3.0
  • 20 runs on each problem
  • Two experiments reported in the presentation
  • a simulated execution of an application in a test
    grid (10 sites, 184 nodes with different power
    and load)
  • an optimization of a ProActive application in a
    cluster (7 homogenous, two-core nodes).

22
Experiment 1 the test grid
  • A grid with 10 sites, a total of 184 nodes

23
Experiment 1 - features of the nodes
  • Average loads li(?t) 0.0 for all nodes apart
  • li(?t) 0.5 for each i ? 22, , 31
  • li(?t) 0.5 for each i ? 42, , 47
  • the most powerful nodes are the first 22 of A and
    the first 10 of B

24
Experiment 1 the application
?k 90,000 MI
?k 90,000 MI
  • P30 nodes

?km 100 Mbit
T0
T15


?km 100 Mbit
Ti
Ti15


?km 100 Mbit
T14
T29
G1
G2
25
Experiment 1 the result
  • The optimal allocation entails both the use of
    the most powerful nodes and the distribution of
    the communicating tasks in pairs on the same site
    so that communications are faster (only
    intersite, no intrasite)
  • the solution allocates 11 task pairs on the 22
    unloaded nodes in A and the remaining 4 pairs on
    8 unloaded nodes in B

2 22 41 12 20 17 21 13 35 16 18 4 14 39 40
23 1 37 9 11 3 8 10 38 19 5 15 6 33 32
26
Experiment 2 the cluster
  • A cluster
  • 7 homogenous two-core nodes
  • Gigabit Ethernet LAN
  • average extra load li(?t) 0.0 for all nodes
  • each node has Sun JVM installed and a ssh agent
  • The scenario of the experiment
  • CPU power, load and network utilization
    monitoring
  • application parameters' measuring (using the
    sample data)
  • mapping optimization and the final run.

27
Experiment 2 the application
  • A ProActive Java multi-threaded application,
    working according to the DAG model
  • 58 nodes
  • the DAG is executed in the loop (200 iterations)

28
Experiment 2 the result
  • Since the nodes are homogenous and without the
    extra load, the EO mapping balanced the amount of
    computations assigned to each node

Node nb Amount of computations
0 1999
1 2005
2 1993
3 2004
4 2002
5 1980
6 1994
29
Typical evolution of t-EO on a mapping problem
  • Evolution of the best-so-far value is shown on
    the left, and both best-so-far and current
    solutions for the first 200 iterations are shown
    on the right

30
Conclusions
  • Extremal Optimization has been proposed as a
    viable approach to the mapping of the tasks
    making up an application in grid environments
  • The unique feature of the presented approach is
    the ability to deal with different load of nodes
    and the diversity in network bandwidths
  • t-EO shows two very interesting features when
    compared to other optimization tools based on
    Evolutionary Algorithms (e.g. Differential
    Evolution
  • a much higher speed
  • its ability to provide stable solutions.
Write a Comment
User Comments (0)
About PowerShow.com