unknown

Melhorando o Suporte a Unidades de Monitoramento de Desempenho no EPOS

Abstract

TCC (graduação) - Universidade Federal de Santa Catarina. Campus Joinville. Engenharia Mecatrônica.O EPOS é um sistema operacional de tempo real voltado ao desenvolvimento de sistemas embarcados. Sistemas embarcados fazem parte de nosso dia a dia e podem ser definidos como quaisquer sistemas computacionais dedicados ao monitoramento ou controle de aplicações específicas. Muitas vezes, os requisitos de desempenho em um sistema embarcado incluem restrições de tempo real. Independente de sua carga total de execução ou da ocorrência de falhas, todo sistema de tempo real deve cumprir seus requisitos de tempo. Para garantir o cumprimento de tais prazos, previsibilidade é uma característica ainda mais importante do que velocidade de processamento de dados e isto torna essencial o uso de sistemas operacionais de tempo real (RTOS). Em aplicações modernas, RTOSs são utilizados no processamento de elevadas cargas de dados, como no processamento de imagens, aplicações multimídia, entre outros. Neste cenário, processadores multinúcleos representam uma ótima alternativa à redução de custos em determinados projetos. No entanto, o uso de multiprocessadores traz consigo uma série de fatores inconvenientes. Processadores e periféricos são conectados à hierarquia de memória, barramentos, buffers e diversos outros recursos complexos. O compartilhamento destes recursos permite que operações desenvolvidas por uma unidade de processamento possam ocasionar contenções e gerar atrasos imprevisíveis na execução de tarefas num outro processador. Neste contexto, sabe-se que a hierarquia de memória utilizada atualmente é um dos principais fatores de incerteza num processador multinúcleo e, por esta razão, atualmente existem diversos estudos voltados à melhoria de sua previsibilidade. Entre eles, o uso de unidades de monitoramento de desempenho (PMU) se mostra como um recurso capaz de auxiliar na tomada de decisões em processos de escalonamento de tarefas e auxiliar na tarefa de tornar mais previsível as operações sobre a hierarquia de memória de sistemas multiprocessados. Sendo assim, este trabalho busca aprimorar o suporte do sistema operacional EPOS a unidades de monitoramento de desempenho. Como parte desta proposta, um mecanismo capaz de auxiliar no processo de escalonamento de tarefas conforme as informações fornecidas pelo monitoramento do sistema é implementado. O impacto de tal recurso na execução de tarefas de tempo real é avaliado ao longo deste trabalho, demonstrando sua capacidade de auxiliar o sistema no cumprimento de requisitos de tempo real.EPOS is a real-time operating system aimed to the development of embedded systems. Embedded systems are part of our everyday life and can be defined as any computer systems dedicated to the monitoring or control of specific applications. Often, performance requirements in an embedded system include real-time constraints. Regardless of the total workload or the occurrence of failures, every real-time system must meet it's time requirements. To ensure compliance with such deadlines, predictability is an even more important feature than processing speed and this makes the usage of real-time operating systems (RTOS) essential. In modern applications, RTOSs are used to process memory intensive workloads, such as in image processing, multimedia applications, among others. In this scenario, multi-core processors represent a great alternative for reducing costs in certain projects. However, the use of multiprocessors brings with it a number of inconvenient factors. Processors and peripherals are connected to the memory hierarchy, buses, buffers, and various other complex resources. Sharing these features allows operations performed by one processing unit to cause contention and generate unpredictable delays in performing tasks on another processor. In this context, it is known that the memory hierarchy currently used is one of the main factors of uncertainty in a multicore processor and, for this reason, there are currently several studies aimed at improving its predictability. Among them, the use of performance monitoring units (PMU) is shown as a resource capable of assisting decision making in task scheduling processes and assisting in the task of making operations on the memory hierarchy of multiprocessed systems more predictable. Therefore, this work improves the EPOS operating system support to performance monitoring units. As part of this proposal, a mechanism capable of assisting in task scheduling processes according to the information provided by the performance monitoring units is implemented. The impact of such a resource in the execution of real-time tasks is evaluated throughout this thesis, demonstrating its ability to assist the system in complying with real-time requirements

    Similar works