9309572 Evripidou The Decoupled Data-Driven (D3) machine separates the synchronization and computation portions of a program and executes them asynchronously. The compiler generates threads that utilize the processor pipeline efficiently by reducing pipeline stalls within a thread. Priority is given to threads which have their data in close proximity (i.e. in the cache or registers). Decoupling synchronization and computation ensures the execution pipeline is not interrupted by long synchronization events. The overall goal of this project is the implementation of the computation model into an abstract machine that will execute on existing large scale shared memory multiprocessors. Achieving this goal requires the development of: a microtasking environment that supports the abstract machine on commercial machines, a multi-language compiler that generates code for the abstract machine, and a hardware thread synchronization unit. ***