Dynamoth: A Scalable Pub/Sub Middleware for Latency-Constrained Applications in the Cloud

This paper presents Dynamoth, a dynamic, scalable, channel-based pub/sub middleware targeted at large scale, distributed and latency constrained systems. Our approach provides a software layer that balances the load generated by a high number of publishers, subscribers and messages across multiple, standard pub/sub servers that can be deployed in the Cloud. In order to optimize Cloud infrastructure usage, pub/sub servers can be added or removed as needed. Balancing takes into account the live characteristics of each channel and is done in an hierarchical manner across channels (macro) as well as within individual channels (micro) to maintain acceptable performance and low latencies despite highly varying conditions. Load monitoring is performed in an unintrusive way, and rebalancing employs a lazy approach in order to minimize its temporal impact on performance while ensuring successful and timely delivery of all messages. Extensive real-world experiments that illustrate the practicality of the approach within a massively multiplayer game setting are presented. Results indicate that with a given number of servers, Dynamoth was able to handle 60% more simultaneous clients than the consistent hashing approach, and that it was properly able to deal with highly varying conditions in the context of large workloads.

[1]  Franz Aurenhammer,et al.  Voronoi diagrams—a survey of a fundamental geometric data structure , 1991, CSUR.

[2]  Maarten van Steen,et al.  PolderCast: Fast, Robust, and Scalable Architecture for P2P Topic-Based Pub/Sub , 2012, Middleware.

[3]  Yoav Tock,et al.  Constructing scalable overlays for pub-sub with many topics , 2007, PODC '07.

[4]  Yoav Tock,et al.  SpiderCast: a scalable interest-aware overlay for topic-based pub/sub communication , 2007, DEBS '07.

[5]  Jörg Kienzle,et al.  Mammoth: a massively multiplayer game research framework , 2009, FDG.

[6]  Kuan-Ta Chen,et al.  An analysis of WoW players' game hours , 2008, NETGAMES.

[7]  Norman Ahmed,et al.  PAPaS: peer-assisted publish and subscribe , 2014, Int. J. Bus. Process. Integr. Manag..

[8]  Jay Kreps,et al.  Kafka : a Distributed Messaging System for Log Processing , 2011 .

[9]  Nalini Venkatasubramanian,et al.  DYNATOPS: a dynamic topic-based publish/subscribe architecture , 2013, DEBS '13.

[10]  Krishna P. Gummadi,et al.  King: estimating latency between arbitrary internet end hosts , 2002, IMW '02.

[11]  Ming Li,et al.  A Scalable and Elastic Publish/Subscribe Service , 2011, 2011 IEEE International Parallel & Distributed Processing Symposium.

[12]  Hans-Arno Jacobsen,et al.  The PADRES Distributed Publish/Subscribe System , 2005, FIW.

[13]  Hans-Arno Jacobsen,et al.  Load Balancing Content-Based Publish/Subscribe Systems , 2010, TOCS.

[14]  You Jinyuan,et al.  A Design Framework for Internet-scale Event Observation and Notification , 2001 .

[15]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[16]  Shun-Yun Hu,et al.  VSO: Self-Organizing Spatial Publish Subscribe , 2011, 2011 IEEE Fifth International Conference on Self-Adaptive and Self-Organizing Systems.

[17]  Anne-Marie Kermarrec,et al.  Scribe: A Large-Scale and Decentralized , 2002 .

[18]  Peter R. Pietzuch,et al.  Hermes: a distributed event-based middleware architecture , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[19]  Shun-Yun Hu,et al.  SPEX: scalable spatial publish/subscribe for distributed virtual worlds without borders , 2014, MMSys '14.

[20]  Beihong Jin,et al.  Empirical Evaluation of Content-based Pub/Sub Systems over Cloud Infrastructure , 2010, 2010 IEEE/IFIP International Conference on Embedded and Ubiquitous Computing.

[21]  Thomas S. Heinze,et al.  Elastic Scaling of a High-Throughput Content-Based Publish/Subscribe Engine , 2014, 2014 IEEE 34th International Conference on Distributed Computing Systems.

[22]  Yijie Wang,et al.  A Scalable and Reliable Matching Service for Content-Based Publish/Subscribe Systems , 2015, IEEE Transactions on Cloud Computing.

[23]  Maarten van Steen,et al.  Cost-Effective Resource Allocation for Deploying Pub/Sub on Cloud , 2014, 2014 IEEE 34th International Conference on Distributed Computing Systems.