JISE


  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]


Journal of Information Science and Engineering, Vol. 14 No. 4, pp. 725-741


Design and Implementation of Cohesion


Ce-Kuen Shieh, Jyh-Chang Ueng, An-Chow Lai, 
Tyng-Yue Liang and Su-Cheong Mac

Department of Electrical Engineering 
National Cheng Kung University 
Tainan, Taiwan 701, R.O.C.


    This paper describes a prototype DSM system called Cohesion which supports two memory consistency models, namely, Sequential consistency and Release consistency, within a single program to improve performance and support a wide variety of parallel programs for the system. Memory that is sequentially consistent is further divided into object-based and conventional (page-based) memory, where they are constructed at the user-level and kernel-level, respectively. In object-based memory, the shared data are kept consistent in terms of the granularity of an object; this is provided to improve the performance of fine-grained parallel applications that may incur a significant overhead in conventional or release memory as well as to eliminate unnecessary movement of pages which are protected in a critical section. On the other hand, the Release consistency model is supported in Cohesion to attack the problem of excessive network traffic and false sharing. Cohesion programs are written in C++, and the annotation of shared objects for release and object-based memory is accomplished by inheriting a system-provided base class. Cohesion is built up on a network of Intel 486-33 personal computers which are connected by a 10Mbps Ethernet. Three application programs, including Matrix Multiplication, SOR, and N-body, have been employed to evaluate the efficiency of Cohesion. In addition, a Producer-Consumer program has been tested to show that the object-based memory will benefit us in a critical section.


Keywords: distributed shared memory, multiple consistency protocols, upcall mechanism

  Retrieve PDF document (JISE_199804_02.pdf)