A Distributed Program Global Execution Control Environment Applied to Load balancing

The paper is concerned with a new distributed program design environment based on the global application states monitoring. The environment called PEGASUS (from Program Execution Governed by Asynchronous SUpervision of States) supplies to a programmer a ready to use control primitives to design distributed program execution control in which decisions for synchronous and asynchronous control actions are based on predicates evaluated on global application states. Such strongly consistent global application states are automatically constructed by the run-time system which additionally provides mechanisms for their analysis and organizing the respective program execution control in processes and threads of user programs executed in multicore processors. The PEGASUS control mechanisms are graphically supported in the respective program design framework. The paper first presents main general features of the PEGASUS environment. Next, it presents a method for load balancing inside distributed programs based on a set of parameters which are dynamically measured during program execution. Then, the paper presents how the described load balancing method can be implemented inside the PEGASUS environment taking as an example distributed programs for solving the Traveling Salesman Problem (TSP).

[1]  José C. Cunha,et al.  Grid Computing: Software Environments and Tools , 2005 .

[2]  K.J. Barker,et al.  An Evaluation of a Framework for the Dynamic Load Balancing of Highly Adaptive and Irregular Parallel Applications , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[3]  Richard Olejnik,et al.  A Java CPU calibration tool for load balancing in distributed applications , 2004, Third International Symposium on Parallel and Distributed Computing/Third International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Networks.

[4]  Nacho Navarro,et al.  FELI: HW/SW Support for On-Chip Distributed Shared Memory in Multicores , 2011, Euro-Par.

[5]  Ümit V. Çatalyürek,et al.  Getting Started with Zoltan: A Short Tutorial , 2009, Combinatorial Scientific Computing.

[6]  Marek Tudruj,et al.  Graphical design of Parallel Programs with Control Based on Global Applications States using an Extended P-GRADE System , 2004, DAPSYS.

[7]  Daniel Gooch,et al.  Communications of the ACM , 2011, XRDS.

[8]  Hesham H. Ali,et al.  Task scheduling in parallel and distributed systems , 1994, Prentice Hall series in innovative technology.

[9]  Marek Tudruj,et al.  Global predicate monitoring applied for control of parallel irregular computations , 2007, 15th EUROMICRO International Conference on Parallel, Distributed and Network-Based Processing (PDP'07).

[10]  Eduard Ayguadé,et al.  Task superscalar: using processors as functional units , 2010 .

[11]  Keith Marzullo,et al.  Tools for Constructing Distributed Reactive Systems , 1991 .

[12]  J. A. Hartigan,et al.  A k-means clustering algorithm , 1979 .

[13]  Keith Marzullo,et al.  Tools for Constructing Distributive Reactive Systems , 1990 .

[14]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[15]  Scott D. Stoller,et al.  Detecting global predicates in distributed systems with clocks , 1997, Distributed Computing.

[16]  Laxmikant V. Kale,et al.  Applying graph partitioning methods in measurement-based dynamic load balancing , 2011 .

[17]  Marek Tudruj,et al.  Tuning the Efficiency of Parallel Adaptive Integration with Synchronizers , 2008, 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008).

[18]  Vipin Kumar,et al.  Multilevel Graph Partitioning Schemes , 1995, ICPP.

[19]  Ozalp Babaoglu,et al.  Consistent global states of distributed systems: fundamental concepts and mechanisms , 1993 .

[20]  Marek Tudruj,et al.  Load Balancing Metrics for the SOAJA Framework , 2001, Scalable Comput. Pract. Exp..

[21]  Marek Tudruj,et al.  Dynamic Distributed Programs Control Based on Global Program States Monitoring , 2012, Scalable Comput. Pract. Exp..

[22]  Laxmikant V. Kalé,et al.  CHARM++: a portable concurrent object oriented system based on C++ , 1993, OOPSLA '93.

[23]  Adam Smyk,et al.  Program Design Environment for Multicore Processor Systems with Program Execution Controlled by Global States Monitoring , 2011, 2011 10th International Symposium on Parallel and Distributed Computing.

[24]  Denis Caromel,et al.  Programming, Composing, Deploying for the Grid , 2006, Grid Computing: Software Environments and Tools.