Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real

Detalhes bibliográficos
Autor(a) principal: Adán Coello, Juan Manuel
Data de Publicação: 1993
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
Texto Completo: https://hdl.handle.net/20.500.12733/1580750
Resumo: Orientador : Mauricio Ferreira Magalhães
id UNICAMP-30_b4dde8271fa218884ac75022c224b2f8
oai_identifier_str oai::65296
network_acronym_str UNICAMP-30
network_name_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository_id_str
spelling Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-realProgramação em tempo-realAlgoritmosLinguagem de programação (Computadores)Orientador : Mauricio Ferreira MagalhãesTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia EletricaResumo: 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 algoritmoAbstract: 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 schedulesDoutoradoDoutor em Engenharia Elétrica[s.n.]Magalhães, Mauricio Ferreira, 1951-Universidade Estadual de Campinas (UNICAMP). Faculdade de Engenharia ElétricaPrograma de Pós-Graduação em Engenharia ElétricaUNIVERSIDADE ESTADUAL DE CAMPINASAdán Coello, Juan Manuel19931993-08-27T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdf1v. (varias paginações) : il.https://hdl.handle.net/20.500.12733/1580750ADÁN COELLO, Juan Manuel. Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real. 1993. 1v. (varias paginações) Tese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1580750. Acesso em: 2 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/65296porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2014-04-18T01:55:09Zoai::65296Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2014-04-18T01:55:09Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real
title Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real
spellingShingle Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real
Adán Coello, Juan Manuel
Programação em tempo-real
Algoritmos
Linguagem de programação (Computadores)
title_short Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real
title_full Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real
title_fullStr Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real
title_full_unstemmed Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real
title_sort Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real
author Adán Coello, Juan Manuel
author_facet Adán Coello, Juan Manuel
author_role author
dc.contributor.none.fl_str_mv Magalhães, Mauricio Ferreira, 1951-
Universidade Estadual de Campinas (UNICAMP). Faculdade de Engenharia Elétrica
Programa de Pós-Graduação em Engenharia Elétrica
UNIVERSIDADE ESTADUAL DE CAMPINAS
dc.contributor.author.fl_str_mv Adán Coello, Juan Manuel
dc.subject.por.fl_str_mv Programação em tempo-real
Algoritmos
Linguagem de programação (Computadores)
topic Programação em tempo-real
Algoritmos
Linguagem de programação (Computadores)
description Orientador : Mauricio Ferreira Magalhães
publishDate 1993
dc.date.none.fl_str_mv 1993
1993-08-27T00:00:00Z
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://hdl.handle.net/20.500.12733/1580750
ADÁN COELLO, Juan Manuel. Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real. 1993. 1v. (varias paginações) Tese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1580750. Acesso em: 2 set. 2024.
url https://hdl.handle.net/20.500.12733/1580750
identifier_str_mv ADÁN COELLO, Juan Manuel. Uma contribuição a programação e escalonamento de sistemas distribuidos de tempo-real. 1993. 1v. (varias paginações) Tese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1580750. Acesso em: 2 set. 2024.
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv https://repositorio.unicamp.br/acervo/detalhe/65296
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
1v. (varias paginações) : il.
dc.publisher.none.fl_str_mv [s.n.]
publisher.none.fl_str_mv [s.n.]
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
instname:Universidade Estadual de Campinas (UNICAMP)
instacron:UNICAMP
instname_str Universidade Estadual de Campinas (UNICAMP)
instacron_str UNICAMP
institution UNICAMP
reponame_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
collection Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)
repository.mail.fl_str_mv sbubd@unicamp.br
_version_ 1809188759231528960