A Multicore-aware Von Neumann Programming Model

János Végh, Zsolt Bagoly, Ádám Kicsák, Péter Molnár

2014

Abstract

An extension to the classic von Neumann paradigms is suggested, which –from the point of view of chip designers– considers modern many-core processors, and –from the point of view of programmers– still remains the classic von Neumann programming model. The work is based on the ideas that 1) the order in which the instructions (and/or code blocks) are executed does not matter, if some constraints do not force a special order of execution 2) a High Level Parallelism for code blocks (similar to Instruction Level Parallelism for instructions) can be introduced, allowing high-level out of order execution 3) discovering the possibilities for out of order execution can be done during compile time rather than runtime 4) the optimization possibilities discovered by the compile toolchain can be communicated to the processor in form of meta-information 5) the many computing resources (cores) can be assigned dynamically to machine instructions. It is shown that the multicore architectures could be transformed to a strongly enhanced single core processor. The key blocks of the proposal are a toolchain preparing the program code to run on many cores, a dispatch unit within the processor making effective use of the parallelized code, and also a much smarter communication method between the two key blocks is needed.

References

  1. Adapteva (2014). Parallella Board. http://www.parallella.org/.
  2. Agarwal, V., Hrishikesh, M., Keckler, S., and Burger, D. (2000). Clock Rate versus IPC: The End of the Road for Conventional Microarchitectures. In Proceedings of the 27th Annual International Symposium on Computer Architecture.
  3. Altera (2013). DE1 SoC. http://www.altera.com/education/univ/ materials/boards/de1-soc/unv-de1-soc-board.html/.
  4. Aspray, W. (1990). John von Neumann and the Origins of Modern Computing, pages 34-48. MIT Press, Cambridge.
  5. Esmaeilzadeh, H., Blem, E., St. Amant, R., Sankaralingam, K., and et al. (2012). Dark Silicon and the End of Multicore Scaling. IEEE Micro, 32(3):122-134.
  6. Fuller, S. H. and Millett, L. I. (2011). Computing Performance: Game Over or Next Level? Computer, 44:31- 38. http://download.nap.edu/ cart/download.cgi?&record id=12980.
  7. Godfrey, M. D. and Hendry, D. F. (1993). The Computer as von Neumann Planned It. IEEE Annals of the History of Computing, 15(1):11-21.
  8. HLPGPU workshop (2012). High-level programming for heterogeneous and hierarchical parallel systems. In HiPEAC Conference.
  9. Intel (1998). P6 Family of Processors Hardware Developers Manual. ftp://download.intel.com/design/pentiumii/manuals/ 24400101.pdf.
  10. Nicolau, A. and Fisher, J. A. (1984). Measuring the parallelism available for very long instruction word architectures. IEEE Transactions on Computers, C33(11):968-976.
  11. S(o)OS project (2010). Resource-independent execution support on exa-scale systems. http://www.soosproject.eu/index.php/related-initiatives.
  12. Wall, D. W. (1993). Limits of Instruction-Level Parallelism. http://www.hpl.hp.com/techreports/CompaqDEC/WRL-93-6.pdf.
  13. World Scientific (2014). Parallel Processing Letters. http://www.worldscientific.com/worldscinet/ppl.
  14. Xilinx (2012). Zedboard. http://zedboard.org/.
  15. Yang, J., Cui, H., Wu, J., Tang, Y., and Hu, G. (2014). Making Parallel Programs Reliable with Stable Multithreading. Communications of the ACM, 57(3):58-69.
Download


Paper Citation


in Harvard Style

Végh J., Bagoly Z., Kicsák Á. and Molnár P. (2014). A Multicore-aware Von Neumann Programming Model . In Proceedings of the 9th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2014) ISBN 978-989-758-036-9, pages 150-155. DOI: 10.5220/0005097001500155


in Bibtex Style

@conference{icsoft-ea14,
author={János Végh and Zsolt Bagoly and Ádám Kicsák and Péter Molnár},
title={A Multicore-aware Von Neumann Programming Model},
booktitle={Proceedings of the 9th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2014)},
year={2014},
pages={150-155},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005097001500155},
isbn={978-989-758-036-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 9th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2014)
TI - A Multicore-aware Von Neumann Programming Model
SN - 978-989-758-036-9
AU - Végh J.
AU - Bagoly Z.
AU - Kicsák Á.
AU - Molnár P.
PY - 2014
SP - 150
EP - 155
DO - 10.5220/0005097001500155