Helping a Computer Catch up with Itself
The Archimedes Palimpsest project has generated a lot of attention over the last few years as Stanford Synchrotron Radiation Laboratory (SSRL) scientists used x-rays to scan the ancient document. Behind the scenes, a new computing device made the rapid pace of discovery possible. Last August, during the most recent experimental run, researchers blazed through pages of parchment at a pace five times faster than before, cutting the scan time for a single page from 60 hours to just 12.
The device behind this performance increase solves a problem of coordination between experimental x-ray detectors and the desktop computers used to assemble the data they collect. Desktop computers operate from a central processor that must orchestrate commands governing a host of separate functions, such as keystrokes and mouse clicks. Complicating matters, traditional detector interfaces have to switch between counting detector output pulses and sending the results to a computer, pausing briefly after each data point. Each of these operations takes a tiny sliver of time each second, which is generally not a problem for most users.
But when researchers analyze objects such as the palimpsest, detectors measure hundreds of microscopic data points each second as the object moves past the detector. This barrage of data must be plotted back together by a computer to reconstruct the image. Plotting these data points requires knowing where along each line of the scan each point came fromwhich is only possible by timing the data points at they come in. A standard desktop computer cannot measure these time intervals reliably because it is already busy handling its own internal operations.
"You can tell a computer measure something 1,000 times a second, and it will do it, but some time intervals will be a little different," said SLAC electrical engineer Alex Garachtchenko who designed and built the new device.
This dilemma of the busy computer and detector interface limitations had forced researchers to take much slower scans to allow the system time to catch up with itself. That meant scanning a page of the palimpsest could take 60 hours or more.
Garachtchenko solved the problem with a device that collects, organizes and stores the data before it goes to the computer. This new device takes advantage of a type of computer chip known as a "field programmable gate array" (FPGA). FPGAs are used widely in communications and other industries because of their highly flexible internal architecture. Programmers can completely reconfigure how a chip functions depending on the needs of a project, and this feature gave Garachtchenko the flexibility to design and build his highly customized device in time for the August run of the palimpsest on Beamline 6-2.
Garachtchenko said that more devices will soon be built to synchronize different kinds of scans. Improving on the one used for the palimpsest, the next generation will connect to a wider variety of different detectors, streamlining scanning processes that are too complex for a desktop computer to handle quickly.
"We built one box to use for Archimedes," Garachtchenko said. "But since it worked so well now, we saw that the same technology can be used in other ways."
Above image: SLAC Electrical Engineer Alex Garachtchenko.