Contents n Distributed Shared Memory n KIAST Distributed
Contents n Distributed Shared Memory n KIAST Distributed Shared Memory 9/5/2021 소프트웨어 시스템 연구실 2
Distributed Shared Memory n Introduction n Concept n Consistency models n Research 9/5/2021 소프트웨어 시스템 연구실 3
DSM Introduction 9/5/2021 소프트웨어 시스템 연구실 4
DSM Concept Implementation Method - Implementation Level - Granularity of the System - Communication n Memory Organization n Memory Consistency Model n Cache Coherence Protocol n 9/5/2021 소프트웨어 시스템 연구실 5
DSM Concept Implementation Method Implementation Level - OS [Ivy][Mirage][Munin][Soft. FLASH] - User level runtime library [Tread. Marks][CVM][Quarks] - Language level [Linda][Orca] - Multiple level [Midway][NCP 2] n 9/5/2021 소프트웨어 시스템 연구실 6
DSM Concept Implementation Method Granularity of the System - Size of the unit of Sharing Word, Page, Others… - Communication overhead - Communication Fragmentation - False Sharing - Directory information Ø 9/5/2021 소프트웨어 시스템 연구실 7
DSM Concept Implementation Method Communication - Major part of system overhead - start and finish stage - New Schemes : Passing OS intervention Active Message, U-Net, Fast Message. . - Interrupt and Polling - Hardware support n 9/5/2021 소프트웨어 시스템 연구실 8
DSM Concept Memory Organization COMA ( Cache Only Memory Access ) - shared page has an owner n CC-NUMA (Cache Coherent Nonuniform Memory Access) - shared page has a home n I-ACOMA, Simple-COMA… n 9/5/2021 소프트웨어 시스템 연구실 9
DSM Concept Memory Consistency Model n n n When modification to be visible Program complexity Performance Reduce the message exchange Sequential consistency(SC) Release Consistency(RC) 9/5/2021 소프트웨어 시스템 연구실 10
DSM Concept Cache Coherence Protocol n n n n How modification to be visible Write - invalidate Write – update Multiple – write Snooping : Hardware Directory-based : Software Home-based 9/5/2021 소프트웨어 시스템 연구실 11
Consistency Models n n n Terms Release Consistency(RC) ERC VS. LRC VS. AURC VS. HLRC EC VS. Sc. C LRC VS. Sc. C 9/5/2021 소프트웨어 시스템 연구실 12
Consistency Models Terms Ø Ø Ø Automatic Update Prediction and Prefetch Lock and Barrier Acquire and Release Twin and Diff False Sharing 9/5/2021 소프트웨어 시스템 연구실 13
Automatic Update 9/5/2021 소프트웨어 시스템 연구실 14
Diff Creation 9/5/2021 소프트웨어 시스템 연구실 16
False Sharing Multiple Write 9/5/2021 소프트웨어 시스템 연구실 17
Consistency Models Release Consistency(RC) Release Consistency 9/5/2021 소프트웨어 시스템 연구실 18
Consistency Models ERC VS. LRC Eager Release Consistency Lazy Release Consistency 9/5/2021 소프트웨어 시스템 연구실 19
Consistency Models LRC VS. AURC VS. HLRC 9/5/2021 소프트웨어 시스템 연구실 20
Consistency Models EC VS. Sc. C Entry Consistency 9/5/2021 Scope Consistency 소프트웨어 시스템 연구실 21
Consistency Models LRC VS. Sc. C 9/5/2021 소프트웨어 시스템 연구실 22
Research in DSM 9/5/2021 소프트웨어 시스템 연구실 23
Some Representative Software DSM 9/5/2021 소프트웨어 시스템 연구실 24
KDSM(KAIST DSM) Cache Coherence Protocol - Page-Based invalidation protocol - Home-Based protocol - Multiple Reader Multiple Writer n Memory Consistency Model - Home-Based Lazy Release Consistency - Scope Consistency n TCP/IP n 9/5/2021 소프트웨어 시스템 연구실 25
Memory Mapping 9/5/2021 소프트웨어 시스템 연구실 26
Memory Mapping 9/5/2021 소프트웨어 시스템 연구실 27
Memory Mapping Structure g. Proc[MAXPROCS] - maintain process information Ø g. Page[MAXLOCALPAGE] - maintain local shared memory information Ø g. Cache[MAXCACHEPAGE] - maintain remote shared memory information Ø g. GPage[MAXGLOBALPAGE] - maintain all the shared memory information Ø 9/5/2021 소프트웨어 시스템 연구실 28
Cache State Diagram 9/5/2021 소프트웨어 시스템 연구실 29
Memory Allocation n n Dsm. Alloc. At( size, pid ) Dsm. Alloc( size ) Dsm. Alloc. Block. At( size, blocksize, pid ) Dsm. Alloc. Block( size, blocksize ) 9/5/2021 소프트웨어 시스템 연구실 30
Memory Allocation 9/5/2021 소프트웨어 시스템 연구실 31
Communication Architecture Message Structure - type, src, dest, size, data Ø Connection - complete graph Ø Use SIGIO Signal Ø 9/5/2021 소프트웨어 시스템 연구실 32
Home-based LRC Implementation Use timestamp vector n Interval n Lock - local, hold, saved n Acquire and Release n 9/5/2021 소프트웨어 시스템 연구실 33
Distributed Lock Management 9/5/2021 소프트웨어 시스템 연구실 34
Lock State Diagram 9/5/2021 소프트웨어 시스템 연구실 35
Memory Consistency 9/5/2021 소프트웨어 시스템 연구실 36
Scope consistency(Sc. C) 9/5/2021 소프트웨어 시스템 연구실 37
Performance Evaluation 9/5/2021 소프트웨어 시스템 연구실 38
Stanford Parallel Applications for Shared Memory (SPLASH) n n Kernels: Complex 1 D FFT Blocked LU Decomposition Blocked Sparse Cholesky Factorization Integer Radix Sort Applications: Barnes-Hut Adaptive Fast Multipole Ocean Simulation Hierarchical Radiosity Ray Tracer Volume Renderer Water Simulation with Spatial Data Structure Water Simulation without Spatial Data Structure 9/5/2021 소프트웨어 시스템 연구실 39
Performance 9/5/2021 소프트웨어 시스템 연구실 40
- Slides: 40