Multiprocessor Memory Reference Generation Using Cerberus

Jeffrey B. Rothman and Alan Jay Smith

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-99-1054
August 1999

http://www2.eecs.berkeley.edu/Pubs/TechRpts/1999/CSD-99-1054.pdf

This paper presents Cerberus, an efficient system for simulating the execution of shared-memory multiprocessor programs on a uniprocessor workstation. Using EDS (execution driven simulation), it generates address traces which can be used to drive cache simulations on the fly, eliminating the large disk space requirements needed by trace files. It is fast because it links the program to be traced together with the cache or statistics gathering tool into a single executable, which eliminates the context-switching needed by communicating processes. It is flexible because it has a simple interface which allows users to easily add any kind of module to use the generated trace information. It compares favorably to other existing tracers and runs on a commonly available workstation. And it is accurate, allowing cycle-by-cycle interactions between the simulated processors. The resulting slowdown from Cerberus is approximately 31 in uniprocessor mode and 45-50 in multiprocessor mode relative to the workloads run natively on the same machines. We demonstrate that EDS uses only 5 percent of the total execution cycles when combined with a cache simulator and show that EDS is just as efficient as using trace driven simulation.

The implementation details of Cerberus are provided here, along with a performance analysis of multiprocessor simulation in the Cerberus environment. Some of the other simulation and trace generation tools are surveyed, with the strengths and weaknesses of those tools discussed.


BibTeX citation:

@techreport{Rothman:CSD-99-1054,
    Author = {Rothman, Jeffrey B. and Smith, Alan Jay},
    Title = {Multiprocessor Memory Reference Generation Using Cerberus},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1999},
    Month = {Aug},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1999/5270.html},
    Number = {UCB/CSD-99-1054},
    Abstract = {This paper presents Cerberus, an efficient system for simulating the execution of shared-memory multiprocessor programs on a uniprocessor workstation. Using EDS (execution driven simulation), it generates address traces which can be used to drive cache simulations on the fly, eliminating the large disk space requirements needed by trace files. It is fast because it links the program to be traced together with the cache or statistics gathering tool into a single executable, which eliminates the context-switching needed by communicating processes. It is flexible because it has a simple interface which allows users to easily add any kind of module to use the generated trace information. It compares favorably to other existing tracers and runs on a commonly available workstation. And it is accurate, allowing cycle-by-cycle interactions between the simulated processors. The resulting slowdown from Cerberus is approximately 31 in uniprocessor mode and 45-50 in multiprocessor mode relative to the workloads run natively on the same machines. We demonstrate that EDS uses only 5 percent of the total execution cycles when combined with a cache simulator and show that EDS is just as efficient as using trace driven simulation. <p>The implementation details of Cerberus are provided here, along with a performance analysis of multiprocessor simulation in the Cerberus environment. Some of the other simulation and trace generation tools are surveyed, with the strengths and weaknesses of those tools discussed.}
}

EndNote citation:

%0 Report
%A Rothman, Jeffrey B.
%A Smith, Alan Jay
%T Multiprocessor Memory Reference Generation Using Cerberus
%I EECS Department, University of California, Berkeley
%D 1999
%@ UCB/CSD-99-1054
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1999/5270.html
%F Rothman:CSD-99-1054