Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read...
-
Upload
beatriz-beckey -
Category
Documents
-
view
214 -
download
0
Transcript of Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read...
![Page 1: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/1.jpg)
Multi Core Processors and
Casino Programming
W. J. Paul
Vienna 2014
![Page 2: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/2.jpg)
layers of system architecture
• different programming models on different layers– instruction set
architecture (ISA)…– …– parallel C + devices +
macroassembly + assembly + interrupts
physical gates
ISA hypervisor
![Page 3: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/3.jpg)
layer n of system architecture
• user sees programming model (purple) provided by layer n
• implementer implements it in programming model of layer n-1 (white)
• implementations usually simple or wrong– KISS
layer n-1layer n
![Page 4: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/4.jpg)
layer n of system architecture
• user sees programming model (purple) provided by layer n
• implementer implements it in programming model of layer n-1 (white)
• implementations usually simple
• easy IF we know programming model on layer n-1
layer n-1layer n
![Page 5: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/5.jpg)
if we only kind of know programming model of layer n-1…..
layer n-1, n…
![Page 6: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/6.jpg)
the casino is presently everywhere
• ISA of multi core systems is only kind of known – list of operating conditions
in these 3000 pages might be incomplete
– complete list can be obtained by correctness proof of processor hardware
• Semantics stack on top is– not completely defined +
justified
![Page 7: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/7.jpg)
match
![Page 8: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/8.jpg)
mismatch
![Page 9: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/9.jpg)
mismatch
• manufacturers of real time systems– avoid multi core or– turn presently off all
parallel features they can
• they know what they are doing
![Page 10: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/10.jpg)
roadmap/plan of talk
• ISA-sp for multi core processors– MIPS 86 = MIPS + TSO
• below: – hardware correctness for
multi core nondeterministic ISA
– collect operating conditions
– bottom of roadmap: digital gates
– bottom: physical gates
• above: – define semantics layers– justify arguing about
implementation in lower layers
– ownership and order reduction
![Page 11: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/11.jpg)
ISA-sp:
• X64 ISA model– E. Cohen: communicating
sequential components; order of steps nondeterministic
– sb: store buffer– mmu: memory
management unit; walking of page tables nondeterministic (speculation)
– APIC: device, interrupts– disk: for booting
mem + caches
sb
core
mmu
APICdisk
![Page 12: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/12.jpg)
Nondeterministic ISAISA transition function
±(c;eev;o) = c0
² c : con¯guration
² eev : external interrupt vector
² o: oracle input.i) unit steppedii) step performed by unit,e.g. walk speculated by MMU
• hardware correctness– induction on cycles t of
deterministic hardware– ne(t): number of
nondeterministic ISA steps completed at cycle t
– oracle input o for these steps• unit stepped• initial walk guessed of MMU• walk used by core
![Page 13: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/13.jpg)
Implementation dependent operating conditions
• pipeline stages • old: when is write to gpr visible ?– forwarding and stalling
fetch
decode
execute
memory
gpr write back
pc-translate
ea-translate
![Page 14: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/14.jpg)
Implementation dependent operating conditions
• pipeline stages • when is write of an instruction visible– speculation– Kröning 1999
fetch
decode
execute
memory
gpr write back
pc-translate
ea-translate
![Page 15: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/15.jpg)
Implementation dependent operating conditions
• pipeline stages • when is write of an instruction or page table by other processor visible– drain pipe + store buffer
+ sync
fetch
decode
execute
memory
gpr write back
pc-translate
ea-translate
![Page 16: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/16.jpg)
invlpg
• pipeline stages
• core: – step at stage ‚memory‘
• IMMU: – step at stage ‚pc-translate‘;
speculation in ISA. – pipeline walk wo in ghost registers– invariant: wo in virtual tlb
• core step(wo)– only allowed if invariant holds
• invariant:– inhibit use of translation in tlb
invlpgd by instruction in stages decode…memory
– roll back pc-translate using translation invlpgd at stage fetch (speculative execution)
• interrupt in stage decode– changes to untranslated mode– IMMU step in stage pc-translate
would not occur in deterministic ISA– was speculated in nondeterministic
ISA (even with deterministic MMU)
fetch
decode
execute
memory
gpr write back
pc-translate
ea-translate
wo
![Page 17: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/17.jpg)
Invlpg: can be implemented without software condition in nodeterministic ISA
• pipeline stages
• core: – step at stage ‚memory‘
• IMMU: – step at stage ‚pc-translate‘;
speculation in ISA. – pipeline walk wo in ghost registers– invariant: wo in virtual tlb
• core step(wo)– only allowed if invariant holds
• invariant:– inhibit use of translation in tlb
invlpgd by instruction in stages decode…memory
– roll back pc-translate using translation invlpgd at stage fetch (speculative execution)
• interrupt in stage decode– changes to untranslated mode– IMMU step in stage pc-translate
would not occur in deterministic ISA– was speculated in nondeterministic
ISA (even with deterministic MMU)
fetch
decode
execute
memory
gpr write back
pc-translate
ea-translate
wo
![Page 18: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/18.jpg)
current research/last for hardware
• pipeline stages • When are device steps visible in multicore machines?
fetch
decode
execute
memory
gpr write back
pc-translate
ea-translate
![Page 19: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/19.jpg)
ISA +devices and driver correctness (Dublin 2009)
– hardware parallel even with sequential processor
– ISA nondeterministic concurrent, 1 step at a time
– disable interrupts of devices >1 and don‘t poll them
– reorder their device steps out of driver run of dev 1
– pre and post conditions for drivers…
proc
dev 1
dev k
![Page 20: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/20.jpg)
ISA +devices and driver correctness
– disable interrupts of devices >1 and don‘t poll them
– reorder their device steps out of driver run of dev 1
– pre and post conditions for drivers…
– assumes absence of side channels
proc
dev 1
dev k
![Page 21: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/21.jpg)
ISA +devices and driver correctness
– disable interrupts of devices >1 and don‘t poll them
– reorder their device steps out of driver run of dev 1
– pre and post conditions for drivers…
Device 1: motorDevice 2: climaSide channel: power
consumption
proc
dev 1
dev k
![Page 22: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/22.jpg)
C + assembly (Kirkland 2013 extended)
² two languages C +A whereA implements C:
² two computations (ci ) and (ai )
² con¯gurations a or (a;c), sometimeswith consis(a;c)
² change from translated C to A: drop (ci ), only use (aj )
² change fromA to translated C: havea
1. 9c : consis(c;a) ^inv(c): continuewith (unique) (a;c)
2. ±A (a) otherwise (repeat until consistency is reached)
Details: Baumann-Paul-Schmaltz: SystemArchitecture.
![Page 23: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/23.jpg)
C + devices
• Implementation– access device ports by
assembly code– do not allocate C
variables to ports– disable interrupts during
run of translated C code
• Order reduction: devices steps can be reordered to assembly portion
• Semantics– Configurations (a,c,d) or
(a,d)– d for device– device steps only for
(a,d)
![Page 24: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/24.jpg)
Ownership (1)concept
• Classify addresses1. local (e.g. C stack)2. shared and read only
(e.g. program)3. shared owned
(temporarily local/locked)
4. shared writeable not owned (locks)
• invariants: – at most 1 owner ….– disjointness…
• safe programs: act like names of address classes suggest
• accesses to class 4 atomic at the language level
![Page 25: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/25.jpg)
Ownership (2)Def: structured parallel C (almost folklore)
• Classify addresses1. local (e.g. C stack)2. shared and read only
(e.g. program)3. shared owned
(temporarily local/locked)
4. shared writeable not owned (locks)
• multiple C threads• sequentially consistent
memory !• shared: heap + global
variables• local: stacks• safe w.r.t. ownership
– class 4 access: volatile
• Interleave at (compiler consistency points before) class 4 accesses
![Page 26: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/26.jpg)
Ownership (3)structured parallel C to parallel assembly
• IF– translate threads with
sequential compiler– translate volatile C access to
interlocked ISA access– at most 1 class 4 access
between two interleaving points (e.g. no global pointer chasing to global variable)
• THEN– ISA program safe– multicore ISA simulates
parallel C
• Baumann 2014
![Page 27: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/27.jpg)
Ownership (4)parallel store buffer reduction in ISA-sp
• maintain local dirty bits- class 4 write since last local
sb- flush
• class 4 read only if dirty =0• Cohen Schirmer ITP 2010:
store buffers invisible– formal, 70 pages proof– no mmu
• push through hierarchy– implement sb-flush as
compiler intrinsic in CISA-sp
ISA-u=asm
m-asm
C
compiler
m-assembler
before
dirty
![Page 28: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/28.jpg)
Ownership (5)parallel store buffer reduction in ISA-sp
• maintain local dirty bits- class 4 write since last local sb-
flush
• class 4 read only if dirty =0• Chen Cohen Kovalev (VSTTE
2014: store buffers invisible– 94 pages proof– with mmu– page tables local to processor +
mmu or shared– new ownership class: locally
shared. Processor access while local mmu walks: class 4
ISA-sp
ISA-u=asm
m-asm
C
compiler
m-assembler
before
dirty
![Page 29: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/29.jpg)
Ownership (6): Semantics of C + interrupts Pentchev 2014
• C program thread + handler threads– ownership discipline
between program and handler thread
– interleave at consistency points around class 4 accesses
• Parallel C program threads + handler threads– ownership as for
structured parallel C for local threads + handlers
– new ownership class: locally shared between program thread and handler
![Page 30: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/30.jpg)
Summary
• Hardware– search of software
conditions almost completed (except multicore + devices)
– so far only known type of software conditions found
– with nondeterministic ISA no software conditions for use of invlpg
• Sofware stack– C + assembly– C + devices– structured Parallel C – store buffer reduction
with MMUs– C + interrupts
![Page 31: Multi Core Processors and Casino Programming W. J. Paul Vienna 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.](https://reader030.fdocuments.net/reader030/viewer/2022032702/56649cb95503460f94980fc3/html5/thumbnails/31.jpg)
Once this research is done
• we could quit• if we wanted to