Component-based development is a software engineering paradigm that can facilitatethe construction of embedded systems and tackle its complexities. The modern embedded systemshave more and more demanding requirements. One way to cope with such a versatile and growingset of requirements is to employ heterogeneous processing power, i.e., CPU–GPU architectures.The new CPU–GPU embedded boards deliver an increased performance but also introduce additionalcomplexity and challenges. In this work, we address the component-to-hardware allocation forCPU–GPU embedded systems. The allocation for such systems is much complex due to theincreased amount of GPU-related information. For example, while in traditional embedded systemsthe allocation mechanism may consider only the CPU memory usage of components to find anappropriate allocation scheme, in heterogeneous systems, the GPU memory usage needs also to betaken into account in the allocation process. This paper aims at decreasing the component-to-hardwareallocation complexity by introducing a two-layer component-based architecture for heterogeneousembedded systems. The detailed CPU–GPU information of the system is abstracted at a high-layer bycompacting connected components into single units that behave as regular components. The allocator,based on the compacted information received from the high-level layer, computes, with a decreasedcomplexity, feasible allocation schemes. In the last part of the paper, the two-layer allocation methodis evaluated using an existing embedded system demonstrator; namely, an underwater robot.
展开▼