Abstract
Heterogeneous multi-core architectures are the mainstream of processor designs for high-end embedded systems. Although such architectures promise high performance and low power consumption, challenges are raised for how to program such devices. This paper presents ""Multi-core Software APIs"" (MSA) to address these issues. MSA is a library-based framework based asynchronous remote procedure call (RPC) mechanism. Aiming at distributed memory architectures, which is common in embedded systems, MSA supplies a function-offloading programming model. MSA consists of three modules, RPC module, message module, and streaming module, to provide task offloading, data transmission, and streaming data transmission, respectively. Furthermore, this paper provides two case studies, π calculation and stereo vision, to show how MSA works on building multi-core applications. © 2010 Springer-Verlag.