Title: ADAM : A Distributed Adaptivelyshared Memory System
1ADAM A Distributed Adaptively-shared Memory
System
- Parallel and Distributed Computing Laboratory
- Department of Electrical and Computer Engineering
- Wayne State University, Detroit MI 48202
2Effective Parallel Computing
- Distributed Shared Memory
- (DSM)
DSM Program
- Good availability
- Symmetrical Multiprocessor
- (SMP)
DSM System
vs. Clusters of
Workstations
- Ease of programming
- Shared memory model
- No data distribution
- No communication
- Reasonable performance
- Possible compile-time parallelization
- Cost effective
mapping
SMP
Workstation Pools
3Implementation of DSM
- Multiple-writer Protocols
- Avoid false sharing (based on granularity)
- Merge modifications at next synchronization point
- First generation
- Sequential consistency model
- Single CPU workstation clusters
- Second generation
- Relaxed consistency model
- Single CPU workstation clusters
- Third generation
- Relaxed consistency model
- Multi-threading
- Networks of multiprocessor computers
- Hardware DSM
- Cache coherence
- Alewife, FLASH, Trapeze
- Software DSM
- Object-based DSM
- Emerald, Concert, SAM
- Page-based DSM
- TreadMarks, CVM, Strings
Sharing Entity
- Write-notice Protocols
- Invalid, Update, and Hybrid
- Determine the timing of data movement
- Memory Consistency Models
- Sequential Consistency
- Reserve operation order
- Relaxed Consistency
- Reduce message number and amount
4Strings A Software DSM System
Strings Program
- Third generation DSM system
- POSIX threads on SMPs
- Parallelism
- Data parallelism at the application level
- Task parallelism at the run-time level
- Polled I/O
- Dedicated communication threads
- Multi-threaded DSM servers
Strings (DSM System)
SMP
SMP
SMP
SMP Pools
5Reconfiguration in DSM
DSM Program
DSM Program
DSM System
DSM System
Reconfiguration
Workstation Pools
Workstation Pools
6Adaptive DSM ( ADAM )
Sequential Programs
Hand-written DSM Programs
Owners of two machines in the workstation
group resume their jobs. DSM programs need
to evict to guarantee owners work.
DSM jobs on these two workstations evicted. The
workstation group shrinks.
Parallelized programs in Distributed Shared
Memory (DSM) systems can adjust themselves to
execute on different workstation
groups dynamically.
Two idle workstations are detected in the
network.
Utilize them for the current DSM
computation. The workstation group for DSM
systems expends.
Automatic Parallelization
DSM Transformation
DSM Systems (ADAM)
Idle machines.
Used by owners.
Owners returned Eviction required.
Used by HPC.
7Why Adaptive DSM?
- Provide stable environment for DSM programs over
dynamically changing workstation pools - Load Balancing
- From application point of view
- Speed up computation by distributing workload
evenly - Load Sharing
- From system point of view
- Improve system throughput by idle cycle
utilization
8ADAM Package
- Working platforms Solaris, Linux, AIX
- Website http//www.pdcl.eng.wayne.edu
- Team
- Prof. Vipin Chaudhary and Hai Jiang
- Sponsors Sun Microsystems and National Science
Foundation (NSF)