Strömming program omvandla eventuellt oändliga strömmar av data och ofta har både hög genomströmning och låga latenskrav. De består av användardiagram som producerar och konsumerar data tuples. Den strömmande programmeringsmodellen avslöjar naturligt uppgiften och rörledningen parallellism, vilket gör det möjligt för den att utnyttja parallella system av alla slag, inklusive stora kluster. Men det exponerar inte naturligt dataparallalism, som i stället måste extraheras från strömmande program. I detta dokument presenteras ett kompilator- och körtidssystem som automatiskt extraherar dataparallalism för distribuerad strömbehandling. Vårt tillvägagångssätt garanterar säkerhet, även i närvaro av framstående, selektiva och användardefinierade operatörer. Vid uppbyggnaden av parallella regioner säkerställer kompilatorn säkerheten genom att beakta en operatörs selektivitet, tillstånd, uppdelning och beroende av andra operatörer i diagrammet. Den distribuerade körtiden systemet ser till att tuples alltid avsluta parallella regioner i samma ordning de skulle utan data parallellism, med hjälp av den mest effektiva strategi som identifieras av kompilatorn. Våra experiment med 100 kärnor över 14 maskiner visar linjär skalbarhet för standard parallella regioner, och nära linjär skalbarhet när tupler är skuffade över parallella regioner.
Schneider m.fl. REF införde en kompilator och run-time system, som automatiskt kunde extrahera data parallellism från strömmande program genom att partitionera tillståndet genom nycklar.
Auto-parallelizing stateful distributed streaming applications
{'venue': "PACT '12", 'journal': None, 'mag_field_of_study': ['Computer Science']}