300 likes | 318 Views
GUARANTEED!. Low Cost, High Performance, and Scalability: A New Approach to User-Level Distributed Shared Memory. OR YOUR MONEY BACK!!!. Patrick Anthony La Fratta WORTS 2005 15 December 2005. Programming Models: Message-Passing. Programming Models: Message-Passing.
E N D
GUARANTEED! Low Cost, High Performance, and Scalability: A New Approach to User-Level Distributed Shared Memory OR YOUR MONEY BACK!!! Patrick Anthony La Fratta WORTS 2005 15 December 2005
Initialization, Step 1: Get size of shared memory segment. Implementing the DSM Client
Initialization, Step 2: Map n pages into local memory. Implementing the DSM Client
Initialization, Step 3: Take away all access privileges from the shared segments. Implementing the DSM Client
Initialization, Step 4: Set up the segmentation fault handler. Implementing the DSM Client
Application Reads Shared Address: Preview Implementing the DSM System
Implementing the DSM System Shared address read, Step 1: Application reads shared address.
Implementing the DSM System Shared address read, Step 2: Control transferred to seg-fault handler.
Implementing the DSM System Shared address read, Step 3: Client contacts the server to get the page’s data.
Implementing the DSM System Shared address read, Step 4: Client grants read access privileges to application.
Application Writes Shared Address: Preview Implementing the DSM System
Implementing the DSM System Shared address write, Step 1: Application writes shared address.
Implementing the DSM System Shared address write, Step 2: Control transferred to seg-fault handler.
Implementing the DSM System Shared address write, Step 3: Client contacts server to with write notification.
Implementing the DSM System Shared address write, Step 4: Server calls back all other copies of pages being written.
Implementing the DSM System Shared address write, Step 5: Server indicates to client to proceed.
Implementing the DSM System Shared address write, Step 6: Client grants write privileges to application.
Implementing the DSM System Shared address write, Step 7: Later, the app detaches pages so others may use them.
Preliminary Results: All Pairs Shortest Paths Note: Results matched for all test cases, and all runs completed successfully.
System Modifications and Extensions System profiles resulted in: • Better understanding of the trade-offs in the design of the interface. • Efficient synchronization primitives through extended memory semantics with full/empty bits. • Server-side per-page locking and client-side full- page flushing. • * Speedups > 1! *
Scalability: Enable clients to use more than one server. • Peer-to-peer: Merge the server and client modules. • Fault-tolerance: Checkpoint and Migration? • Further testing: Implement and evaluate performance of other parallel applications. Future Work Questions?