Title :
PSCR: a coherence protocol for eliminating passive sharing in shared-bus shared-memory multiprocessors
Author :
Giorgi, Roberto ; Prete, Cosimo Antonio
Author_Institution :
Dip. Ingegneria dell´´Inf., Siena Univ., Italy
fDate :
7/1/1999 12:00:00 AM
Abstract :
In high-performance general-purpose workstations and servers, the workload can be typically constituted of both sequential and parallel applications. Shared-bus shared-memory multiprocessor can be used to speed-up the execution of such workload. In this environment, the scheduler takes care of the load balancing by allocating a ready process on the first available processor, thus producing process migration. Process migration and the persistence of private data into different caches produce an undesired sharing, named passive sharing. The copies due to passive sharing produce useless coherence traffic on the bus and coping with such a problem may represent a challenging design problem for these machines. Many protocols use smart solutions to limit the overhead to maintain coherence among shared copies. None of these studies treats passive-sharing directly, although some indirect effect is present while dealing with the other kinds of sharing. Affinity scheduling can alleviate this problem, but this technique does not adapt to all load conditions, especially when the effects of migration are massive. We present a simple coherence protocol that eliminates passive sharing using information from the compiler that is normally available in operating system kernels. We evaluate the performance of this protocol and compare it against other solutions proposed in the literature by means of enhanced trace-driven simulation. We evaluate the complexity in terms of the number of protocol states, additional bus lines, and required software support. Our protocol further limits the coherence-maintaining overhead by using information about access patterns to shared data exhibited in parallel applications
Keywords :
computational complexity; discrete event simulation; memory protocols; operating system kernels; performance evaluation; shared memory systems; affinity scheduling; coherence protocol; coherence-maintaining overhead; compiler; complexity; load balancing; operating system kernels; passive sharing; process migration; scheduler; shared-bus shared-memory multiprocessors; trace-driven simulation; Access protocols; Application software; Kernel; Load management; Multiprocessor interconnection networks; Operating systems; Pattern analysis; Processor scheduling; Scalability; Workstations;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on