Third party funded individual grant
Acronym: COKE
Start date : 01.09.2012
End date : 31.03.2021
Die erzielbare Rechenleistung einzelner Prozessoren stößt gegenwärtig an ihre technologischen Grenzen, eine weitere Leistungssteigerung ist nur durch den Einsatz vieler Rechenkerne zu erreichen. Während Prozessorarchitekturen mit bis zu 16 Kernen den aktuellen Stand der Technik bei marktüblichen Produkten markieren, sind vereinzelt schon Systeme mit 100 Rechenkernen erhältlich. Zukünftig sind hier Architekturen mit über tausend Rechenkernen zu erwarten. Zur besseren Skalierbarkeit sind in diese Prozessoren extrem leistungsfähige Kommunikationsnetzwerke integriert (network on chip, NoC), sodass sie de facto die Eigenschaften eines verteilten Systems mit denen eines NUMA-Systems vereinen. Die extrem niedrige Latenz und hohe Bandbreite dieser Netzwerke eröffnet die Möglichkeit, Verfahren der Replikation und Konsistenzerhaltung von der Hardware in Betriebs- und Laufzeitsysteme zu verlagern und so notorischen Problemen wie falscher Mitbenutzung von Speicherzellen (false sharing), dem Flattern von Zwischenspeicherzeilen (cache thrashing) und Engpässen in der Speicherbandbreite flexibel zu begegnen.
Ziel des Vorhabens ist es daher, zunächst einen minimalen, ereignisgetriebenen Konsistenzkern (concistency kernel, COKE) für solche vielkernigen Prozessoren zu entwerfen, der die notwendigen Elementaroperationen für softwarekontrollierte Konsistenzerhaltungsprotokolle für höhere Schichten zur Verfügung stellt. Auf der Basis dieses Kerns werden diverse "Konsistenzmaschinen" entworfen, die verschiedene Speichersemantiken für software- und seitenbasierten gemeinsamen Speicher ermöglichen.