Fermi ACP

The Fermi ACP was an obscure parallel computer designed at Fermi National Accelerator Laboratory, a nuclear physics research facility in Batavia, Illinois. The initial few ACPs were also built at Fermi, but eventually manufacture of these special-purpose machines was handed off to OmniByte, a small company which I believe was formed for this purpose.  I was the system manager of Michigan State University's ACP, around 1988 or so.

The ACP was an attached processor consisting of a rack of multiple "nodes", or processor boards. Each board contained a single 16 MHz Motorola 68020 (and floating point coprocessor) and memory. I believe that ours had the maximum of 4 MB per board. I think we had a total of 16 boards.

The machine was front-ended by a UNIBUS-based VAX running VMS. In our case, this was a VAX 750. A UNIBUS VAX was needed because the hardware interface was based on the DEC DR-11W board. The DR-11W was a generic DEC-proprietary parallel-bus adapter designed specifically for Digital customers who wanted to tinker with homebrew hardware interfaces but didn't want to have to design their own UNIBUS board. In the case of the ACP, the DR-11W was being used precisely as intended. I once heard that only 200-300 ACPs were ever made, a rather small number of machines over which to amortize the design and production of a new purpose-built host interface board.

"ACP" stood for Advanced Computer Program (I think). This appelation may have been apt for some of the user applications for the ACP, but it was hardly accurate as a description of the machine's OS.

There wasn't much to the OS, which went by the name of LUNA, or something like that. LUNA was basically a program loader--an embedded OS. Development was done in VMS, and loading of programs into the ACP was initiated by VMS-based programs.

Although the hardware itself did not require it, ACP software operated the system as a SIMD (Single Instruction stream, Multiple Data) parallel machine. Actually, there were two instruction streams, because each ACP application contained at least two parts:

1. A user's driver program ran on the VAX. It read data and dynamically dispatched 68020 processors to do the numerically intensive work. (Each 68020 was several times faster than the 0.6 MIPS VAX 750.)

2. The program on the ACP itself would crunch the block of data supplied by the host side and would return the results, then wait to be dispatched again on another block of data. Thus, each user application was in some sense a mini operating system.

I believe that the nodes on the ACP could communicate with each other over the ACP backplane, but this wasn't supported by the software & therefore wasn't done.

Typically both the VMS driver program and the 68020 cruncher were written in FORTRAN. The Absoft Fortran compiler was supplied for the 68020 side, and of course DEC's legendary VMS FORTRAN was used on the host side.

Most ACP machines in the world were located at Fermi Lab, where they spent day and night performing calculations for High Energy Physics.  The majority of the ACP nodes were used for Monte Carlo (i.e., random number) simulations to test models of nuclear interactions; another large fraction were for "lattice QCD" calculations
attempting to calculate from "first principles" the masses of
various particles.  Others spent their time analyzing "events"--numerical readings recorded by automated sensors in the synchrotron operated at the facility.

Our ACP was initially acquired and operated by Dr. Richard Au of the National Superconducting Cyclotron Laboratory on Michigan State's campus. However, not long afterward, it was turned over to the Computer Laboratory for operation. I believe that the idea behind the move was that several departments were supposedly interested in using the ACP, and it made sense to have a neutral third party operate it. In practice, however, the ACP generated little enthusiasm. The serious ACP user has access to more and better ACPs at Fermi itself. Though the Internet hadn't hit the big time yet, the campus had a dedicated DECNet link to HEPNET (High Energy Physics Network), which made remote use of Fermi's computers fairly convenient. Also, physicists frequently travelled to Fermi anyway. As a result, there was only one significant user of the ACP, a Physics graduate student named Robert Hatcher.

The half mile move was hard on the machine, and it was some months before we got the ACP working reliably in its new home in the Computer Center. It did work pretty well for a few years, but eventually the VAX 750 died, and I was unable to revive it. We didn't have hardware maintenance, and even Hatcher was rarely using the machine by this point. So, eventually the ACP was carted off--I believe to some closet in the Physics building. I didn't hear of it again until late 1997, when I got this message from Dean Shooltz:

"About a year ago, I bought a rack of computer cards from the MSU salvage yard. It ends up that this was the MSU component of the Fermi ACP system. I hung on to it, and kept it in my parents' basement in DeWitt. Recently, about a month ago, Dan Edmunds from the E-shop told me that Dr. Poirier from Notre Dame was interested in buying the system from me to upgrade their cosmic ray experiment. They currently have about four ACP CPU's running to process the data, and the low number of CPU's is the rate limiting step. I had 16 CPU's and two backplanes, and of course agreed to find them a happy home. The mechanism for transport to Notre Dame was Ryan Hooper, a first-year grad student from MSU who is now a grad student at Notre Dame. He passed through East Lansing today for Thanksgiving, and while he was here I placed the ACP in the trunk of his car. That was just an hour ago, and right after he left, I came in to check my email, where I saw a forwarded email from Philippe from you, about the Butterfly boards. I saw a URL for your homepage, so I checked it out.

While reading the section on the Fermi ACP, especially the section about it's unknown fate, I had to laugh: I just helped it along to a possible resurrection!"

Here's a conference paper on the ACP.

Back to list of computers