A novel approach to enhance distributed virtual memory

https://doi.org/10.1016/j.compeleceng.2011.11.006Get rights and content

Abstract

Distributed virtual memory (DVM) has been introduced in several researches and models in order to improve system memory performance. In this paper, various practical issues are addressed, examined and analyzed to exploit further areas of performance enhancements. In particular, a novel distributed algorithm for DVM management based on cluster cache in order to enhance previous DVM techniques is discussed. The algorithm employs address translation, page out policies and page replacement. The algorithm performance is evaluated across several test benches under variant system loads to show the efficiency of our technique. Compared with practical DVM and conventional virtual memory (CVM), our algorithm outperforms the previous algorithms and reduces the page faults by a considerable amount of 15% and 25%, respectively.

Highlights

► We introduce the concept of DVM systems with a practical approach to improve performance. ► We propose a novel distributed algorithm for DVM based on a cluster cache to enhance existing DVM techniques. ► The number of page faults had decreased by 15% through simulation results. ► The proposed methodology can be generalized on other techniques by adding another level of memory.

Introduction

DVM exploits resource sharing, which is an important technique in improving system memory throughput. Fundamentally, DVM maximizes the utilization of all first storage devices (RAMs) as much as possible, depending on the techniques used in page out, page replacement and address translation.

When a page is evicted from memory to Hard Disk, it takes considerably longer time to store and retrieve the page compared with transferring the page to another memory in the system. In DVM, the node with evicted page queries other nodes for storing the page in their memory since memory to memory transfer time is faster. Therefore, the motivation of DVM is to balance the load across the nodes through the distribution of some processes of a certain node to other nodes, which may have some unused resources, and hence increase throughput of the system [1]. DVM was introduced by many researchers at the level of pages, and was used in multi-node system where the node is a single independent computer with its own CPU, memory and I/O subsystems. Hence, the targeted system should contain nodes, backbone network and a protocol which controls the communication process between these nodes. Thus, in DVM another level of storage devices will be added, which is the memory of other nodes. Memory sharing at the level of pages was firstly introduced by Li [2], later on by Clancey [3] and many other authors [4], [5], [6], [7]. Numerous techniques for DVM have been evolved over time.

Distributed shared memory (DSM) is another technique mainly used in distributed systems. Distributed systems are a collection of independent computers that appear to the users of the system as a single computer. DSM is concerned with the distribution of the work load over all nodes [8], [9], [10] where the concept of clustering should be included for large scale distributed systems.

Distributed shared virtual memory (DSVM) [11], [12], [13] employs shared virtual memory in systems with many nodes. Logically, it appears to users as one unit, but physically it is distributed as chunks all over the nodes’ memory. Thus, in DSVM all nodes share the same logical address of the shared memory while in DVM no shared logical address exists.

One critical issue for the performance of DSM, DSVM and DVM is the backbone of the memory systems: networks and switches. Numerous researchers examined latency issues in switches and network since the DVM uses backbone network in order to exchange pages between different nodes. Another issue which impact DVM and DSVM is the flooding and bottle-neck issues due to excessive messages. Several techniques were proposed to alleviate this issue [14].

The aim of this paper is to present a new methodology for managing the virtual memory and demonstrate how our approach outperforms existing DVM methods. Fig. 1 illustrates the idea of our DVM technique by adding another level of memory designated as the cluster cache. The methodology is based on dividing the system nodes into different groups (clusters) each cluster includes a master node that has a memory called cluster cache which has some functionality to handle.

Virtual memory (VM) term is used to expand the physical memory of the computer system virtually. The expansion happens at the Hard Disk (HD), where the memory and part of the HD will exchange pages (an OS process is divided into pages) [15]. This type of VM is called conventional virtual memory (CVM). Most of the commercial OSs use CVM to manage pages. They deal with the computer system as a single unit that cannot share memory (memory from other computers is not accessible). Later, DVM was introduced to improve the utilization of unused resources. The main idea behind DVM is to add another level of memory (memory of other nodes) to expand the virtual memory instead of the HD. A comparison with these existing techniques is carried out to clarify our methodology and demonstrate the efficiency of our optimization.

The structure of this paper is organized as follows: Section 2 reviews the related work in this area. Section 3 gives some preliminaries on DVM and some previous techniques to compare with our model. Section 4 describes the proposed methodology. Section 5 discusses the experimental results of our methodology. Finally, Section 6 concludes the paper with directions for future research.

Section snippets

Related work

Extensive research work was conducted on DVM, which can be classified into: static DVM and dynamic DVM. In static DVM, the distribution of the pages is done over all the nodes before the program execution, while the distribution of pages in the dynamic DVM is done during execution time and throughout a predetermined technique. The main goal was to achieve an efficient utilization of the very large memory distributed over the nodes in the system. In this section we provide a brief review on both

Preliminaries

