towards efficient stream processing in the wide area
play

Towards Efficient Stream Processing in the Wide Area - PowerPoint PPT Presentation

Towards Efficient Stream Processing in the Wide Area Matvey Arye Siddhartha Sen, Ariel Rabkin, Michael J. Freedman Princeton University Our


  1. Towards ¡Efficient ¡Stream ¡ Processing ¡in ¡the ¡Wide ¡Area ¡ Matvey ¡Arye ¡ ¡ Siddhartha ¡Sen, ¡Ariel ¡Rabkin, ¡ ¡ Michael ¡J. ¡Freedman ¡ ¡ ¡ ¡ Princeton ¡University ¡

  2. Our ¡Problem ¡Domain ¡

  3. Also ¡Our ¡Problem ¡Domain ¡

  4. Use ¡Cases ¡ • Network ¡Monitoring ¡ • Internet ¡Service ¡Monitoring ¡ • Military ¡Intelligence ¡ • Smart ¡Grid ¡ • Environmental ¡Sensing ¡ • Internet ¡of ¡Things ¡ ¡

  5. The ¡World ¡of ¡AnalyKcal ¡Processing ¡ Real-­‑Time ¡ Historical ¡ Streaming ¡ OLAP ¡Databases ¡

  6. The ¡World ¡of ¡AnalyKcal ¡Processing ¡ Real-­‑Time ¡ Historical ¡ Single ¡ Streaming ¡ OLAP ¡Databases ¡ Datacenter ¡ Simpler ¡queries ¡ High ¡ingest ¡Kme ¡ Standing ¡queries ¡ Fast ¡query ¡Kme ¡ Real-­‑Kme ¡answers ¡ ¡ ¡ ¡ Borealis/Streambase ¡ Oracle, ¡SAP, ¡IBM ¡ System-­‑S, ¡Storm ¡

  7. Data ¡Transfer ¡

  8. Trends ¡in ¡Cost/Performance ¡ 2003-­‑2008 ¡ CPU(16x) ¡ Storage(10x) ¡ Bandwidth(2.7x) ¡ [Above ¡the ¡Clouds, ¡Armbrust ¡et. ¡al.] ¡ ¡

  9. Aggregate ¡At ¡Local ¡Datacenters ¡

  10. The ¡World ¡of ¡AnalyKcal ¡Processing ¡ Real-­‑Time ¡ Historical ¡ Single ¡ OLAP ¡ Streaming ¡ Datacenter ¡ Databases ¡ Wide ¡area ¡ JetStream ¡ JetStream ¡= ¡Real-­‑Kme ¡+ ¡Historical ¡+ ¡Wide ¡Area ¡ ¡

  11. Large ¡Caveat ¡ ¡ • Preliminary ¡work ¡ • We ¡want ¡feedback ¡ and ¡suggesKons ¡

  12. Challenges ¡ • Query ¡placement ¡and ¡scheduling ¡ • ApproximaKon ¡of ¡answers ¡ • SupporKng ¡User ¡Defined ¡FuncKons ¡(UDFs) ¡ • Queries ¡on ¡historical ¡data ¡ • AdaptaKon ¡to ¡network ¡changes ¡ • Handling ¡node ¡failures ¡

  13. MoKvaKng ¡Example ¡ • “Top-­‑K ¡domains ¡served ¡by ¡a ¡CDN” ¡ – Recall ¡CDN ¡is ¡globally ¡distributed ¡ – Services ¡many ¡domains ¡ ¡ • Main ¡Challenge: ¡Minimize ¡backhaul ¡of ¡data ¡

  14. How ¡Is ¡the ¡Query ¡Specified ¡ ¡ Union ¡ Count ¡ Sort ¡ Limit ¡

  15. Problems ¡ Single ¡aggregaKon ¡point ¡ Union ¡ Count ¡ Sort ¡ Limit ¡ Runs ¡on ¡a ¡single ¡node ¡

  16. Aggregate ¡at ¡local ¡DC ¡ ¡ Less ¡Data ¡ DC1 ¡ ¡ Count ¡ DC3 ¡ ¡ ParKal ¡ ¡ ¡ Union ¡ Count ¡ Sort ¡ Limit ¡ ¡ DC2 ¡ ¡ ¡ Count ¡ ¡ ParKal ¡ ¡

  17. Count ¡ParKals ¡ ( G o o g l e , 1 ) ¡ Count ¡ (Google,5) ¡ (Google,1) ¡ Union ¡ Count ¡ (Google,1) ¡ ParKal ¡ ¡ ) 1 , e l g o o G (

  18. Non-­‑Distributed ¡ComputaKon ¡ DC3 ¡ ¡ ¡ DC1 ¡ ¡ ¡ ¡ ¡ Union ¡ Count ¡ Sort ¡ Limit ¡ ¡ ¡ DC2 ¡ ¡ ¡ ¡ ¡

  19. Split ¡Count ¡ DC3 ¡ ¡ ¡ Count ¡ DC1 ¡ A-­‑H ¡ ¡ ¡ ¡ ¡ Count ¡ Union ¡ Sort ¡ Limit ¡ I-­‑M ¡ ¡ ¡ DC2 ¡ ¡ Count ¡ ¡ N-­‑Z ¡ ¡ ¡

  20. Split ¡Union ¡ DC3 ¡ ¡ ¡ Count ¡ DC1 ¡ A-­‑H ¡ ¡ ¡ Load ¡ ¡ Bal. ¡ ¡ Count ¡ Sort ¡ Limit ¡ I-­‑M ¡ ¡ ¡ Load ¡ DC2 ¡ Bal. ¡ ¡ Count ¡ ¡ N-­‑Z ¡ ¡ ¡

  21. Do ¡ParKal ¡Sort ¡ DC3 ¡ ¡ ¡ Count ¡ Sort ¡ DC1 ¡ A-­‑H ¡ ParKal ¡ ¡ ¡ Load ¡ ¡ Bal. ¡ ¡ Count ¡ Sort ¡ Sort ¡ Limit ¡ I-­‑M ¡ ParKal ¡ ¡ ¡ Load ¡ DC2 ¡ Bal. ¡ ¡ Count ¡ Sort ¡ ¡ N-­‑Z ¡ ParKal ¡ ¡ ¡

  22. Push ¡Limit ¡Back ¡ DC3 ¡ ¡ ¡ Count ¡ Sort ¡ DC1 ¡ Limit ¡ A-­‑H ¡ ParKal ¡ ¡ ¡ Load ¡ ¡ Bal. ¡ ¡ Count ¡ Sort ¡ Limit ¡ Sort ¡ Limit ¡ I-­‑M ¡ ParKal ¡ ¡ ¡ Load ¡ DC2 ¡ Bal. ¡ ¡ Count ¡ Sort ¡ Limit ¡ ¡ N-­‑Z ¡ ParKal ¡ ¡ ¡

  23. Distributed ¡Version ¡ DC3 ¡ Single ¡Host ¡ ¡ ¡ Count ¡ Sort ¡ DC1 ¡ Limit ¡ A-­‑H ¡ ParKal ¡ ¡ ¡ Load ¡ ¡ Bal. ¡ ¡ Count ¡ Sort ¡ Limit ¡ Sort ¡ Limit ¡ I-­‑M ¡ ParKal ¡ ¡ ¡ Load ¡ DC2 ¡ Bal. ¡ ¡ Count ¡ Sort ¡ Limit ¡ ¡ N-­‑Z ¡ ParKal ¡ ¡ ¡

  24. What ¡Is ¡New ¡ • Previous ¡streaming ¡systems ¡ ¡ – User ¡guided ¡transformaKons ¡(System-­‑S, ¡Storm) ¡ – Simple ¡transforms ¡(Aurora) ¡ ¡ • JetStream ¡ – More ¡complex ¡transforms ¡ ¡ – TransformaKon ¡is ¡network ¡aware ¡ – AnnotaKons ¡for ¡user ¡defined ¡funcKons ¡

  25. Joint ¡Problems ¡ • TransformaKons ¡ – Choosing ¡which ¡ones ¡ • Placement ¡ – Network ¡constrained ¡ – Heterogeneous ¡nodes ¡ – Resource ¡availability ¡ • Decision ¡has ¡to ¡be ¡made ¡at ¡run-­‑Kme ¡

  26. Tackling ¡the ¡Joint ¡Problems ¡ • Using ¡heurisKcs ¡ • Split ¡into ¡increasingly ¡more ¡local ¡decisions ¡ – Global ¡decisions ¡are ¡coarse ¡grained ¡ • Example: ¡Assign ¡operators ¡to ¡DCs ¡ ¡ – Localized ¡decisions ¡ • Operate ¡only ¡on ¡local ¡part ¡of ¡subgraph ¡ • Have ¡more ¡current ¡view ¡of ¡available ¡resources ¡ • Do ¡not ¡affect ¡other ¡parts ¡of ¡of ¡query ¡graph ¡placement ¡

  27. Bollenecks ¡SKll ¡Possible ¡ Possible ¡Bolleneck ¡ DC1 ¡ ¡ Count ¡ DC3 ¡ ¡ ParKal ¡ ¡ ¡ Union ¡ Count ¡ Sort ¡ Limit ¡ ¡ DC2 ¡ ¡ ¡ Count ¡ ¡ ParKal ¡ ¡ Use ¡ApproximaKons ¡when ¡necessary ¡

  28. AdjusKng ¡Amount ¡of ¡ApproximaKon ¡ As ¡a ¡reacKon ¡to ¡network ¡dynamism ¡ ¡ DC1 ¡ ¡ Count ¡ DC3 ¡ ¡ ParKal ¡ ¡ ¡ Union ¡ Count ¡ Sort ¡ Limit ¡ ¡ DC2 ¡ ¡ ¡ Count ¡ ¡ ParKal ¡ ¡ If ¡bolleneck ¡goes ¡away, ¡return ¡to ¡exact ¡answers ¡

  29. ApproximaKon ¡Challenges ¡ • How ¡to ¡quanKfy ¡error ¡for ¡approximaKons? ¡ – Uniform ¡across ¡approximaKon ¡methods ¡ – Easy ¡to ¡understand ¡ – Integrates ¡well ¡with ¡metrics ¡for ¡source/node ¡failures ¡ • How ¡do ¡we ¡allow ¡UDF ¡approximaKon ¡algorithms ¡ – Which ¡exact ¡operators ¡can ¡they ¡replace ¡ – QuanKfying ¡the ¡tradeoffs ¡ – Placement ¡& ¡Scheduling ¡

  30. ApproximaKon ¡ComposiKon ¡ DC1 ¡ ¡ Count ¡ DC3 ¡ ¡ ParKal ¡ ¡ ¡ Union ¡ Count ¡ Sort ¡ Limit ¡ ¡ DC2 ¡ ¡ ¡ Count ¡ ¡ ParKal ¡ Error=? ¡ ¡ Error=e ¡ If ¡we ¡approximate ¡count, ¡how ¡does ¡that ¡ error ¡affect ¡sort ¡& ¡final ¡answer? ¡

  31. ApproximaKons ¡in ¡Uneven ¡Networks ¡ DC1 ¡ High ¡Bandwidth ¡Link ¡ ¡ Count ¡ DC3 ¡ ¡ ParKal ¡ ¡ ¡ Union ¡ Count ¡ Sort ¡ Limit ¡ ¡ DC2 ¡ ¡ ¡ Count ¡ ¡ ParKal ¡ ¡ Low ¡Bandwidth ¡Link; ¡Needs ¡ApproximaKon ¡ ¡ Do ¡we ¡need ¡to ¡approximate ¡link ¡DC1-­‑DC3 ¡if ¡ we ¡approximate ¡link ¡DC2-­‑DC3? ¡

  32. Discovering ¡data ¡trends? ¡ • How ¡has ¡top-­‑k ¡changed ¡over ¡past ¡hour? ¡ ¡ • Current ¡streaming ¡systems ¡don’t ¡answer ¡this ¡ – Except ¡by ¡using ¡centralized ¡DBs. ¡ ¡ • JetStream ¡proposes ¡using ¡storage ¡at ¡the ¡edges ¡

  33. Hypercube ¡Data ¡Structure ¡ Google ¡ Yahoo ¡ <5Kb ¡ (10, ¡5ms) ¡ (100,20ms) ¡ 50Kb-­‑ (0, ¡0ms) ¡ (1, ¡4ms) ¡ 1Mb ¡ >1Mb ¡ (5,10ms ¡ (5, ¡30ms) ¡ 1 ¡ 60 ¡ Minute ¡ … ¡

  34. Hypercube ¡Data ¡Structure ¡ All ¡ 01 ¡ 12 ¡ Month ¡ … ¡ Day ¡ 1 ¡ 31 ¡ … ¡ Hour ¡ 1 ¡ 24 ¡ … ¡ 1 ¡ 60 ¡ Minute ¡ … ¡

  35. Hypercube ¡Data ¡Structure ¡ All ¡ 01 ¡ 12 ¡ Month ¡ … ¡ Google ¡ Yahoo ¡ <5Kb ¡ (90, ¡9ms) ¡ (500,20ms) ¡ Aggregate ¡ Day ¡ 1 ¡ 31 ¡ … ¡ 50Kb-­‑ (0, ¡0ms) ¡ (5, ¡9ms) ¡ 1Mb ¡ >1Mb ¡ (5,10ms ¡ (10, ¡30ms) ¡ Hour ¡ 1 ¡ 24 ¡ … ¡ 1 ¡ 60 ¡ Minute ¡ … ¡

  36. Query: ¡“Last ¡Hour ¡and ¡a ¡half” ¡ (without ¡materializing ¡intermediate ¡nodes) ¡ All ¡ 01 ¡ 12 ¡ Month ¡ … ¡ Day ¡ 1 ¡ 31 ¡ … ¡ … ¡ 2 ¡ 1 ¡ Hour ¡ … ¡ 60 ¡ Minute ¡ 1 ¡ 1 ¡ … ¡30 ¡ … ¡

Recommend


More recommend