Abstract-NABBIT är ett arbetsstjälande bibliotek för utförande av uppgiftsgrafer med godtyckliga beroenden som implementeras som ett bibliotek för det multitrådade programmeringsspråket Cilk++. Vi bevisar att NABBIT utför statiska uppgiftsgrafer parallellt i tiden vilket är asymptotiskt optimalt för grafer vars noder har konstant in-grad och ut-grad. För att utvärdera prestandan hos NABBIT implementerade vi ett dynamiskt program som representerar Smith-Waterman-algoritmen, ett oregelbundet dynamiskt program på ett tvådimensionellt rutnät. Våra experiment visar att när aktivitetsgraf noder är kartlagda till rimlig storlek block, NABBIT uppvisar låga overhead och skalor samt eller bättre än andra schemaläggningsstrategier. Den NABBIT implementation som löser det dynamiska programmet med hjälp av en uppgift graf hanterar även i vissa fall att överträffa en divide-and-conquer implementation för att direkt lösa samma dynamiska program. Slutligen utökar vi både implementeringen av NABBIT och tidsgränserna för att hantera dynamiska aktivitetsgrafer, det vill säga grafer vars noder och kanter skapas i farten vid körning.
Nabbit REF är ett bibliotek som schemalägger utförandet av aktivitetsgrafer med hjälp av Cilk++-språket.
Executing task graphs using work-stealing
{'venue': '2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS)', 'journal': '2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS)', 'mag_field_of_study': ['Computer Science']}