A Multiprocessor Execution Profiler
Existing profiling tools generally have crude interfaces, are clumsy to use, and monitor only accumulated CPU (central processing unit) time and function calls. After examining these programs, the authors concluded that they are insufficient aids for profiling a large-scale multiprocessing system even if they are adequate for manual analysis of a single processor system. The authors developed a tool that collects the following information: where CPU time is expended, quality and quantity of data passed between functions, how much global data is referenced and modified, and how these characteristics differ among processors on the network. To simplify data inspection, the profiler has a mouse-driven graphical interface. The authors used the system on a number of single- and multiprocessor Lisp programs. The profiler proved its usefulness in performance improvement and problem identification.