Alma project: kan het programmeren van multi-cores ook makkelijker, aub?

Waarom moet een programmeur zich iets aantrekken van de hardware architecture als hij software schrijft voor embedded multi-core applicaties? “Met Alma willen we laten zien hoe de verschillende embedded herconfigureerbare multi-cores van Recore Systems en van het Technologisch Instituut van Karlsruhe efficiënt kunnen worden geprogrammeerd met dezelfde toolchain en dezelfde applicatiecode”, aldus Nikolaos Voros, wetenschappelijk coordinator, en professor bij het Technologisch Onderwijs Institituut van Mesolonghi.

"Het Alma consortium stelt een toolchain voor die de complexiteit van de hardware architectuur verbergt en tegelijkertijd optimale code genereert. De Alma toolchain ontwikkelt parallelisatie- en optimalisatie-algoritmes voor een hele klasse van multi-cores." Prof. Nikolaos Voros legy op de  HiPEAC 2012 in Parijs uit hoe het Alma consortium het ‘moeten kennen’ van een architectuur in een ‘mogen kennen’ wil veranderen.

Tooling op een hoger niveau

Gerard Rauwerda, CTO van Recore Systems: "In embedded systemen worden multi-cores steeds vaker gebruikt. Ook wij ontwikkelen DSP-cores die goed te gebruiken zijn in een multi-core systeem. We willen de bijbehorende tooling op een hoger niveau brengen zodat de tooling de volledige mogelijkheden van onze Xentium en Montium cores benut, terwijl de programmeur niet per sé hoeft te begrijpen hoe het in elkaar zit of hoeveel van welke cores hij gebruikt voor zijn applicatie."

De Alma projectcoordinator, prof. Jürgen Becker van het Technologisch Instituut van Karlsruhe  voegt daar aan toe: "Ons onderzoek concentreert zich op adaptieve embedded systemen. We hebben veel ontwikkelingen gezien op het gebied van dynamisch herconfigureerbare hardware architecturen, en het valt ons op dat de software tooling om op een makkelijke manier compacte en efficiënte code voor de hardware te genereren achterloopt."

Laag energieverbruik

"Binnen het Alma project", zo gaat Becker verder, "werken we aan gelijktijdige hardware/software ontwikkeling en technieken voor co-synthese. We includeren de hardwarebeschrijving in de software-optimalisatie, met het uiteindelijke doel om dezelfde broncode en toolchain te gebruiken voor de verschillende hardwareplatforms terwijl we efficiënte code blijven genereren. Efficiënte code betekent een sneller embedded systeem dat minder energie verbruikt. Dit is een vakgebied waarin we veel kunnen bijdragen aan een laag energieverbruik in mobiele telefoons, draadloze communicatie, camera’s, kort gezegd, in alles met een chip."

Het Alma project

Alma (Grieks voor ‘sprong’, Alma) is een acroniem voor ALgorithm parallelization for Multicore Architectures. Gedreven door de technologische beperkingen in het ontwerpen van chips, het einde van de Wet van Moore en de zoektocht naar steeds betere rekenprestaties, is Alma een fundamentele stap vooruit in de introductie van vernieuwende computerpardigma’s en methodologieën. Alma versterkte de positie van de EU in de wereldmarkt van softwaretools voor multiprocessoren.

De partners in het Alma Consortium komen uit de industrie en de academische wereld. De industriële partners Recore Systems en Intracom Telecom brengen hun expertise in op het gebied van herconfigureerbare-hardwaretechnologie voor software-ontwikkeltools voor multi-core systems-on-chip en toepassingen uit de praktijk. Vijf academische partners zijn expert op het gebied van reconfigurable computing en de ontwikkeling van compilatietools: Karlsruhe Institute of Technology (KIT, Duitsland), Université de Rennes I (Frankrijk), University of Peloponnese (Griekenland), Technological Educational Institute of Mesolonghi (Griekenland) en het Fraunhofer Institute of Optronics, System Technologies and Image Exploitation (Duitsland).