Abstract
The use of parallel systems is no longer limited to dedicated clusters as multicore chips are more and more appearing in embedded applications. To meet power, performance and cost targets these systems need to be adaptive. The reconfiguration features of recent FPGAs make new approaches for this type of parallel computing possible: Dynamic reconfiguration at runtime offers an important step to adaptive behavior of systems-on-chip (SoCs). This article analyzes the challenges of such an adaptive SoC. It is shown that many of the requirements for an adaptive FPGA-realization are met by the SDVM, the scalable dataflow-driven virtual machine which has been successfully implemented and tested on a cluster of workstations. The SDVM has evolved to a virtualization layer for multicore-FPGAs, now called SDVMR. This virtualization layer allows a transparent runtime-reconfiguration of the underlying hardware to adapt to the changing system environment. Results for a basic application for both systems are presented.
Similar content being viewed by others
References
VDE/ITG/GI-Arbeitsgruppe Organic Computing: Organic Computing, Computer- und Systemarchitektur im Jahr 2010. Technical report, VDE/ITG/GI (2003) (in German)
Haase, J., Eschmann, F., Waldschmidt, K.: The SDVM—an approach for future adaptive computer clusters. In: 10th IEEE Workshop on Dependable Parallel, Distributed and Network-Centric Systems (DPDNS05), Denver, Colorado, USA (2005) http://www.ti.cs.uni-frankfurt.de/parallel/papers/DPDNS05.pdf
Haase, J., Eschmann, F., Klauer, B., Waldschmidt, K.: The SDVM: a self distributing virtual machine. In: Organic and Pervasive Computing—ARCS 2004: International Conference on Architecture of Computing Systems. Volume 2981 of Lecture Notes in Computer Science, Heidelberg, Springer Verlag (2004) http://www.ti.cs.uni-frankfurt.de/parallel/papers/ARCS04.pdf
Lipsa G., Herkersdorf A., Rosenstiel W., Bringmann O., Stechele W. (2005) Towards a framework and a design methodology for autonomous soc. In: Brinkschulte U., Becker J., Fey D., Hochberger C., Martinetz T., Müller-Schloer C., Schmeck H., Ungerer T., Würtz R.P. (eds) ARCS Workshops. VDE, Verlag, pp 101–108
Lysecky, R., Vahid, F.: A study of the speedups and competitiveness of fpga soft processor cores using dynamic hardware/software partitioning. In: DATE ’05: Proceedings of the Conference on Design, Automation and Test in Europe, Washington, DC, USA, IEEE Computer Society, pp. 18–23 (2005)
Lysecky, R., Vahid, F., Tan, S.X.D.: Dynamic fpga routing for just-in-time fpga compilation. In: DAC ’04: Proceedings of the 41st Annual Conference on Design Automation, New York, NY, USA, ACM Press, pp. 954–959 (2004)
Lysecky, R., Vahid, F.: A configurable logic architecture for dynamic hardware/software partitioning. In: DATE ’04: Proceedings of the Conference on Design, Automation and Test in Europe, Washington, DC, USA, IEEE Computer Society, p. 10480 (2004)
Haase, J.: The Self Distributing Virtual Machine—Homepage (2005) http://sdvm.ti.cs.uni-frankfurt.de.
Haase, J., Damm, M., Hauser, D., Waldschmidt, K.: Reliability-aware power management of multi-core processors (2006) DIPES 2006, Braga, Portugal
Haase, J., Hofmann, A., Waldschmidt, K.: The self distributing virtual machine (SDVM): making computer clusters adaptive. In: Biologically Inspired Cooperative Computing. Number 216/2006 in IFIP International Federation for Information Processing, Springer Boston, pp. 169–178 (2006)
Hofmann, A., Waldschmidt, K.: SDVM-R: a scalable firmware for FPGA-based multi-core systems-on-chip. In: ISVLSI, IEEE Computer Society, pp. 387–392 (2008)
Texas Instruments: OMAPV1035 Product Bulletin (2006) http://focus.ti.com/pdfs/wtbu/TI_omapv1035.pdf.
Xilinx: MicroBlaze Processor Reference Guide (2008) http://www.xilinx.com/support/documentation/sw_manuals/mb_ref_guide.pdf
Xilinx: Virtex-4 Configuration Guide (2006) http://www.xilinx.com/bvdocs/userguides/ug071.pdf
Dahlquist G., Bjorck A. (1974) Numerical Methods. Prentice Hall, Englewood Cliffs
Klauer, B., Eschmann, F., Moore, R., Waldschmidt, K.: The CDAG: a data structure for automatic parallelization for a multithreaded architecture. In: Proceedings of the 10th Euromicro Workshop on Parallel, Distributed and Network-based Processing (PDP 2002), Canary Islands, Spain, IEEE (2002)
Xilinx: ML405 Evaluation Platform: User Guide (2008) http://www.xilinx.com/support/documentation/boards_and_kits/ug210.pdf
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Haase, J., Hofmann, A. & Waldschmidt, K. A Self Distributing Virtual Machine for Adaptive Multicore Environments. Int J Parallel Prog 38, 19–37 (2010). https://doi.org/10.1007/s10766-009-0119-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-009-0119-4