thread level transactional memory decoupling interface and implementation
Download
Skip this Video
Download Presentation
Thread-Level Transactional Memory Decoupling Interface and Implementation

Loading in 2 Seconds...

play fullscreen
1 / 24

Thread-Level Transactional Memory Decoupling Interface and Implementation - PowerPoint PPT Presentation


  • 69 Views
  • Uploaded on

Thread-Level Transactional Memory Decoupling Interface and Implementation. UW Computer Architecture Affiliates Conference Kevin Moore October 21, 2004. Transactional Memory. Atomic and isolated execution Replace locks for critical sections No lock granularity problem

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Thread-Level Transactional Memory Decoupling Interface and Implementation' - sybill-brooks


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
thread level transactional memory decoupling interface and implementation

Thread-Level Transactional MemoryDecoupling Interface and Implementation

UW Computer Architecture Affiliates Conference

Kevin Moore

October 21, 2004

transactional memory
Transactional Memory
  • Atomic and isolated execution
  • Replace locks for critical sections
    • No lock granularity problem
  • Software Error Recovery
    • Allow programmers to abort/rollback transactions when errors are detected
    • Convenient interface for exception handling

Thread-Level Transactional Memory

why haven t you built it
Why Haven’t You Built It?
  • ISA Change
  • No immediate benefit
  • Complexity
  • No solution for large transactions
  • No solution for software error recovery

Thread-Level Transactional Memory

the interface matters
The Interface Matters
  • Many systems implement the same ISA
    • Support multiple design points
    • Survive technology changes
  • Programmability is the key motivation for transactional memory
  • Interface challenge
    • Modern processors support small (few memory operations) easily
    • Unlimited transactions are more convenient for software

Thread-Level Transactional Memory

virtualize transactional memory
Virtualize Transactional Memory
  • Decouple interface and implementation
    • Allow arbitrary size transactions
    • Don’t require unlimited buffering
  • Flexible implementation
    • Multiple cost/performance options
  • Support software error recovery
    • Recover all transactions

Thread-Level Transactional Memory

overview
Overview
  • Motivation
  • Background
  • TLTM Interface
  • Out-of-Cache Transactions
  • Conclusion

Thread-Level Transactional Memory

prior transactional memory systems
Prior Transactional Memory Systems
  • Transactional Memory
  • Transactional Memory Coherence and Consistency
  • Oklahoma Update
  • Transactional Lock Removal
  • 801 Storage (Database Storage)

Thread-Level Transactional Memory

transactional memory1
Transactional Memory
  • Herlihy and Moss, ISCA 1993
  • Replaced short critical sections with atomic transactions
  • More efficient than locks
  • Implementation based on cache coherence states

Thread-Level Transactional Memory

herlihy and moss isca 1993
CPUHerlihy and Moss, ISCA 1993
  • Transaction cache
    • Stores all data accessed by transactions
    • 2 copies of each updated cache line
    • Fully associative
    • Acts as a victim cache
  • Long Locks
    • Processors are allowed to refuse coherence requests

Memory

Cache

Transaction Cache

Thread-Level Transactional Memory

transactional memory coherence and consistency
Transactional Memory Coherence and Consistency
  • TCC combines coherence and transaction support
  • All memory requests are part of some transaction
  • Designed for a single CMP
  • Relies on broadcast

Thread-Level Transactional Memory

slide11
TCC
  • Each processor executes a speculative (optimistic) transaction
  • Commits are serial
    • Broadcasts addresses of all updates in the transaction
  • Supports long-running (large) transactions
    • Must grab (and hold) commit permission first
    • Cannot abort large transactions

Thread-Level Transactional Memory

slide12
TCC

On-Chip Interconnect

Broadcast-Based Communication

Write buffer ~4 kB, Fully-Associative

L2 Cache Logically Shared

CPU

L1 D

Thread-Level Transactional Memory

limits of prior proposals
Limits of Prior Proposals
  • No separation between implementation and interface
  • No concurrent execution of large transactions
  • No software error recovery
  • Don’t address operating system

Thread-Level Transactional Memory

thread level transactional memory tltm
Thread-Level Transactional Memory (TLTM)
  • Decouple transactional interface and implementation
  • No limit on transaction size or content
  • Break the dependence on caching all data accessed in a transaction

Thread-Level Transactional Memory

tltm api
TLTM API
  • Transactions
    • Specified by begin and commit operations
    • All memory operations between begin and commit are part of the transaction
    • Transactions end in a commit or an abort
  • Abort/Recovery
    • Can be triggered by software or hardware
    • Control may be passed to software abort handler
    • If software handler is called, a before-image log is provided in the memory space of the process

Thread-Level Transactional Memory

tltm guarantee
TLTM Guarantee
  • Execute the transaction atomically (and commit) or,
  • Allow a software abort handler to run before any updates are exposed

For each transaction the hardware will:

Thread-Level Transactional Memory

transactional memory requirements
Transactional Memory Requirements
  • Maintain multiple versions of updated objects
  • Track data set (reads and updates)
  • Rollback/Restart

Thread-Level Transactional Memory

thread level log
Thread-Level Log

Stack

Stack

Code

Data

Heap

Log

Log

Thread 0

Thread n

Global

Thread-Level Transactional Memory

log based recovery
Log-Based Recovery
  • Undo log
    • Before image log stored in virtual address space of user program
    • Separate log for each thread
  • Aborts can be handled in software
    • Replays log entries in LIFO order
  • Breaks dependence on cache for 2nd copy

Thread-Level Transactional Memory

speculative transactions
Speculative Transactions
  • ULTM does not require logging
  • Processors can still execute transactions speculatively
  • Non-speculative transactions will be rare for many applications

Thread-Level Transactional Memory

transaction read set size
Transaction Read Set Size

Thread-Level Transactional Memory

transaction write set size
Transaction Write Set Size

Thread-Level Transactional Memory

tracking transaction state
Tracking Transaction State
  • Use conservative estimate of transaction data sets
    • Allows bounded state
  • Allows a trade-off between space overhead and performance
    • Results in some unnecessary aborts

Thread-Level Transactional Memory

advantages of tltm
Advantages of TLTM
  • Flexibility for programmers
    • No hardware-imposed limits on transaction content
    • Allows conservative synchronization
    • Supports recovery for all transactions
  • Flexibility for memory system designers
    • No minimum size or associativity requirement for caches, reorder buffers or store queues
    • Can off-load recovery to software

Thread-Level Transactional Memory

ad