Investigating Policies for Performance of Multi-core Processors - Shukla, Surendra Kumar; Chande, P.K (International Journal of Computer Sciences and Engineering, 2019)
Performance is a critical concern of multi-core systems. There are some issues which affect the performance of multicore systems especially shared resource contention and application to core mapping. To address the performance issues various software and hardware-based policies are proposed in different works of literature. These policies address the particular performance issue through some specific approach in isolation. However, having many performance issues and the corresponding number of policies to solve the issues; it is not clear which policy would be beneficial for a particular situation for application execution. There is a need of investigation & classification of existing policies through various aspects like the approach used to address the performance issues, tools used for profiling the application and metrics used to find the source of performance degradation. The classification of policies could help make static and runtime decisions for addressing different performance issues which arise owing to resource allocation and contention. In this paper, we reviewed various policies employed for performance improvement of multicore systems. Policies like the application to core scheduling, memory allocation, bandwidth allocation, parameter tuning & self-awareness are investigated on various angles and resulted in an indepth classification which is conferred from the tables. Further, classification could be used to design a holistic policy scheduler which could schedule a policy considering the application workload characteristics in totality. Also, the scheduler could help on performance improvement through scheduling/switching the appropriate policies at run time for application execution while considering the system status.