Skip to main content
Log in

A Self Distributing Virtual Machine for Adaptive Multicore Environments

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. VDE/ITG/GI-Arbeitsgruppe Organic Computing: Organic Computing, Computer- und Systemarchitektur im Jahr 2010. Technical report, VDE/ITG/GI (2003) (in German)

  2. 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

  3. 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

  4. 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

    Google Scholar 

  5. 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)

  6. 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)

  7. 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)

  8. Haase, J.: The Self Distributing Virtual Machine—Homepage (2005) http://sdvm.ti.cs.uni-frankfurt.de.

  9. Haase, J., Damm, M., Hauser, D., Waldschmidt, K.: Reliability-aware power management of multi-core processors (2006) DIPES 2006, Braga, Portugal

  10. 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)

  11. 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)

  12. Texas Instruments: OMAPV1035 Product Bulletin (2006) http://focus.ti.com/pdfs/wtbu/TI_omapv1035.pdf.

  13. Xilinx: MicroBlaze Processor Reference Guide (2008) http://www.xilinx.com/support/documentation/sw_manuals/mb_ref_guide.pdf

  14. Xilinx: Virtex-4 Configuration Guide (2006) http://www.xilinx.com/bvdocs/userguides/ug071.pdf

  15. Dahlquist G., Bjorck A. (1974) Numerical Methods. Prentice Hall, Englewood Cliffs

    Google Scholar 

  16. 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)

  17. Xilinx: ML405 Evaluation Platform: User Guide (2008) http://www.xilinx.com/support/documentation/boards_and_kits/ug210.pdf

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jan Haase.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-009-0119-4

Keywords