/
The Scalable Commutativity Rule: Designing Scalable Softwar The Scalable Commutativity Rule: Designing Scalable Softwar

The Scalable Commutativity Rule: Designing Scalable Softwar - PowerPoint Presentation

min-jolicoeur
min-jolicoeur . @min-jolicoeur
Follow
470 views
Uploaded On 2017-04-01

The Scalable Commutativity Rule: Designing Scalable Softwar - PPT Presentation

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

eecs 582 rule f16 582 eecs f16 rule interface commutativity operations scalable implemented legal commute scales outline ruleformalization problemmore

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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