Apple‐CORE Project ‐ Making Multi‐core Mainstream: HiPEAC Workshop, January 25th 2012
In conjunction with the 7th HiPEAC conference – Paris, France, January 23-25 2012
The Apple-CORE project workshop has run in parallel with the conference.
This workshop has presented the results of the Apple-CORE project. It covered three of the topics listed in the call for workshop/tutorial proposals, namely:
The Apple-CORE project has investigated a number of key issues that deter the shift away from small-scale multi-core. In such systems concurrency is an afterthought. Our target is large-scale, multi-threaded multi-core systems, where concurrency is built in from the ground upwards. While this initial discontinuity may seem severe, the results herald an era of software continuity where moving from generation-to-generation of highly concurrent systems exhibits the same benign characteristics we saw in generations of mainstream processors based on the X86 ISA, namely backwards binary compatibility of code.
Our aim has been to provide a holistic approach to the entire system, from safe, deterministic programming models down to the core architecture that supports asynchronous, distributed program execution. The key mechanism we introduce is data-driven multi-threading, which provides support for long-latency, split-phase operations. Examples of such operations are memory operations, the use of shared, special-purpose functional units, the delegation of work to other cores and the integration of functions implemented directly in hardware. All of these have been demonstrated in the prototype system and tools we have developed.