Als president van de Multicore Association (MA) en de Embedded Microprocessor Benchmark Consortium (EEMBC) bevind ik me in het centrum van het multicoreprocessoruniversum. In die hoedanigheden blijf ik me verbazen over het aantal bedrijven dat embedded multicorearchitecturen en -apparaten ontwikkelt en verkoopt. Om nog maar te zwijgen over de enorme verscheidenheid die daarin te vinden is. Er zijn symmetrische processoren, zoals de low-end ARM MPCore en high-end PowerPC-producten. Sommige daarvan bevatten wel honderd homogene cores. De asymmetrische kernen kennen nog bijna oneindig veel meer diversiteit.
Met behulp van benchmarks kunnen we al die architecturen onderling met elkaar vergelijken. Embedded-systeemontwikkelaars vinden dat uitermate belangrijk. Zij moeten tenslotte bepalen of een overgang van single- naar multicoreprocessoren de moeite waard is. Benchmarks zijn ook nuttig voor het identificeren van knelpunten op systeemniveau, zoals het effect van het delen van een geheugenbus. Maar waaraan moet een benchmarksysteem voor embedded multicoreprocessoren voldoen?
Het probleem benaderen vanuit een applicatiestandpunt is een goede aanzet. Met andere woorden, het is beter om te kijken naar de manieren waarop software gebruikmaakt van de multicoreprocessoren dan alle kenmerken van de hardware in kaart te brengen. Het is dan wel belangrijk om de verschillende niveaus te begrijpen waarop applicatieparallellisme van toepassing kan zijn op multicorearchitecturen.