A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES
COORDENAÇÃO DE APERFEIÇOAMENTO DO PESSOAL DE ENSINO SUPERIOR === Sistemas orientados a eventos estão se tornando cada vez mais presentes em diversos domínios de aplicação. Sistemas gráficos interativos e sistemas distribuídos são exemplos clássicos de cenários favoráveis ao emprego do paradigma d...
Main Author: | |
---|---|
Other Authors: | |
Language: | Portuguese |
Published: |
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO
2005
|
Online Access: | http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=8079@1 http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=8079@2 |
id |
ndltd-IBICT-oai-MAXWELL.puc-rio.br-8079 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
Portuguese |
sources |
NDLTD |
description |
COORDENAÇÃO DE APERFEIÇOAMENTO DO PESSOAL DE ENSINO SUPERIOR === Sistemas orientados a eventos estão se tornando cada vez
mais presentes em diversos domínios de aplicação. Sistemas
gráficos interativos e sistemas distribuídos são exemplos
clássicos de cenários favoráveis ao emprego do paradigma de
programação orientada a eventos. Atualmente, novos cenários
estão surgindo, tais como os ambientes de programação para
telefones celulares e, apesar dessa crescente presença em
sistemas computacionais, o paradigma de orientação a
eventos ainda apresenta uma série de desafios, tais como a
elaboração de mecanismos eficientes para o despacho de
eventos e o gerenciamento concorrente da execução desses
tratadores, otimizando o uso dos recursos computacionais
disponíveis.
Este trabalho apresenta um modelo para o desenvolvimento de
escalonadores de eventos em ambientes de programação
orientados a eventos. É feito um estudo dos principais
modelos de escalonamento colaborativo dos eventos,
utilizando corrotinas em conjunto com outros padrões de
projeto estudados. Defende-se um modelo onde o escalonador
é responsável por encapsular a complexidade do
gerenciamento de múltiplas linhas de execução
colaborativas, procurando otimizar o uso de CPU durante
chamadas de métodos bloqueantes.
O uso de corrotinas permite o fácil gerenciamento dessas
múltiplas linhas de execução, através da definição de
mecanismos de abstração de controle, que permitem o
encapsulamento do contexto de execução e a suspensão e
retomada do processamento de forma transparente ao
escalonador e às próprias linhas de execução. O fato de ser
um modelo de concorrência colaborativa evita problemas com
o controle de acessos concorrentes ao estado compartilhado
pelas várias linhas de execução gerenciadas pelo
escalonador.
O modelo é aplicado em dois cenários distintos: uma
ferramenta de programação para telefones celulares, que são
inerentemente orientados a eventos de processamento
assíncrono e apresentam pouco poder de processamento e
fortes restrições no uso da memória disponível; e um
middleware CORBA escrito em Lua, onde a comunicação entre
os objetos distribuídos é toda baseada no modelo de chamada
remota de métodos. === Event oriented systems are becoming present on many domains
of applications. Distributed systems and graphical
interactive systems are classical examples of environments
that adapt well to the concept of event oriented
programming. There are also emerging scenarios like
cellphone runtime environments. Despite the growing
presence on the computational systems, some challenges
still remain, like efficient method dispatch models and the
management of concurrent processing of the event handlers.
This work propose a model for an event scheduler using
collaborative routines. We introduce a study on some
mainstream scheduler models and propose a model where the
scheduler holds the responsibility to encapsulate the
complexity of managing multiple lines of execution,
minimizing the CPU time wasted with blocking methods. The
coroutine model allows the management of these multiple
lines of execution using a general control abstraction,
which allows seamless context switching during the multiple
suspending and resuming of the routine. Also, without
preemption, there is no overhead due to access control of
the shared resources. The proposed is tested on two
different scenarios: one programming framework designed to
be run mobile phones, a fully asynchronous environment with
low processing power and severe memory constraints; and a
CORBA middleware written in lua, where the communication
between distributed objects is based on the remote
procedure call modell. |
author2 |
RENATO FONTOURA DE GUSMAO CERQUEIRA |
author_facet |
RENATO FONTOURA DE GUSMAO CERQUEIRA REINALDO XAVIER DE MELLO |
author |
REINALDO XAVIER DE MELLO |
spellingShingle |
REINALDO XAVIER DE MELLO A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES |
author_sort |
REINALDO XAVIER DE MELLO |
title |
A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES |
title_short |
A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES |
title_full |
A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES |
title_fullStr |
A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES |
title_full_unstemmed |
A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES |
title_sort |
collaborative model for event scheduling using coroutines |
publisher |
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO |
publishDate |
2005 |
url |
http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=8079@1 http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=8079@2 |
work_keys_str_mv |
AT reinaldoxavierdemello acollaborativemodelforeventschedulingusingcoroutines AT reinaldoxavierdemello ummodelodeescalonamentocolaborativodeeventosbaseadoemcorrotinas AT reinaldoxavierdemello collaborativemodelforeventschedulingusingcoroutines |
_version_ |
1718986686042472448 |
spelling |
ndltd-IBICT-oai-MAXWELL.puc-rio.br-80792019-03-01T15:35:44Z A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES UM MODELO DE ESCALONAMENTO COLABORATIVO DE EVENTOS BASEADO EM CORROTINAS REINALDO XAVIER DE MELLO RENATO FONTOURA DE GUSMAO CERQUEIRA RENATO FONTOURA DE GUSMAO CERQUEIRA ROBERTO IERUSALIMSCHY NOEMI DE LA ROCQUE RODRIGUEZ RENATO FONTOURA DE GUSMAO CERQUEIRA RENATO FONTOURA DE GUSMAO CERQUEIRA COORDENAÇÃO DE APERFEIÇOAMENTO DO PESSOAL DE ENSINO SUPERIOR Sistemas orientados a eventos estão se tornando cada vez mais presentes em diversos domínios de aplicação. Sistemas gráficos interativos e sistemas distribuídos são exemplos clássicos de cenários favoráveis ao emprego do paradigma de programação orientada a eventos. Atualmente, novos cenários estão surgindo, tais como os ambientes de programação para telefones celulares e, apesar dessa crescente presença em sistemas computacionais, o paradigma de orientação a eventos ainda apresenta uma série de desafios, tais como a elaboração de mecanismos eficientes para o despacho de eventos e o gerenciamento concorrente da execução desses tratadores, otimizando o uso dos recursos computacionais disponíveis. Este trabalho apresenta um modelo para o desenvolvimento de escalonadores de eventos em ambientes de programação orientados a eventos. É feito um estudo dos principais modelos de escalonamento colaborativo dos eventos, utilizando corrotinas em conjunto com outros padrões de projeto estudados. Defende-se um modelo onde o escalonador é responsável por encapsular a complexidade do gerenciamento de múltiplas linhas de execução colaborativas, procurando otimizar o uso de CPU durante chamadas de métodos bloqueantes. O uso de corrotinas permite o fácil gerenciamento dessas múltiplas linhas de execução, através da definição de mecanismos de abstração de controle, que permitem o encapsulamento do contexto de execução e a suspensão e retomada do processamento de forma transparente ao escalonador e às próprias linhas de execução. O fato de ser um modelo de concorrência colaborativa evita problemas com o controle de acessos concorrentes ao estado compartilhado pelas várias linhas de execução gerenciadas pelo escalonador. O modelo é aplicado em dois cenários distintos: uma ferramenta de programação para telefones celulares, que são inerentemente orientados a eventos de processamento assíncrono e apresentam pouco poder de processamento e fortes restrições no uso da memória disponível; e um middleware CORBA escrito em Lua, onde a comunicação entre os objetos distribuídos é toda baseada no modelo de chamada remota de métodos. Event oriented systems are becoming present on many domains of applications. Distributed systems and graphical interactive systems are classical examples of environments that adapt well to the concept of event oriented programming. There are also emerging scenarios like cellphone runtime environments. Despite the growing presence on the computational systems, some challenges still remain, like efficient method dispatch models and the management of concurrent processing of the event handlers. This work propose a model for an event scheduler using collaborative routines. We introduce a study on some mainstream scheduler models and propose a model where the scheduler holds the responsibility to encapsulate the complexity of managing multiple lines of execution, minimizing the CPU time wasted with blocking methods. The coroutine model allows the management of these multiple lines of execution using a general control abstraction, which allows seamless context switching during the multiple suspending and resuming of the routine. Also, without preemption, there is no overhead due to access control of the shared resources. The proposed is tested on two different scenarios: one programming framework designed to be run mobile phones, a fully asynchronous environment with low processing power and severe memory constraints; and a CORBA middleware written in lua, where the communication between distributed objects is based on the remote procedure call modell. 2005-09-14 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=8079@1 http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=8079@2 por info:eu-repo/semantics/openAccess PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO PPG EM INFORMÁTICA PUC-Rio BR reponame:Repositório Institucional da PUC_RIO instname:Pontifícia Universidade Católica do Rio de Janeiro instacron:PUC_RIO |