Medan multicore hårdvara har blivit allestädes närvarande, har explicit parallella programmeringsmodeller och kompilator tekniker för att utnyttja parallellism på dessa system tydligt släpat efter. Stream programmering är en modell som har bred tillämplighet i multimedia, grafik och signalbehandling domäner. Strömmande modeller kör som en uppsättning oberoende aktörer som uttryckligen kommunicerar data via kanaler. Detta dokument presenterar en kompilatorteknik för att planera och orkestrera utförandet av streaming applikationer på multicore plattformar. En integrerad utveckling och partitionering steg baserat på heltal linjär programmering presenteras som utvecklar data parallella aktörer som behövs och maximalt packar aktörer på kärnor. Därefter är aktörerna tilldelade att pipeline steg på ett sådant sätt att all kommunikation är maximalt överlappade med beräkning på kärnorna. För att underlätta experiment, en generaliserad kodgenerering mall för att kartlägga programvaran rörledning till Cell arkitektur presenteras. För en rad strömmande applikationer uppnås en geometrisk genomsnittlig hastighetsökning på 14,7x på en 16-kärnig cellplattform jämfört med en enda kärna.
Kudlur och Mahlke REF beskriver en integrerad expansion och partitionering metod baserad på heltal linjär programmering som expanderar aktörer som behövs med målet att maximera den totala arbetsbelastningen på processorer.
Orchestrating the execution of stream programs on multicore platforms
{'venue': "PLDI '08", 'journal': None, 'mag_field_of_study': ['Computer Science']}