Title :
Multicore Communications API (MCAPI) implementation on an FPGA multiprocessor
Author :
Matilainen, Lauri ; Salminen, Erno ; Hämäläinen, Timo D. ; Hännikäinen, Marko
Author_Institution :
Dept. of Comput. Syst., Tampere Univ. of Technol., Tampere, Finland
Abstract :
The design and implementation of an application programming interface (API) is a trade-off between abstraction it provides and overheads it causes. This paper presents an implementation of Multicore Communications API (MCAPI) on a heterogeneous platform consisting of FPGA-based multiprocessor system-on-chip (MPSoC) connected via PCIe to an external CPU board. The purpose is to provide a unified programming API to different processor and OS types as well as hardware IP-blocks. MCAPI is shown to meet these requirements. We show the MCAPI transport implementation on three processors and two buses, measure the overhead cost, and analyze the effort required to port an application from a PC to the MPSoC. The measured library memory footprint is less than 25KB and the roundtrip communication latency is diminishing low - only few dozen clock cycles - compared to non-MCAPI implementation.
Keywords :
application program interfaces; field programmable gate arrays; multiprocessing systems; parallel programming; peripheral interfaces; system-on-chip; FPGA multiprocessor; FPGA-based multiprocessor system-on-chip; MCAPI; PCI; application programming interface; external CPU board; hardware IP-blocks; heterogeneous platform; library memory; multicore communication API; roundtrip communication latency; unified programming API; Field programmable gate arrays; Hardware; Message systems; Multicore processing; Programming; Software; FPGA; multiprocessor; parallel programming; programming interface;
Conference_Titel :
Embedded Computer Systems (SAMOS), 2011 International Conference on
Conference_Location :
Samos
Print_ISBN :
978-1-4577-0802-2
Electronic_ISBN :
978-1-4577-0801-5
DOI :
10.1109/SAMOS.2011.6045473