Skip to Main Content
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.
Date of Conference: 11-13 Feb. 2004