Polymorphous Computing Architectures

Abstract

We describe the architecture and hardware implementation of a coarse grain parallel computing system with flexibility in both memory and processing elements. The memory subsystem supports a wide range of programming models efficiently, including cache coherency, message passing, streaming, and transactions. The memory controller implements these models using metadata stored with each memory block. Processor flexibility is provided using Tensilica Xtensa cores. We use Xtensa processor options and Tensilica Instruction Extension language (TIE) to provide additional computational capabilities, to define additional memory operations needed to support our controller, and to add VLIW instructions for increased efficiency. In our implementation, two processors share multiple memory blocks via a load/store unit and a crossbar switch. These dual processor tiles are grouped into quads that share a memory protocol controller. Quads connect to one another and to the off-chip memory controller via a mesh-like network. We describe the design of each block in detail. We also describe our implementation of transactional memory. Transactional Coherence and Consistency (TCC) provides greater scalability than previous TM architectures by deferring conflict detection until commit time and by using directories to reduce overhead. We demonstrate near linear scaling up to 64 processors with less than 5% overhead.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 12, 2007
Accession Number
ADA475813

Entities

People

  • Mark Horowitz

Organizations

  • Stanford University

Tags

Communities of Interest

  • Space

DTIC Thesaurus Topics

  • Air Force Research Laboratories
  • Application Software
  • Computer Architecture
  • Computer Programming
  • Computers
  • Computing System Architectures
  • Consistency
  • Database Management Systems
  • Detection
  • Directories
  • Instruction Set Architecture
  • Instructions
  • Language
  • Programming Languages
  • Resilience
  • Software Development
  • Software Development Tools

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.