2009 · 43 citations · 24 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureField-programmable Gate ArraysReconfigurable ComputingApplication-specific Integrated CircuitsFpga ArchitectureParallel ArchitecturesPower OptimizationReconfigurable System ArchitectureControl Flow PatternsCustomizationPower EfficiencyReconfigurable Computing ArchitecturesScalability
Customization offers cost and power efficiency for non‑parallelizable programs but is limited by flexibility, and there is no single optimal balance between efficiency and flexibility for all vendors. In this article, we present a method for achieving any desired balance between flexibility and efficiency by automatically combining any set of individual customization circuits into a larger compound circuit. The method automatically aggregates individual customization circuits—currently loop‑based accelerators but extensible to any size—into a compound circuit that can emulate any target circuit. The compound circuit is significantly more cost‑efficient than the union of all target circuits, scales to many applications without proportional cost growth, and yields an average performance improvement of 2.97× while being three times smaller than the sum of individual accelerators on UTDSP benchmarks.
While parallelism and multi-cores are receiving much attention as a major scalability path, customization is another, orthogonal and complementary, scalability path which can target not easily parallelizable programs or program sections. The key assets of customization are cost and power efficiency. The key limitation of customization is flexibility. However, we argue that there is no perfect balance between efficiency and flexibility, each system vendor may want to strike a different such balance. In this article, we present a method for achieving any desired balance between flexibility and efficiency by automatically combining any set of individual customization circuits into a larger compound circuit. This circuit is significantly more cost efficient than the simple union of all target circuits, and is configurable to behave as any of the target circuits, while avoiding the routing and configuration cost overhead of FPGAs. The more individual circuits are included, the larger the number of applications which can potentially benefit from this compound customization circuit, realizing flexibility at a minimal cost. Moreover, we observe that the compound circuit cost does not increase in proportion to the number of target applications, due to the wide range of common data-flow and control-flow patterns in programs. Currently, the target individual circuits correspond to loops, like most accelerators in embedded systems, but the aggregation method can accommodate circuits of any size. Using the UTDSP benchmarks and accelerators coupled with an embedded PowerPC405 processor, we show that this approach can yield an average performance improvement of 2.97, while the corresponding synthesized aggregate accelerator is 3 time smaller than the sum of individual accelerators for each target benchmark.
24