[en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES

Detalhes bibliográficos
Autor(a) principal: REINALDO XAVIER DE MELLO
Data de Publicação: 2006
Tipo de documento: Tese
Idioma: por
Título da fonte: Repositório Institucional da PUC-RIO (Projeto Maxwell)
Texto Completo: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=8079&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=8079&idi=2
http://doi.org/10.17771/PUCRio.acad.8079
Resumo: [pt] 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.
id PUC_RIO-1_8c65446d81c886e30a3ca163caaeb3d4
oai_identifier_str oai:MAXWELL.puc-rio.br:8079
network_acronym_str PUC_RIO-1
network_name_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository_id_str 534
spelling [en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES [pt] UM MODELO DE ESCALONAMENTO COLABORATIVO DE EVENTOS BASEADO EM CORROTINAS [pt] CO-ROTINAS[pt] BREW[pt] MIDDLEWARE[en] COROUTINES[en] BREW[en] MIDDLEWARE[pt] 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.[en] 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.MAXWELLRENATO FONTOURA DE GUSMAO CERQUEIRARENATO FONTOURA DE GUSMAO CERQUEIRARENATO FONTOURA DE GUSMAO CERQUEIRAREINALDO XAVIER DE MELLO2006-04-04info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=8079&idi=1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=8079&idi=2http://doi.org/10.17771/PUCRio.acad.8079porreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2018-10-11T00:00:00Zoai:MAXWELL.puc-rio.br:8079Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342018-10-11T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false
dc.title.none.fl_str_mv [en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES
[pt] UM MODELO DE ESCALONAMENTO COLABORATIVO DE EVENTOS BASEADO EM CORROTINAS
title [en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES
spellingShingle [en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES
REINALDO XAVIER DE MELLO
[pt] CO-ROTINAS
[pt] BREW
[pt] MIDDLEWARE
[en] COROUTINES
[en] BREW
[en] MIDDLEWARE
title_short [en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES
title_full [en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES
title_fullStr [en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES
title_full_unstemmed [en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES
title_sort [en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES
author REINALDO XAVIER DE MELLO
author_facet REINALDO XAVIER DE MELLO
author_role author
dc.contributor.none.fl_str_mv RENATO FONTOURA DE GUSMAO CERQUEIRA
RENATO FONTOURA DE GUSMAO CERQUEIRA
RENATO FONTOURA DE GUSMAO CERQUEIRA
dc.contributor.author.fl_str_mv REINALDO XAVIER DE MELLO
dc.subject.por.fl_str_mv [pt] CO-ROTINAS
[pt] BREW
[pt] MIDDLEWARE
[en] COROUTINES
[en] BREW
[en] MIDDLEWARE
topic [pt] CO-ROTINAS
[pt] BREW
[pt] MIDDLEWARE
[en] COROUTINES
[en] BREW
[en] MIDDLEWARE
description [pt] 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.
publishDate 2006
dc.date.none.fl_str_mv 2006-04-04
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=8079&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=8079&idi=2
http://doi.org/10.17771/PUCRio.acad.8079
url https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=8079&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=8079&idi=2
http://doi.org/10.17771/PUCRio.acad.8079
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv MAXWELL
publisher.none.fl_str_mv MAXWELL
dc.source.none.fl_str_mv reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)
instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron:PUC_RIO
instname_str Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron_str PUC_RIO
institution PUC_RIO
reponame_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
collection Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository.name.fl_str_mv Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
repository.mail.fl_str_mv
_version_ 1849967220064518144