• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2
  • Tagged with
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

[en] A COLLABORATIVE MODEL FOR EVENT SCHEDULING USING COROUTINES / [pt] UM MODELO DE ESCALONAMENTO COLABORATIVO DE EVENTOS BASEADO EM CORROTINAS

REINALDO XAVIER DE MELLO 04 April 2006 (has links)
[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.
2

[en] REVISITING COROUTINES / [pt] REVISITANDO CO-ROTINAS

ANA LUCIA DE MOURA 27 October 2004 (has links)
[pt] O objetivo deste trabalho é defender o resgate do conceito de co-rotinas como uma construção de controle poderosa e conveniente, que pode substituir tanto continuações de primeira classe como threads com um conceito único e mais simples. Para suprir a ausência de uma definição precisa e adequada para o conceito de co-rotinas, propomos um novo sistema de classificação, e introduzimos o conceito de co- rotinas completas, para o qual provemos uma definição formal, baseada em uma semântica operacional. Demonstramos a seguir a equivalência de poder expressivo entre co-rotinas completas simétricas e assimétricas e entre co-rotinas completas e continuações one-shot tradicionais e parciais, discutindo as vantagens de corotinas completas assimétricas em relação a co-rotinas simétricas e continuações de primeira classe. Finalmente, analizamos os benefícios e desvantagens associados aos diversos modelos de concorrência, justificando a adoção de modelos alternativos a multithreading e o oferecimento de co-rotinas como uma construção básica de concorrência, adequada à implementação desses modelos. / [en] The purpose of this work is to defend the revival of coroutines as a powerful and convenient control construct, which can replace both firstclass continuations and threads with a single and simpler concept. In order to provide an adequate and precise definition of the concept of coroutines, we propose a new classifying system, and introduce the concept of complete coroutines, for which we provide a formal definition based on an operational semantics. We then demostrate that complete symmetric coroutines and complete asymmetric coroutines have equivalent expressive power, as well as complete coroutines and one-shot traditional and partial continuations. We also discuss the advantages of using complete asymmetric coroutines instead of symmetric coroutines or first-class continuations. Finally, we analyse the benefits and problems associated with different concurrency models, and argue in favor of the replacement of multithreading with alternative concurrency models and the provision of coroutines as a basic concurrency construct, adequate for the implementation of these alternative models.

Page generated in 0.023 seconds