partial snapshots n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Partial Snapshots PowerPoint Presentation
Download Presentation
Partial Snapshots

Loading in 2 Seconds...

play fullscreen
1 / 13

Partial Snapshots - PowerPoint PPT Presentation


  • 125 Views
  • Uploaded on

Partial Snapshots. Hagit Attiya (CS, Technion) Joint work with Rachid Guerraoui (EPFL) Eric Ruppert (York University). Taking a Full Snapshot. n components Update a single component Scan all the components “at once” (atomically) Provides an instantaneous view of the whole memory.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Partial Snapshots' - bryga


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
partial snapshots

Partial Snapshots

Hagit Attiya (CS, Technion)

Joint work with Rachid Guerraoui (EPFL) Eric Ruppert (York University)

taking a full snapshot
Taking a Full Snapshot

n components

Update a single component

Scan all the components “at once” (atomically)

Provides an instantaneous view of the whole memory

update

scan

v1,…,vn

ok

SPAA

taking a partial snapshot
Taking a Partial Snapshot

n components

Update a single component

Scan components “at once” (atomically)

Allows to read parts of the memory

Worthwhile if we can do it more efficiently than a (full) scan

update

scan

vi1,…,vir

ok

SPAA

partial snapshots non terminating algorithm
Partial Snapshots: Non-Terminating Algorithm

[Afek, Attiya, Dolev, Gafni, Merritt, Shavit, JACM 1993]

double collect

Update(v,k)

A[k] = v,seqi,i

  • PartialScan()
  • repeat
    • read A[i1],…,A[ir]
    • read A[i1],…,A[ir]
    • if equal
    • return A[i1,…,ir]
  • Linearize:
  • Updates with their writes
  • Scans inside the double collects

SPAA

termination
Termination?

Hat tip [Ellen, Fatuoruo, Ruppert]

  • Embed a scan within the Update.

Update(v,k)

V = FullScan

A[k] = v,seqi,i,V

  • PartialScan()
  • repeat
    • read A[i1],…,A[ir]
    • read A[i1],…,A[ir]
    • if equal
    • return A[i1,…,ir]
    • if 2 values in same component
    • return Vj

direct scan

  • Linearize:
  • Updates with their writes
  • Direct scans as before
  • Borrowed scans in place

borrowedscan

SPAA

more efficient update
More Efficient Update
  • Scan only components needed for overlapping scans
  • But how to know what these are?

Active set object:

Tracks processes inthe execution

[Afek, Stupp, Touitou]

join

leave

getSet

ok

ok

S

active set

SPAA

more efficient update1

p.join

ok

p.leave

ok

q.getSet

{… …}

{…,p,…}

More Efficient Update
  • Scan only components needed for overlapping scans
  • But how to know what these are?

Active set object:

Tracks processes inthe execution

[Afek, Stupp, Touitou]

active set

SPAA

partial scans w active set
Partial Scans w/ Active Set

Update(v,k)

V = EmbeddedScan()

A[k] = v,seqi,i,V

  • PartialScan()
  • announce {i1, …, ir}
  • join
  • repeat
    • read A[i1],…,A[ir]
    • read A[i1],…,A[ir]
    • ...
  • leave

SPAA

partial scans w active set1
Partial Scans w/ Active Set

Update(v,k)

V = EmbeddedScan()

A[k] = v,seqi,i,V

  • EmbbededScan()
  • getSet
  • read components
  • repeat
    • double collect needed components
    • ...
  • if 3 different values in same component
  • borrow the view

SPAA

new active set algorithm
New Active Set Algorithm

To join

….

last

p

16

17

SPAA

new active set algorithm1
New Active Set Algorithm

To leave

GetSet reads the array ignoring empty locations

….

….,17,

last

p

16

17

SPAA

why in the tm session
Why in the TM Session?
  • I need to catch a flight at 17h25
  • Partial snapshots are very restricted transactions
    • PartialScan read-only transaction
    • Update  transaction writing to a single location
  • Understanding them provides a handle on the inherent cost of TM implementations

SPAA

wrap up
Wrap-Up
  • A new object: partial snapshot
    • Obvious applications
    • Implications for TM
  • Suggested an approach for solving it using an active set object
    • New active set algorithms? Esp., less space.
    • Will have applications to adaptive algorithms.
  • Better algorithms? Lower bounds?

SPAA