100 likes | 244 Views
National Sun Yat-sen University Embedded System Laboratory Multicore Communications API (MCAPI) implementation on an FPGA multiprocessor. Presenter: Min Yu,Lo. Lauri Matilainen, Erno Salminen, Timo D. Hamalainen, and Marko Hannikainen.
E N D
National Sun Yat-sen University Embedded System LaboratoryMulticore Communications API (MCAPI)implementation on an FPGA multiprocessor Presenter: Min Yu,Lo Lauri Matilainen, Erno Salminen, Timo D. Hamalainen, and Marko Hannikainen. 2011 International Conference on Embedded Computer Systems (SAMOS)
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.
Abstract(cont.) 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.
Related work MPI Multicore Communications API Specification(MCAPI) [3] Cell SDK[8][13][10] Msg[8] Reduced MPI[7][10][14][15] Message - passing Comparing API performance This Paper This paper major method
What’s problem • Solve heterogeneous architecture • Different processor • Different OS type • Feasible performance • Memory footprintd • Performance overhead
Proposal method outline • This paper major method • Adopted MCAPI for an FPGA-based MPSOC environment. • The FUNCAPI is divided into two layers. • Top layers • Transport layers • Using virtual nodes for fixed-function units • ex : Discrete cosine transform(DCT)
MCAPI communication • MCAPI defines three communications types: • Messages • We don’t have to establish a connection first. • Packet channels and Scalar channels • We have to establishing a connection first.
MCAPI execution example • An example sequence of MCAPI execution in Funbase software platform.
Experimental results • Comparison to other API implementations • Performance • memory comparison
Conclusions and Comments • Conclusions • we separated the platform specific parts in a transport layer, thereby porting MCAPI conveniently to NIOS without OS and PC with Linux. • My Comments • This paper is not clear in comparing API architecture individually. • I think the implementation of FUNCAPI is divided into two layers is very good idea.