Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Simple Abstraction for Complex Concurrent Indexes Imperial College London: Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner and Mark Wheelhouse.

Similar presentations


Presentation on theme: "A Simple Abstraction for Complex Concurrent Indexes Imperial College London: Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner and Mark Wheelhouse."— Presentation transcript:

1 A Simple Abstraction for Complex Concurrent Indexes Imperial College London: Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner and Mark Wheelhouse University of Cambridge: Mike Dodds OOPSLA 2011

2 Motivation Indexes are ubiquitous in computing systems: And have a variety of implementations:

3 Intuitive Index Specification

4 Simple Concurrent Example

5 Disjoint Key Concurrency

6 Concurrent Index Specification

7 Simple Concurrent Example

8 More Example Programs

9 Real-World Client Programs Database sanitation: remove all patients who have been cured, transferred or released Graphics drawing: clip all objects outside of some horizontal and vertical bounds Garbage collection: parallel marking in the mark/sweep algorithm Web caching (NOSQL): removing a picture whilst others are attaching comments to it

10 Shared Key Concurrency

11

12 Concurrent Index Specification

13 Concurrent remove remove(h,k)

14 Parallel Sieve of Eratosthenes

15

16 Combining Predicates

17 Parallel Sieve of Eratosthenes

18 Implementing a Concurrent Index Our abstract concurrent index specification is sound for a number of different implementations, including:

19 Concurrent B-tree

20 Shared state Interference environment Capability tokens

21 Concurrent B-tree

22 Proof of remove implementation:

23 Conclusion Summary: simple abstract spec for concurrent indexes essence of real-world client programs correct implementations linked lists hash tables concurrent B-trees proof structure lends itself to automation Future work: Automation/Proof Assistant (Dinsdale-Young) java.util.concurrent (da Rocha Pinto) File Systems (Ntzik)


Download ppt "A Simple Abstraction for Complex Concurrent Indexes Imperial College London: Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner and Mark Wheelhouse."

Similar presentations


Ads by Google