Queueing Network Modeling Patterns for Reliable and Unreliable Publish/Subscribe Protocols Georgios Bouloukakis 1,3 , Ajay Kattepur 2 , Nikolaos Georgantas 3 & Valérie Issarny 3 New York, USA, November 2018 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) 1 Donald Bren School of Information and Computer Sciences, UC Irvine, USA 2 Embedded Systems & Robotics, TCS Research & Innovation, India 3 MiMove team, Inria Paris, France
Motivation Traffic Information Management (TIM) system: TIM system Heterogeneous Dynamic 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 2
Publish/Subscribe (pub/sub) QoS features publisher 1 subscriber 1 publisher 2 broker subscriber 2 p ublisher’s subscriber’s network issues disconnection disconnections disconnections Protocols and APIs: MQTT, AMQP, JMS, … IoT applications often employ such protocols and their QoS features: 1. How to evaluate the peers’ end -to-end performance? 2. How to enable system parameter tuning to IoT applications running over pub/sub? 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 3
Analysis of Pub/Sub Interactions trace 3 trace 4 trace 1 trace 2 t’ publish t ’’ publish publisher (p) t ’’’ publish t publish QoS u QoS r QoS u QoS r lifetime lifetime lifetime lifetime p p p p p T ON T OFF T ON T OFF T ON broker (b) x QoS u QoS r QoS r QoS u lifetime lifetime lifetime b b b b b T ON T OFF T ON T ON T OFF subscriber (s) QoS u x QoS u QoS r QoS u t subscribe t subscribe s s s s s T ON T ON T OFF T ON T OFF 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 4
Pub/Sub Interactions across Multiple Layers We introduce a performance modeling pattern (PerfMP) with realistic constraints found across multiple layers in the IoT connection/disconnection connection/disconnection limited data lifetime app processing delay APP finite capacity buffers finite capacity buffers PUB/SUB mdw processing delay finite capacity buffers reliable/unreliable protocols transmission delay disconnections NET System designers can derive values for end-to-end response times and delivery success rates 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 5
Base queueing models for Pub/Sub interactions We model the end-to-end path of a pub/sub interaction by using a combination of different types of queueing models intermittent (ON/OFF) queue 1,2 continuous queue 𝜇 𝑝𝑣𝑢 𝜇 𝑗𝑜 𝜇 𝑝𝑣𝑢 𝜇 𝑗𝑜 𝜈 𝜈 T ON / T OFF Additional features: finite capacity queue messages exp. queue 𝜇 𝑝𝑣𝑢 𝜇 𝑗𝑜 𝜇 𝑝𝑣𝑢 𝜇 𝑗𝑜 𝜈 𝜈 lifetime valid event buffer dropped event expired event 1 G. Bouloukakis et al., ICC, 2017 2 G. Bouloukakis et al., ICPE, 2017 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 6
PerfMP for Pub/Sub Interactions We model reliable or unreliable interactions by using our queueing models PUBLISHER BROKER SUBSCRIBER UNRELIABLE ON/OFF in M/M/1 ON/OFF M/M/1 M/M/1 M/M/1 λ app out λ app lifetime If event == expired event == expired If subs-OFF == true If mdw-OFF == true If mdw-OFF == true If event == expired || event == expired RELIABLE ON/OFF in M/M/1 M/M/1 ON/OFF M/M/1 M/M/1 λ app out λ app lifetime If event == expired event == expired event == expired If event == expired Publisher’s or subscriber’s disconnections End-to-end disconnection pattern between publisher-broker or broker-subscriber 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 7
Evaluation Results JINQS (Java Implementation of a Network-of-Queues Simulation): open source simulator for building queueing networks We extend JINQS to implement: ON/OFF queue, reliable/unreliable event transmission, other features Our proposed PerfMP Evaluate the trade-off between response times delivery success rates for numerous reliable/unreliable interactions System parameter tuning for TIM 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) 1 http://xsb.inria.fr/d4d#mobilejinqs - 8
p reliable to s reliable: success rates pub pub T ON + T OFF = 80 sec in λ app = 2 events/sec QoS r QoS r lifetime = 10, 20 and 30 sec sub sub T ON + T OFF = 30 sec • Success Rate 39% • Success Rate 63% 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 9
p reliable to s reliable: response times • Success Rate 39% and Response Time within 5 sec. with Prob = 0.78 • Success Rate 63% and Response Time within 5 sec. with Prob = 0.45 Lower lifetime periods produce improved response time (but with lower success rates) 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 10
p reliable to s unreliable pub pub T ON + T OFF = 80 sec in λ app = 2 events/sec QoS r QoS u 1. lifetime = 10sec sub sub 2. lifetime = 30sec T ON + T OFF = 30 sec 1. Success Rate 30% and Response Time within 10 sec. with Prob = 1 2. Success Rate 38% and Response Time within 10 sec. with Prob = 0.78 QoS u feature at the subscriber side provides markedly improved response times. success rates are severely bounded only by the subscriber’s disconnections. 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 11
TIM system tuning pub pub sub sub T ON = 50 sec T OFF = 40 sec T ON = 20 sec T OFF = 10 sec in λ app = 20 events/sec QoS r QoS u 1. lifetime = 10sec 1. Success Rate 37% and average Response Time 2.1 sec 2. lifetime = 30sec 2. Success Rate 47% and average response time 9.49 sec The designer now applies finite capacity buffers (K) lifetime = 30sec 1. K = 10 1. Success Rate 42% and average Response Time 0.43 sec 2. K = 50 2. Success Rate 44% and average Response Time 1.8 sec 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 12
Next steps We introduce a performance modeling pattern (PerfMP) that captures the application and middleware layers of pub/sub protocols. System designers can rely on our PerfMP to evaluate the performance of multiple IoT applications running over pub/sub. Future work • Introduce analytical models for applications applying lifetime periods to each published event. • Use our analysis for system tuning at runtime. 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 13
Thank you 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous) - 14
Recommend
More recommend