Spelling suggestions: "subject:"programming abstraction"" "subject:"erogramming abstraction""
1 |
[en] INTEGRATING ASYNCHRONOUS COMMUNICATION AND COOPERATIVE TASK MANAGEMENT / [pt] INTEGRANDO COMUNICAÇÃO ASSÍNCRONA E GERÊNCIA COOPERATIVA DE TAREFAS EM AMBIENTES DE COMPUTAÇÃO DISTRIBUÍDASILVANA ROSSETTO 25 October 2006 (has links)
[pt] Novos contextos da computação distribuída reforçam a
necessidade de abstra
ções de programação que favoreçam a comunicação
assíncrona e o tratamento
de tarefas concorrentes. Modelos de programação dirigido
a
eventos
ou baseado em threads incorporam decisões sobre como
tratar essas
questões, em cada caso apresentando vantagens e
desvantagens. Normalmente,
a opção pelo modelo mais adequado para um determinado
contexto
ou problema exige que o programador lide diretamente com
as desvantagens
inerentes a esse modelo, tornando a tarefa de
desenvolvimento de
aplicações mais complexa. Nesse trabalho aprofundamos a
discussão sobre
como combinar as vantagens dos modelos tradicionais de
programação para
oferecer uma interface de programação mais simples para
o
programador.
Exploramos o uso de operações de comunicação não-
bloqueante e de um
mecanismo básico de gerência cooperativa de tarefas
baseado na construção
de co-rotinas. Usando esses conceitos implementamos: (1)
um conjunto de
operações que facilitam o desenvolvimento de aplicações
com a estrutura
cliente/servidor sobre uma base de comunicação
assíncrona;
e (2) uma interface
de programação mais apropriada para o TinyOS, o estado
da
arte
em sistema operacional para redes de sensores. / [en] New contexts of distributed computing emphasize the need
of programming
abstractions able to deal with asynchronous communication
and concurrent
tasks. Event-driven or threaded programming models are
able to deal with
these issues, but each model presents particular
advantages and problems.
Normally, when choosing the model more appropriate for a
context or
problem, the programmer must deal directly with the
difficulties related
to this model, making the development task more complex.
In this work we
discuss a way to combine the advantages of the traditional
programming
models in order to support a programming interface more
suitable for the
programmer.We explore asynchronous communication and
cooperative task
management based on the co-routine construction. By using
these concepts,
we implement: (1) a set of operations for building
client/server applications
upon an asynchronous communication basis; and (2) a more
appropriate
programming interface for TinyOS, the state of the art of
operating system
for sensor networks.
|
2 |
Contributions to large-scale data processing systems / Contributions aux systèmes de traitement de données à grande échelleCaneill, Matthieu 05 February 2018 (has links)
Cette thèse couvre le sujet des systèmes de traitement de données àgrande échelle, et plus précisément trois approches complémentaires :la conception d'un système pour prédir des défaillances de serveursgrâce à l'analyse de leurs données de supervision; l'acheminement dedonnées dans un système à temps réel en étudiant les corrélationsentre les champs des messages pour favoriser la localité; etfinalement un environnement de développement innovateur pour concevoirdes transformations de donées en utilisant des graphes orientés deblocs.À travers le projet Smart Support Center, nous concevons unearchitecture qui passe à l'échelle, afin de stocker des sériestemporelles rapportées par des moteurs de supervision, qui vérifienten permanence la santé des systèmes informatiques. Nous utilisons cesdonnées pour effectuer des prédictions, et détecter de potentielsproblèmes avant qu'ils ne ne produisent.Nous nous plongeons ensuite dans les algorithmes d'acheminement pourles sytèmes de traitement de données en temps réel, et développons unecouche pour acheminer les messages plus efficacement, en évitant lesrebonds entre machines. Dans ce but, nous identifions en temps réelles corrélations qui apparaissent entre les champs de ces messages,tels les mots-clics et leur localisation géographique, par exempledans le cas de micromessages. Nous utilisons ces corrélations pourcréer des tables d'acheminement qui favorisent la colocation desacteurs traitant ces messages.Pour finir, nous présentons λ-blocks, un environnement dedéveloppement pour effectuer des tâches de transformations de donnéessans écrire de code source, mais en créant des graphes de blocs decode. L'environnement est rapide, et est distribué avec des pilesincluses: libraries de blocs, modules d'extension, et interfaces deprogrammation pour l'étendre. Il est également capable de manipulerdes graphes d'exécution, pour optimisation, analyse, vérification, outout autre but. / This thesis covers the topic of large-scale data processing systems,and more precisely three complementary approaches: the design of asystem to perform prediction about computer failures through theanalysis of monitoring data; the routing of data in a real-time systemlooking at correlations between message fields to favor locality; andfinally a novel framework to design data transformations usingdirected graphs of blocks.Through the lenses of the Smart Support Center project, we design ascalable architecture, to store time series reported by monitoringengines, which constantly check the health of computer systems. We usethis data to perform predictions, and detect potential problems beforethey arise.We then dive in routing algorithms for stream processing systems, anddevelop a layer to route messages more efficiently, by avoiding hopsbetween machines. For that purpose, we identify in real-time thecorrelations which appear in the fields of these messages, such ashashtags and their geolocation, for example in the case of tweets. Weuse these correlations to create routing tables which favor theco-location of actors handling these messages.Finally, we present λ-blocks, a novel programming framework to computedata processing jobs without writing code, but rather by creatinggraphs of blocks of code. The framework is fast, and comes withbatteries included: block libraries, plugins, and APIs to extendit. It is also able to manipulate computation graphs, foroptimization, analyzis, verification, or any other purposes.
|
Page generated in 0.1023 seconds