The Bulk Multicore architecture for improved programmability

Josep Torrellas, Luis Ceze, James Tuck, Calin Cascaval, Pablo Montesinos, Wonsun Ahn, Milos Prvulovic

Research output: Contribution to journalArticlepeer-review

Abstract

A novel and general-purpose multicore architecture, called the Bulk Multicore was designed to enable a highly programmable environment. The programmer and runtime system were relieved of having to manage the sharing of data due to novel support for scalable hardware cache coherence. The Bulk Multicore provided to the software high-performance sequential memory consistency and introduced several novel hardware primitives to help minimize the chance of parallel-programming errors. These primitives were to be used to build an advanced program-development-and-debugging environment. These include low-overhead datarace detection, deterministic replay of parallel programs, and high-speed disambiguation of sets of addresses. The key idea in the Bulk Multicore involved two processes where the hardware automatically executed all software as a series of atomic blocks of a large number of dynamic instructions called Chunks.

Original languageEnglish (US)
Pages (from-to)58-65
Number of pages8
JournalCommunications of the ACM
Volume52
Issue number12
DOIs
StatePublished - Dec 1 2009

ASJC Scopus subject areas

  • Computer Science(all)

Fingerprint Dive into the research topics of 'The Bulk Multicore architecture for improved programmability'. Together they form a unique fingerprint.

Cite this