FPGA Prototyping of Emerging Manycore Architectures for Parallel Programming Research using Formic Boards

Spyros Lyberis, George Kalokerinos, Michael Lygerakis, Vassilis Papaefstathiou, Iakovos Mavroidis, Manolis Katevenis, Dionisios Pnevmatikatos, Dimitrios Nikolopoulos

Research output: Contribution to journalArticlepeer-review

3 Citations (Scopus)

Abstract

Performance evaluation of parallel software and architectural exploration of innovative hardware support face a common challenge with emerging manycore platforms: they are limited by the slow running time and the low accuracy of software simulators. Manycore FPGA prototypes are difficult to build, but they offer great rewards. Software running on such prototypes runs orders of magnitude faster than current simulators. Moreover, researchers gain significant architectural insight during the modeling process. We use the Formic FPGA prototyping board [1], which specifically targets scalable and cost-efficient multi-board prototyping, to build and test a 64-board model of a 512-core, MicroBlaze-based, non-coherent hardware prototype with a full network-on-chip in a 3D-mesh topology. We expand the hardware architecture to include the ARM Versatile Express platforms and build a 520-core heterogeneous prototype of 8 Cortex-A9 cores and 512 MicroBlaze cores. We then develop an MPI library for the prototype and evaluate it extensively using several bare-metal and MPI benchmarks. We find that our processor prototype is highly scalable, models faithfully single-chip multicore architectures, and is a very efficient platform for parallel programming research, being 50,000 times faster than software simulation.
Original languageEnglish
Pages (from-to)481-493
JournalJournal of Systems Architecture
Volume60
Issue number6
Early online date16 Apr 2014
DOIs
Publication statusPublished - Jun 2014

Fingerprint

Dive into the research topics of 'FPGA Prototyping of Emerging Manycore Architectures for Parallel Programming Research using Formic Boards'. Together they form a unique fingerprint.

Cite this