44
TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems Present By: Blair Fort Oct. 28, 2004

TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems

Embed Size (px)

DESCRIPTION

TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems. Present By: Blair Fort Oct. 28, 2004. Overview. Introduction and Motivation Implementation Experiments and Results Conclusions My two cents. Introduction. - PowerPoint PPT Presentation

Citation preview

Page 1: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

TreadMarks: Distributed Shared Memory on

Standard Workstations and Operating Systems

Present By: Blair Fort

Oct. 28, 2004

Page 2: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Overview

Introduction and Motivation Implementation Experiments and Results Conclusions My two cents

Page 3: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Introduction

Threadmarks is a Distributed Shared Memory system

Unix workstations over an ATM or Ethernet network

Page 4: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Cluster Configuration

Page 5: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Distributed Shared Memory

Page 6: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Motivation

No widely available DSM system

Eliminate problems of other systemBad portabilityBad performanceFalse sharing

Blair
-DSM Systems are most in house--need kernel modifications--To much msg passing, since there are based on SMP architectures.--More False sharing with bigger pages, than cache lines
Page 7: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Goals

Ease of Use

Portability

Good Performance

Also show that it works for real programs

Page 8: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Overview

Introduction and Motivation Implementation Experiments and Results Conclusions My two cents

Page 9: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Ease of Use

Looks a lot like pthreads

Implicit message passing

Implicit process creation

Blair
Goal 1:-Message passing is handle by the threadmarks' functions-A main process is handle to handle locks and barriers
Page 10: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems
Blair
Example TSP - Highlight ThreadMark Lines
Page 11: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Portability

Only standard Unix System Calls Message Passing Memory Management

Blair
Goal 2
Page 12: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Performance

False sharing

Excessive message passing

Blair
Goal 3
Page 13: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Conventional DSM Implementation

Blair
This is Sequential Consistency
Page 14: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Sequential vs Release Consistency

Every Write is broadcasted

More Message Passing

Writes are broadcasted only synchronization points

More Memory overhead

Blair
-Sequential - also has a problem with latency
Page 15: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Read-Write False Sharing

w(x)

r(y) r(y) r(x)

w(x) w(x)

Page 16: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Read-Write False Sharing

w(x) w(x)

r(y) r(y) r(x)

synch

Page 17: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Write-Write False Sharing

w(x)

w(y) w(y) r(x)

synch

w(x) w(x)

Page 18: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Multiple-Writer False Sharing

w(x)

w(y) w(y) r(x)

synch

w(x) w(x)

Page 19: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Eager vs. Lazy RC

Sends Messages at release of lock or at barriers

Broadcasts Messages to all nodes

Sends Messages when locks are acquired

Message goes only to the required node

Page 20: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Eager vs. Lazy RC

Page 21: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Memory Consistency

Done by creating diffs

Eager RC creates diffs at barriers Lazy RC creates diffs at the first use of a

page

Page 22: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Twin Creation

Page 23: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Diff Organization

Page 24: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Vector Timestamps

w(x) rel

acq w(y) rel

p1

p2

p3acq r(x) r(y)

000

000

000

100

110

Page 25: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Diff chain in Proc 4

Page 26: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Garbage Collection

Used to merge all diffs – recover memory

Occurs only at barriers

All nodes that have a pages must have all diffs of that page.

Page 27: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Overview

Introduction and Motivation Implementation Experiments and Results Conclusions My two cents

Page 28: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Testing Platform

8 DECstation-5000/240’s running Ultrix V4.3

Network: ATM 100Mbps Ethernet 10Mbps

Blair
Also tested on SPARCstation - results not shown.
Page 29: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Testing Programs

Modified Water from Splash Jacobi TSP QuickSort ILINK

Blair
Water - Molecular DynamicsJacobi - Successive Over-Relaxation (SOR)TSP - 19-city tourQuicksort - with bubblesort for small sub-arraysILINK - genetic linkage analysis
Page 30: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems
Blair
Jacobi is almost linerWater is very bad
Page 31: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems
Page 32: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems
Blair
Unix overhead is min 3x greate then Treadmarks
Page 33: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Unix Overhead

Blair
Communiction 80% - need cheap commnication is essential
Page 34: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

ThreadMarks Overhead

Page 35: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Network Comparison - Water

Blair
{Show which part are for what}Why not for other programs?
Page 36: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Lazy vs Eager RC

Blair
-- TSP - useless calculation - because slow arrival of the current min route
Page 37: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Message Rate

Page 38: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Data Rate

Page 39: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Diff Creation Rate

Page 40: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Overview

Introduction and Motivation Implementation Experiments and Results Conclusions My two cents

Page 41: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Conclusions

Automated Distributed Shared Memory system works for real programs!

LRC improves performance over ERC for most cases

Page 42: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Overview

Introduction and Motivation Implementation Experiments and Results Conclusions My two cents

Page 43: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

My Thoughts

Good design – promotes re-use

Would like to see a comparison over hand-coding the message passing

Why not a partial merging of diffs?

Page 44: TreadMarks:  Distributed Shared Memory on Standard Workstations and Operating Systems

Comments/Questions