Download presentation
Presentation is loading. Please wait.
Published byThomasina Blake Modified over 9 years ago
1
Caltech CS184 Spring2005 -- DeHon 1 CS184b: Computer Architecture (Abstractions and Optimizations) Day 25: May 27, 2005 Transactional Computing
2
Caltech CS184 Spring2005 -- DeHon 2 Today Transactional Model Hardware Support Course Wrapup
3
Caltech CS184 Spring2005 -- DeHon 3 Transactional Compute Model Computation is a collection of atomic transactions Transactions are preformed in some ordering –Specified sequential ordering –Some consistent sequential interleaving Looks like sequential (multithreaded) computation
4
Caltech CS184 Spring2005 -- DeHon 4 Atomic Blocks Indivisible Cannot get interleaving of operations among blocks Each block –reads state at some point in time; –provides all its updates (writes) at that point
5
Caltech CS184 Spring2005 -- DeHon 5 How Get? How do we get atomic blocks in our current models? Get parallelism with this model?
6
Caltech CS184 Spring2005 -- DeHon 6 Simple/Sequential Version Acquire a mutex Perform transaction Release mutex
7
Caltech CS184 Spring2005 -- DeHon 7 Parallel/Locking Version Read inputs, locking each as encounter Lock all outputs Perform operations Write outputs Unlock inputs/outputs OneChip Vector case is a single source/sink version of this
8
Caltech CS184 Spring2005 -- DeHon 8 Parallel Locking Dangers What do we have to worry about in this version? Lock acquisition order deadlock Parallelism?
9
Caltech CS184 Spring2005 -- DeHon 9 Optimistic (Speculative) Transactions Pattern: speculate/rollback –Common case: non-interacting Read inputs Perform computations Check no one changed inputs –Got correct inputs? write outputs atomicly –Inputs changed rollback and try again
10
Caltech CS184 Spring2005 -- DeHon 10 Optimistic Transactions Compare –advanced load –ll/sc –branch prediction Doesn’t need to be sequentiallized Just need to look sequential It is adequate to –detect sequentialization violation
11
Caltech CS184 Spring2005 -- DeHon 11 Hardware Microarchitecture
12
Caltech CS184 Spring2005 -- DeHon 12 How support in hardware? What need? –Keep/mark inputs –Hold on to outputs –Check inputs –Commit outputs
13
Caltech CS184 Spring2005 -- DeHon 13 Microarchitecture Mark inputs in processor-local cache Writes into processor-local cache Write buffer for outputs –Hold until end of transaction Commit bus Snoop on bus for invalidations Dump write buffer to commit bus when turn to commit
14
Caltech CS184 Spring2005 -- DeHon 14 Stanford TCC uArch [Hammond et al./ISCA2004]
15
Caltech CS184 Spring2005 -- DeHon 15 uArch Concerns? Impact of commit sequentialization? Time spent rolling back? Size of cache/write-buffer needed?
16
Caltech CS184 Spring2005 -- DeHon 16 Commit Traffic [Hammond et al./ISCA2004]
17
Caltech CS184 Spring2005 -- DeHon 17 Where time go? [Hammond et al./ISCA2004]
18
Caltech CS184 Spring2005 -- DeHon 18 Read State [Hammond et al./ISCA2004]
19
Caltech CS184 Spring2005 -- DeHon 19 Write State Fig 7 [Hammond et al./ISCA2004]
20
Caltech CS184 Spring2005 -- DeHon 20 Execution Time [Hammond et al./ASPLOS2004]
21
Caltech CS184 Spring2005 -- DeHon 21 Other Patterns? Double Buffer Parallel Prefix for Commits
22
Caltech CS184 Spring2005 -- DeHon 22 Programming Explicit –Parallel/transactional looping constructs –forks Add like futures –Force ordering to match sequential language spec and is “safe” Automatically add –Support “Mostly Functional” programming –“Make the fast case common”
23
Caltech CS184 Spring2005 -- DeHon 23 Performance Issues Too many violations? –Force some transactions to wait on others Explicit/pragma/program construct Feedback-based –Emprical dataflow discovery?
24
Caltech CS184 Spring2005 -- DeHon 24 Stanford TCC Prototyping (from Workshop on Architecture Research using FPGA Platforms at HPCA 2004)Workshop on Architecture Research using FPGA Platforms
25
25 C. Kozyrakis, WARFP, Feb. 2005 25 ATLAS Overview A multi-board emulator for transactional parallel systems A multi-board emulator for transactional parallel systems Goals Goals 16 to 64 CPUs (8 to 32 boards) 16 to 64 CPUs (8 to 32 boards) 50 to 100MHz 50 to 100MHz Stand-alone full-feature system Stand-alone full-feature system OS, IDE disks, 100Mb Ethernet, … OS, IDE disks, 100Mb Ethernet, … ATLAS architecture space ATLAS architecture space Small, medium, and large-scale CMPs and SMPs Small, medium, and large-scale CMPs and SMPs UMA and NUMA UMA and NUMA Flexible transactional memory hierarchy & protocol Flexible transactional memory hierarchy & protocol Flexible network model Flexible network model Flexible clocking, latency, and bandwidth settings Flexible clocking, latency, and bandwidth settings
26
26 C. Kozyrakis, WARFP, Feb. 2005 26 Building Block: Xilinx ML310 Board XC2VP30 FPGA features XC2VP30 FPGA features 2 PowerPC 405 cores 2 PowerPC 405 cores 2.4Mb dual-ported SRAM 2.4Mb dual-ported SRAM 30K logic cells 30K logic cells 8 RocketIO 3.125Gbps transceivers 8 RocketIO 3.125Gbps transceivers System features System features 256MB DDR, 512MB CompactFlash 256MB DDR, 512MB CompactFlash Ethernet, PCI, USB, IDE, … Ethernet, PCI, USB, IDE, … Design and development tools Design and development tools Foundation ISE for design entry, synthesis, … Foundation ISE for design entry, synthesis, … For the transactional memory hierarchy and network For the transactional memory hierarchy and network Chipscope Pro logic analyzer for debugging Chipscope Pro logic analyzer for debugging EDK for system simulation, system SW development, configuration, … EDK for system simulation, system SW development, configuration, … Montavista Linux 3.1 Pro Montavista Linux 3.1 Pro
27
27 C. Kozyrakis, WARFP, Feb. 2005 27 Example: 2-way bus-based transactional CMP PowerPC 405 BRAM OCM BRAM OCM Logic BRAM PLB Logic Macro PLB
28
Caltech CS184 Spring2005 -- DeHon 28 Big Ideas [Transactional] Model/Implementation –Only needs to appear sequentialized Speculation/Rollback Common Case
29
Caltech CS184 Spring2005 -- DeHon 29 Model Review
30
Caltech CS184 Spring2005 -- DeHon 30 Models Threads single multiple Single data Conv. Processors Multiple data Data Parallel (SIMD, Vector) No SM Shared Memory Side Effects No Side Effects (S)MTDataflow SM MP DSM Fine-grained threading Pure MP Streaming Dataflow (e.g. SCORE) Trans- actional
31
Caltech CS184 Spring2005 -- DeHon 31 Big Ideas Model Implementation support model semantics –But may be very different, optimized Scaling and change Common case fast; fast case common –Measure to understand
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.