O-structures: Semantics for versioned memory

Eran Gilad, Eric W. Mackay, Mark Oskin, Yoav Etsion

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

This paper introduces O-structures, a novel architectural memory element that can be used to facilitate parallelism in task-based execution models. Much like register renaming, each write to an O-structure creates a new version of program memory at that location. These versions can be accessed concurrently and out of program order. O-structures provide a set of semantics that match the needs of task-based execution models, specifically allowing tasks to synchronize on specific versions of memory as well as coordinate access when the necessary version is not known at compile time. In this work, we describe O-structures and provide their complete semantics. We also discuss how a task-based execution of basic data structure manipulations on common data structures (arrays, lists, trees, etc) operate. Results are presented that measure the exposed memory-level parallelism (MLP) in these operations. We find that for previously difficult to parallelize data-structures, such as linked lists, binary trees and sparse-matrix codes we see significant memory level parallelism (50-100 operations per cycle) when using O-structures.

Original languageEnglish
Title of host publicationMemory Systems Performance and Correctness, MSPC 2014 - In Conjunction with the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2014
DOIs
StatePublished - 2014
Event2014 Workshop on Memory Systems Performance and Correctness, MSPC 2014 - In Conjunction with the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2014 - Edinburgh, United Kingdom
Duration: 13 Jun 201413 Jun 2014

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

Conference2014 Workshop on Memory Systems Performance and Correctness, MSPC 2014 - In Conjunction with the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2014
Country/TerritoryUnited Kingdom
CityEdinburgh
Period13/06/1413/06/14

Keywords

  • Memory renaming
  • O-structures
  • Out-of-order

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'O-structures: Semantics for versioned memory'. Together they form a unique fingerprint.

Cite this