Moving Beyond Processors
Wherever the enemy goes, let our troops go also.
That quote, from Ulysses S. Grant, could be applied to modern computation as well as to strategies on the battlefield.
In computing, the enemy is unprocessed data. For decades we have waged war on this data by funneling it into the narrow canyons of traditional CPUs. We have pummeled it with increasingly sophisticated weaponry: pipelined instruction streams, faster caches, faster clock speeds, larger and faster memories. And yet we continue to lose ground, as the amount of data to be processed grows at rates far in excess of available CPU resources.
In recent years, the computing industry has developed and deployed hybrid platforms that combine traditional CPUs with non-traditional co-processor accelerators. These platforms are used in everything from embedded systems, in which DSPs and FPGAs share computing duties with embedded RISC processors, to the largest and fasted supercomputers, in which high-end multicore processors are paired with such devices as Cell processors, GPUs and more exotic coprocessor modules.
For many applications, however, these complex and expensive coprocessor systems are highly wasteful; they continue to move data endlessly in and out of those same computing canyons, consuming vast amounts of power to do so.
How do we increase our successes in the war on data? We take our troops to the enemy. Rather than deploying large numbers of general-purpose CPUs, GPUs and other semispecialized coprocessors, let us instead get the legacy processors off the front lines. Traditional CPUs and their coprocessor lieutenants may still handle the majority of the world’s data, for years to come, but let’s stop trying to use them to solve problems for which they were never a good match. Instead, let’s consider reconfigurable methods, in which we adapt our computations to meet the challenges of the data.
Consider, for example, applications in genomics and cryptography. Both domains require massive numbers of computations to be performed on very large sets of data. The characteristics of these algorithms make them ideally suited to finer-grained parallel computing methods such as FPGA clusters. These domains are not unique; in fact, many other algorithms that currently consume billions of dollars worth of the world’s computing resources can be more efficiently performed using much simpler, more efficient computing methods – methods in which traditional processors provide much less of the total computing.
While they are not perfectly suited to all computations, FPGA clusters are well-proven and reliable, and they are now being deployed in large-scale applications that were until recently in the domains of CPUs. We are seeing enormous gains in computing speeds and astonishing reductions in power usage, in algorithms such as DNA sequencing, password recovery and financial analytics. And there are certain to be other data-intensive application domains in which entirely new algorithmic approaches will appear, as researchers and programmers learn to apply massively parallel computing techniques.
In summary, FPGA-based cluster computing is real and it has the potential to fundamentally change the rules of engagement for an increasingly broad set of applications. The programming of high performance, highly parallel algorithms on FPGAs remains a challenge; new skills are required. But for those who make the effort, the spoils of war are many.
Dr. Robert Trout is President of Pico Computing. Dr. Trout has over three decades of experience with embedded and high performance computing. Prior to founding Pico Computing, he was the Founder and President of Anzus, Inc. where he developed and patented innovative data compression algorithms. Dr. Trout earned his PhD at the University of Illinois. Pico Computing specializes in highly integrated cluster computing platforms based on FPGA technologies, as well as consulting and engineering services. www.picocomputing.com.









