J.G. Cleary, Dept. of Comput. Sci., Waikato Univ., Hamilton, New Zealand
M. Pearson, Dept. of Comput. Sci., Waikato Univ., Hamilton, New Zealand
H. Kinawi, Dept. of Comput. Sci., Waikato Univ., Hamilton, New Zealand
The architecture for a shared memory CPU is described. The CPU allows for parallelism down to the level of single instructions and is tolerant of memory latency. All executable instructions and memory accesses are time stamped. The TimeWarp algorithm is used for managing synchronisation. This algorithm is optimistic and requires that all computations can be rolled back. The basic functions required for implementing the control and memory system used by TimeWarp are described. The memory model presented to the programmer is a single linear address space modified by a single thread of control. Thus, at the software level there is no need for explicit synchronising actions when accessing memory. The physical implementation, however, is multiple CPUs with their own caches and local memory with each CPU simultaneously executing multiple threads of control.
Index Terms:
shared memory systems; parallel architectures; fault tolerant computing; reliability; synchronisation; concurrency control; cache storage; memory architecture; optimistic CPU; WarpEngine; shared memory CPU; single instructions; memory latency tolerance; executable instructions; memory accesses; time stamped; TimeWarp algorithm; synchronisation; optimistic; memory system; memory model; single linear address space; single thread of control; caches; local memory
Citation:
J.G. Cleary, M. Pearson, H. Kinawi, "The architecture of an optimistic CPU: the WarpEngine," hicss, pp.163, 28th Hawaii International Conference on System Sciences (HICSS'95), 1995