Download presentation
Presentation is loading. Please wait.
2
Low Cost, High Performance, and Scalability: A New Approach to User-Level Distributed Shared Memory Patrick Anthony La Fratta WORTS 2005 15 December 2005 GUARANTEED! OR YOUR MONEY BACK!!!
3
Programming Models: Message-Passing
5
Programming Models: Shared Memory
6
Implementing a DSM System at the User Level
7
Implementing the DSM Client Initialization, Step 1: Get size of shared memory segment.
8
Initialization, Step 2: Map n pages into local memory. Implementing the DSM Client
9
Initialization, Step 3: Take away all access privileges from the shared segments. Implementing the DSM Client
10
Initialization, Step 4: Set up the segmentation fault handler. Implementing the DSM Client
11
Implementing the DSM System Application Reads Shared Address: Preview
12
Implementing the DSM System Shared address read, Step 1: Application reads shared address.
13
Implementing the DSM System Shared address read, Step 2: Control transferred to seg-fault handler.
14
Implementing the DSM System Shared address read, Step 3: Client contacts the server to get the page’s data.
15
Implementing the DSM System Shared address read, Step 4: Client grants read access privileges to application.
16
Implementing the DSM System Application Writes Shared Address: Preview
17
Implementing the DSM System Shared address write, Step 1: Application writes shared address.
18
Implementing the DSM System Shared address write, Step 2: Control transferred to seg-fault handler.
19
Implementing the DSM System Shared address write, Step 3: Client contacts server to with write notification.
20
Implementing the DSM System Shared address write, Step 4: Server calls back all other copies of pages being written.
21
Implementing the DSM System Shared address write, Step 5: Server indicates to client to proceed.
22
Implementing the DSM System Shared address write, Step 6: Client grants write privileges to application.
23
Implementing the DSM System Shared address write, Step 7: Later, the app detaches pages so others may use them.
24
Preliminary Results: All Pairs Shortest Paths Note: Results matched for all test cases, and all runs completed successfully.
25
System Profiling: All Pairs Shortest Paths
27
System Modifications and Extensions 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! * System profiles resulted in:
28
Performance Results: Speedup for Various Configurations
29
Performance Results: Trends
30
Future Work 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. Questions?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.