Tag Archives: mcgill

CacheDOCS: A Dynamic Key-Value Object Caching Service

Gascon-Samson, J., Coppinger, M., Jin, F., Kienzle, J., Kemme, B. (2017) CacheDOCS: A Dynamic Key-Value Object Caching Service, ICDCS-PED2017, Atlanta, USA
[Preprint] [Presentation Slides]

Abstract: Caching plays an important role in many domains, as it can lead to important performance improvements. A key-value based caching system typically stores the results of popular queries in efficient storage locations. While caching enjoys widespread usage in the context of dynamic web applications, most mainstream caching systems store static binary items, which makes them impractical for many real-world applications that would benefit from storing dynamic items. In this paper, we propose CacheDOCS, a dynamic key-value object caching service that allows for caching arbitrary objects. As part of our model, CacheDOCS provides an API that supports the execution of operations against cached objects, and allows for clients to seamlessly subscribe to keep their local copies in sync with cached remote objects. CacheDOCS supports multiple update dissemination strategies in order to optimize performance, and proposes a versioning mechanism to ensure consistency. We implemented a full version of CacheDOCS and we ran several performance-related experiments under three use-case scenarios.

MultiPub: Latency and Cost-Aware Global-Scale Cloud Publish/Subscribe

Gascon-Samson, J., Kemme, B., Kienzle, J. (2017) MultiPub: Latency and Cost-Aware Global-Scale Cloud Publish/Subscribe, ICDCS 2017, Atlanta, USA [Preprint] [Presentation Slides]

Abstract: Topic-based pub/sub is a widely used communication mechanism in distributed systems for targeted information dissemination between loosely coupled entities. To scale dynamically depending on the current communication demands, pub/services can be conveniently deployed in the cloud. To provide fast dissemination, the service can be distributed across multiple cloud regions. The architectural design and run-time deployment of such a middleware is tricky, though, as it can have a significant effect on communication latency and cloud-based cost. In this paper, we propose MultiPub, a flexible pub/sub middleware for latency-constrained, world-wide distributed applications that dynamically reconfigures the communication layer to ensure a predefined maximum latency for publication dissemination while minimizing cloud-based costs. This is achieved by routing publications either through a single or across multiple cloud regions. We demonstrate the effectiveness of MultiPub by presenting a set of experiments that report on the achieved communication latency and cost savings compared to traditional approaches, as well as a performance evaluation.

DynFilter: Limiting Bandwidth of Online Games using Adaptive Pub/Sub Message Filtering

Gascon-Samson, J., Kienzle, J., Kemme, B. DynFilter: Limiting Bandwidth of Online Games using Adaptive Pub/Sub Message Filtering, NetGames 2015, Zagreb, Croatia
[Preprint] [Presentation Slides]

Abstract: Multiplayer online games can generate a lot of server-related outgoing bandwidth, due to many factors such as highly variable amounts of players or the gathering of many players towards the same in-game locations. Predicting the exact amount of required bandwidth to support varying conditions can be costly, and players can experience game-wide failures if bandwidth is insufficiently provisioned. We present DynFilter, a game-oriented message processing middleware designed to adaptively filter state update messages for in-game entities located apart, in order to reduce bandwidth needs and stay within predefined quotas. We ran experiments on Amazon EC2 over a prototype game mimicking a FPS and a MMOG. Our results show that DynFilter is properly able to maintain bandwidth use within the pre-established quotas while still maintaining adequate delivery of relevant state update messages.

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

Gascon-Samson, J., Garcia, F.-P., Kemme, B., Kienzle, J. (2015) Dynamoth: A Scalable Pub/Sub Middleware for Latency-Constrained Applications in the Cloud, ICDCS 2015, Columbus, USA
> Acceptance ratio: 12.8% [Preprint] [Presentation Slides]

Abstract: 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.

Lamoth: A Message Dissemination Middleware for MMOGs in the Cloud [Poster]

Gascon-Samson J., Kemme, B., Kienzle, J. (2013) Lamoth: A Message Dissemination Middleware for MMOGs in the Cloud, NetGames 2013, Denver, USA
[Preprint] [Poster]

Abstract: Provisionning network resources for Massively Multiplayer Online Games (MMOGs) poses interesting challenges due to the fact that the load can greatly vary depending on the time or other in-game factors. In this paper, we propose Lamoth, a cloud middleware for MMOGs that provides an interface for in-game message dissemination. Lamoth handles the exchange of game messages between nodes by making use of an arbitrary number of off-the-shelve pub/sub servers deployed in the cloud depending on the game scenario. In order to evaluate our platform, we implement Lamoth on top of Mammoth, McGill’s research-oriented MMOG, and conduct extensive experiments by triggering situations which would cause networks bottlenecks. Our evaluations show that Lamoth can allow a MMOG to scale to high numbers of players and can properly handle extremely-demanding in-game situations if enough resources are provided.

Monitoring Large-Scale Location-Based Information Systems

Khan, H., Gascon-Samson, J., Kienzle, J., Kemme, B. (2015) Monitoring Large-Scale Location-Based Information Systems, IPDPS 2015, Hyderabad, India
> Acceptance ratio: 22% [Preprint]

Abstract: Monitoring the state of a distributed virtual world is challenging for several reasons: 1) the distributed information must be gathered in real-time without affecting the performance of the information system, 2) in large-scale systems it is impossible for a single node to collect and process all the data, 3) the vast information must be filtered and aggregated according to what the human observer wants to focus on, and 4) the point of interest of the observer can change frequently. In this paper we present and evaluate a non-intrusive monitoring middleware that addresses these challenges by dynamically partitioning the geographic map (e.g., of the virtual world or the game) in terms of map objects and (expected) state changes. We assign a different collector node to each of these partitions to collect and pre-process the data, and forward it to a central monitoring node. Furthermore, we provide mechanisms to efficiently filter and aggregate location changes, the pre-dominant changes in location-based information systems. We describe a specific monitoring setup that takes advantage of the replication model that is common in many virtual worlds and multiplayer games to collect the data. Finally, we present extensive performance results that show the trade-offs between scalability, precision, and real-time performance.

Watchmen: Scalable Cheat-Resistant Support for Distributed Multi-player Online Games

Yahyavi, A., Huguenin, K., Gascon-Samson, J., Kienzle, J., Kemme, B. (2013) Watchmen: Scalable Cheat-Resistant Support for Distributed Multi-player Online Games, ICDCS 2013, Philadelphia, USA
> Acceptance ratio: 13%  [Preprint]

Abstract: Multi-player online games are inherently distributed applications, and a wide range of distributed architectures have been proposed. However, only few successful commercial systems follow such approaches, even given their benefits, due to one main hurdle: the easiness with which cheaters can disrupt the game state computation and dissemination, perform illegal actions, or unduly gain access to sensitive information. The challenge is that any measures used to address cheating must meet the heavy scalability and tight latency requirements of fast paced games. We propose Watchmen, the first distributed scalable protocol designed with cheat detection and prevention in mind that supports fast paced games. It is based on a randomized dynamic proxy scheme for both the dissemination and verification of actions. Furthermore, Watchmen reduces the information exposed to players close to the minimum required to render the game. We build our proof-of-concept prototype on top of Quake III. We show that Watchmen, while scaling to hundreds of players and meeting the tight latency requirements of first person shooter games, is able to significantly reduce opportunities to cheat, even in the presence of collusion.