sutirtha sanyal barcelona supercomputing center barcelona
Download
Skip this Video
Download Presentation
Sutirtha Sanyal (Barcelona Supercomputing Center, Barcelona)

Loading in 2 Seconds...

play fullscreen
1 / 19

Sutirtha Sanyal (Barcelona Supercomputing Center, Barcelona) - PowerPoint PPT Presentation


  • 181 Views
  • Uploaded on

Sutirtha Sanyal (Barcelona Supercomputing Center, Barcelona). Accelerating Hardware Transactional Memory (HTM) with Dynamic Filtering of Privatized Data.

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 'Sutirtha Sanyal (Barcelona Supercomputing Center, Barcelona)' - rhett


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
sutirtha sanyal barcelona supercomputing center barcelona

Sutirtha Sanyal (Barcelona Supercomputing Center, Barcelona)

Accelerating Hardware Transactional Memory (HTM) with Dynamic Filtering of Privatized Data

slide2
TM framework should be able to execute transactions as efficiently as possible even if defined in a coarse-grain fashion. Usually programmers will define transactions in this manner on a large piece of code.

An analysis shows that many variables accessed inside a transaction are not truly shared across multiple threads. Rather they are completely local to an individual thread.

algorithm and implementations4
We assume programmer has a-priori knowledge about some data structures which are thread-local and we require that programmer use a dual version of malloc, named local_malloc() for such structures.
  • To filter out stack accesses of the transaction ( and any function call made from within a transaction) we use stack pointer and frame pointer register.

ALGORITHM AND IMPLEMENTATIONS

implementation of htm
IMPLEMENTATION OF HTM
  • Implemented HTM is modeled after TCC (ISCA, 2004) in M5 (a full-system simulator from Umichgan, Ann-arbor).
  • It belongs to Lazy-Lazy class of TM, where conflict detection and global memory updation occur at commit time.
  • Aborts are cheap, Commits are expensive.
implementation of htm cont
IMPLEMENTATION OF HTM (cont..)
  • Cache line is modified to track readset and writeset of a transaction.
  • Each individual thread is identified by their unique Process Control Block Base register value. (This is alpha specific).
  • Cache coherence protocol is modified to allow multiple updated copies of the same cache line.
  • At each store the address and value are inserted into a queue called commit queue.However if SL bit of that word is set, it does not get included.(explained later).
  • During commit, each store in the queue is replayed.
implementation of htm cont7
IMPLEMENTATION OF HTM (cont..)
  • Modifications incoherence protocol are following:

A) Whenever a processor makes a write, it does not invalidate other copies. Hence a processor write does not generate bus write.

B) Whenever a processor wants to read a value for the first time, it is forced to go to bus. But here other should not reply with their own modified value. Hence response to Bus Read request is deactivated. This means request ultmately gets staisfied by the non-spec level of memory.

implementation of htm cont8
IMPLEMENTATION OF HTM (cont..)
  • When a thread wants to commit, it locks the bus (first come, first serve mode) for the entire commit duration.
  • Other thread can execute their transaction or else they have to spin waiting for commit permission.
  • However as each store passes the common bus during commit, other thread snnops the address and invalidate themselves if there is a conflict.
  • A transaction is retried immediately if it is doomed.
slide9
IMPLEMENTATION OF HTM (cont..)
  • Cache line is augmented with new bits. R- denotes if the cache line is read in a transaction. W- denotes update to the cache line SL (Speculative Local)- One bit per word denotes if the word read or written is local to thread.
slide10
IMPLEMENTATION OF HTM (cont..)
  • TLB structure is not modified. However an earlier unused bit in the protection filed is used to hold the locality information of a page. (Bit number 21 in case of Alpha)
slide11
IMPLEMENTATION OF HTM (cont..)
  • To filter out stack access two new registers are added. They hold the stack bounds for current executing transaction.
slide12
Source of speed-up
  • During commit a substantial amount of bus-bandwidth is saved which would otherwise be wasted on commiting local variables.
  • For local variables, commit is done by clearing SL bits in the corresponding cache line.
results

RESULTS

Filtered vs Unfiltered Read/Write set size (in bytes)

speed up numbers17

SPEED-UP Numbers

Average speed-up of 1.14x across STAMP benchmarks is observed for scalable TCC type of HTM.

slide18
SEED-UP Numbers(Cont..)

Average speed-up of 1.24x across STAMP benchmarks is observed for conventional TCC type of HTM.

slide19
Commit Expedition

Reduction in commit cycle time

ad