Universidade Federal de Santa catarina (UFSC)
Programa de Pós-graduação em Engenharia, Gestão e Mídia do Conhecimento (PPGEGC)
Detalhes do Documento Analisado
Centro: Tecnológico
Programa de Pós-Graduação: Programa de Pós-Graduação em Engenharia de Automação e Sistemas
Dimensão Institucional: Pós-Graduação
Dimensão ODS: Econômica
Tipo do Documento: Tese
Título: REAL-TIME OPERATING SYSTEM SUPPORT FOR MULTICORE APPLICATIONS.
Orientador
- ANTONIO AUGUSTO MEDEIROS FROHLICH
Aluno
- GIOVANI GRACIOLI
Conteúdo
Plataformas multiprocessadas atuais possuem diversos níveis da memória cache entre o processador e a memória principal para esconder a latência da hierarquia de memória. o principal objetivo da hierarquia de memória é melhorar o tempo médio de execução, ao custo da previsibilidade. o uso não controlado da hierarquia da cache pelas tarefas de tempo real impacta a estimativa dos seus piores tempos de execução, especialmente quando as tarefas de tempo real acessam os níveis da cache compartilhados. tal acesso causa uma disputa pelas linhas da cache compartilhadas e aumenta o tempo de execução das aplicações. além disso, essa disputa na cache compartilhada pode causar a perda de prazos, o que é intolerável em sistemas de tempo real críticos. o particionamento da memória cache compartilhada é uma técnica bastante utilizada em sistemas de tempo real multiprocessados para isolar as tarefas e melhorar a previsibilidade do sistema. atualmente, os estudos que avaliam o particionamento da memória cache em multiprocessadores carecem de dois pontos fundamentais. primeiro, o mecanismo de particionamento da cache é tipicamente implementado em um ambiente simulado ou em um sistema operacional de próposito geral. consequentemente, o impacto das atividades realizados pelo núcleo do sistema operacional, tais como o tratamento de interrupções e troca de contexto, no particionamento das tarefas tende a ser negligenciado. segundo, a avaliação é restrita a um escalonador global ou particionado, e assim não comparando o desempenho do particionamento da cache em diferentes estratégias de escalonamento. ademais, trabalhos recentes confirmaram que aspectos da implementação do so, tal como a estrutura de dados usada no escalonamento e os mecanismos de tratamento de interrupções, impactam a escalonabilidade das tarefas de tempo real tanto quanto os aspectos teóricos. entretanto, tais estudos também usaram sistemas operacionais de propósito geral com extensões de tempo real, que afetam os sobrecustos de tempo de execução observados e a escalonabilidade das tarefas de tempo real. adicionalmente, os algoritmos de escalonamento tempo real para multiprocessadores atuais não consideram cenários onde tarefas de tempo real acessam as mesmas linhas da cache, o que dificulta a estimativa do pior tempo de execução. esta pesquisa aborda os problemas supracitados com as estratégias de particionamento da cache e com os algoritmos de escalonamento tempo real multiprocessados da seguinte forma. primeiro, uma infraestrutura de tempo real para multiprocessadores é projetada e implementada em um sistema operacional embarcado. a infraestrutura consiste em diversos algoritmos de escalonamento tempo real, tais como o edf global e particionado, e um mecanismo de particionamento da cache usando a técnica de coloração de páginas. segundo, é apresentada uma comparação em termos da taxa de escalonabilidade considerando o sobrecusto de tempo de execução da infraestrutura criada e de um sistema operacional de propósito geral com extensões de tempo real. em alguns casos, o edf global considerando o sobrecusto do sistema operacional embarcado possui uma melhor taxa de escalonabilidade do que o edf particionado com o sobrecusto do sistema operacional de propósito geral, mostrando claramente como diferentes sistemas operacionais influenciam os escalonadores de tempo real críticos em multiprocessadores. terceiro, é realizada uma avaliação do impacto do particionamento da memória cache em diversos escalonadores de tempo real multiprocessados. os resultados desta avaliação indicam que um sistema operacional ''leve'' não compromete as garantias de tempo real e que o particionamento da cache tem diferentes comportamentos dependendo do escalonador e do tamanho do conjunto de trabalho das tarefas. quarto, é proposto um algoritmo de particionamento de tarefas que atribui as tarefas que compartilham partições ao mesmo processador. os resultados mostram que essa técnica de particionamento de tarefas reduz a disputa pelas linhas da cache compartilhadas e provê garantias de tempo real para sistemas críticos. finalmente, é proposto um escalonador de tempo real de duas fases para multiprocessadores. o escalonador usa informações coletadas durante o tempo de execução das tarefas através dos contadores de desempenho em hardware. com base nos valores dos contadores, o escalonador detecta quando tarefas de melhor esforço interferem com tarefas de tempo real na cache. assim é possível impedir que tarefas de melhor esforço acessem as mesmas linhas da cache que tarefas de tempo real. o resultado desta estratégia de escalonamento é o atendimento dos prazos críticos e não críticos das tarefas de tempo real.
Pós-processamento: Índice de Shannon: 3.98399
| ODS 1 | ODS 2 | ODS 3 | ODS 4 | ODS 5 | ODS 6 | ODS 7 | ODS 8 | ODS 9 | ODS 10 | ODS 11 | ODS 12 | ODS 13 | ODS 14 | ODS 15 | ODS 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4,98% | 6,07% | 7,61% | 6,22% | 6,53% | 5,38% | 6,19% | 7,84% | 7,38% | 5,46% | 7,53% | 5,52% | 4,89% | 6,73% | 5,30% | 6,37% |
ODS Predominates
4,98%
6,07%
7,61%
6,22%
6,53%
5,38%
6,19%
7,84%
7,38%
5,46%
7,53%
5,52%
4,89%
6,73%
5,30%
6,37%