A Scheduling Heuristic to Handle Local and Remote Memory in Cluster Computers

In cluster computers, RAM memory is spread among the motherboards hosting the running applications. In these systems, it is common to constrain the memory address space of a given processor to the local motherboard. Constraining the system in this way is much cheaper than using a full-fledged shared memory implementation among motherboards. However, in this case, memory usage might widely differ among motherboards depending on the memory requirements of the applications running on each motherboard. In this context, if an application requires a huge quantity of RAM memory, the only feasible solution is to increase the amount of available memory in its local motherboard, even if the remaining ones are underused. Nevertheless, beyond a certain memory size, this memory budget increase becomes prohibitive. In this paper, we assume that the Remote Memory Access hardware used in a Hyper Transport based system allows applications to allocate the required memory from remote motherboards. We also analyze how the distribution of memory accesses among different memory locations (local or remote) impact on performance. Finally, an heuristic is devised to schedule local and remote memory among applications according to their requirements, and considering quality of service constraints.

[1]  Anoop Gupta,et al.  The SPLASH-2 programs: characterization and methodological considerations , 1995, ISCA.

[2]  Dhabaleswar K. Panda,et al.  Swapping to Remote Memory over InfiniBand: An Approach using a High Performance Network Block Device , 2005, 2005 IEEE International Conference on Cluster Computing.

[3]  Anany Levitin,et al.  Introduction to the Design and Analysis of Algorithms , 2002 .

[4]  Ulrich Brüning,et al.  A Resource Optimized Remote-Memory-Access Architecture for Low-latency Communication , 2009, 2009 International Conference on Parallel Processing.

[5]  M. Blocksome,et al.  Design and Implementation of a One-Sided Communication Interface for the IBM eServer Blue Gene , 2006, ACM/IEEE SC 2006 Conference (SC'06).

[6]  Yunhao Liu,et al.  Parallel network RAM: effectively utilizing global cluster memory for large data-intensive parallel programs , 2004 .

[7]  H. Fröning,et al.  A HyperTransport Network Interface Controller For Ultra-low Latency Message Transfers , 2008 .

[8]  Jarek Nieplocha,et al.  Evaluation of Remote Memory Access Communication on the Cray XT3 , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[9]  Philip Heidelberger,et al.  The deep computing messaging framework: generalized scalable message passing on the blue gene/P supercomputer , 2008, ICS '08.

[10]  Sudhakar Yalamanchili,et al.  Extending HyperTransport Protocol for Improved Scalability , 2009 .

[11]  Zhiyi Huang,et al.  A Remote Memory Swapping System for Cluster Computers , 2007, Eighth International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT 2007).

[12]  Mitsuhisa Sato,et al.  DLM: A distributed Large Memory System using remote memory swapping over cluster nodes , 2008, 2008 IEEE International Conference on Cluster Computing.

[13]  T. Yamakami A Trap-Door Method for Subscription-Based Mobile Content , 2007 .

[14]  Pat Conway,et al.  The AMD Opteron Processor for Multiprocessor Servers , 2003, IEEE Micro.

[15]  Ibm Blue,et al.  Overview of the IBM Blue Gene/P Project , 2008, IBM J. Res. Dev..

[16]  Masato Oguchi,et al.  Dynamic remote memory acquisition for parallel data mining on ATM-connected PC cluster , 1999, ICS '99.