Abstract
This paper presents the design of a Symmetric Multiprocessor (SMP) hybridthreads (hthreads) system that allows multiple threads to execute in parallel across multiple processors controlled by a single hardware scheduler. This approach increases the performance of software at a minimal cost to hardware. The issues that must be addressed for extending a uniprocessor kernel include system initialization, processor identification, context switching and concurrency control. As a proof of concept this paper shows how hthreads, an existing hardware/software co-designed kernel can be extended to control multiple processors from a single, centralized hardware scheduler. Analysis results from executing on hardware reveal that for computationally intensive programs the typical speedup is in the range of 1.65x. This shows improvement in system performance while also illustrating issues associated with bus arbitration and memory access times.
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
Xilinx University Program, http://www.xilinx.com/univ/
Avnet Electronics Marketing, http://www.em.avnet.com/
Peck, W., Anderson, E., Agron, J., Stevens, J., Baijot, F., Andrews, D.: Hthreads: A Computational Model for Reconfigurable Devices (August 2006)
Agron, J., Peck, W., Anderson, E., Andrews, D., Komp, E., Sass, R., Baijot, F., Stevens, J.: Run-Time Services for Hybrid CPU/FPGA Systems on Chip (December 2006)
Andrews, D., Peck, W., Agron, J., Preston, K., Komp, E., Finley, M., Sass, R.: hThreads: A Hardware/Software Co-Designed Multithreaded RTOS Kernel (September 2005)
Hybridthreads - Wiki Page, http://wiki.ittc.ku.edu/hybridthread/Main_Page
Hybridthreads - Main Page, http://www.ittc.ku.edu/hybridthreads/
Sourceware: libc __malloc_lock/__malloc_unlock implementation, http://sourceware.org/newlib/libc.html
Xilinx - Programmable Logic Devices, http://www.xilinx.com
Silberschatz, A., Baer, P., Gagne, G., Gagne, G.: Operating System Concepts, 6th edn. (2001)
Xilinx: Designing Multiprocessor Systems in Platform Studio, http://direct.xilinx.com/bvdocs/whitepapers/wp262.pdf
Xilinx: Processor Local Bus (PLB) v3.4, http://www.xilinx.com/ipcenter/catalog/logicore/docs/plb_v34.pdf
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Santner, S., Peck, W., Agron, J., Andrews, D. (2008). Symmetric Multiprocessor Design for Hybrid CPU/FPGA SoCs. In: Woods, R., Compton, K., Bouganis, C., Diniz, P.C. (eds) Reconfigurable Computing: Architectures, Tools and Applications. ARC 2008. Lecture Notes in Computer Science, vol 4943. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78610-8_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-78610-8_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78609-2
Online ISBN: 978-3-540-78610-8
eBook Packages: Computer ScienceComputer Science (R0)