Dataflöde är ett naturligt sätt att närma sig parallellism. Att beskriva beroenden och kontroll mellan finkorniga data-flöde uppgifter kan dock vara komplicerat och presentera oönskade overheads. TALM (TALM är en arkitektur och språk för multi-threading) introducerar en användardefinierad grovkornig parallell data-flöde modell, där programmerare identifiera kodblock, kallas superinstructions, att köras parallellt och ansluta dem i en data-flow graf. TALM har implementerats som ett hybridsystem för genomförande av Von Neumann/dataflöde: Trebuchet. Vi har observerat att TALM:s användbarhet till stor del beror på hur programmerare specificerar och ansluter superinstruktioner. Således presenterar vi Couillard, en fullständig kompilator som, baserat på ett kommenterat C-program, skapar en dataflödesgraf och C-kod som motsvarar varje superinstruktion. Vi visar att vår verktygskedja gör att man kan dra nytta av dataflödesutförande och utforska sofistikerade parallella programmeringstekniker, med liten ansträngning. För att utvärdera vårt system har vi utfört en uppsättning riktiga applikationer på en stor multi-core maskin. Jämförelse med populära parallella programmeringsmetoder visar konkurrenskraftiga uppfarter, samtidigt som det ger en enklare parallellprogrammeringsmetod.
Couillard REF är en C-kompilator utformad för att, baserat på ett kommenterat C-program, skapa en dataflödesgraf och C-kod som motsvarar varje superinstruktion.
Couillard: Parallel Programming via Coarse-Grained Data-Flow Compilation
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}