CaltechAUTHORS
  A Caltech Library Service

Macroservers: An Execution Model for DRAM Processor-In-Memory Arrays

Zima, Hans P. and Sterling, Thomas L. (2000) Macroservers: An Execution Model for DRAM Processor-In-Memory Arrays. California Institute of Technology . (Unpublished) http://resolver.caltech.edu/CaltechCACR:CACR-2000-182

[img]
Preview
PDF
See Usage Policy.

511Kb

Use this Persistent URL to link to this item: http://resolver.caltech.edu/CaltechCACR:CACR-2000-182

Abstract

The emergence of semiconductor fabrication technology allowing a tight coupling between high-density DRAM and CMOS logic on the same chip has led to the important new class of Processor-In-Memory (PIM) architectures. Newer developments provide powerful parallel processing capabilities on the chip, exploiting the facility to load wide words in single memory accesses and supporting complex address manipulations in the memory. Furthermore, large arrays of PIMs can be arranged into a massively parallel architecture. In this report, we describe an object-based programming model based on the notion of a macroserver. Macroservers encapsulate a set of variables and methods; threads, spawned by the activation of methods, operate asynchronously on the variables' state space. Data distributions provide a mechanism for mapping large data structures across the memory region of a macroserver, while work distributions allow explicit control of bindings between threads and data. Both data and work distributuions are first-class objects of the model, supporting the dynamic management of data and threads in memory. This offers the flexibility required for fully exploiting the processing power and memory bandwidth of a PIM array, in particular for irregular and adaptive applications. Thread synchronization is based on atomic methods, condition variables, and futures. A special type of lightweight macroserver allows the formulation of flexible scheduling strategies for the access to resources, using a monitor-like mechanism.


Item Type:Report or Paper (Technical Report)
Group:Center for Advanced Computing Research
Record Number:CaltechCACR:CACR-2000-182
Persistent URL:http://resolver.caltech.edu/CaltechCACR:CACR-2000-182
Usage Policy:You are granted permission for individual, educational, research and non-commercial reproduction, distribution, display and performance of this work in any format.
ID Code:28161
Collection:CaltechCACR
Deposited By: Imported from CaltechCACR
Deposited On:18 Mar 2004
Last Modified:26 Dec 2012 14:31

Repository Staff Only: item control page