Amortized efficiency of list update and paging rules
Communications of the ACM
A brief survey of systems providing process or object migration facilities
ACM SIGOPS Operating Systems Review
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
A multilevel algorithm for partitioning graphs
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Load balanced mapping of distributed objects to minimize network communication
Journal of Parallel and Distributed Computing
Automatic methods for hiding latency in high bandwidth networks (extended abstract)
STOC '96 Proceedings of the twenty-eighth annual ACM symposium on Theory of computing
LogP: a practical model of parallel computation
Communications of the ACM
Approximation algorithms for NP-hard problems
Parallel programming with MPI
High-performance sorting on networks of workstations
SIGMOD '97 Proceedings of the 1997 ACM SIGMOD international conference on Management of data
On-line routing of virtual circuits with applications to load balancing and machine scheduling
Journal of the ACM (JACM)
Exploiting process lifetime distributions for dynamic load balancing
ACM Transactions on Computer Systems (TOCS)
Effects of communication latency, overhead, and bandwidth in a cluster architecture
Proceedings of the 24th annual international symposium on Computer architecture
Processor allocation in multiprogrammed distributed-memory parallel computer systems
Journal of Parallel and Distributed Computing
GLUnix: a global layer Unix for a network of workstations
Software—Practice & Experience - Special issue on multiprocessor operating systems
Multilevel k-way partitioning scheme for irregular graphs
Journal of Parallel and Distributed Computing
The MOSIX multicomputer operating system for high performance cluster computing
Future Generation Computer Systems - Special issue on HPCN '97
Preemptive scheduling of parallel jobs on multiprocessors
Proceedings of the seventh annual ACM-SIAM symposium on Discrete algorithms
Competitive routing of virtual circuits with unknown duration
SODA '94 Proceedings of the fifth annual ACM-SIAM symposium on Discrete algorithms
An Opportunity Cost Approach for Job Assignment in a Scalable Computing Cluster
IEEE Transactions on Parallel and Distributed Systems
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Genetic algorithms for graph partitioning and incremental graph partitioning
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Adaptive Parallelism and Piranha
Computer
A Case for NOW (Networks of Workstations)
IEEE Micro
Developments from a June 1996 seminar on Online algorithms: the state of the art
Developments from a June 1996 seminar on Online algorithms: the state of the art
Partitioning & Mapping of Unstructured Meshes to Parallel Machine Topologies
IRREGULAR '95 Proceedings of the Second International Workshop on Parallel Algorithms for Irregularly Structured Problems
Developments from a June 1996 seminar on Online algorithms: the state of the art
Pricing congestible network resources
IEEE Journal on Selected Areas in Communications
Dimensioning and on-line scheduling in Lambda Grids using divisible load concepts
The Journal of Supercomputing
Extracting and predicting the communication behaviour of parallel applications
International Journal of Parallel, Emergent and Distributed Systems
A framework using cluster-based hybrid network architecture for collaborative virtual surgery
Computer Methods and Programs in Biomedicine
Dynamic load balancing for I/O-intensive applications on clusters
ACM Transactions on Storage (TOS)
A complex network-based approach for job scheduling in grid environments
HPCC'07 Proceedings of the Third international conference on High Performance Computing and Communications
Hi-index | 0.00 |
Computing Clusters (CC) consisting of several connected machines, could provide a high-performance, multiuser, time-sharing 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. This 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 reduces 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.