Font Size: a A A

Architecting a Workload-agnostic Heterogeneous Multi-core Processor

Posted on:2013-10-03Degree:Ph.DType:Dissertation
University:North Carolina State UniversityCandidate:Wadhavkar, Salil VijayFull Text:PDF
GTID:1458390008970515Subject:Engineering
Abstract/Summary:
Improving single-thread performance still remains an important challenge. Heterogeneous multi-cores offer the potential of improving single-thread performance by providing a number of core types that capture a wide range of application behaviors. Some prior approaches of choosing the constituent cores in a heterogeneous multi-core have focused on reducing power consumption by employing monotonic cores. Other approaches that aim to improve performance assume a priori knowledge of the workload. It is uncertain how such workload-specific approaches would perform if the workload changes in the future.;This dissertation addresses the question of choosing the cores in a heterogeneous multi-core in a workload-agnostic manner. The process of selecting the constituent cores is completely independent of any benchmark suite. We present several approaches of choosing cores, and show that the resulting multi-core delivers high performance for a large number of application phases.;We classify applications in one of four categories of kernels: pointer-chasing, array manipulation, arbitrary serial and arbitrary parallel. We systematically vary instruction-level parameters and evaluate the highest performing heterogeneous multi-cores using synthetically generated kernels. Since the resulting multi-core is workload-agnostic, its performance on real application phases is almost as good as a customized heterogeneous multi-core. Moreover, we demonstrate potential pitfalls of customization by showing that multi-cores tuned to a subset of the actual workload may perform poorly on the entire workload.;We use statistical tools such as classification trees to understand the relationships between instruction-level parameters and core suitability. The classification trees are used as a starting point for application steering mechanisms. We show that an application steering mechanism based on classification trees performs better than random steering on average.
Keywords/Search Tags:Heterogeneous multi-core, Classification trees, Workload, Performance, Cores, Application
Related items