Abstract
Modern scientific applications are large, complex, and highly parallel they are commonly executed on supercomputers with tens of thousands of processors. Yet these applications still commonly require weeks or even months to execute. Thus, single-thread performance remains a concern for highly parallel scientific applications. Adding a reconfigurable accelerator to each CPU could improve system performance; however, scientific applications have design constraints that differ from most application domains commonly accelerated by reconfigurable logic. In this article, we discuss the constraints imposed by scientific applications on the computation model, the accelerator architecture, and the accelerator’s communication interface with the CPU. Based on these constraints and application analysis, we have previously proposed adding a Reconfigurable Functional Unit (RFU) to accelerate integer graphs that calculate complex memory addresses. In this work, we now propose a flexible multi-instruction interface technique that allows dataflow graphs implemented on the RFU to access a large number of inputs and outputs with minor CPU datapath modifications. We present an in-depth examination of the performance effects of different communication interfaces that use this technique, and select one that best matches the needs of Sandia’s scientific applications. Although RFU execution overall improves performance, we also isolate two key negative performance effects introduced by aggregating CPU instructions into dataflow graphs: delayed issue and graph serialization. Finally, to demonstrate the marketability of an RFU beyond scientific applications, we reanalyze the proposed interfaces using the SPEC-fp benchmark suite. We show that although choosing an interface based on SPEC-fp needs is detrimental to Sandia application performance, choosing an interface based on Sandia demands works well for more general-purpose applications.
- Arnold, J. M. 2005. S5: The architecture and development flow of a software configurable processor. In Proceedings of the IEEE International Conference on Field Programmable Technology. 121--128.Google Scholar
Cross Ref
- Atasu, K., Mencer, O., Luk, W., Ozturan, C., and Dundar, G. 2008. Fast custom instruction identification by convex subgraph enumeration. In Proceedings of the International Conference on Application-Specific Systems, Architectures and Processors (ASAP’08). 1--6. Google Scholar
Digital Library
- Bracy, A., Prahlad, P., and Roth, A. 2004. Dataflow mini-graphs: Amplifying superscalar capacity and bandwidth. In Proceedings of the 37th annual International Symposium on Microarchitecture (MICRO’37). IEEE Computer Society, 18--29. Google Scholar
Digital Library
- Bracy, A. and Roth, A. 2006. Serialization-Aware mini-graphs: Performance with fewer resources. In Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture. 171--184. Google Scholar
Digital Library
- Brisk, P., Kaplan, A., Kastner, R., and Sarrafzadeh, M. 2002. Instruction generation and regularity extraction for reconfigurable processors. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES’02). ACM Press, New Yowk, 262--269. Google Scholar
Digital Library
- Burger, D. and Austin, T. M. 1997. The Simplescalar tool set, version 2.0. Tech. rep. CS-TR-97-1342.Google Scholar
- Clark, N., Blome, J., Chu, M., Mahlke, S., Biles, S., and Flautner, K. 2005. An architecture framework for transparent instruction set customization in embedded processors. In Proceedings of the 32nd International Symposium on Computer Architecture (ISCA’05). 0--12. Google Scholar
Digital Library
- Clark, N., Zhong, H., and Mahlke, S. 2003. Processor acceleration through automated instruction set customization. In Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’36). IEEE Computer Society, 129. Google Scholar
Digital Library
- Compton, K. and Hauck, S. 2002. Reconfigurable computing: A survey of systems and software. ACM Comput. Surv. 34, 171--210. Google Scholar
Digital Library
- Cong, J., Fan, Y., Han, G., Jagannathan, A., Reinman, G., and Zhang, Z. 2005. Instruction set extension with shadow registers for configurable processors. Proceedings of the ACM/SIGDA 13th International Symposium on Field-Programmable Gate Arrays. 99--106. Google Scholar
Digital Library
- Cronquist, D. C., Fisher, C., Figueroa, M., Franklin, P., and Ebeling, C. 1999. Architecture design of reconfigurable pipelined datapaths. In Proceedings of the 20th Anniversary Conference on Advanced Research in VLSI. 23--40. Google Scholar
Digital Library
- Dehon, A., Adams, J., Delorimier, M., Kapre, N., Matsuda, Y., Naeimi, H., Vanier, M., and Wrighton, M. 2004. Design patterns for reconfigurable computing. In Proceedings of the 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’04). 13--23. Google Scholar
Digital Library
- Evans, J., Rupnow, K., and Compton, K. 2007. Reconfigurable functional units for scientific superscalar processors. In Proceedings of the IEEE International Conference on Field-Programmable Technology. 73--80.Google Scholar
- Galuzzi, C., Bertels, K., and Vassiliadis, S. 2008. A linear complexity algorithm for the automatic generation of convex multiple input multiple output instructions. Int. J. Electron. 9, 1--17.Google Scholar
- Gara, A. 2005. Blue gene/l architecture. In Proceedings of the Supercomputer Best Practices Symposium. 1--2.Google Scholar
- Hauck, S., Fry, T. W., Hosler, M. M., and Kao, J. P. 1997. The Chimaera reconfigurable functional unit. In Proceedings of the 5th IEEE Symposium on FPGAs for Custom Computing Machines (FCCM’97). 87. Google Scholar
Digital Library
- Hauser, J. R. and Wawrzynek, J. 1997. Garp: A MIPS processor with a reconfigurable coprocessor. In Proceedings of the 5th IEEE Symposium on FPGAs for Custom Computing Machines (FCCM’97). IEEE Computer Society Press, 12--21. Google Scholar
Digital Library
- Henning, J. L. 2000. SPEC CPU2000: Measuring CPU performance in the new millennium. IEEE Comput. 33, 28--35. Google Scholar
Digital Library
- Kastner, R., Kaplan, A., Memik, S. O., and Bozorgzadeh, E. 2002. Instruction generation for hybrid reconfigurable systems. ACM Trans. Des. Autom. Electron. Syst. 7, 605--627. Google Scholar
Digital Library
- La Fratta, P., Rodrigues, A., and Underwood, K. D. 2007. Architectural extensions for executing floating point instruction aggregates. In CSRI Summer Proceedings. 2--22.Google Scholar
- Rao, D. and Kurdahi, F. 1993. On clustering for maximal regularity extraction. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 12, 1198--1208.Google Scholar
Digital Library
- Razdan, R. and Smith, M. D. 1994. A high-performance microarchitecture with hardware-programmable functional units. In Proceedings of the 27th Annual International Symposium on Microarchitecture (MICRO’27). ACM Press New York, 172--180. Google Scholar
Digital Library
- Rupnow, K., Rodrigues, A., Underwood, K. D., and Compton, K. 2006. Scientific applications vs. SPEC-FP: A comparison of program behavior. In Proceedings of the 20th Annual International Conference on Supercomputing (ICS’06). ACM Press, New York, 66--74. Google Scholar
Digital Library
- Trimberger, S., Carberry, D., Johnson, A., and Wong, J. 1997. A time-multiplexed FPGA. In Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines. 22--28. Google Scholar
Digital Library
- Underwood, K. D., Levenhagen, M., and Rodrigues, A. 2007. Simulating red storm: Challenges and successes in building a system simulation. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium (IPDPS’07). 1--10.Google Scholar
- Wetzel, J., Silha, E., May, C., and Frey, B., Eds. 2003. PowerPC User Instruction Set Architecture, Book 1, Version 2.01. IBM.Google Scholar
- Wirthlin, M. J. and Hutchings, B. L. 1996. Sequencing run-time reconfigured hardware with software. In Proceedings of the 4th ACM International Symposium on Field-Programmable Gate Arrays (FPGA’96). ACM Press New York, 122--128. Google Scholar
Digital Library
- Wittig, R. D. and Chow, P. 1996. OneChip: An FPGA processor with reconfigurable logic. In Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines (FCCM’96). 126--135.Google Scholar
Index Terms
Scientific Application Demands on a Reconfigurable Functional Unit Interface
Recommendations
Scientific Application Acceleration with Reconfigurable Functional Units
FCCM '07: Proceedings of the 15th Annual IEEE Symposium on Field-Programmable Custom Computing MachinesWhile scientific applications in the past were limited by floating point computations, modern scientific applications use more unstructured formulations. These applications have a significant percentage of integer computation--increasingly a limiting ...
Towards a Multicore Communications API Implementation (MCAPI) for the Intel Single-Chip Cloud Computer (SCC)
ISPDC '12: Proceedings of the 2012 11th International Symposium on Parallel and Distributed ComputingIn this paper, we present a prototype implementation of the Multicore Communications API (MCAPI) for the Intel Single-Chip Cloud Computer (SCC). The SCC is a 48 core concept vehicle for future many-core systems that exhibit message-passing oriented ...






Comments