J-machine

Problem:

   * how can a massively parallel machine be built out of simple nodes
         o need a good interconnect
         o need efficeint and general communication syncronization/communication
         o explore a different execution model
   * alternative to shared or distributed memory on a SPMD
   * would like mechanisms that are implementable on a simple CPU
   * would like a processor that is both cheap and universal

Users:

   * High Performance Computing (HPC)
         o Most HPC applications require floating point but J-machine did not support floating point
         o The J-machine is not necessarily usable for HPC but it is enough to demonstrate mechanisms that are useful for HPC
   *  Readers are architects

Uniqueness:

   * Very high performance interconnect
   * Packaging enabled high performance interconnect
   * Message driven processing
         o similar to event driven processing at each node
   * Active messages
         o messages contain a handler and data
         o both high and regular priority messages
         o high priority messages may suspend regular priority messages
   * Tagged memory
         o full empty bits (for producer/consumer data passing)
         o futures
   * Support for global address space

Evaluation:

   * used both micro and macro benchmarks
         o micro-benchmarks used for interconnect, messages, and  syncronization evaluation
         o macro-benchmarks used for relevent algorithms
   * they actually built the machine
   * lacked application comparisons to other machines (this was done in a later paper).