Onderzoekers van Intel en de North Carolina State University hebben de prestaties van core-naar-core-communicatie op een multicore met een factor twaalf verbeterd door de coördinatie via een hardwareonderdeel te laten afhandelen.
Core-naar-core-communicatie werkt traditiegetrouw via gedeeld geheugen, maar dit beperkt de prestaties bij het afhandelen van gedeelde werklasten in een multicoresysteem, met name als het aantal cores toeneemt. De oorzaak ligt bij het queuen van de threads: dit gebeurt via software, wat zorgt voor overhead die veroorzaakt wordt door coherence invalidations en cache misses.
Wetenschappers van Intel en de North Carolina State University hebben het gedrag en de overhead van software queue management geanalyseerd en hun bevindingen gebruikt voor een alternatieve manier om de communicatie tussen rekenkernen in goede banen te leiden.
Ze stellen voor een hardwareonderdeel te gebruiken dat hiervoor geoptimaliseerd is, het zogenaamde Queue Management Device. Dit kan toegevoegd worden aan een netwerk-op-een-chip en door het C2C Communication Acceleration Framework of CAF ingeschakeld worden om de coördinatie van de threads op zich te nemen en zowel de cores als het geheugen te ontlasten. CAF bevat daarnaast softwarematige optimalisaties, waarmee de overhead verminderd kan worden en de prestaties met een factor twee tot maximaal twaalf verbeterd kunnen worden.
De onderzoekers presenteren details over de methode bij de publicatie van hun paper met de titel CAF: Core to Core Communication Acceleration Framework. Die presentatie zal op 11 september plaatsvinden bij de jaarlijkse Conference on Parallel Architectures and Compilation Techniques in Israël.