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 ¡ ¡
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
May-‑27-‑2016 ¡ Supun ¡Kamburugamuve, ¡Saliya ¡Ekanayake, ¡Milinda ¡Pathirage ¡and ¡ Geoffrey ¡C. ¡Fox ¡ Indiana ¡University ¡ Bloomington, ¡USA ¡ ¡
Robot ¡with ¡a ¡Laser ¡ Range ¡Finder ¡ Map ¡Built ¡from ¡Robot ¡data ¡ RoboMcs ¡ApplicaMons ¡ Robots ¡need ¡to ¡avoid ¡ collisions ¡when ¡they ¡move ¡ N-‑Body ¡Collision ¡Avoidance ¡ Simultaneous ¡LocalizaMon ¡and ¡Mapping ¡ Time ¡series ¡data ¡visualizaMon ¡ in ¡real ¡Mme ¡ Cloud ¡ApplicaMons ¡ HPC ¡ApplicaMons ¡ Work ¡in ¡progress ¡
Message ¡Brokers ¡ RabbitMQ, ¡KaZa ¡ Gateway ¡
Sending ¡to ¡ ¡ pub-‑sub ¡ Sending ¡to ¡ ¡ PersisMng ¡ ¡ to ¡storage ¡
Streaming ¡ ¡ workflow ¡
A ¡stream ¡ applicaMon ¡with ¡ some ¡tasks ¡running ¡ in ¡parallel ¡
MulMple ¡ ¡ streaming ¡ ¡ workflows ¡
Streaming ¡Workflows ¡ Apache ¡Storm ¡ Hosted ¡in ¡FutureSystems ¡OpenStack ¡cloud ¡ which ¡is ¡accessible ¡through ¡IU ¡network ¡ End ¡to ¡end ¡delays ¡without ¡any ¡ processing ¡is ¡less ¡than ¡10ms ¡
¡
User ¡Graph ¡ ExecuMon ¡Graph ¡ User ¡graph ¡is ¡converted ¡to ¡an ¡execuMon ¡graph ¡ Stream ¡of ¡events ¡ Event ¡processing ¡logic ¡ Broadcast, ¡Round ¡Robin, ¡Direct, ¡Stream ¡ParMMoning ¡ Communica)on ¡methods ¡
ParMcles ¡are ¡distributed ¡ ¡ in ¡parallel ¡tasks ¡
SLAM ¡
Map ¡building ¡ happens ¡ periodically ¡
N-‑Body ¡collision ¡avoidance ¡
W ¡
Worker ¡ Node-‑1 ¡
S ¡
Worker ¡
W ¡ W ¡
Worker ¡ Node-‑2 ¡
S ¡
Worker ¡
G ¡ Two ¡node ¡cluster ¡each ¡running ¡two ¡workers. ¡The ¡tasks ¡of ¡the ¡ Topology ¡is ¡assigned ¡to ¡the ¡workers ¡
9 ¡
Worker ¡and ¡Task ¡distribuMon ¡of ¡Storm ¡ A ¡worker ¡hosts ¡mulMple ¡tasks. ¡B-‑1 ¡is ¡a ¡task ¡
W-‑1 ¡
Worker ¡ Node-‑1 ¡
B-‑1 ¡ W-‑3 ¡
Worker ¡
W-‑2 ¡ W-‑5 ¡
Worker ¡ Node-‑2 ¡
W-‑4 ¡ W-‑7 ¡
Worker ¡
W-‑6 ¡ CommunicaMon ¡links ¡are ¡between ¡workers ¡ These ¡are ¡mulMplexed ¡among ¡the ¡tasks ¡ ¡ ¡ W-‑1 ¡
Worker ¡ Node-‑1 ¡
B-‑1 ¡ W-‑3 ¡
Worker ¡
W-‑2 ¡ W-‑5 ¡
Worker ¡ Node-‑2 ¡
W-‑4 ¡ W-‑7 ¡
Worker ¡
W-‑6 ¡ B ¡ W ¡
10 ¡
W-‑1 ¡
Worker ¡ Node-‑1 ¡
B-‑1 ¡ W-‑3 ¡
Worker ¡
W-‑2 ¡ W-‑5 ¡
Worker ¡ Node-‑2 ¡
W-‑4 ¡ W-‑7 ¡
Worker ¡
W-‑6 ¡ 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 ¡
broadcast ¡to ¡other ¡workers ¡in ¡the ¡node ¡sequenMally ¡
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 ¡
among ¡the ¡workers ¡
Flat ¡tree ¡ Binary ¡tree ¡ Ring ¡ Serial ¡Broadcast ¡
¡
write ¡ Packet ¡1 ¡ Packet ¡2 ¡ Packet ¡3 ¡
Writer ¡01 ¡ Writer ¡02 ¡
Write ¡ Write ¡ ¡ Obtain ¡the ¡write ¡locaMon ¡ atomically ¡and ¡increment ¡
Shared ¡File ¡ Reader ¡
Read ¡packet ¡by ¡packet ¡ sequenMally ¡
Use ¡a ¡new ¡file ¡when ¡the ¡file ¡size ¡is ¡reached ¡ Reader ¡deletes ¡the ¡files ¡acer ¡it ¡reads ¡them ¡fully ¡
ID ¡ No ¡of ¡Packets ¡ Packet ¡No ¡ Dest ¡Task ¡ Content ¡Length ¡ Source ¡Task ¡ Stream ¡Length ¡ Stream ¡ Content ¡ 16 ¡ 4 ¡ 4 ¡ 4 ¡ 4 ¡ 4 ¡ 4 ¡ Variable ¡ Variable ¡
Bytes ¡ Fields ¡
Packet ¡Structure ¡
W W W B R G RabbitMQ ¡ RabbitMQ ¡ Client ¡
workers ¡each ¡
current ¡Mmestamp, ¡the ¡topology ¡ returns ¡a ¡response ¡with ¡the ¡same ¡ Mme ¡stamp. ¡Latency ¡= ¡current ¡Mme ¡-‑ ¡ Mmestamp ¡
No ¡significant ¡ difference ¡ ¡ because ¡we ¡are ¡ using ¡all ¡ ¡ the ¡workers ¡in ¡the ¡ cluster ¡beyond ¡30 ¡ workers ¡ Y ¡axis ¡shows ¡the ¡difference ¡in ¡latency ¡
shared ¡memory ¡based ¡implementaMon ¡ (TCP ¡-‑ ¡SHM) ¡
RelaMve ¡Importance ¡of ¡Shared ¡Memory ¡ CommunicaMon ¡to ¡TCP ¡
Default ¡TCP ¡implementaMon ¡Latency ¡ A ¡topology ¡with ¡ communicaMons ¡going ¡ through ¡all ¡the ¡workers ¡ arranged ¡in ¡a ¡line ¡
About ¡25% ¡reducMon ¡for ¡32 ¡workers ¡
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). ¡
Speedup ¡of ¡latency ¡with ¡ both ¡TCP ¡based ¡and ¡ Shared ¡Memory ¡based ¡ communicaMons ¡for ¡ different ¡algorithms ¡
Throughput ¡of ¡serial, ¡binary ¡tree, ¡flat ¡tree ¡and ¡ring ¡implementaMons. ¡Different ¡lines ¡show ¡varying ¡parallel ¡tasks ¡with ¡TCP ¡ communicaMons ¡and ¡shared ¡memory ¡communicaMons ¡(SHM) ¡
communicaMons ¡in ¡HPC ¡clusters ¡
communicaMons ¡
throughput ¡
throughput ¡because ¡TCP ¡is ¡the ¡bolleneck ¡
¡
This ¡work ¡was ¡parMally ¡supported ¡by ¡NSF ¡CIF21 ¡DIBBS ¡1443054 ¡and ¡AFOSR ¡FA9550-‑13-‑1-‑0225 ¡awards. ¡We ¡ would ¡also ¡like ¡to ¡express ¡our ¡graMtude ¡to ¡the ¡staff ¡and ¡system ¡administrators ¡at ¡the ¡Digital ¡Science ¡Center ¡ (DSC) ¡at ¡Indiana ¡University ¡for ¡supporMng ¡us ¡on ¡this ¡work. ¡ ¡
hlp://dsc.soic.indiana.edu/publicaMons/tsmap3d.pdf ¡