Papers by Luis Fernando Friedrich
The increasing complexity of several industrial applications claims for execution environments su... more The increasing complexity of several industrial applications claims for execution environments supporting parallel and real-time computing. Multicomputer systems have a great potential for high performance and reliability because of their expressive number of processors and communication channels. This paper presents an evaluation of real-time computing on a parallel environment that is based on the association of a multicomputer model and a demand driven communication mechanism. The proposed environment allows a reduction of the communication problems presented by conventional multicomputer environments and, also provides a high flexibility in dealing with the problem of mapping the inter-process communication of a parallel program into the interconnection network of a multicomputer architecture. The main goal of the proposed work is to evaluate the performance of the proposed environment for predictable parallel/distributed real-time computing.
This work presents the implementation of a micro computers communication software applied to loca... more This work presents the implementation of a micro computers communication software applied to local area net works (LAN), consistent with the Reference Model for Open System Interconnection proposed by International Standards Organization (ISO). The primitives on the interface of the transport level with its upper level and the primitives on the inter face of the link level with the transport level are described. The transport protocol functions are also described.
Journal of Software, 2012
In general purpose operating systems, such as the mainline Linux, priority inversions occur frequ... more In general purpose operating systems, such as the mainline Linux, priority inversions occur frequently and are not considered harmful. They are not avoided or limited as in real-time systems. In the current version of the kernel PREEMPT-RT Linux, the protocol used for priority inversion control is the Priority Inheritance. The objective of this paper is to propose the implementation of an alternative protocol, the Immediate Priority Ceiling, for use in drivers dedicated to real-time applications. This paper explains how the protocol was implemented in the real-time kernel and compare the protocol implemented with the Priority Inheritance implementation, currently used in the real-time kernel.
Since early applications in the 1960s, embedded systems have come down in price and there has bee... more Since early applications in the 1960s, embedded systems have come down in price and there has been a dramatic rise in processing power and functionality. In addition, embedded systems are becoming increasingly complex. High-end devices, such as mobile phones, PDAs, entertainment devices, and set-top boxes, feature millions of lines of code with varying degrees of assurance of correctness. Nowadays, more and more embedded systems are implemented in a distributed way, a wide range of highperformance distributed embedded systems have been designed and deployed. As a lot of aspects of embedded system design become increasingly dependent on the effective interaction of distributed processors, it is clear that as much effort needs to be focused on software infrastructure, such as operating systems, with respect to how to provide functionality in order to fulfill these requirements. This technical report presents some of the approaches associated to operating systems that have been used in...
The increasing complexity of several industrial applications claims for execution environments s ... more The increasing complexity of several industrial applications claims for execution environments s upporting parallel and real-time computing. Multicomputer systems have a great potential for high performance and reliability because of their expressive number of processors and communication channels. This paper presents an evaluation of real-time computing on a parallel environment t hat is based on the association of a multicomputer model and a demand driven communication mechanism. The proposed environment allows a reduction of the communication problems presented by conventional multicomputer environments and, also provides a high flexibility in dealing with the problem of mapping the inter-process communication of a parallel program into the interconnection n etwork of a multicomputer architecture. The main goal of the proposed work is to evaluate the performance of the proposed environment for predictable parallel/distributed real-time computing.
Real Time Systems are those systems where the correct execution doesn't just depend on the lo... more Real Time Systems are those systems where the correct execution doesn't just depend on the logical results of the computation, but also on the time in which the results are produced, meaning that, the results happened on foreseen time. Nowadays, applications of real time are more and more present in various areas, such as: multimedia, robotics, support-life systems, telecommunications, manufacture and processes control, flight controllers, among others. This article presents a basic group of primitives of support for real time applications on the environment of the multicomputador CRUX based on the standard POSIX of IEEE. The multicomputador CRUX will be the base for the project and implementation of a complete environment for parallel programming on development in the Computer Science Department of the Federal University of Santa Catarina. The main goal of this group of primitives is to be able to support real time application on CRUX environment. In addition, a performance eva...
O grande objetivo do processamento paralelo/distribuído é aumentar o desempenho de aplicações que... more O grande objetivo do processamento paralelo/distribuído é aumentar o desempenho de aplicações que necessitam de grande poder computacional e que são pouco eficientes quando executadas seqüencialmente. Para tanto, o aumento de desempenho é obtido particionando-se uma tarefa em tarefas menores e executando-as em diferentes processadores, paralelamente. Um conjunto de processadores interconectados é a definição mais simples de um ambiente paralelo/distribuído. Os multicomputadores são ambientes paralelo/distribuídos, onde cada processador possui sua própria memória privativa e canais de comunicação ligados através de redes compostas por múltiplos canais bipontuais. Nestes ambientes a interação entre os processos que compõe um programa paralelo é feita essencialmente por troca de mensagens. A forma mais elementar de interação entre processos baseada em troca de mensagens é a comunicação ponto a ponto, onde um processo origem envia uma mensagem para um processo destino. Entretanto, por q...
Diversas areas de pesquisa buscam atualmente conquistar a padronizacao em suas respectivas tecnol... more Diversas areas de pesquisa buscam atualmente conquistar a padronizacao em suas respectivas tecnologias. Em Sistemas Operacionais o desejo de padronizacao deve-se, principalmente, a questao da portabilidade, possibilitando a independencia dos programas em relacoes aos sistemas operacionais e as maquinas onde sao executados. No âmbito do tempo-real isso se torna mais crucial pelo fato da necessidade de se ter previsibilidade, ou seja, a garantia de que determinado evento ou tarefa aconteca dentro de um intervalo de tempo especificado ou ate um certo tempo limite.
The complexity of some real-time applications demands high performance computer architectures. Mu... more The complexity of some real-time applications demands high performance computer architectures. Multicomputer architectures have a potential for high performance and reliability because of their expressive number of processors and communication channels. Therefore, they are natural candidates for supporting complex real-time computing. This paper presents a performance evaluation of real-time scheduling in a parallel/distributed environment which is based on a multicomputer architecture.
Journal of Communication and Computer, 2015
Since their early applications in the 1960s, embedded systems have come down in price and increas... more Since their early applications in the 1960s, embedded systems have come down in price and increased dramatically in processing power and functionality. In addition, embedded systems are becoming increasingly complex. High-end devices, such as mobile phones, PDAs, entertainment devices, and set-top boxes, feature millions of lines of code with varying degrees of assurance of correctness. Nowadays, more and more embedded systems are implementing in a distributed way, and a wide range of high-performance distributed embedded systems have been design and deployed. As many aspects of embedded system design become increasingly dependent on the effective interaction of distributed processors, it is clear that much effort needs to be focus on software infrastructure, such as operating systems, to ensure that they provide functionality to fulfill these requirements. This paper reviews some of the approaches associated with the operating systems used to fulfill these needs.
Sistemas de Tempo Real são aqueles sistemas onde a execução correta não depende apenas dos result... more Sistemas de Tempo Real são aqueles sistemas onde a execução correta não depende apenas dos resultados lógicos da computação, mas também do tempo no qual os resultados são produzidos, ou seja, se ocorre dentro do tempo previsto. Aplicações de tempo real estão cada vez mais presentes no dia-a-dia e em áreas das mais variadas, tais como: multimídia, robótica, sistemas médico-hospitalares, telecomunicações, controle de manufatura e de processos, controladores de vôo, dentre outros. Este artigo apresenta um conjunto básico de primitivas de suporte para aplicações de tempo real no ambiente do multicomputador CRUX baseados no padrão POSIX da IEEE. O Multicomputador CRUX servirá como base para o projeto e implementação de um ambiente completo para programação paralela em desenvolvimento no Curso de Pós-Graduação em Ciência da Computação da Universidade Federal de Santa Catarina. Com o fornecimento desse conjunto mínimo de primitivas objetiva-se adequar o ambiente de processamento paralelo para a execução de aplicações de tempo real. Além da definição do conjunto básico de primitivas, foi realizada a avaliação de desempenho, através de simulação, para analisar o desempenho e a previsibilidade dos mecanismos de comunicação.
Some real-time applications are so complex that they require high-performance architectures. This... more Some real-time applications are so complex that they require high-performance architectures. This paper analyses how difficult is to schedule real-time applications on multicomputer-based architectures. First the target architecture is described. We then list several possible operation modes for processors and communication channels. Finally, problems associated with the real-time scheduling of 15 different cenarios are discussed. Some techniques described in the
Diversas áreas de pesquisa buscam atualmente conquistar a padronização em suas respectivas tecnol... more Diversas áreas de pesquisa buscam atualmente conquistar a padronização em suas respectivas tecnologias. Em Sistemas Operacionais o desejo de padronização deve-se, principalmente, à questão da portabilidade, possibilitando a independência dos programas em relações aos sistemas operacionais e às máquinas onde são executados. No âmbito do tempo-real isso se torna mais crucial pelo fato da necessidade de se ter previsibilidade, ou seja, a garantia de que determinado evento ou tarefa aconteça dentro de um intervalo de tempo especificado ou até um certo tempo limite.
Uploads
Papers by Luis Fernando Friedrich