150 likes | 180 Views
Learn about the user-level DSM featuring shared memory, distributed memory, system calls, data structures, MPI, benchmarks, and speedup analysis.
E N D
An Implementation of User-level Distributed Shared Memory Wei Zhang & Shu Liu
DSM: Shared Memory + Distributed Memory Final Report
Problems & Solutions Final Report
Cont. Final Report
Design Overview Final Report
For a read Final Report
For a write Final Report
Implementation • Data structures: • Page Table in each node • Pageinfo in server • Important system calls • mmap() • mprotect() • SIGSEGV signal: handle page fault • pthread: receive page fault request and send data Final Report
Cont. • MPI: create a cluster and be responsible for communication • #include ”dsm.h”: a simple yet powerful API 2020/1/4 Final Report 9
Cont. Include dsm header file Start dsm system Allocate shared memory Synchronize Free shared memory Exit Final Report
Evaluation • Assumptions: • server congestion is not the bottleneck • network is reliable • Benchmarks: • Jacobi: partial differential equations: Ax=b • MM: parallel matrix multiply: C=AB • Scan: multi-iteration scan program • Focus: multi-iteration write program Final Report
Cont. • Speedup Final Report
Cont. • Page Fault 2020/1/4 Progress Report 13 Final Report
Conclusion & Future work • Achieved what we claimed • Improvement: • Blocking Communication-> Non-blocking Communication • Other Memory Consistency Model (MRMW) • Decrease network communication
Thank you! 2020/1/4 Final Report 15