Upload
piers-black
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
1
Presenter: Min Yu,Lo
112/04/21
Lauri Matilainen, Erno Salminen, Timo D. Hamalainen, and Marko Hannikainen. 2011 International Conference on Embedded Computer Systems (SAMOS)
112/04/212
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.
112/04/213
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.
112/04/214
Multicore Communications
API Specification(MCAPI
)[3]
Reduced MPI[7][10][14][15]
Cell SDK[8][13][10]
Msg[8]
MPI
This Paper
Comparing API performance
Message - passing
This paper major method
112/04/215
Solve heterogeneous architecture◦Different processor◦Different OS type
Feasible performance◦Memory footprintd◦Performance overhead
112/04/216
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)
112/04/217
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.
112/04/218
An example sequence of MCAPI execution in Funbase software platform.
112/04/219
Comparison to other API implementations◦ Performance◦ memory comparison
112/04/2110
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.