Opportunity Cost Algorithms for Reduction of I/O and Interprocess Communication Overhead in a Computing Cluster

Computing clusters (CC) consisting of several connected machines, could provide a high-performance, multiuser, timesharing environment for executing parallel and sequential jobs. In order to achieve good performance in such an environment, it is necessary to assign processes to machines in a manner that ensures efficient allocation of resources among the jobs. The paper presents opportunity cost algorithms for online assignment of jobs to machines in a CC. These algorithms are designed to improve the overall CPU utilization of the cluster and to reduce the I/O and the interprocess communication (IPC) overhead. Our approach is based on known theoretical results on competitive algorithms. The main contribution of the paper is how to adapt this theory into working algorithms that can assign jobs to machines in a manner that guarantees near-optimal utilization of the CPU resource for jobs that perform I/O and IPC operations. The developed algorithms are easy to implement. We tested the algorithms by means of simulations and executions in a real system and show that they outperform existing methods for process allocation that are based on ad hoc heuristics.

[1]  Amin Vahdat,et al.  GLUix: a global layer unix for a network of workstations , 1998, Softw. Pract. Exp..

[2]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[3]  Mark Nuttall Survey of systems providing process or object migration , 1994 .

[4]  Amnon Barak,et al.  Memory ushering in a scalable computing cluster , 1998, Microprocess. Microsystems.

[5]  George Karypis,et al.  Multilevel k-way Partitioning Scheme for Irregular Graphs , 1998, J. Parallel Distributed Comput..

[6]  Amnon Barak,et al.  INTER PROCESS COMMUNICATION OPTIMIZATION IN A SCALABLE COMPUTING CLUSTER , 2000 .

[7]  Mark S. Squillante,et al.  Processor Allocation in Multiprogrammed Distributed-Memory Parallel Computer Systems , 1997, J. Parallel Distributed Comput..

[8]  Frank Thomson Leighton,et al.  Automatic methods for hiding latency in high bandwidth networks (extended abstract) , 1996, STOC '96.

[9]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

[10]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .

[11]  Andrea C. Arpaci-Dusseau,et al.  High-performance sorting on networks of workstations , 1997, SIGMOD '97.

[12]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[13]  M Maarten Lipmann,et al.  On-line routing , 2003 .

[14]  Peter S. Pacheco Parallel programming with MPI , 1996 .

[15]  Baruch Awerbuch,et al.  An Opportunity Cost Approach for Job Assignment and Reassignment in a Scalable Computing Cluster , 2002 .

[16]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[17]  Ramesh Subramonian,et al.  LogP: a practical model of parallel computation , 1996, CACM.

[18]  Dorit S. Hochbaum,et al.  Approximation Algorithms for NP-Hard Problems , 1996 .

[19]  Yossi Azar,et al.  Competitive routing of virtual circuits with unknown duration , 1994, SODA '94.

[20]  Amnon Barak,et al.  The MOSIX multicomputer operating system for high performance cluster computing , 1998, Future Gener. Comput. Syst..

[21]  Kishan G. Mehrotra,et al.  Genetic algorithms for graph partitioning and incremental graph partitioning , 1994, Proceedings of Supercomputing '94.

[22]  Mark Nuttall,et al.  A brief survey of systems providing process or object migration facilities , 1994, OPSR.

[23]  Nicholas Carriero,et al.  Adaptive Parallelism and Piranha , 1995, Computer.

[24]  Martin G. Everett,et al.  Partitioning & Mapping of Unstructured Meshes to Parallel Machine Topologies , 1995, IRREGULAR.

[25]  Bruce Hendrickson,et al.  A Multi-Level Algorithm For Partitioning Graphs , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[26]  Amos Fiat,et al.  On-line routing of virtual circuits with applications to load balancing and machine scheduling , 1997, JACM.

[27]  Amnon Barak,et al.  Scalable Cluster Computing with MOSIX for LINUX , 1999 .

[28]  Volker Strumpen,et al.  Software-based communication latency hiding for commodity workstation networks , 1996, Proceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing.

[29]  D.E. Culler,et al.  Effects Of Communication Latency, Overhead, And Bandwidth In A Cluster Architecture , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[30]  Jan Bosch,et al.  Load Balanced Mapping of Distributed Objects to Minimize Network Communication , 1996, J. Parallel Distributed Comput..

[31]  Xiaotie Deng,et al.  Preemptive Scheduling of Parallel Jobs on Multiprocessors , 1996, SIAM J. Comput..

[32]  Carsten Lund,et al.  Hardness of approximations , 1996 .

[33]  David E. Culler,et al.  A case for NOW (networks of workstation) , 1995, PODC '95.

[34]  Dirk Roose,et al.  An Improved Spectral Bisection Algorithm and its Application to Dynamic Load Balancing , 1995, EUROSIM International Conference.

[35]  Mor Harchol-Balter,et al.  Exploiting process lifetime distributions for dynamic load balancing , 1995, SIGMETRICS.

[36]  Yossi Azar On-line Load Balancing , 1996, Online Algorithms.

[37]  Baruch Awerbuch,et al.  An Opportunity Cost Approach for Job Assignment in a Scalable Computing Cluster , 2000, IEEE Trans. Parallel Distributed Syst..