Abstract:
|
Future architectures and computer systems will be heterogeneous multi-core models, which will improve their performance, resource utilization and energy consumption. Differences between cores mean different binary formats and specific concerns when dealing with applications. The OS also needs to manage the appropriate information to schedule resources to achieve the optimal performance. In this paper we present a first approach in Linux to allow the application to give information to the OS in order to perform the best resource scheduling for the code characteristics (where it has to run). Based on the continuation model of the Mach microkernel and the device drivers of Unix-Linux system, the kernel can continue the execution flow from one core to another (i.e. from PPE to SPE in the Cell BE case). In this way, the OS can anticipate costly actions (for example, loading code or data) or reserve resources depending on task needs. To reach our target, we adapt the operating system as well as modify the application binary to divide its code parts depending on their characteristics and where they have to run. Experimental work has been done for x86 with MMX extension ISA as well as for PPC and Cell BE. |