Upload
dylan-lloyd
View
215
Download
0
Embed Size (px)
Citation preview
Semantics-preserving Sharing Actors
Mohsen Lesani{1,2} Antonio Lain2 University of California, Los Angeles1 HP Labs, Palo Alto2
2Sharing Actors• Semantics• Equivalence to Pure Actors• Implementation
• Testing Tool
3Actors• Actors [Hewitt][Agha] don’t share state.
“Things in the world don't share data.” [Armstrong]– Race-freedom– Fault-isolation– Location-transparency
4Sharing• Limited forms of sharing
– Efficiency– Programmability
• What are accesses?– Write-Write
Multiple-Writers data– Write-Read, Read-Read
Single-Writer, Multiple-Readers data (SWMR data)
5SWMR Data• Social Network
Each profile is read by its friend profiles
6SWMR Data with Pure Actors
Full Replication
StateState State
State
State
State
Delegate Actor
Time Update at each replicaSpace
Time Loss of parallelism by serializing access
7Sharing Actors Semantics
Actors + SWMR State• Atomicity• Isolation• Fairness
StateUpdates
Updates
Updates
State
State
State
State2State2
8Interaction EquivalenceAre two actor systems equivalent?
≡
Equivalence of the set of possible sequences of inputs and outputs
Actor Semantics Sharing Actors SemanticsEquivalence Proof
9
Translation
Translation and Equivalence
Sharing Actors Semantics• Atomicity • Isolation• Fairness
StateUpdates
Updates
Updates
State State
State
State
Actors Semantics• Fairness
State
State
State
10
Translation
Translation and Equivalence
StateUpdates
Updates
Updates
State State
State
State
State
State
State
State2State2 State2State2,v
State2
v
v
v+1
v+1v=v
?
11Sharing Actors Implementation
State
State
Direct (message-based) implementation of the semantics is inefficient.The optimized implementation benefits from sharing data:
12Implementation
State
State
Base Object
Head
Handle
Isolation
Base Object
HandleFairness
13ConclusionSemantics-preserving Sharing Actors
Sharing actors semanticsTranslation of sharing programs to pure programs and proof of their
interaction equivalence.Implementation
14Thanks for your attendance• Questions?
15Testing Tool
Optimized Implementation
Testing Tool
Sharing Actors Semantics
Reference Implementation
16Testing Tool
Play and log with the optimized implementation
(a2,n1),v1
Writer
Reader
Reader
(a2,n3),v2
Deterministic replay with the direct implementation of the semantics(a2,n1),v1
Writer
Reader
Reader
(a2,n3),v2
Check equality of configurations