the operator placement problem
play

The Operator Placement Problem G. Cugola E. Della - PowerPoint PPT Presentation

Stream and Complex Event Processing The Operator Placement Problem G. Cugola E. Della Valle A. Margara Politecnico di


  1. Stream ¡and ¡Complex ¡Event ¡Processing ¡ The ¡Operator ¡Placement ¡Problem ¡ G. ¡Cugola ¡ ¡ ¡ ¡E. ¡Della ¡Valle ¡ ¡ ¡ ¡A. ¡Margara ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Politecnico ¡di ¡Milano ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Vrije ¡Universiteit ¡Amsterdam ¡ cugola@elet.polimi.it a.margara@vu.nl dellavalle@elet.polimi.it

  2. Deployment ¡model ¡ Sources ¡ Sinks ¡ IFP ¡Engine ¡ Informa3on ¡Flows ¡ Informa3on ¡Flows ¡ -­‑-­‑-­‑-­‑-­‑ ¡ -­‑-­‑-­‑-­‑-­‑ ¡ -­‑-­‑-­‑-­‑-­‑ ¡ -­‑-­‑-­‑-­‑-­‑ ¡ Rules ¡ -­‑-­‑-­‑-­‑-­‑ ¡ -­‑-­‑-­‑-­‑-­‑ ¡ -­‑-­‑-­‑-­‑-­‑ ¡ -­‑-­‑-­‑-­‑-­‑ ¡ Rule ¡managers ¡ Centralized ¡ Clustered ¡ Networked ¡ Distributed ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 2 ¡

  3. Why ¡Going ¡Distributed? ¡ • More ¡processing ¡power ¡ • Current ¡algorithms ¡already ¡very ¡efficient ¡but ¡… ¡ • … ¡certain ¡computaOons ¡may ¡sOll ¡introduce ¡ boPlenecks ¡ • Complex ¡aggregaOons ¡ • Background ¡“Big” ¡Data ¡ – Access ¡to ¡slow ¡storage ¡(disk, ¡distributed ¡file ¡system, ¡DB) ¡ – Processing ¡required ¡on ¡background ¡data ¡ » E.g., ¡reasoning ¡(extract ¡implicit ¡knowledge ¡from ¡explicit ¡ informaOon) ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 3 ¡

  4. Why ¡Going ¡Distributed? ¡ • Scalability ¡ • Scale ¡on ¡the ¡number ¡of ¡rules ¡ • Different ¡rules ¡on ¡different ¡machines ¡ • Scale ¡on ¡the ¡number ¡of ¡connecOons ¡ • Sources ¡and ¡sinks ¡ • One ¡machine ¡can ¡(efficiently) ¡support ¡only ¡a ¡limited ¡ number ¡of ¡open ¡connecOons ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 4 ¡

  5. Why ¡Going ¡Distributed? ¡ • Heterogeneous ¡hardware ¡ • Accelerators ¡ • Many-­‑core ¡hardware ¡ • GP-­‑GPUs ¡ • FPGAs ¡ • Exploit ¡them! ¡ • Resource-­‑constrained ¡nodes ¡ • Sensors ¡ • Mobile ¡devices ¡ • Offload ¡(only ¡part ¡of ¡the) ¡computaOon! ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 5 ¡

  6. Why ¡Going ¡Distributed? ¡ • Because ¡we ¡ are ¡ in ¡a ¡distributed ¡scenario ¡ • Distributed ¡sources ¡ • Distributed ¡sinks ¡ • Distributed ¡background ¡knowledge ¡ • Forwarders ¡ • Network ¡can ¡be ¡the ¡scarce ¡resource ¡ • Bandwidth ¡ • Delay ¡ • E.g., ¡high ¡frequency ¡traders ¡locate ¡their ¡machine ¡ close ¡to ¡the ¡sources ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 6 ¡

  7. How ¡to ¡Distribute? ¡An ¡Open ¡Problem ¡ • Most ¡exisOng ¡systems ¡adopt ¡a ¡centralized ¡ soluOon ¡ • When ¡distributed ¡processing ¡is ¡allowed, ¡it ¡is ¡ usually ¡based ¡on ¡clustered ¡soluOons ¡ • Like ¡Google ¡ • But ¡on ¡streaming ¡data… ¡ • A ¡few ¡systems ¡have ¡recognized ¡the ¡importance ¡of ¡ networked ¡deployment ¡for ¡some ¡applicaOons ¡ • In ¡most ¡cases, ¡deployment/configuraOon ¡is ¡not ¡ automaOc ¡ • E.g., ¡Microsog ¡StreamInsight ¡ ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 7 ¡

  8. How ¡to ¡Distribute? ¡The ¡Goals ¡ • Event-­‑based ¡communicaOon ¡in ¡mulO-­‑sites ¡/ ¡ mulO-­‑companies ¡environments ¡ • Goal: ¡Reduce ¡inter-­‑company ¡communicaOon ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 8 ¡

  9. How ¡to ¡Distribute? ¡The ¡Goals ¡ • Wireless ¡Sensor ¡Networks ¡/ ¡Mobile ¡Ad-­‑hoc ¡ Networks ¡ • Goal: ¡Reduce ¡communicaOon ¡(and ¡power ¡ consumpOon!) ¡through ¡in-­‑network ¡filtering ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 9 ¡

  10. How ¡to ¡Distribute? ¡The ¡Goals ¡ • Cloud ¡based ¡deployments ¡ • Goal: ¡BePer ¡task ¡allocaOon ¡to ¡reduce ¡the ¡number ¡ of ¡machines ¡to ¡buy ¡(and ¡pay!) ¡ • Goal: ¡Reduce ¡processing ¡Ome ¡(no ¡processing/ communicaOon ¡boPlenecks!) ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 10 ¡

  11. The ¡Problem ¡ • Enable ¡users ¡to ¡maximize ¡the ¡performance ¡of ¡ the ¡system ¡(QoS) ¡ • Minimize ¡communicaOon ¡costs ¡ • Minimize ¡end-­‑to-­‑end ¡latency ¡ • Maximize ¡resources ¡uOlizaOon ¡ • … ¡ • By ¡exploiOng ¡some ¡properOes ¡of ¡the ¡ distributed ¡system ¡ • Locality ¡ • Special ¡Hardware ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 11 ¡

  12. The ¡SoluOon: ¡Operator ¡Placement ¡ • Input ¡ • Logical ¡execuOon ¡plan ¡for ¡queries/rules ¡ • Sources, ¡Sinks, ¡Operators ¡ • Physical ¡topology ¡of ¡the ¡network ¡of ¡processing ¡ nodes ¡ • Set ¡of ¡constraints ¡ • Processing ¡capabiliOes, ¡special ¡hardware, ¡security, ¡ “pinned” ¡operators ¡ • Measures ¡or ¡esOmates ¡of ¡availability ¡and ¡demand ¡ • Input/Output ¡message ¡rate, ¡CPU/memory ¡ consumpOon, ¡… ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 12 ¡

  13. The ¡SoluOon: ¡Operator ¡Placement ¡ • Output: ¡ • Assignment ¡of ¡operators ¡to ¡nodes ¡ • SaOsfying ¡the ¡constraints ¡ • APempOng ¡to ¡opOmize ¡some ¡objecOve ¡funcOon ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 13 ¡

  14. Operator ¡Placement ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 14 ¡

  15. Operator ¡Placement ¡ • Several ¡proposals ¡ • Different ¡techniques ¡ • Different ¡objecOve ¡funcOons ¡ • Designed ¡for ¡different ¡environments ¡ • Difficult ¡to ¡compare ¡ • Impossible ¡to ¡compute ¡the ¡opOmum ¡soluOon ¡in ¡ real ¡cases ¡ • Even ¡in ¡its ¡simplest ¡form, ¡the ¡problem ¡is ¡NP-­‑hard ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 15 ¡

  16. Complexity ¡ • Very ¡simple ¡instance ¡of ¡ the ¡problem ¡ • Pure ¡publish/subscribe ¡ • No ¡intermediate ¡operators ¡ • One ¡single ¡source ¡ (publisher) ¡ • MulOple ¡sinks ¡(subscribers) ¡ • Fixed ¡cost ¡for ¡moving ¡an ¡ event ¡through ¡link ¡L: ¡c L ¡ • Minimize ¡the ¡overall ¡cost ¡ for ¡moving ¡events ¡from ¡the ¡ source ¡to ¡the ¡sinks ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 16 ¡

  17. Complexity ¡ • Solving ¡this ¡problem ¡is ¡equivalent ¡to ¡solving ¡ the ¡Steiner ¡Tree ¡problem ¡ • Ogen, ¡we ¡need ¡to ¡take ¡into ¡account ¡more ¡ constraints ¡ • Node ¡processing ¡capaciOes ¡ • Node ¡connecOons ¡capabiliOes ¡ • Link ¡bandwidth ¡ • MulOple ¡rules ¡ • Share ¡operators? ¡ • Replicate ¡operators ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 17 ¡

  18. Outline ¡ • Taxonomy ¡of ¡operator ¡placement ¡algorithms ¡ • Based ¡on ¡“Placement ¡Strategies ¡for ¡Internet-­‑Scale ¡ Data ¡Stream ¡Systems” ¡by ¡Lakshmanan ¡et ¡al, ¡2008 ¡ • Present ¡two ¡algorithms ¡in ¡detail ¡ • “Network-­‑aware ¡operator ¡placement ¡for ¡stream-­‑ processing ¡systems” ¡by ¡Pietzuch ¡et ¡al, ¡2006 ¡ • “Deployment ¡strategies ¡for ¡distributed ¡Complex ¡ Event ¡Processing” ¡by ¡Cugola ¡and ¡Margara, ¡2013 ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-­‑ ¡The ¡Operator ¡Placement ¡Problem ¡ 18 ¡

  19. Taxonomy ¡

Recommend


More recommend