Issue No. 01 - Jan.-March (2017 vol. 5)
Ramakrishna Nittala , Department of Control and Computer Engineering - DAUIN, Politecnico di Torino Address: C.so Duca degli Abruzzi 24, Torino, Italy
Andrea Acquaviva , Department of Control and Computer Engineering - DAUIN, Politecnico di Torino Address: C.so Duca degli Abruzzi 24, Torino, Italy
Enrico Macii , Department of Control and Computer Engineering - DAUIN, Politecnico di Torino Address: C.so Duca degli Abruzzi 24, Torino, Italy
Workload allocation in embedded multicore platforms is an increasing challenging issue due to heterogeneity of components and their parallelism. Additionally, the impact of process variations in current and next generation technology nodes is becoming relevant and cannot be compensated at the device or architectural level. Intra-die process variations raising at the core level and platform level makes parallel multicore platforms intrinsically heterogeneous, because the various cores are clocked at different operational frequencies. Power consumption becomes heterogeneous too, both considering dynamic and leakage consumption. In this context, to fully exploit the computational capability of the platform parallelism, variability aware task allocation strategies must be adopted. Despite the consistent research performed to design variability-aware task allocation policies, little effort has been devoted make available to programmers a software toolchain enabling the exploitation of these policies. Such toolchain need to exploit fabrication-level information about core clock speed and power consumption. In this work, we address to present a methodology and the associated toolchain to program in presence of process variability, integrating power and performance variability information in all the steps of the toolchain. To this purpose, the proposed approach is vertically integrated, from high level modelling down to runtime management. Variability information is introduced through a XML configuration file that is exploited by toolchain components to make the appropriate runtime allocation decision. We demonstrate the proposed toolchain using state of art variability-aware task allocation policies on two multicore platforms: i) The MIPS-based GENEPY simulator with 4 and 8 parallel homogeneous cores and ii) The Tegra2-based Zynq platform, where the on-board FPGA has been used to map 10 microblaze slave cores. Experiments show that the proposed toolchain supports the integration of variability awareness in a simple yet effective programming environment.
Hardware, Multicore processing, Resource management, Computational modeling, Runtime, XML, Java
R. Nittala, A. Acquaviva and E. Macii, "A Software Toolchain for Variability Awareness on Heterogenous Multicore Platforms," in IEEE Transactions on Emerging Topics in Computing, vol. 5, no. 1, pp. 95-107, 2017.