Abstract
In this paper, we address organization and management of threads on a multithreading custom computing machine composed by a General Purpose Processor (GPP) and Reconfigurable Co-Processors. Our proposal to improve overall system performance is twofold. First, we provide architectural mechanisms to accelerate applications by supporting computationally intensive kernels with reconfigurable hardware accelerators. Second, we propose an infrastructure capable to facilitate thread management. The latter can be employed by, e.g., RTOS kernel services. Besides the architectural and microarchitecural extensions of the reconfigurable computing system, we also propose a hierarchical programming model. The model supports balanced and performance efficient SW/ HW co-execution of multithreading applications. Our experimental results based on real applications suggest average system speedups between 1.2 and 19.6 times and based on synthetic benchmarks, the achieved speedups are between 1.3 and 29.8 times compared to software only implementations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Andrews, D., Niehaus, D., Jidin, R., Finley, M., Peck, W., Frisbie, M., Ortiz, J., Komp, E., Ashenden, P.: Programming models for hybrid FPGA-CPU computational components: a missing link. IEEE Micro 24, 42–53 (2004)
Bailey, D.H., Barszcz, E., Barton, J.T., Browning, D.S., Carter, R.L., Fatoohi, R.A., Frederickson, P.O., Lasinski, T.A., Simon, H.D., Venkatakrishnan, V., Weeratunga, S.K.: The NAS parallel benchmarks. Tech. rep., The International Journal of Supercomputer Applications (1991)
Bondhugula, U., Devulapalli, A., Fernando, J., Wyckoff, P., Sadayappan, P.: Parallel fpga-based all-pairs shortest-paths in a directed graph. In: IPDPS (2006)
Buttlar, D., Farrell, J., Nichols, B.: PThreads Programming: A POSIX Standard for Better Multiprocessing. O’Reilly Media, Sebastopol (1996)
Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R.: Parallel programming in OpenMP. Morgan Kaufmann Publishers Inc., San Francisco (2001)
Chandra, S., Regazzoni, F., Lajolo, M.: Hardware/software partitioning of operating systems: a behavioral synthesis approach. In: GLSVLSI 2006, pp. 324–329. ACM, New York (2006)
Haynes, S.D., Epsom, H.G., Cooper, R.J., McAlpine, P.L.: UltraSONIC: A reconfigurable architecture for video image processing. In: Glesner, M., Zipf, P., Renovell, M. (eds.) FPL 2002. LNCS, vol. 2438, pp. 482–491. Springer, Heidelberg (2002)
Cui, J., Deng, Q., He, X., Gu, Z.: An efficient algorithm for online management of 2D area of partially reconfigurable FPGAs. In: DATE, pp. 129–134 (2007)
Marconi, T., Lu, Y., Bertels, K., Gaydadjiev, G.N.: Online hardware task scheduling and placement algorithm on partially reconfigurable devices. In: Woods, R., Compton, K., Bouganis, C., Diniz, P.C. (eds.) ARCS 2008. LNCS, vol. 4943, pp. 306–311. Springer, Heidelberg (2008)
Marescaux, T., Nollet, V., Mignolet, J.Y., Bartic, A., Moffat, W., Avasare, P., Coene, P., Verkest, D., Vernalde, S., Lauwereins, R.: Run-time support for heterogeneous multitasking on reconfigurable SoCs. Integration 38(1), 107–130 (2004)
Nakano, T., Utama, A., Itabashi, M., Shiomi, A., Imai, M.: Harware implementation of a real-time operating system. In: 12th TRON Project International Symposium, pp. 34–42 (1995)
Peck, W., Anderson, E., Agron, J., Stevens, J., Baijot, F., Andrews, D.: HTHREADS: a computational model for reconfigurable devices. In: FPL, pp. 885–888 (2006)
Rhoads, S.: http://www.opencores.org/project,plasma
Roldao, A., Constantinides, G.A.: A high throughput fpga-based floating point conjugate gradient implementation for dense matrices. ACM Trans. Reconfigurable Technol. Syst. 3(1), 1–19 (2010)
Tumeo, A., Branca, M., Camerini, L., Monchiero, M., Palermo, G., Ferrandi, F., Sciuto, D.: An interrupt controller for fpga-based multiprocessors. In: ICSAMOS, pp. 82–87 (2007)
Uhrig, S., Maier, S., Kuzmanov, G.K., Ungerer, T.: Coupling of a reconfigurable architecture and a multithreaded processor core with integrated real-time scheduling. In: RAW, pp. 209–217 (2006)
Vassiliadis, S., Wong, S., Cotofana, S.D.: The MOLEN ρμ-coded processor. In: Brebner, G., Woods, R. (eds.) FPL 2001. LNCS, vol. 2147, pp. 275–285. Springer, Heidelberg (2001)
Vassiliadis, S., Wong, S., Gaydadjiev, G.N., Bertels, K., Kuzmanov, G.K., Panainte, E.M.: The Molen polymorphic processor. IEEE Transactions on Computers 53, 1363–1375 (2004)
Walder, H., Platzner, M.: Reconfigurable hardware Operating Systems: From design concepts to realizations. In: Engineering of Reconfigurable Systems and Algorithms, pp. 284–287. CSREA Press (2003)
Wu, K., Kanstein, A., Madsen, J., Berekovic, M.: MT-ADRES: Multithreading on coarse-grained reconfigurable architecture. In: Diniz, P.C., Marques, E., Bertels, K., Fernandes, M.M., Cardoso, J.M.P. (eds.) ARC 2007. LNCS, vol. 4419, pp. 26–38. Springer, Heidelberg (2007)
Zaykov, P.G., Kuzmanov, G.K., Gaydadjiev, G.N.: Reconfigurable multithreading architectures: A survey. In: SAMOS-IW, pp. 263–274 (July 2009)
Zhou, B., Qui, W., Peng, C.L.: An operating system framework for reconfigurable systems. In: CIT, pp. 781–787 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zaykov, P.G., Kuzmanov, G.K. (2011). Architectural Support for Multithreading on Reconfigurable Hardware. In: Koch, A., Krishnamurthy, R., McAllister, J., Woods, R., El-Ghazawi, T. (eds) Reconfigurable Computing: Architectures, Tools and Applications. ARC 2011. Lecture Notes in Computer Science, vol 6578. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19475-7_38
Download citation
DOI: https://doi.org/10.1007/978-3-642-19475-7_38
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-19474-0
Online ISBN: 978-3-642-19475-7
eBook Packages: Computer ScienceComputer Science (R0)