to towards high performa mance processing of streami ming
play

To Towards High Performa mance Processing of Streami - PowerPoint PPT Presentation

To Towards High Performa mance Processing of Streami ming Data May-27-2016 Supun Kamburugamuve, Saliya Ekanayake, Milinda Pathirage and Geoffrey C. Fox


  1. To Towards ¡High ¡ ¡Performa mance ¡ ¡ Processing ¡ ¡of ¡ ¡Streami ming ¡ ¡Data May-­‑27-­‑2016 ¡ Supun ¡Kamburugamuve, ¡Saliya ¡Ekanayake, ¡Milinda ¡Pathirage ¡and ¡ Geoffrey ¡C. ¡Fox ¡ Indiana ¡University ¡ Bloomington, ¡USA ¡ ¡

  2. Outline • Research ¡MoMvaMon ¡ • Distributed ¡stream ¡processing ¡systems ¡(DSPFs) ¡ • CommunicaMon ¡improvements ¡ • Results ¡ • Future ¡work ¡

  3. Background ¡& ¡Mo>va>on RoboMcs ¡ApplicaMons ¡ Time ¡series ¡data ¡visualizaMon ¡ Simultaneous ¡LocalizaMon ¡and ¡Mapping ¡ N-­‑Body ¡Collision ¡Avoidance ¡ in ¡real ¡Mme ¡ Work ¡in ¡progress ¡ Robot ¡with ¡a ¡Laser ¡ Robots ¡need ¡to ¡avoid ¡ Map ¡Built ¡from ¡Robot ¡data ¡ Range ¡Finder ¡ collisions ¡when ¡they ¡move ¡ HPC ¡ApplicaMons ¡ Cloud ¡ApplicaMons ¡

  4. Data ¡pipeline Sending ¡to ¡ ¡ Sending ¡to ¡ ¡ PersisMng ¡ ¡ pub-­‑sub ¡ to ¡storage ¡ MulMple ¡ ¡ streaming ¡ ¡ workflows ¡ A ¡stream ¡ applicaMon ¡with ¡ Streaming ¡ ¡ some ¡tasks ¡running ¡ workflow ¡ in ¡parallel ¡ Gateway ¡ Message ¡Brokers ¡ RabbitMQ, ¡KaZa ¡ Streaming ¡Workflows ¡ Apache ¡Storm ¡ End ¡to ¡end ¡delays ¡without ¡any ¡ Hosted ¡in ¡FutureSystems ¡OpenStack ¡cloud ¡ processing ¡is ¡less ¡than ¡10ms ¡ which ¡is ¡accessible ¡through ¡IU ¡network ¡

  5. Improving ¡communica>ons • Broadcast ¡communicaMon ¡ • Shared ¡memory ¡communicaMon ¡between ¡workers ¡in ¡a ¡node ¡ ¡

  6. Streaming ¡Applica>on Stream ¡of ¡events ¡ Event ¡processing ¡logic ¡ User ¡Graph ¡ ExecuMon ¡Graph ¡ User ¡graph ¡is ¡converted ¡to ¡an ¡execuMon ¡graph ¡ Communica)on ¡methods ¡ Broadcast, ¡Round ¡Robin, ¡Direct, ¡Stream ¡ParMMoning ¡

  7. Example ¡applica>ons N-­‑Body ¡collision ¡avoidance ¡ SLAM ¡ ParMcles ¡are ¡distributed ¡ ¡ in ¡parallel ¡tasks ¡ Map ¡building ¡ happens ¡ periodically ¡

  8. Execu>on ¡Graph ¡Distribu>on ¡in ¡the ¡Storm ¡ Cluster Node-­‑1 ¡ Node-­‑2 ¡ S ¡ W ¡ S ¡ G ¡ W ¡ W ¡ Worker ¡ Worker ¡ Worker ¡ Worker ¡ Two ¡node ¡cluster ¡each ¡running ¡two ¡workers. ¡The ¡tasks ¡of ¡the ¡ Topology ¡is ¡assigned ¡to ¡the ¡workers ¡

  9. Communica>ons ¡in ¡Storm B ¡ W ¡ Node-­‑1 ¡ Node-­‑2 ¡ Node-­‑1 ¡ Node-­‑2 ¡ B-­‑1 ¡ W-­‑2 ¡ W-­‑4 ¡ W-­‑6 ¡ B-­‑1 ¡ W-­‑2 ¡ W-­‑4 ¡ W-­‑6 ¡ W-­‑1 ¡ W-­‑3 ¡ W-­‑5 ¡ W-­‑7 ¡ W-­‑1 ¡ W-­‑3 ¡ W-­‑5 ¡ W-­‑7 ¡ Worker ¡ Worker ¡ Worker ¡ Worker ¡ Worker ¡ Worker ¡ Worker ¡ Worker ¡ Worker ¡and ¡Task ¡distribuMon ¡of ¡Storm ¡ CommunicaMon ¡links ¡are ¡between ¡workers ¡ A ¡worker ¡hosts ¡mulMple ¡tasks. ¡B-­‑1 ¡is ¡a ¡task ¡ These ¡are ¡mulMplexed ¡among ¡the ¡tasks ¡ ¡ of ¡component ¡B ¡and ¡W-­‑1 ¡is ¡a ¡task ¡of ¡W ¡ ¡ 9 ¡

  10. Default ¡Broadcast Node-­‑1 ¡ Node-­‑2 ¡ B-­‑1 ¡ W-­‑2 ¡ W-­‑4 ¡ W-­‑6 ¡ W-­‑1 ¡ W-­‑3 ¡ W-­‑5 ¡ W-­‑7 ¡ Worker ¡ Worker ¡ Worker ¡ Worker ¡ B-­‑1 ¡wants ¡to ¡broadcast ¡a ¡message ¡to ¡W, ¡it ¡sends ¡6 ¡ messages ¡through ¡3 ¡TCP ¡communicaMon ¡channels ¡ and ¡send ¡1 ¡message ¡to ¡W-­‑1 ¡via ¡memory ¡ 10 ¡

  11. Op>mized ¡Broadcast • Binary ¡tree ¡ • Workers ¡arranged ¡in ¡a ¡binary ¡tree ¡ • Flat ¡tree ¡ • Broadcast ¡from ¡the ¡origin ¡to ¡1 ¡worker ¡in ¡each ¡node ¡sequenMally. ¡This ¡worker ¡ broadcast ¡to ¡other ¡workers ¡in ¡the ¡node ¡sequenMally ¡ • BidirecMonal ¡Rings ¡ • Workers ¡arranged ¡in ¡a ¡line ¡ • Starts ¡two ¡broadcasts ¡from ¡the ¡origin ¡and ¡these ¡traverse ¡half ¡of ¡the ¡line ¡

  12. Three ¡Algorithms ¡for ¡broadcast Serial ¡Broadcast ¡ Flat ¡tree ¡ Binary ¡tree ¡ Ring ¡ Example ¡broadcasMng ¡communicaMons ¡for ¡each ¡algorithm ¡in ¡a ¡4 ¡node ¡cluster ¡with ¡each ¡machine ¡ having ¡4 ¡workers. ¡The ¡outer ¡green ¡boxes ¡show ¡cluster ¡machines ¡and ¡inner ¡small ¡boxes ¡show ¡ workers. ¡The ¡top ¡box ¡displays ¡the ¡broadcasMng ¡worker ¡and ¡arrows ¡illustrate ¡the ¡communicaMon ¡ among ¡the ¡workers ¡

  13. Shared ¡memory ¡based ¡Communica>ons • Inter ¡process ¡communicaMons ¡using ¡shared ¡memory ¡for ¡a ¡single ¡node ¡ • MulMple ¡writer ¡single ¡reader ¡design ¡ • Writer ¡breaks ¡the ¡message ¡in ¡to ¡packets ¡and ¡puts ¡them ¡to ¡memory ¡ • Reader ¡reads ¡the ¡packets ¡and ¡assemble ¡the ¡message ¡ ¡

  14. Shared ¡Memory ¡Communica>ons Read ¡packet ¡by ¡packet ¡ sequenMally ¡ Write ¡ ¡ Reader ¡ Writer ¡01 ¡ Obtain ¡the ¡write ¡locaMon ¡ write ¡ Packet ¡1 ¡ Packet ¡2 ¡ Packet ¡3 ¡ atomically ¡and ¡increment ¡ Writer ¡02 ¡ Write ¡ Shared ¡File ¡ Use ¡a ¡new ¡file ¡when ¡the ¡file ¡size ¡is ¡reached ¡ Reader ¡deletes ¡the ¡files ¡acer ¡it ¡reads ¡them ¡fully ¡ Fields ¡ ID ¡ No ¡of ¡Packets ¡ Packet ¡No ¡ Dest ¡Task ¡ Content ¡Length ¡ Source ¡Task ¡ Stream ¡Length ¡ Stream ¡ Content ¡ Bytes ¡ 16 ¡ 4 ¡ 4 ¡ 4 ¡ 4 ¡ 4 ¡ 4 ¡ Variable ¡ Variable ¡ Packet ¡Structure ¡

  15. Experiments • 11 ¡Node ¡cluster ¡ W • 1 ¡Node ¡– ¡Nimbus ¡& ¡ZooKeeper ¡ RabbitMQ ¡ R B W G RabbitMQ ¡ • 1 ¡Node ¡– ¡RabbitMQ ¡ ¡ W • 1 ¡Node ¡– ¡Client ¡ • 8 ¡Nodes ¡– ¡Supervisors ¡with ¡4 ¡ Client ¡ workers ¡each ¡ • Client ¡sends ¡messages ¡with ¡the ¡ current ¡Mmestamp, ¡the ¡topology ¡ returns ¡a ¡response ¡with ¡the ¡same ¡ Mme ¡stamp. ¡Latency ¡= ¡current ¡Mme ¡-­‑ ¡ Mmestamp ¡

  16. Memory ¡Mapped ¡Communica>ons ¡ ¡ RelaMve ¡Importance ¡of ¡Shared ¡Memory ¡ CommunicaMon ¡to ¡TCP ¡ A ¡topology ¡with ¡ No ¡significant ¡ communicaMons ¡going ¡ difference ¡ ¡ through ¡all ¡the ¡workers ¡ because ¡we ¡are ¡ arranged ¡in ¡a ¡line ¡ using ¡all ¡ ¡ the ¡workers ¡in ¡the ¡ cluster ¡beyond ¡30 ¡ workers ¡ Default ¡TCP ¡implementaMon ¡Latency ¡ Y ¡axis ¡shows ¡the ¡difference ¡in ¡latency ¡ of ¡default ¡TCP ¡implementaMon ¡and ¡ shared ¡memory ¡based ¡implementaMon ¡ About ¡25% ¡reducMon ¡for ¡32 ¡workers ¡ (TCP ¡-­‑ ¡SHM) ¡

  17. Broadcast ¡Latency ¡Improvement Speedup ¡of ¡latency ¡with ¡ both ¡TCP ¡based ¡and ¡ Shared ¡Memory ¡based ¡ communicaMons ¡for ¡ different ¡algorithms ¡ Latency ¡of ¡binary ¡tree, ¡flat ¡tree ¡and ¡bi-­‑direcMonal ¡ring ¡implementaMons ¡compared ¡to ¡serial ¡implementaMon. ¡ Different ¡lines ¡show ¡varying ¡parallel ¡tasks ¡with ¡TCP ¡communicaMons ¡and ¡shared ¡memory ¡communicaMons(SHM). ¡

  18. Throughput Throughput ¡of ¡serial, ¡binary ¡tree, ¡flat ¡tree ¡and ¡ring ¡implementaMons. ¡Different ¡lines ¡show ¡varying ¡parallel ¡tasks ¡with ¡TCP ¡ communicaMons ¡and ¡shared ¡memory ¡communicaMons ¡(SHM) ¡

  19. Future ¡Work • Implement ¡the ¡Shared ¡memory ¡and ¡communicaMon ¡algorithms ¡for ¡ other ¡stream ¡engines ¡(Twiler ¡Heron) ¡ • Experiment ¡on ¡larger ¡clusters ¡with ¡applicaMons ¡ • HPC ¡Scheduler ¡for ¡Streaming ¡applicaMons ¡(Slurm, ¡Torque) ¡ • C++ ¡APIs ¡for ¡data ¡processing ¡ • High ¡performance ¡interconnects ¡for ¡high ¡throughput ¡low ¡latency ¡ communicaMons ¡in ¡HPC ¡clusters ¡ • Scheduling ¡to ¡take ¡advantage ¡of ¡the ¡shared ¡memory ¡& ¡collecMve ¡ communicaMons ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend