Novel programming paradigms enable the concurrent execution and the dynamic run-time rescheduling of several competing applications on large heterogeneous multi-core systems. However, today the cache memory is still statically allocated at design time. This leads to a distribution of memory resources that is optimized for an average use case. This paper introduces adaptive cache structures to be able to cope with the agility of dynamic run-time systems on future heterogeneous multi-core platforms. To go beyond the state of the art, the cache model is an implemented HDL realization capable of dynamic run-time adaptations of various cache strategies, parameters and settings. Different design trade-offs are weighted against each other and a modular implementation is presented. This hardware representation makes it possible to deeply integrate the adaptive cache into an existing processor microarchitecture. The contribution of this paper is the application-specific run-time adaptation of the adaptive cache architecture that directly represents the available memory resources of the underlying hardware. The evaluation shows very efficient resource utilization while the cache set size is in- or decreased. Also, performance gains in terms of cache's miss rate and application's run-time are shown. The architecture's capabilities of performing in a multi-core use case and the potential for future power savings are also presented in an application scenario.
[1]
Herb Sutter,et al.
The Free Lunch Is Over A Fundamental Turn Toward Concurrency in Software
,
2013
.
[2]
Bill Moyer,et al.
A low power unified cache architecture providing power and performance flexibility
,
2000,
ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design (Cat. No.00TH8514).
[3]
Jürgen Becker,et al.
LISPARC: Using an architecture description language approach for modelling an adaptive processor microarchitecture
,
2012,
7th IEEE International Symposium on Industrial Embedded Systems (SIES'12).
[4]
Jürgen Teich,et al.
Invasive Computing: An Overview
,
2011,
Multiprocessor System-on-Chip.
[5]
Matteo Frigo,et al.
Cache-oblivious algorithms
,
1999,
40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).
[6]
Ann Gordon-Ross,et al.
Phase-based cache reconfiguration for a highly-configurable two-level cache hierarchy
,
2008,
GLSVLSI '08.
[7]
Wolfgang Karl,et al.
A Run-time Reconfigurable Cache Architecture
,
2007,
PARCO.
[8]
David H. Albonesi,et al.
Selective cache ways: on-demand cache resource allocation
,
1999,
MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture.