Atomic page update methods for OpenMP-aware software DSM

When software distributed shared memory (SDSM) is extended to utilize threads in support of OpenMP, a challenge is how to preserve memory consistency in a thread-safe way, which is known as "atomic page update problem". We show that this problem can be solved by creating two independent access paths to a physical page and by assigning different access permissions to them. Especially, we discuss three new methods using System V shared memory IPC, a new mdup() system call, and a fork() system call as well as a known method using file mapping. The main contribution is to introduce various solutions to the atomic page update problem and to compare their characteristics extensively. Experiments carried out on a Linux-based cluster of SMPs and an IBM SP Nighthawk system show that the proposed methods achieve better performance than the file mapping method and the method using the process creation mechanism is the best candidate for the IBM SP system.

[1]  M. Pizka,et al.  Murks – A POSIX Threads Based DSM System , 2003 .

[2]  Sumit Roy,et al.  Strings: a high-performance distributed shared memory for symmetrical multiprocessor clusters , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

[3]  Alan L. Cox,et al.  OpenMP for networks of SMPs , 1999, Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999.

[4]  Frank Mueller,et al.  Distributed Shared-Memory Threads: DSM-Threads , 2000 .

[5]  Jin-Soo Kim,et al.  ParADE: An OpenMP Programming Environment for SMP Cluster Systems , 2003, SC.

[6]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[7]  Greg J. Regnier,et al.  The Virtual Interface Architecture , 2002, IEEE Micro.

[8]  Liviu Iftode,et al.  Home-based shared virtual memory , 1998 .

[9]  John K. Bennett,et al.  Brazos: a third generation DSM system , 1997 .

[10]  R. Lathe Phd by thesis , 1988, Nature.

[11]  Jin-Soo Kim,et al.  ParADE: An OpenMP Programming Environment for SMP Cluster Systems , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[12]  Norbert Podhorszki,et al.  Proceedings of the 10th Euromicro conference on Parallel, distributed and network-based processing , 2002 .

[13]  Message P Forum,et al.  MPI: A Message-Passing Interface Standard , 1994 .