Please use this identifier to cite or link to this item: http://repositorio.unicamp.br/jspui/handle/REPOSIP/260447
Type: TESE
Title: Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real
Author: Adán Coello, Juan Manuel
Advisor: Magalhães, Mauricio Ferreira, 1951-
Abstract: Resumo: Um sistema de tempo-real deve atender às restrições temporais das aplicações a que está associado, e ser facilmente reconfigurável para adaptar-se às mudanças que deverão ocorrer ao longo da sua vida útil. Isto é, um sistema de tempo-real deve ser previsível e flexível. Esta tese procura contribuir para a concepção de ambientes de desenvolvimento de sistemas distribuídos de tempo-real, mostrando que a produção de sistemas flexíveis e previsíveis é viável. Para isso, é proposto um modelo de programação suportado por duas linguages de programação (a LPM-RC e a LCM-RC) integradas a uma estratégia de escalonamento. No modelo de programação proposto, aplicações são construídas combinando módulos de "software" reusáveis, o que lhes confere um alto grau de reconfigurabilidade. As restrições temporais de um módulo (periodicidade e prazo de término) não são parte do módulo propriamente dito, e sim do contexto onde é usado (das aplicações). Módulos podem compartilhar recursos usando os serviços oferecidos por servidores. Estes últimos, diferenciam-se dos demais módulos (clientes) por não terem restrições temporais próprias; eles herdam as restrições temporais dos clientes que estão atendendo. Uma interação cliente-servidor pode incluir tanto a execução de um único serviço como a execução de uma seqüência de serviços em exclusão mútua (relativamente aos demais clientes do servidor). Para mostrar a viabilidade do modelo e das linguagens propostas, do ponto de vista do cumprimento das restrições temporais de aplicações, é proposta uma estratégia de escalonamento, integrada às linguagens, em três níveis: 1) escalonamento "off-line" para os módulos periódicos, 2) escalonamento dinâmico dirigido por tempo para os módulos aperiódicos e 3) escalonamento dinâmico de módulos sem restrições de tempo, usando os períodos em que não há módulos com restrições de tempo para executar. Como parte da validação da estratégia de escalonamento, mostra-se como extrair de um programa as informações relevantes para fins de escalonamento e propõe-se um algoritmo para o escalonamento de módulos com restrições temporais críticas (periódicos). Este algoritmo, baseado em outro disponível na literatura, além de buscar um escalonamento que atenda às restrições de tempo, recursos e localização dos módulos periódicos, procura facilitar o escalonamento dinâmico de módulos aperiódicos. Isto é feito balanceando a carga do sistema e determinando "janelas de escalonamento" para os módulos periódicos, em lugar de instantes rígidos de início. O algoritmo "off-line" foi avaliado através de simulações. Procurou-se, nas simulações, determinar a eficácia do algoritmo em encontrar escalonamentos factíveis usando diversas heurísticas. Em cada caso, foram medidas as taxas de sucesso do algoritmo e o custo computacional associado. Experimentos específicos foram conduzidos para avaliar a eficácia e o custo das estratégias de balanceamento de carga, assim como o seu impacto nas taxas de sucesso do algoritmo

Abstract: A real-time system should meet the timing requirements imposed by the application it implements, i.e., it should be predictable. A real-time system should also be easy to reconfigure in order to adapt to the changes that are likely to occur during its life time, i .e, it should be flexible. The main objective of this thesis is to contribute to the design of distributed real-time systems development environments. Particularly, it is intended to show that the production of flexible and yet predictable systems is feasible. To reach this objective it is proposed a programming model, supported by two programming languages (LPM-RC and LCM-RC) integrated to a scheduling strategy. In the proposed model, applications are constructed combining reusable modules of software, leading to highly reconfigurable systems. Modules' temporal restrictions (periodicity and deadline) are not attributes of the modules themselves, but instead depend on the context in which they are used (the applications). Modules can share resources with the aid of servers. Servers do not have their own timing requirements, but inherit their clients' timing constraints. A client-server interaction may involve the execution of a single service or the execution of a sequence of services in mutual exclusion from other clients. The objective of the scheduling strategy integrated to the languages is to try to meet applications' timing constraints. The scheduling strategy is structured into three levels: 1) off-line scheduling of periodic modules, 2) time driven dynamic scheduling of aperiodic modules, and 3) dynamic scheduling of modules without timing constraints, when there are no periodic or aperiodic modules running. As part of the validation of the scheduling strategy, it is shown how to extract from a program the information needed for its scheduling, and proposed an algorithm to schedule periodic modules. This algorithm is based on an off-line heuristic algorithm available in the literature, extended to support the peculiarities of the proposed mode!. The extended algorithm, searchs for a schedule that meets the timing, resource and placement constraints of periodic modules. Besides that, the algorithm also tries to balance the system load, in the time and space domains, in order to improve its fault tolerance and, particularly, the schedulability of aperiodic modules. The off-line scheduling algorithm was evaluated applying to it sets of periodic modules with a wide range of time related characteristics. The conducted experiments aimed at determine the success rates and computational costs of the algorithm, using different heuristics. Specific experiments were also conducted to investigate the effectiveness and cost of the load balance strategies, as well as its influence on the success rate of the algorithm in finding feasible schedules
Subject: Programação em tempo-real
Algoritmos
Linguagem de programação (Computadores)
Language: Português
Editor: [s.n.]
Date Issue: 1993
Appears in Collections:FEEC - Dissertação e Tese

Files in This Item:
File SizeFormat 
AdanCoello_JuanManuel_D.pdf7.62 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.