Measuring System Performance with Reprogrammable Hardware
M. Shand · 1996
We present accurate, low-level measurements of process preemption, interrupt handling and memory system performance of a UNIX 1 workstation. To gather this data, we use PAMs (Programmable Active Memories). These are fast, general purpose, bit-level programmable coprocessors based on field-programmable gate arrays. They are mapped to part of the system address space and appear to the CPU as memory, much like memory-mapped I/O devices. PAMs are primarily aimed at computationally intensive problems, where wide, application specific data-paths can offer large speedups over software. By contrast, in this application we rely on the real-time, concurrent aspects of a PAM that is relatively modest in terms of computational resources. Starting with a simple 25 MHz counter, we describe a series of measurement devices built to answer specific questions about low-level system performance. Many of the devices are active in that they provoke the events they seek to measure. Our measurement techniq...