Delta: Scalable Data Dissemination under Capacity Constraints
Résumé
In content-based publish-subscribe (pub/sub) systems, users express their interests as queries over a stream of publications. Scaling up content-based pub/sub to very large numbers of subscriptions is challenging: users are interested in low {\em latency}, that is, getting subscription results fast, while the pub/sub system provider is mostly interested in {\em scaling}, \ie being able to serve large numbers of subscribers, with low {\em computational resources utilization}. We present a novel approach for scalable content-based pub/sub in the presence of constraints on the available CPU and network resources, implemented within our pub/sub system Delta. We achieve scalability by off-loading some subscriptions from the pub/sub \linebreak server, and leveraging view-based query rewriting to feed these subscriptions from the data accumulated in others. Our main contribution is a novel algorithm for organizing views in a multi-level dissemination network, exploiting view-based rewriting and powerful linear programming capabilities to scale to many views, respect capacity constraints, and minimize latency. The efficiency and effectiveness of our algorithm are confirmed through extensive experiments and a large deployment in a WAN.
Dans des systèmes d'abonnements basés sur le contenu, les utilisateurs expriment leurs intérêts par des requêtes sur les flux de publications. Le passage à l'échelle des systèmes d'abonnements pose de nombreux problèmes de performance: les utilisateurs sont intéressés par la fraîcheur des données, c'est à dire, obtenir les résultats de leurs abonnements le plus vite possible, tandis que les fournisseurs du système sont surtout intéressés par le passage à l'échelle, c'est à dire, être capable de répondre à de grands nombres d'utilisateurs tout en utilisant peu de ressources système. Nous décrivons une nouvelle approche de dissémination de données dans un système d'abonnements, en présence de contraintes sur les ressources CPU et réseau disponibles; cette approche est mise en oeuvre dans le cadre de notre plateforme Delta. Le passage à l'échelle est obtenu en déchargeant le fournisseur de données de l'effort de répondre à une partie des abonnements; en échange, nous tirons profit de techniques de re-écriture de requêtes à l'aide de vues afin de propager les données de ces abonnements à partir d'autres abonnements. Notre contribution principale est un nouvel algorithme qui organise les vues dans un réseau de dissémination d'information sur plusieurs niveaux, qui s'appuie sur la re-écriture à base de vues ainsi que sur des techniques puissantes de programmation linéaire afin de passer à l'échelle pour de grands nombres de vues, respecter les contraintes de capacité du système, et minimiser les délais de propagation des information. L'efficacité et la performance de notre algorithme est confirmée par notre évaluation expérimentale, qui inclut l'étude d'un déploiement réel dans un réseau WAN.
Origine | Fichiers produits par l'(les) auteur(s) |
---|