Shared resources in multiprocessor real-time systems scheduled by run
Ano de defesa: | 2019 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , , |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | eng |
Instituição de defesa: |
Universidade Federal da Bahia
Instituto de Matemática e Estatística Departamento de Ciências da Computação |
Programa de Pós-Graduação: |
em Ciência da Computação
|
Departamento: |
Não Informado pela instituição
|
País: |
Brasil
|
Palavras-chave em Português: | |
Área do conhecimento CNPq: | |
Link de acesso: | http://repositorio.ufba.br/ri/handle/ri/33607 |
Resumo: | Um sistema de tempo real crítico é aquele para o qual ao menos uma de suas tarefas deve cumprir os prazos de execução (deadlines ) enquanto o sistema estiver executando. Este requisito faz do algoritmo de escalonamento um elemento chave para a correção do sistema. Idealmente, o algoritmo de escalonamento deve ser eficiente, para não causar sobrecargas adicionais, e ótimo, garantindo que nenhum deadline de suas tarefas seja perdido sempre que isso puder ser assegurado por algum algoritmo de escalonamento. RUN (Reduction to Uniprocessor ) é um algoritmo capaz de escalonar eficientemente e de maneira ótima um conjunto de tarefas periódicas em uma plataforma com múltiplos processadores, quando as tarefas não compartilham outros recursos que não os processadores. Embora já tenha sido demonstrado que o RUN é compatível com o compartilhamento de recursos, a única solução existente impede preempções no acesso aos recursos compartilhados. Ao contrário desta abordagem, que pode ser considerada muito restritiva devido à sua baixa escalonabilidade, utilizamos o MrsP (Multiprocessor resource sharing Proto- col ) como um mecanismo de compartilhamento de recursos mais flexível. Fazer as regras do RUN e MrsP compatíveis entre si foi, portanto, nosso principal objetivo. A solução derivada foi implementada no Linux Textbed for Multiprocessor scheduling in Real-Time systems (Litmus-RT), um sistema operacional de tempo real baseado em Linux. Propusemos uma nova heurística para empacotamento das tarefas e realizamos avaliações experimentais comparando nossa solução com a existente. Os resultados obtidos mostraram que a solução proposta apresentou melhores resultados em escalonabilidade, overhead total e número de migrações e preempções. |