Reconfigurable Computing: Development Environments and Applications

Reconfigurable computing systems consist of computing resources that can be structurally reorganized --post manufacture-- as necessary to create highly parallel, high performance applications. In contrast to systems organized around a central computing resource (e.g., microprocessor), reconfigurable systems are comprised of a distributed computing fabric that contains thousands of simple programmable functional units interconnected together with programmable routing. For applications with sufficient exploitable parallelism, these functional units can be programmed and interconnected to create highly parallel spatial computing architectures that achieve high performance at similar costs and with lower power than conventional computing approaches. In this talk I will discuss what computational characteristics make an application a suitable choice for implementation using configurable computing. I will present comparative results that demonstrate that configurable computing systems can achieve an order-of-magnitude speedup over microprocessor-based implementations. I will also discuss current challenges for tools used to program configurable systems and will present JHDL, a Java-based CAD environment that interfaces directly with configurable computing hardware and allows designers to develop and debug applications directly on configurable hardware. Finally, I will discuss a promising, new application of configurable computing that can significantly enhance network security and discuss how it was organized with JHDL.

Brad Hutchings

Location and Time