Sunteți pe pagina 1din 2

ABSTRACT: Applications involving analysis of data streams have gained signicant popularity and importance.

Frequency counting, frequent elements and top-k queries form a class of operators that are used for a wide range of stream analysis applications. In spite of the abundance of these algorithms, all known techniques for answering data stream queries are sequential in nature. The imminent ubiquity of Chip Multi-Processor (CMP) architectures requires algorithms that can exploit the parallelism of such architectures. In this paper, we rst explore the challenges in parallelizing frequent elements and top-k queries in the context of the inherent parallelism available in multi-core processors, evaluate dierent naive techniques for intraoperator parallelism, and summarize the insights obtained from the dierent parallelization eorts. Our experimental analysis of the naive designs implemented in the paper shows that intraoperator parallelism is not straightforward and requires a Complete redesign of the system. Based on the lessons learnt from this analysis, we design an ecient and scalable framework for parallelizing frequency counting, frequent elements and top-k queries over data streams. The proposed CoTS 1 (Co-operative Thread Scheduling) frame work is based on the principle of threads co-operating rather than contending. Our experiments on a stateof-the-art quad-core chip multiprocessor architecture and synthetic data sets demonstrate the scalability of the proposed frame work, and the eciency is demonstrated by peak throughput of more that 60 million elements per second. In addition, for skewed data distributions, despite using heavy weight synchronization primitives, the implementation of the proposed framework outperforms the sequential implementation by a factor of 24X.

RESUME : Les applications qui ont besoins lanalyse des flux de donnes ont gagnes une popularit et importance. Le comptage de frquence, le frquent lment et les tops K requtes forment une classe des oprateurs ou ils sont utiliss pour une large gamme des applications des flux de donnes. Malgr l'abondance de ces algorithmes, toutes les techniques connues pour rpondre des questions du flux de donnes sont squentielles en nature. Lubiquit imminente des architectures des puces multiprocesseur exige les algorithmes qui peuvent exploiter le paralllisme de telles architectures. Dans ce document on va dbuter par lexploration des dfis dans la paralllisassions de frquent lment et les tops K requtes dans le contexte du paralllisme inhrent disponible dans les multiprocesseurs, paralllisme d'intra-oprateur, et rcapitulez les perspicacits obtenues partir des diffrents efforts de paralllisassions. Notre analyse exprimentale des conceptions naves mises en application dans ce document expose que le paralllisme d'intra-oprateur n'est pas franc et exige une nouvelle conception complte du systme. Bas sur les leons a appris de cette analyse, nous dcrivons un efficace frame-work pour parallliser le comptage de frquence, lments frquents et le top k requtes pour les flux de donnes. Les COTS proposs sont bass sur le principe des threads Cooprations plutt que de contester. Nos expriences sur l'architecture de la puce multiprocesseur quadruple-noyau et les Modem synthtiques dmontrent le scalabilit du travail propos, pour l'efficacit est dmontr par la sortie maximale de plus 60 millions lments par seconde. En addition, travers la distribution des donnes, en dpit dutiliser des primitives de synchronisation avec un poids lourd, lexcution du cadre propos dpasse l'excution squentielle par un facteur de 2-4x.
CategoriesandSubjectDescriptors: H.4[InformationSystemsApplications]: Miscellaneous. GeneralTerms: Parallelism, Stream Algorithms, Design, Performance. Keywords: Data Streams, Frequent elements queries, Top-k queries, intra-operator parallelism, Chip Multi Processor.

This work is partly supported by NSF Grants IIS0744539,IIS-0223022 and CNS-0423336

1. Introduction : 2. Ii

3. Query Model : Dans cette section, nous dfinissons les requtes soutenir prs le systme. Les requtes peuvent changer et baser sur le type de rponses cherch (requtes 1, 2) ou la frquence auxquels le besoin de requtes d'tre rpondu (requtes 3, 4). Query 1.Point Query : Ce type de requte est intress dans un lment simple et est une requte boolenne de la forme IsElementFrequent(e) ou IsElementInTopk(e). Query 2.Set Query : Ces requtes rapportent tous les lments ce sont frquent, ou tous les lments qui sont dans le Top-k.Une requte rgle par lments frquents peut tre exprime formellement dans une langue semblable au SQL comme: Select S.element From StreamS Where IsElementFrequent(S.element). Query 3.Interval/Discrete Query : Ces requtes sont poss en tant que des requtes indpendantes et requtes conscutives sont espacs hors de en ce qui concerne le temps ou le nombre des mises jour. Une requte rgle d'intervalle frquent d'lments peut tre exprim formellement en langue semblable au SQL comme: Select S.element From StreamS Where IsElementFrequent(S.element) Every0.001s. Query 4 Continuous Query : Ces requtes sont poses avec " chaque mise jour ", c.--d., ds qu'un lment est en cour de traitement, la rponse devrait tre mise jour. 3.3Space Saving :(Espace de sauvegarde) L'algorithme d'conomie de l'espace fournit une technique lgante pour le comptage de frquence sur un flux des lments. Intresser la proprit de l'algorithme est qu'elle est dterministe et fournit les limites serres de l'espace correspondant l'utilisateur spcifi la limite d'erreur. Moniteurs seulement O(1 d'conomie de l'espace compteurs pour fournir des rponses dans la limite d'erreur de?. Algorithme 1 donne une vue d'ensemble de l'conomie de l'espace. La force des oprations effectues par l'algorithme ont t tabules. Algorithme 01 lalgorithme espace de sauvegarde Pour chaque lment (e) dans le flux /*Si Elments appartient lensemble surveill */ Si (Loockup(e)) Alors IncrmenterCompt(e) Sinon Si(NumComptSurveill<MaxCompt) Alors eFrquence1 AddElementAuPosition(minfreq,e) Sinon Ecras(minfreq,e) FinSi FinSi FinPr

Algorithme 02 La table de dlgation des informations parasites Procdure Dlgation entre Loockup(e) NouvelleInsertionFaux Si (entre=Null) Alors entreInserer(e) NouvelleInsertionVrai FinSi RsultatValeur(entreCompteur) Si (Rsultat=1) Alors /* Pas de thread au traitement de cet lment*/ Croix Frontire(Entre,NouvelleInsertion) FinSi Fin De Procdure Dlgation Algorithme 03

S-ar putea să vă placă și