Processors Presented by Remzi Can Aksoy Some slides are borrowed from a Papers We Love Presentation EECS 582 F16 1 Outline The Scalable Commutativity Rule Whenever interface operations commute they can be implemented in a way that scales ID: 532288
Download Presentation The PPT/PDF document "The Scalable Commutativity Rule: Designi..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors
Presented by Remzi Can Aksoy*Some slides are borrowed from a ‘Papers We Love’ Presentation
EECS 582 – F16
1Slide2
OutlineThe Scalable Commutativity Rule:
Whenever interface operations commute, they can be implemented in a way that scales.ProblemMore about the RuleFormalization and ProofApplying the RuleEECS 582 –
F16
2Slide3
CPU Trends
EECS 582 – F163Slide4
A Scalability Bottleneck
EECS 582 – F164Slide5
Current TechniquesTry a Workload, Plot Scalability, Fix top Bottleneck
Disadvantages:New workloads expose new bottlenecksMore cores expose new bottlenecksThe real bottlenecks may be in the interface designEECS 582 – F16
5Slide6
OutlineThe Scalable Commutativity Rule:
Whenever interface operations commute, they can be implemented in a way that scales.ProblemMore about the RuleFormalization and ProofApplying the Rule
EECS 582 – F16
6Slide7
EECS 582 – F16
7Slide8
EECS 582 – F16
8Slide9
EECS 582 – F
169
Change the Interface?Slide10
EECS 582 – F16
10Slide11
IntuitionWhenever interface operations commute, they can be implemented in a way that scales
.Operations commuteresults are independent of ordercommunication is unnecessarywithout communication, no conflictsEECS 582 – F16
11Slide12
OutlineThe Scalable Commutativity Rule:
Whenever interface operations commute, they can be implemented in a way that scales.ProblemMore about the RuleFormalization and ProofApplying the Rule
EECS 582 – F16
12Slide13
FormalizationA history
H is sequence of invocations and responses on threads.A specification ζ defines an interface. ζ is the set of legal histories given the allowed behavior of the interface.A reordering H’ is a permutation of H that
maintains operations order for each individual thread (H|t
=
H’
|
t
for
all
t
).
EECS 582 –
F
16
13Slide14
CommutativityDifferent Commutativity Definition: State-dependent, Interface-based, MonotonicA
region Y of a legal history XY SIM-commutes if every reordering Y’ of Y also yields a legal history and every legal extension Z of XY is also a legal extension of
XY’.
(And this must be true for every prefix of every reordering of
Y
.)
EECS 582 –
F
16Slide15
The Formal Rule
Let ζ be a specification with a reference implementation M. Consider a history where XY where Y commutes in XY and M can generate XY.There exists a correct implementation
M’ of ζ whose execution
of
XY
is conflict-free in the
commutative region
Y
.
EECS 582 – W16
15Slide16
OutlineThe Scalable Commutativity Rule:
Whenever interface operations commute, they can be implemented in a way that scales.ProblemMore about the RuleFormalization and ProofApplying the Rule
EECS 582 – F16
16Slide17
Refining POSIX with the RuleLowest FD versus any FD
stat versus xstatWhat we can learn:Embrace non-determinismDecompose compound operationsEECS 582 – F
16
17Slide18
EECS 582 – F16
18CommuterSlide19
EECS 582 – F16
19Slide20
EECS 582 – F16
20Slide21
sv6: A Scalable OS
• POSIX-like operating system• File system and virtual memory system follow commutativity rule• Implementation using standard parallel programming techniques, but guided by Commuter
EECS 582 – F16
21Slide22
EECS 582 – F16
22Slide23
Discussion Topics:Can we apply a similar principles to network, database systems?
Do you think this new technique improve development speed?EECS 582 – F1623