|
|
|||||||||||||
|
Scientific computing and streaming data applications often exhibit high levels of micro-parallelism and are at the forefront of computer science research and industry development. Examples of streaming data applications are network packet processing, video, voice, graphics, and digital signal processing. Scientific applications such as DNA sequence analysis and protein folding exhibit abundant micro-parallelism and have an insatiable appetite for processing power. These programs are typically very complex, so despite the abundance of micro-parallelism, if performance permits, they are often implemented on general-purpose sequential processors. When traditional sequential processors fail to perform adequately, industry and academia have either augmented or replaced these processors with spatial computing fabrics such as dedicated hardware, FPGAs, graphics processors, digital signal processors, reconfigurable processors, or parallel processor systems. The cost of using either spatial fabrics or parallel processors is that programming the application is much more difficult. For many of these micro-parallel applications, spatial fabrics can offer a tremendous advantage in performance, power efficiency and computational density. Nonetheless, the general difficulty in programming spatial fabrics has hindered their widespread adoption. For this reason we intend to develop a reconfigurable spatial fabric that integrates with a sequential processor and supports both an execution model and a language that programmers and compilers can use to effectively take advantage of micro-parallel execution.
The hybrid micro-parallel (HMP) architecture is an effort to create a processor family that excels at executing micro-parallel applications and maintains an ease of programming similar to that of a general-purpose sequential processor. To achieve our goals we are focusing our efforts on several areas:
The hybrid micro-parallel (HMP) type architecture represents a class of machine that combines a general-purpose sequential processor with a specialized spatial fabric, i.e. a micro-parallel engine. The goal of the HMP type architecture is to simplify the task of programming these micro-parallel engines.
For the HMP architecture, we require a general-purpose sequential processor. At this point in time, we are using standard RISC architectures and adding support for the following features:
With preliminary work on the HMP type architecture completed, our groups research has focused on both the development of a programming language and an emulation system for the HMP architecture. The emulation environment is using a Xilinx Virtex-II Pro FPGA with embedded MicroBlaze soft-core microprocessor. The purposes of my emulation environment are to profile and benchmark applications and to serve as a tool for the architectural exploration, modeling, and development of the REMAP micro-parallel engine.
We are developing a micro-parallel engine as a component of a hybrid micro-parallel type architecture. This micro-parallel engine, REMAP, will be a specialized reconfigurable spatial fabric that is optimized for executing the micro-parallel kernels of computationally intensive applications.
The thrust of the REMAP architecture will be to meet several key design goals.
Several previous research efforts have addressed many of these points individually. One contribution of this work will be to synthesize these ideas in the context of a single micro-parallel architecture. This work should also lead to improved resource virtualization, which is an important issue for flexible micro-parallel engines, and it should yield a coarse-grained datapath with support for a fine-grained control plane that supports dynamic and static control. By combining these properties into a micro-parallel engine and integrating it with a sequential processor, we intend to contribute to the creation of a new class of processors that have an elegant and straightforward programming model yet will take advantage of the micro-parallelism associated with many scientific and streaming data applications.
|
UW
Embedded Research Group Last modified: Wed Jun 7 16:38:57 PDT 2006 |