Abstract
Publish/subscribe (pub/sub) is a popular communication paradigm in the design of large-scale distributed systems. A fundamental challenge in deploying pub/sub systems on a data center or a cloud infrastructure is efficient and cost-effective resource allocation that would allow delivery of notifications to all subscribers. In this paper, we provide answers to the following three fundamental questions: Given a pub/sub workload, (1) what is the minimum amount of resources needed to satisfy all the subscribers, (2) what is a cost-effective way to allocate resources for the given workload, and (3) what is the cost of hosting it on a public Infrastructure-as-a-Service (IaaS) provider like Amazon EC2. To answer these questions, we formulate a problem coined Minimum Cost Subscriber Satisfaction (MCSS). We prove MCSS to be NP-hard and provide an efficient heuristic solution based on a combination of optimizations. We evaluate the solution experimentally using real traces from Spotify and Twitter along with a pricing model from Amazon. We show the impact of each optimization using a naive solution as the baseline. Using a variety of practical scenarios for each dataset, we also show that our solution scales well for millions of subscribers and runs fast.
Original language | English |
---|---|
Title of host publication | 2014 IEEE 34th International Conference on Distributed Computing Systems |
Place of Publication | Piscataway, Nj |
Publisher | IEEE |
Pages | 555-566 |
Number of pages | 12 |
ISBN (Electronic) | 978-1-4799-5168-0 , 978-1-4799-5169-7 |
DOIs | |
Publication status | Published - 2014 |
Externally published | Yes |
Event | 34th International Conference on Distributed Computing Systems 2014 - Madrid, Spain Duration: 30 Jun 2014 → 3 Jul 2014 Conference number: 34 |
Conference
Conference | 34th International Conference on Distributed Computing Systems 2014 |
---|---|
Abbreviated title | ICDCS 2014 |
Country/Territory | Spain |
City | Madrid |
Period | 30/06/14 → 3/07/14 |
Keywords
- Pub/sub
- Resource allocation
- Social interaction