Behandling av data i rätt tid, Data Stream Processing (DSP) applikationer får ett ökande intresse för att bygga nya genomträngande tjänster. På grund av att datakällor är oförutsägbara, fungerar dessa applikationer ofta i dynamiska miljöer, därför kräver de förmågan att elastiskt skala som svar på arbetsbelastningsvariationer. I detta dokument hanterar vi ett nyckelproblem för effektiv körtidshantering av en DSP-applikation i geo-distribuerade miljöer: vi undersöker placerings- och replikeringsbesluten samtidigt som vi överväger applikationen och resursen heterogenitet och migreringen overhead, så att vi väljer den optimala anpassningsstrategin som kan minimera migreringskostnaderna samtidigt som vi uppfyller kraven för applikationen Quality of Service (QoS). Vi presenterar Elastisk DSP Replication and Placement (EDRP), en enhetlig ram för QoS medveten inledande installation och körtidselasticitetshantering av DSP-applikationer. I EDRP, utbyggnaden och runtime beslut drivs av lösningen av ett lämpligt heltal linjär programmering problem, vars objektiva funktion fångar den relativa betydelsen mellan QoS mål och omkonfigureringskostnader. Vi presenterar också genomförandet av EDRP och relaterade mekanismer på Apache Storm. Vi genomför en grundlig experimentell utvärdering, både numerisk och prototypbaserad, som visar de fördelar som EDRP uppnått för applikationens prestanda. I detta avsnitt går vi igenom forskningsresultat och utvecklingsinsatser i samband med placering och driftsättning av en DSP-applikation på datorinfrastrukturen, inklusive de metoder som ägnas åt att omkonfigurera utbyggnaden vid drifttidpunkten. Placering och Replication Problem. Beslut om att placera en DSP-applikations operatörer och fastställa deras replikationsgrad kan fattas i två olika skeden av applikationens livscykel, dvs. vid den första utbyggnaden av applikationen på den distribuerade datorinfrastrukturen och i körtid. Dessutom kan operatörens placering och operatörsreplikering antingen fattas som oberoende och ortogonala beslut eller gemensamt övervägas. DSP-placeringsproblemet [11] har undersökts i stor utsträckning i litteraturen under olika modelleringsantaganden och optimeringsmål, t.ex. [5, 8, 12]. I [12], Vi föreslår en allmän formulering av den optimala DSP placering som tar hänsyn till heterogeniteten i data- och nätverksresurser och som omfattar olika lösningar som föreslås i litteraturen. Eftersom placeringsproblemen är NP-hårda har flera heuristiker föreslagits, t.ex. [13, 14, 15]. De syftar till att minimera en mångfald av allmännyttiga funktioner, såsom DSP-applikation latency, internode trafik, och nätverksanvändning. Även om vi i detta dokument fokuserar på applikationslatens och kostnader för utförande, kan vår problemformulering enkelt utökas för att ta hänsyn till olika allmännyttiga funktioner. De flesta arbeten i litteraturen betraktar DSP operatör placering och replikering som oberoende och ortogonala beslut, där placeringen först utförs utan att bestämma det optimala antalet kopior för varje operatör. Därefter, som svar på en viss försämring av prestandan, identifieras de operatörer som ska replikeras och deras nya replikeringsgrad. Denna tvåstegsmetod kräver att DSP-applikationen omplaneras för att kunna anta den nya applikationskonfigurationen. Eftersom de flesta befintliga DSP-ramverk måste starta om programmet för att anpassa dess installation (t.ex. Apache Storm [16]), kan en omkonfigurering uppstå under en betydande stilleståndstid. I [17] föreslog vi en enstegsstrategi för att gemensamt definiera både placering och replikationsgrad för operatörerna i en DSP-applikation. När det gäller det problem som studerades i [17], som endast beaktade den ursprungliga DSP utbyggnad, i detta dokument hanterar vi den elastiska körtid anpassning. Elasticitet är en viktig funktion för DSP-system som lockar många forskningsinsatser. De flesta metoder som möjliggör elasticitet är i sig organiserade enligt MAPE (Monitor, Analyze, Plan och Execute) referensmodell för självanpassningssystem [18]. Efter denna modell anpassas den aktuella placeringen och replikeringen genom att antalet operatörsrepliker skalas in/ut och eventuellt omplaneras som svar på förändringar, antingen observerade eller förutspådda, i någon övervakad prestandamått. Vissa verk, t.ex., [9, 19, 20, 21] utnyttjar best-effort tröskelbaserade policyer baserat på utnyttjandet av antingen systemnoder eller operatören repliker. Olika tillvägagångssätt kan identifieras för tröskeldefinitionen. En enda statiskt definierad tröskel används, t.ex. i [20] för att begränsa belastningsobalansen mellan datornoder. Flera statiskt definierade tröskelvärden används, t.ex. i [19] för att anpassa beteendet hos varje enskild nod i systemet. Ett dynamiskt fastställt tröskelvärde förbättrar systemets anpassningsförmåga, t.ex. under [21] där en förstärkt inlärningsmetod föreslås. Totalt sett ändras de berörda aktörernas replikationsgrad i enlighet med detta när utnyttjandet överstiger tröskelvärdet. Andra arbeten, t.ex. [2, 6, 7, 22], använder mer komplexa strategier för att bestämma skalbesluten. Lohrmann m.fl. [6] föreslå en strategi som upprätthåller latensbegränsningar genom att förlita sig på en prediktiv latensmodell baserad på köteori; deras lösning hanterar dock endast statslösa DSP-tillämpningar. Mencagli [7] uppvisar ett spelteoretiskt tillvägagångssätt där kontrolllogiken fördelas på varje operatör. Stela [22] förlitar sig på dataflödesbaserat mått för att identifiera de operatörer som behöver skalas upp. Det har integrerats i Storm, men statliga operatörer verkar inte förvaltas. Det arbete som är närmast relaterat till vårt har presenterats i [3, 23, 24]. Heinze m.fl. [3, 23] föreslår en modell för att uppskatta latenstoppar som orsakas av operatörens omfördelningar, och använder den för att definiera en placering heuristisk. Det resulterar i en lösning som endast placerar de nytillkomna operatörerna och minimerar latensöverträdelserna. Vår strategi skiljer sig åt genom att vi föreslår en optimal problemformulering som behandlar omkonfigureringskostnaderna för hela DSP-applikationen. Dessutom utgör det ett riktmärke mot vilket heuristik kan jämföras. Madsen m.fl. [24] formulerar ett MILP-optimeringsproblem som syftar till att styra belastningsbalansering och horisontell skalning, vilket fungerar i v.V. i.0 (v) − V.v. ≤ 2 V.V. i res (U i,o (v) − V.v.) · v.V. i res (V.v.) − U i.0 (v)) ≤ 0}. 23 v (U,V)  på är den procentandel av den nya staten som överförs till v från DataStore, går från utplacering U till V. Termerna proportionellt till  och V på den del av staten som omfördelas bland de andra operatören repliker efter en skalning operation.
Till exempel Cardellini et al. REF hanterar distribution och replikering av DSP-tillämpningar genom att föreslå ett deterministiskt tillvägagångssätt med en linjär programmeringsmodell som behandlar mätvärden som latens från end till end, monetära kostnader och omkonfigurering av overhead.
Optimal operator deployment and replication for elastic distributed data stream processing
{'venue': 'Concurr. Comput. Pract. Exp.', 'journal': 'Concurr. Comput. Pract. Exp.', 'mag_field_of_study': ['Computer Science']}