Physicists and engineers at Brookhaven National Laboratory’s Physics Department and Instrumentation Division developed a PCI card based on PLX 9080 controller. The controller is used to acquire data at high speed from a farm of DSP’s that collect and format data from the PHENIX experiment at the Relativistic Heavy Ion Collider (RHIC). The goal was to make an extremely efficient high-speed driver, which can receive data from the PCI card at the highest possible speed.
The Relativistic Heavy Ion Collider at Brookhaven National Laboratory is a world-class scientific research facility used to study collisions of heavy atomic nuclei. Physicists in many disciplines, including nuclear physics, particle physics, and astrophysics, are interested in the observations made at RHIC. RHIC is the first machine in the world capable of colliding heavy ions (atoms whose outer cloud of electrons have been removed).
RHIC drives two intersecting beams of gold ions head-on, in a subatomic collision, and physicists then study the resulting conditions. The PHENIX detector records many different particles emerging from RHIC collisions, including photons, electrons, muons, and quark-containing particles called hadrons.
During initial development of the card, the developers used the PLX Software Development Kit, version 2.2 Rev 1 and clocked scatter-gather DMA transfers at about 70 Mbyte/sec with that driver. “We wanted to switch to Jungo WinDriver so that we could more easily use interrupts to tell us when an event is in memory and ready for transfer, and to provide uniform support for the next generation of this card,” said John Haggerty, the PHENIX Data Acquisition Coordinator.
John Haggerty added: “I have been impressed with the relative ease with which one can develop a high performance driver for a PCI card without much detailed knowledge of the computer’s hardware or even the system software. It was really pretty easy to develop software for the card; we used the wizard to create the driver, then went back and used it to guide us in taking the 9080 code and adapting it for our card. Another physicist, Brian Cole, who wrote most of the software using the card, worked on getting the interrupt handling to work, and it was far more transparent than in the PLX SDK. Although we generally try to avoid licensed software, the licensing is not too onerous, and we can distribute the resulting code to all our machines.”