ECE 259 / CPS 221 Advanced Computer Architecture II (Parallel Computer Architecture) Novel Architectures Copyright 2004 Daniel J. Sorin Duke University
2 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 Non-MIMD Architectures We’ve primarily looked at MIMD architectures There are other organizations out there, though! –Vector (a type of SIMD) –Dataflow –Grid –Systolic array –Neural network –Etc. We’re going to look at some of these now
3 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 Vector/SIMD SIMD = single instruction, multiple data One implementation of SIMD is a vector computer System that can operate on vectors of data –Most machines operate on single (scalar) values Vector operations may include –Add Vector A to Vector B –Sum the elements of Vector C –Load Vector D from memory
4 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 Vector Machines The classic vector architecture is the Cray-1 Cray used vectors in their supercomputers Now, many architectures include vector support –Alpha Tarantula –Intel MMX (scalars treated as vectors of small data pieces) Old saying: “Vector machines work great on vectorizable code” … with the implication that most code isn’t vectorizable What kind of algorithms are vectorizable?
5 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 Cray-1 DISCUSSION
6 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 Alpha Tarantula PRESENTATION
7 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 Dataflow Architectures Not a Von Neumann machine organization Directly execute a dataflow graph Requires new programming model –Or the compiler must create the dataflow graph from the code –Several dataflow languages created, including Id (MIT) In theory, a great idea In practice, tough to implement efficiently –However, dataflow systems do exist … but within microprocessors!
8 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 Tagged Token Dataflow DISCUSSION
9 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 Grid Architectures Not “grid computing” in the popular sense –Instead, a grid of maybe dozens of processing elements (PEs) Two examples –MIT RAW machine –Texas TRIPS machine RAW uses the compiler to map computation onto the grid (and to schedule the communication across it) TRIPS exploits physical locality among PEs to speed up communication of data
10 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 MIT Raw Machine PRESENTATION
11 (C) 2004 Daniel J. Sorin ECE 259 / CPS 221 Texas TRIPS PRESENTATION