Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using extremal optimization for Java program initial placement in clusters of JVMs E. Laskowski 1, M. Tudruj 1,3, I. De Falco 2, U. Scafuri 2, E. Tarantino.

Similar presentations


Presentation on theme: "Using extremal optimization for Java program initial placement in clusters of JVMs E. Laskowski 1, M. Tudruj 1,3, I. De Falco 2, U. Scafuri 2, E. Tarantino."— Presentation transcript:

1 Using extremal optimization for Java program initial placement in clusters of JVMs E. Laskowski 1, M. Tudruj 1,3, I. De Falco 2, U. Scafuri 2, E. Tarantino 2, R. Olejnik 4 1 Institute of Computer Science, Polish Academy of Sciences, Warsaw, Poland 2 Institute of High Performance Computing and Networking, ICAR-CNR, Naples, Italy 3 Polish-Japanese Institute of Information Technology, Warsaw, Poland 4 Computer Science Laboratory of Lille, University of Science and Technology of Lille, France. {laskowsk, tudruj}@ipipan.waw.pl de.falco@icar.na.it Richard.Olejnik@lifl.fr

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

3 ASTEC 20093 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 ASTEC 20094 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 ASTEC 20095 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 ASTEC 20096 Active Objects

7 ASTEC 20097 Distributed multi-threaded model

8 ASTEC 20098 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 ASTEC 20099 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 ASTEC 200910 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 ASTEC 200911 Invocation counters G – an Active Object G Local objects Output local invocations Input invocations Output global invocations counter counter s

12 ASTEC 200912 The system description The system consists of N computing resources (nodes) The state of system resources: node power α i : the number of instructions computed per time unit on the node i average load of each node ℓ i (Δt) in a particular time span Δt: ℓ i (Δ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 ASTEC 200913 The application An application is subdivided into P communicating subtasks, two possible models:  an application is described by an undirected weighted graph G tig = {P, E} (the TIG model)  an application is described by a weighted directed acyclic graph G dag = {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 ASTEC 200914 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 NP–hard So, we use the Extremal Optimization algorithm for mapping of tasks to nodes

15 ASTEC 200915 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 s i, each of which is a variable of the problem, is thought to be a species of the ecosystem, and is assigned a fitness value φ i Two fitness functions, one for the variables and one for the global solution.

16 ASTEC 200916 The outline of the EO an initial random solution S is generated and its fitness Φ(S) is computed repeat the following until a termination criterion becomes satisfied: the fitness value φ i is computed for each of the components s i the worst variable (in terms of φ i ) is randomly updated, so that the solution is transformed into another solution S’ belonging to its neighborhood Neigh(S)

17 ASTEC 200917 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 /τ-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 τ: p k ~ k -τ, 1 ≤ k ≤ n at each update a rank k is selected according to p k and the variable s i with i = π(k) randomly changes its state.

18 ASTEC 200918 Pseudocode of the τ-EO algorithm (for a minimization problem) The only algorithm parameters are:  the maximum number of iterations N iter  the probabilistic selection value τ

19 ASTEC 200919 Encoding of mapping problem A mapping solution is represented by a vector μ of P integers ranging in the interval [1,N] In this example the first subtask of the task is placed on the grid node denoted with the number 12, the second on grid node 7, and so on. Sub- task P Sub- task P-1 Sub- task P-2 …Sub- task 4 Sub- task 3 Sub- task 2 Sub- task 1 18924…45712

20 ASTEC 200920 Fitness of a solution Fitness function of a mapping solution: where  θ ij comp the computation time needed to execute the subtask i on the node j to which it is assigned by the proposed mapping solution  θ ij comm the communication time requested to execute the subtask i on the node j to which it is assigned by the proposed mapping solution  θ ij = θ ij comp + θ ij comm 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 ASTEC 200921 Experimental results τ-EO parameter setting N iter = 200,000 τ = 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 ASTEC 200922 Experiment 1 – the test grid A grid with 10 sites, a total of 184 nodes

23 ASTEC 200923 Experiment 1 - features of the nodes Average loads: ℓ i (Δt) = 0.0 for all nodes apart: ℓ i (Δt) = 0.5 for each i є [22, …, 31] ℓ i (Δ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 ASTEC 200924 Experiment 1 – the application P=30 nodes G1G1 G2G2 T 14 TiTi T0T0 T 15 T i+15 T 29 :::::: :::::: :::::: γ k = 90,000 MI ψ km = 100 Mbit ::::::

25 ASTEC 200925 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: 2224112201721133516184143940 231379113810381951563332

26 ASTEC 200926 Experiment 2 – the cluster A cluster: 7 homogenous two-core nodes Gigabit Ethernet LAN average extra load ℓ i (Δt) = 0.0 for all nodes each node has Sun JVM installed and a ssh agent The scenario of the experiment: 1.CPU power, load and network utilization monitoring 2.application parameters' measuring (using the sample data) 3.mapping optimization and the final run.

27 ASTEC 200927 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 ASTEC 200928 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 01999 12005 21993 32004 42002 51980 61994

29 ASTEC 200929 Typical evolution of τ-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 ASTEC 200930 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 τ-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.


Download ppt "Using extremal optimization for Java program initial placement in clusters of JVMs E. Laskowski 1, M. Tudruj 1,3, I. De Falco 2, U. Scafuri 2, E. Tarantino."

Similar presentations


Ads by Google