In CVM method, a process is divided into pages some of which resides in the portion of the Hard Disk and the rest of the pages are brought to physical memory on demand. In CVM method, the CPU searches for the page firstly in the cache memory. If the page exists in the cache, then a cache hit is occurred otherwise the page is requested from the physical memory. Then, either a page exists or a page fault occurs and hence the page is requested from the secondary memory.

The DVM model was introduced

Design methodology

The proposed methodology is based on incorporating another level of memory named as cluster cache by dividing the system into clusters. Initially, for each cluster, a node is designated as a master node that has its own memory. The selection is entirely managed by the OS which will nominate the node with a large memory. Then, a part of the node memory is allocated to be the cluster cache which is accessible by all nodes of the cluster. Below is a description of our method which incorporates

Simulation results

Simulation has been carried out for our proposed methodology in terms of page fault rate. The results show good improvements compared to [16] and CVM. The simulator was built using C++ language. In our simulation, the system model consists of 12 nodes; every 4 of them formulate a cluster. So, we have 3 clusters with 3 master nodes. They are connected in a star topology. Each node has 50 frames of memory and has large HD. The cluster cache at each master node has 5 frames size so the master node

Conclusion and future work

In this paper, we have demonstrated DVM systems which afford an effective approach for distributed memory systems and provided a practical approach to implement a DVM system. Also, a novel distributed algorithm to detect the system memory status and to distribute pages over all system nodes to make a fair load balancing was introduced and evaluated. The work mainly depends on dividing the whole system into clusters and adding a cache for each cluster. The experimental results shows that the

Acknowledgements

The work was supported by the Deanship of Research and Graduate Studies of the Hashemite University, Jordan.

Sa’ed Abed received his B.Sc. in Electrical Engineering in 1994 and his M.Sc. in Computer Engineering in 1996 both from Jordan University of Science and Technology (J.U.S.T.), Jordan. In 2008, he received his Ph.D. in Computer Engineering from Concordia University, Canada. He has previously worked as lecturer in the Department of Computer Science at King Faisal University in Saudi Arabia until 2003. In 2008 he joined the Department of Computer Engineering of Hashemite University, Jordan, as

References (17)

  • Mark Nuttall, Survey of systems providing process or object migration, Imperial college research report DoC 94/10,...
  • Kai L. IVY: a shared virtual memory system for parallel computing. International conference on parallel processing,...
  • Patrick Clancey, Joan Francioni. Distribution of pages in a distributed virtual memory. International conference on...
  • Abaza M. Distributed virtual memory systems, Ph.D Thesis, University of Wisconsin-Milwaukee;...
  • Malkawi, Knox, Abaza. Dynamic page distribution in distributed virtual memory systems, Proceedings of the forth ISSM...
  • Fellah A, Abaza M. On page blocks in distributed virtual memory systems, communications, computers and signal...
  • Geva M, Wiseman Y. Distributed shared memory integration, information reuse and integration, IRI 2007, IEEE...
  • Rui Chu, Nong Xiao, Xicheng Lu, A clustering model for memory resource sharing in large scale distributed system,...
There are more references available in the full text version of this article.

Cited by (1)

Sa’ed Abed received his B.Sc. in Electrical Engineering in 1994 and his M.Sc. in Computer Engineering in 1996 both from Jordan University of Science and Technology (J.U.S.T.), Jordan. In 2008, he received his Ph.D. in Computer Engineering from Concordia University, Canada. He has previously worked as lecturer in the Department of Computer Science at King Faisal University in Saudi Arabia until 2003. In 2008 he joined the Department of Computer Engineering of Hashemite University, Jordan, as Assistant Professor. His research interests include Computer Architecture, Hardware Specification and Verification, Formal Methods, Synthesis, VLSI Design and Automation.

Ashraf Hasan Bqerat has earned the B.Sc. in Electrical and Computer Engineering from the Hashemite University with honour in 2009, before that he had joined the Jubilee school (a school for gifted students in Middle East works under the supervision of The Arab Council for the Gifted and Talented Students) 2001–2005 Amman, Jordan. His first research was in abstract Math at the age of 16. He is currently a computer engineer at the Hashemite University, Jordan. His research interest involves computer architecture, operating systems and VLSI.

Sahel Alouneh received his B.Sc. in electrical and computer engineering from Jordan University of Science and Technology, Jordan in 2000. His M.Sc. and Ph.D. were obtained from Concordia University in 2004 and 2008, respectively. He is currently working at the German Jordanian University as an assistant professor at the computer engineering department. Also he is the director of the computer center. His research interest in includes computer networks fault tolerance, security, software engineering, and computer hardware design.

Bassam J. Mohd received his B.S. in Computer Engineering from the KFUPM of Dhahran-KSA, his M.S. in Computer Engineering from the University of Louisiana at Lafayette and his PhD from the University of Texas, Austin, 2008. He has worked for several semiconductor companies including Intel, SUN, Synopsys and Qualcomm. He is currently an assistant professor at the Hashemite University, Jordan. His research interest includes DSP designs, steganographic processors and encryption processors.

Reviews processed and approved for publication by Editor-in-Chief Dr. Manu Malek.

View full text