A Flexible Architecture for Executing Component Software at 100 Teraops


Andrew A. Chien, Rajesh K. Gupta
University of Illinois at Urbana-Champaign

Application software for 100 TeraOps machines will be based on the increasing use of component software (libraries, GUIs, problem solving environments) and extensive use of interoperability frameworks (CORBA, OLE, SOM, etc.), producing applications which are complex conglomerates of variegated programs. To support these applications, the machine must present a programmable interface (i.e. efficient shared address spaces and data movement) and scalable high performance.

We propose a flexible machine architecture that recognizes these technological realities and not only supports advanced software structures, but exploits them to configure its programmable hardware, adapting itself to the application. The programming flexibility can provide a wide range of convenient interfaces, ranging from uniform cache-coherent shared memory, to clusters of smaller shared memory systems, to fully distributed memory. In addition to a range of interfaces, our flexible machine can customize both operations and protocols, exploiting appropriate mechanisms and policies to minimize the critical performance aspect -- communication -- at all levels of the system. Our machine design leverages the wealth of research into optimal architectural mechanisms, customizable cache-coherence, as well as technological advances in interprocedural analysis, programmable hardware, and hardware synthesis technology to achieve general-purpose high performance.

comments to: Larry Picha
posted: 19 April 96

PAWS'96