Greg Gibeling
Andrew Schultz
3/15/2005
A Reconfigurable Hardware
Router
CS252 Spring 2005 Project
Proposal (2 of 2)
In the paper The Click Modular Router from MIT, the authors detail a network router framework which can be used to describe a general routing device. The primary goal of the system is to provide an entirely general method of describing routing tasks, in order to improve the flexibility beyond that available in current, fixed function, devices. The system includes a number of key features: complete flexibility, declarative specification of functionality, a library of pre-built components and hot-swappable configurations.
It is our belief that, while the authors of the Click paper chose a C++ implementation of their system, a more direct implementation in reconfigurable hardware would result in not only a order of magnitude increase in performance, but might provide significantly more flexibility. There is also an opportunity to leverage significant hardware research work dealing with push-pull self-timed data streams, a class of hardware interfaces nearly identical to the method of data transmission laid out in the original Click paper.
We propose to investigate both the feasibility and benefits of implementing this architecture in reconfigurable hardware. There remain significant gaps in the design: features such as a large main memory, complex algorithms and the ability to quickly restructure a piece of software are not guaranteed on a hardware platform. In addition the ability to specify and assemble the elements of the Click library while seemingly an exercise in trivial net-listing comes into some question when the size and function of the elements becomes apparent, and physical limits, such as device size and speed, are taken into account.
This project will investigate
· New methods of specifying computing functionality beyond ISAs
· Some cost/benefit tradeoffs of using reconfigurable hardware
· The cost/benefit tradeoffs of tying a standard microprocessor to dataflow hardware system
· The impact of this system on the high-end embedded market
The end goals of this project will include:
· A software front-end for assembling configurations
· A software framework for creating library elements
· A hardware based implementation of the library elements
· A fully functional IP router built using the above components