• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 15
  • 8
  • 1
  • Tagged with
  • 32
  • 11
  • 11
  • 9
  • 8
  • 5
  • 5
  • 4
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • 3
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
21

Towards a portable occam

Hill, David Timothy 07 March 2013 (has links)
Occam is designed for concurrent programming on a network of transputers. AIlocation and partitioning of the program is specified within the source code, binding the program to a specific network. An altemative approach is proposed which completely separates the source code from hardware considerations. Static allocation is performed as a separate phase and should, ideally, be automatic but at present is manual. Complete hardware abstraction requires that non-local, shared communication be provided for, introducing an efficiency overhead which can be minimised by the allocation. The proposal was implemented on a network of IBM PCs, modelled on a transputer network, and implementation issues are discussed
22

Initial findings of an investigation into the feasibility of a low level image processing workstation using transputers

Cooke, Nicholas Duncan 07 February 2013 (has links)
From Introduction: The research concentrates primarily on a feasibility study involving the setting up of an image processing workstation. As broad as this statement concerning the workstation may seem, there are several factors limiting the extent of the research. This project is not concerned with the design and implementation of a fully-fledged image processing workstation. Rather, it concerns an initial feasibility study of such a workstation, centered on the theme image processing aided by the parallel processing paradigm. In looking at the hardware available for the project, in the context of an image processing environment, a large amount of initial investigation was required prior to that concerned with the transputer and parallel processing. Work was done on the capturing and displaying of images. This formed a vital part of the project. Furthermore, considering that a new architecture was being used as the work horse within a conventional host architecture, the INTEL 80286, several aspects of the host architecture had also to be investigated. These included the actual processing capabilities of the host, the capturing and storing of the images on the host, and most importantly, the interface between the host and the transputer [C0089]. Benchmarking was important in order for good conclusions to be drawn about the viability of the two types of hardware used, both individually and together. On the subject of the transputer as the workhorse, there were several areas whlch required investigation. Initial work had to cover the choice of network topology on whlch the benchmarking of some of the image processing applications were performed. Research into this was based on the previous work of several authors, whlch introduced features relevant to this investigation. The network used for this investigation was chosen to be generally applicable to a broad spectrum of applications in image processing. It was not chosen for its applicability for a single dedicated application, as has been the case for much of the past research performed in image processing [SAN88] [SCH89]. The concept of image processing techniques being implemented on the transputer required careful consideration in respect of what should be implemented. Image processing is not a new subject, and it encompasses a large spectrum of applications. The transputer, with image processing being hlghly suited to it, has attracted a good deal of research. It would not be rash to say that the easy research was covered first. The more trivial operations in image processing, requiring matrix type operations on the pixels attracted, the most coverage. Several researchers in the field of image processing on the transputer have broken the back of this set of problems. Conclusions regarding these operations on the transputer returned a fairly standard answer. An area of image processing which has not produced the same volume of return as that concerning the more trivial operations, is the subject of Fourier Analysis, that is, the Fourier Transform. Thus a major part of this project concerns an investigation into the Fourier Transform in image processing, in particular the Fast Fourier Transform. The network chosen for thls research has placed some constraint upon the degree of parallelism that can be achleved. It should be emphasized that this project is not concerned with the most efficient implementation of a specific image processing algorithm on a dedicated topology. Rather, it looks at the feasibility of a general system in the domain of image processing, concerned with a hlghly computationally intensive operation. This has had the effect of testing the processing power of the hardware used, and contributing a widely applicable parallel algorithm for use in Fourier Analysis. 3 These are discussed more fully in Chapter 2, which covers the work related to tbis project. The results of the investigation are presented along with a discussion of the methods throughout the thesis. The final chapter summarizes the findings of the research, assesses the value of the investigation, and points out areas for future investigation.
23

The transputer virtual memory system

Mostert, Sias January 1990 (has links)
Thesis (MIng.)--Stellenbosch University, 1990. / ENGLISH ABSTRACT: The transputer virtual memory system provide, for the transputer without memory management primitives, a viable virtual memory system. This report evaluates the architecture and its parameters. The basic software is also implemented a.nd described. The disk subsystem with software and hard",,'are is also evaluated in a single disk environment. It is shown that the unique features of the TVM system has advantages and disadvantages when compared to conventional virtual memory systems. One of the advantages is that a conventional operating system with memory protection can now also be implemented on the transputer. The main conclusion is that this is a performance effective implementation of a virtual memory system with unique features that should be exploited further. / AFRIKAANSE OPSOMMING: Die transputer virtuele geheue verskaf, vir 'n verwerker sander virtuele geheue ondersteuning, 'n doeltreffende virtuele geheue stelsel. Die verslag evalueer die argitektuur en sy parameters. Die skyfsubstelsel met programmatuur en apparatuur word ook geevalueer in 'n enkel skyfkoppelvlak omgewing. Daar word bewys dat die upieke eienskappe van die TVG (transputer virtuele geheue) voor- en nadele besit wanneer dit vElrgelyk word met konvensionele virtuele geheue stelsels. Een van die voordele is dat 'n konvensionele bedryfstelsel met geheue beskerming nou op 'n transputer ge-implementeer kan word. Die hoofnadeel agv die spesifieke argitektuur gee slegs 'n 15% degradering in werkverrigting. Dit word egter slegs oar 'n sekere datagrootte ervaar en kom tipies nie ter sprake wanneer daar massiewe programme geloop word nie.
24

Modeling performance of serial and parallel sections of multi-threaded programs in many-core era / Modélisation de la performance des sections séquentielles et parallèles au sein de programmes multithreadés à l'ère des many-coeurs

Khizakanchery Natarajan, Surya Narayanan 01 June 2015 (has links)
Ce travail a été effectué dans le contexte d'un projet financé par l'ERC, Defying Amdahl's Law (DAL), dont l'objectif est d'explorer les techniques micro-architecturales améliorant la performance des processeurs multi-cœurs futurs. Le projet prévoit que malgré les efforts investis dans le développement de programmes parallèles, la majorité des codes auront toujours une quantité signifiante de code séquentiel. Pour cette raison, il est primordial de continuer à améliorer la performance des sections séquentielles des-dits programmes. Le travail de recherche de cette thèse porte principalement sur l'étude des différences entre les sections parallèles et les sections séquentielles de programmes multithreadés (MT) existants. L'exploration de l'espace de conception des futurs processeurs multi-cœurs est aussi traitée, tout en gardant à l'esprit les exigences concernant ces deux types de sections ainsi que le compromis performance-surface. / This thesis work is done in the general context of the ERC, funded Defying Amdahl's Law (DAL) project which aims at exploring the micro-architectural techniques that will enable high performance on future many-core processors. The project envisions that despite future huge investments in the development of parallel applications and porting it to the parallel architectures, most applications will still exhibit a significant amount of sequential code sections and, hence, we should still focus on improving the performance of the serial sections of the application. In this thesis, the research work primarily focuses on studying the difference between parallel and serial sections of the existing multi-threaded (MT) programs and exploring the design space with respect to the processor core requirement for the serial and parallel sections in future many-core with area-performance tradeoff as a primary goal.
25

Trix : um sistema operacional multiprocessado para transputers, com gerencia distribuida de processos / Trix, a transputer based multiprocessor operating system, with distributed process management

Pasin, Marcelo January 1994 (has links)
O trabalho em torno do sistema TRIX visa desenvolver um sistema operacional multiprocessado experimental, para servir de base a futuros trabalhos de pesquisa em sistemas operacionais e processamento paralelo. Como características essenciais do sistema tem-se simplicidade, desempenho e compatibilidade com UNIX. Com o sistema operando em vários processadores, pode-se fazer experiências de muitos tipos em processamento paralelo, como por exemplo, ensaios de distribuição de carga, avaliações de desempenho, implementação de linguagens paralelas ou distribuídas, ,bancos de dados, sistemas dedicados, etc. Ao construir o sistema TRIX, decidiu-se usar o código fonte de um sistema já pronto e funcionando, para encurtar o tempo de desenvolvimento. Optou-se pelo MINIX, que é um sistema bem estruturado, dividido em camadas de processos seqüenciais que se comunicam por troca de mensagens. Mais que isso, 0 MEND( a compatível com o UNIX versão 7 e o seu c6digo fonte pode ser usado para fins acadêmicos sem ferir o seu Copyright. Foi necessário porem dotar o MINIX de características distribuídas, para o controle de uma arquitetura multiprocessada. projeto e implementação destas características é o assunto deste trabalho. Inicialmente são avaliados os sistemas operacionais multiprocessados encontrados na literatura, de maneira a auxiliar no projeto do TRIX. Entre os detalhes estudados estão as diferenças entre sistemas paralelos e distribuídos, a comunicação entre seus processos e sua forma de distribuição. São apresentados os microprocessadores do tipo transputer, com seus mecanismos de criação e comunicação de processos implementados em hardware. Também é detalhado o sistema operacional MINIX, com sua construção em camadas, com processos servidores e clientes e suas estruturas de controle. 0 sistema foi projetado tentando maximizar a sua flexibilidade, escalabilidade e disponibilidade e minimizar sua complexidade. Os processos servidores são divididos de forma fixa, controlando as funções de memória localmente e as funções de arquivos remotamente. Os processos de usuário são distribuídos tentando se equalizar a taxa de ocupação dos processadores do sistema. E implementado um mecanismo de identificação global de processos juntamente com um método transparente de comunicação. Isso é feito junto com a criação de um driver suplementar ao sistema, responsável pela comunicação entre processos de processadores distintos. O núcleo original do MINIX recebeu uma serie de alterações para suportar as características distribuídas do novo sistema, de maneira a identificar processos locais e remotos. Foram extraídas do núcleo as funções executadas pelo escalonador em hardware do transputer. Foram inseridas algumas funções novas para tratar de algumas idiosincrasias do transputer, como por exemplo, sua falta de gerencia de memória. Finalmente, foi criado um mecanismo distribuído para controlar a arvore de processos do sistema, mantendo a semântica do UNIX. A escolha do processador para a execução de novos processos 6 feita pelo processador que o estiver criando, através de informações recebidas sobre processadores menos ocupados que estiverem mais próximos. / The TIUX system has been defined as an experimental operating system, to be used in future research on operating systems and parallel processing. The essential characteristics of the system are simplicity, performance and uNix compatibility. With the system running on several processors, several topics can be studied, such as load balancing, performance evaluation, implementation of distributed or parallel programming languages, distributed data bases and embedded systems. While designing the TRix system, it was decided to use the source code of an existing system, to shorten the development time. MINIX was chosen, because it is a well structured system, divided into layers of sequential processes, which communicate via messages. MINIX is compatible with UNIX version 7 and its source code can be used for academic purposes without any copyright infringiment. It had to be extended to control a multiprocessor architecture. The implementation of these characteristics is the main subject of this work. Initially some existing multiprocessor operating systems are evaluated, in order to guide in the development of TRIX. The studied issues are differences between parallel and distributed systems, interprocess communication features and the process distribution policy. The transputer microprocessors are presented, with their hardware implemented devices for process creation and communication. The MINIX operating system layered structure is described, with client and server processes and their control structures. The system is projected as an attempt to maximize flexibility, scalability and availability and to minimize complexity. The server processes are distributed in a fixed layout, controlling the memory and processes locally, and the files remotely. The user processes are distributed with load balancing among the processors. Global identification and transparent communication are implemented. This is achieved with an additional device driver, responsible for communication between processes running on different processors. The original MINIX kernel was changed to support the new distributed features of the system, identifying processes globally. The scheduler functions were stripped off, as they are now performed by the transputer hardware. Some functions were inserted to deal with some transputer problems, as for example, the lack of a memory management unit. Finally, a mechanism to control the global system process tree was created, maintaning strict UNIX semantics. The choice of which processor will hold a newly created process is made by the processor creating it, based on information received about the nearer processor with a low load.
26

Procedimento de teste para deteccao de falhas no processador transputer / Test procedure for faults detection in the transputer processor

Bezerra, Eduardo Augusto January 1996 (has links)
Procedimentos de teste para dispositivos eletrônicos tem sido construídos de forma a lidar com problemas, tais como geração de padrões de teste, cobertura de falhas e outros parâmetros tais como custo e tempo. Com o surgimento dos circuitos VLSI (Very Large Scale Integration), tais como os processadores, os problemas do teste tem aumentado. Com relação aos processadores, sua complexidade é um convite para o uso de procedimentos de teste funcionais, ignorando a estrutura física dos circuitos. Adicionalmente, informações sobre a estrutura do processador são geralmente desconhecidas por parte do usuário. No nível funcional, um processador é tratado como um sistema composto por blocos funcionais, cuja descrição pode ser obtida no manual do usuário. Cada bloco e caracterizado pela sua função, como por exemplo, a unidade lógica e aritmética, registradores, memória, etc... Testar o processador consiste em exercitar cada bloco com padrões de teste determinados. A utilização do processador transputer em situações onde se faz necessário um certo nível de confiabilidade depende da utilização de técnicas para detecção on-line. No presente trabalho é proposto um procedimento para o teste funcional do transputer. O teste funcional aqui proposto permite detecção de falhas on-line, em um contexto de aplicação periódica (pela suspensão temporária mas sem alteração do contexto da aplicação do usuário), com baixa degradação no desempenho global do sistema. Hipóteses e procedimentos relacionados a fabricação de circuitos não são considerados. Para possibilitar o uso de técnicas de teste convencionais, o transputer IMS T800 é particionado em blocos funcionais e um modelo para o teste, baseado na organização desse componente, e proposto. Este modelo é apoiado pela similaridade desse processador com um sistema microprocessado. Após o particionamento cada bloco funcional pode ser testado em separado; para os blocos que possuem organização como a de microprocessadores convencionais (tais como parte da CPU e a FPU), utiliza-se como base o método proposto por Robach and Saucier [ROB80]. De acordo com este método de teste funcional, as instruções do processador são modeladas por intermédio de grafos, que formam a base para definição de um conjunto mínimo de instruções. A execução desse conjunto exercita todos os elementos pertencentes ao respectivo bloco funcional do transputer. Entretanto, o procedimento proposto não é uma aplicação direta da metodologia citada, devido a características particulares do transputer, especialmente no que diz respeito ao paralelismo de operações, e sua estrutura de blocos internos. Com relação aos testes on-line, a utilização de um conjunto de instruções reduzido possibilita a realização de um teste rápido, reduzindo perdas de desempenho. Para os blocos restantes, de acordo com suas características, são construídos procedimentos de teste específicos. A freqüência de execução é ajustável para cada bloco. Dependendo das exigências da aplicação, alguns procedimentos podem ser omitidos, reduzindo a carga provocada pelo procedimento de teste no desempenho do sistema. A validação do procedimento de teste é realizada de duas maneiras: injeção de falhas, para verificar a capacidade de detecção: e avaliação de desempenho, para identificar o nível de degradação causado pela utilização do procedimento de teste em um sistema genérico. Apesar desse trabalho ter sido desenvolvido com base na estrutura da maquina TNODE [TEL91] e na abordagem de teste global descrita em [NUN93b], o procedimento de teste proposto pode ser utilizado em qualquer sistema composto por transputers, cujos parâmetros de aplicação se enquadrem nos requisitos usados neste trabalho. / Test procedures for electronic devices have been planned in order to deal with problems as test pattern generation, fault coverage and other parameters as cost and time. With the advent of very large scale integration (VLSI) circuits, such as the microprocessors, the test problems have arised. Concerning processors, their complexity is an invitation to the use of functional test procedures, ignoring the physical structure of the circuit. Further, structural information about the processor is, in general, unknown by users. In a functional level, a processor is seen as a system made up of functional blocks, whose description can be obtained from the user's manual. Each block is characterized by its function, as arithmetic and logic unit, registers, memory, etc... Testing the processor consists of exercising every block with specified test patterns. The use of the transputer processor in situations where reliability is needed depends on the use of on-line detection techniques. In this work, a functional test procedure for the transputer is proposed. The functional test here proposed intends to allow on-line fault detection, in a context of periodical application, with low degradation in global system performance. Hypotheses and procedures related to the fabrication process are not concerned. In order to make possible the use of conventional test techniques, the IMS T800 transputer is partitioned in functional blocks and a test model, based on the architecture of this component, is proposed. This model is supported by the similarity of this processor with a microprocessor system. Then each functional block may be tested in separate; for the blocks that have conventional microprocessor architecture (as part of the CPU and the FPU), the method proposed by Robach and Saucier [ROB80] is used. According to this functional test method, processor instructions are modeled by means of graphs which are the basis to find a minimal instruction set. The execution of this set exercises all elements that belong to the respective functional block of the transputer. Therefore, it is not a straight application of that methodology due to particular characteristics of the transputer, specially concerning the parallelism of operation and its internal blocks structure. Concerning on-line tests, the use of a reduced instruction set allows a fast test realization, reducing the overhead over system performance. For the remainder blocks, specific test procedures are built according to their features. The frequency of execution is adjustable to each block. Depending on the application constraints, some procedures may be omitted, reducing the overhead produced by the test procedure over the system performance. The validation of the test procedure may be done by means of: fault injection, to verify the faults coverage parameters; and performance evaluation, to identify degradation level caused by the inclusion of test procedure in a generic system. Although this work has been developed with basis in the structure of the T-NODE machine [TEL91] and the global test approach described in [NUN93b], it can be used in other transputer systems whose application parameters are similar to those here used.
27

Trix : um sistema operacional multiprocessado para transputers, com gerencia distribuida de processos / Trix, a transputer based multiprocessor operating system, with distributed process management

Pasin, Marcelo January 1994 (has links)
O trabalho em torno do sistema TRIX visa desenvolver um sistema operacional multiprocessado experimental, para servir de base a futuros trabalhos de pesquisa em sistemas operacionais e processamento paralelo. Como características essenciais do sistema tem-se simplicidade, desempenho e compatibilidade com UNIX. Com o sistema operando em vários processadores, pode-se fazer experiências de muitos tipos em processamento paralelo, como por exemplo, ensaios de distribuição de carga, avaliações de desempenho, implementação de linguagens paralelas ou distribuídas, ,bancos de dados, sistemas dedicados, etc. Ao construir o sistema TRIX, decidiu-se usar o código fonte de um sistema já pronto e funcionando, para encurtar o tempo de desenvolvimento. Optou-se pelo MINIX, que é um sistema bem estruturado, dividido em camadas de processos seqüenciais que se comunicam por troca de mensagens. Mais que isso, 0 MEND( a compatível com o UNIX versão 7 e o seu c6digo fonte pode ser usado para fins acadêmicos sem ferir o seu Copyright. Foi necessário porem dotar o MINIX de características distribuídas, para o controle de uma arquitetura multiprocessada. projeto e implementação destas características é o assunto deste trabalho. Inicialmente são avaliados os sistemas operacionais multiprocessados encontrados na literatura, de maneira a auxiliar no projeto do TRIX. Entre os detalhes estudados estão as diferenças entre sistemas paralelos e distribuídos, a comunicação entre seus processos e sua forma de distribuição. São apresentados os microprocessadores do tipo transputer, com seus mecanismos de criação e comunicação de processos implementados em hardware. Também é detalhado o sistema operacional MINIX, com sua construção em camadas, com processos servidores e clientes e suas estruturas de controle. 0 sistema foi projetado tentando maximizar a sua flexibilidade, escalabilidade e disponibilidade e minimizar sua complexidade. Os processos servidores são divididos de forma fixa, controlando as funções de memória localmente e as funções de arquivos remotamente. Os processos de usuário são distribuídos tentando se equalizar a taxa de ocupação dos processadores do sistema. E implementado um mecanismo de identificação global de processos juntamente com um método transparente de comunicação. Isso é feito junto com a criação de um driver suplementar ao sistema, responsável pela comunicação entre processos de processadores distintos. O núcleo original do MINIX recebeu uma serie de alterações para suportar as características distribuídas do novo sistema, de maneira a identificar processos locais e remotos. Foram extraídas do núcleo as funções executadas pelo escalonador em hardware do transputer. Foram inseridas algumas funções novas para tratar de algumas idiosincrasias do transputer, como por exemplo, sua falta de gerencia de memória. Finalmente, foi criado um mecanismo distribuído para controlar a arvore de processos do sistema, mantendo a semântica do UNIX. A escolha do processador para a execução de novos processos 6 feita pelo processador que o estiver criando, através de informações recebidas sobre processadores menos ocupados que estiverem mais próximos. / The TIUX system has been defined as an experimental operating system, to be used in future research on operating systems and parallel processing. The essential characteristics of the system are simplicity, performance and uNix compatibility. With the system running on several processors, several topics can be studied, such as load balancing, performance evaluation, implementation of distributed or parallel programming languages, distributed data bases and embedded systems. While designing the TRix system, it was decided to use the source code of an existing system, to shorten the development time. MINIX was chosen, because it is a well structured system, divided into layers of sequential processes, which communicate via messages. MINIX is compatible with UNIX version 7 and its source code can be used for academic purposes without any copyright infringiment. It had to be extended to control a multiprocessor architecture. The implementation of these characteristics is the main subject of this work. Initially some existing multiprocessor operating systems are evaluated, in order to guide in the development of TRIX. The studied issues are differences between parallel and distributed systems, interprocess communication features and the process distribution policy. The transputer microprocessors are presented, with their hardware implemented devices for process creation and communication. The MINIX operating system layered structure is described, with client and server processes and their control structures. The system is projected as an attempt to maximize flexibility, scalability and availability and to minimize complexity. The server processes are distributed in a fixed layout, controlling the memory and processes locally, and the files remotely. The user processes are distributed with load balancing among the processors. Global identification and transparent communication are implemented. This is achieved with an additional device driver, responsible for communication between processes running on different processors. The original MINIX kernel was changed to support the new distributed features of the system, identifying processes globally. The scheduler functions were stripped off, as they are now performed by the transputer hardware. Some functions were inserted to deal with some transputer problems, as for example, the lack of a memory management unit. Finally, a mechanism to control the global system process tree was created, maintaning strict UNIX semantics. The choice of which processor will hold a newly created process is made by the processor creating it, based on information received about the nearer processor with a low load.
28

Procedimento de teste para deteccao de falhas no processador transputer / Test procedure for faults detection in the transputer processor

Bezerra, Eduardo Augusto January 1996 (has links)
Procedimentos de teste para dispositivos eletrônicos tem sido construídos de forma a lidar com problemas, tais como geração de padrões de teste, cobertura de falhas e outros parâmetros tais como custo e tempo. Com o surgimento dos circuitos VLSI (Very Large Scale Integration), tais como os processadores, os problemas do teste tem aumentado. Com relação aos processadores, sua complexidade é um convite para o uso de procedimentos de teste funcionais, ignorando a estrutura física dos circuitos. Adicionalmente, informações sobre a estrutura do processador são geralmente desconhecidas por parte do usuário. No nível funcional, um processador é tratado como um sistema composto por blocos funcionais, cuja descrição pode ser obtida no manual do usuário. Cada bloco e caracterizado pela sua função, como por exemplo, a unidade lógica e aritmética, registradores, memória, etc... Testar o processador consiste em exercitar cada bloco com padrões de teste determinados. A utilização do processador transputer em situações onde se faz necessário um certo nível de confiabilidade depende da utilização de técnicas para detecção on-line. No presente trabalho é proposto um procedimento para o teste funcional do transputer. O teste funcional aqui proposto permite detecção de falhas on-line, em um contexto de aplicação periódica (pela suspensão temporária mas sem alteração do contexto da aplicação do usuário), com baixa degradação no desempenho global do sistema. Hipóteses e procedimentos relacionados a fabricação de circuitos não são considerados. Para possibilitar o uso de técnicas de teste convencionais, o transputer IMS T800 é particionado em blocos funcionais e um modelo para o teste, baseado na organização desse componente, e proposto. Este modelo é apoiado pela similaridade desse processador com um sistema microprocessado. Após o particionamento cada bloco funcional pode ser testado em separado; para os blocos que possuem organização como a de microprocessadores convencionais (tais como parte da CPU e a FPU), utiliza-se como base o método proposto por Robach and Saucier [ROB80]. De acordo com este método de teste funcional, as instruções do processador são modeladas por intermédio de grafos, que formam a base para definição de um conjunto mínimo de instruções. A execução desse conjunto exercita todos os elementos pertencentes ao respectivo bloco funcional do transputer. Entretanto, o procedimento proposto não é uma aplicação direta da metodologia citada, devido a características particulares do transputer, especialmente no que diz respeito ao paralelismo de operações, e sua estrutura de blocos internos. Com relação aos testes on-line, a utilização de um conjunto de instruções reduzido possibilita a realização de um teste rápido, reduzindo perdas de desempenho. Para os blocos restantes, de acordo com suas características, são construídos procedimentos de teste específicos. A freqüência de execução é ajustável para cada bloco. Dependendo das exigências da aplicação, alguns procedimentos podem ser omitidos, reduzindo a carga provocada pelo procedimento de teste no desempenho do sistema. A validação do procedimento de teste é realizada de duas maneiras: injeção de falhas, para verificar a capacidade de detecção: e avaliação de desempenho, para identificar o nível de degradação causado pela utilização do procedimento de teste em um sistema genérico. Apesar desse trabalho ter sido desenvolvido com base na estrutura da maquina TNODE [TEL91] e na abordagem de teste global descrita em [NUN93b], o procedimento de teste proposto pode ser utilizado em qualquer sistema composto por transputers, cujos parâmetros de aplicação se enquadrem nos requisitos usados neste trabalho. / Test procedures for electronic devices have been planned in order to deal with problems as test pattern generation, fault coverage and other parameters as cost and time. With the advent of very large scale integration (VLSI) circuits, such as the microprocessors, the test problems have arised. Concerning processors, their complexity is an invitation to the use of functional test procedures, ignoring the physical structure of the circuit. Further, structural information about the processor is, in general, unknown by users. In a functional level, a processor is seen as a system made up of functional blocks, whose description can be obtained from the user's manual. Each block is characterized by its function, as arithmetic and logic unit, registers, memory, etc... Testing the processor consists of exercising every block with specified test patterns. The use of the transputer processor in situations where reliability is needed depends on the use of on-line detection techniques. In this work, a functional test procedure for the transputer is proposed. The functional test here proposed intends to allow on-line fault detection, in a context of periodical application, with low degradation in global system performance. Hypotheses and procedures related to the fabrication process are not concerned. In order to make possible the use of conventional test techniques, the IMS T800 transputer is partitioned in functional blocks and a test model, based on the architecture of this component, is proposed. This model is supported by the similarity of this processor with a microprocessor system. Then each functional block may be tested in separate; for the blocks that have conventional microprocessor architecture (as part of the CPU and the FPU), the method proposed by Robach and Saucier [ROB80] is used. According to this functional test method, processor instructions are modeled by means of graphs which are the basis to find a minimal instruction set. The execution of this set exercises all elements that belong to the respective functional block of the transputer. Therefore, it is not a straight application of that methodology due to particular characteristics of the transputer, specially concerning the parallelism of operation and its internal blocks structure. Concerning on-line tests, the use of a reduced instruction set allows a fast test realization, reducing the overhead over system performance. For the remainder blocks, specific test procedures are built according to their features. The frequency of execution is adjustable to each block. Depending on the application constraints, some procedures may be omitted, reducing the overhead produced by the test procedure over the system performance. The validation of the test procedure may be done by means of: fault injection, to verify the faults coverage parameters; and performance evaluation, to identify degradation level caused by the inclusion of test procedure in a generic system. Although this work has been developed with basis in the structure of the T-NODE machine [TEL91] and the global test approach described in [NUN93b], it can be used in other transputer systems whose application parameters are similar to those here used.
29

Trix : um sistema operacional multiprocessado para transputers, com gerencia distribuida de processos / Trix, a transputer based multiprocessor operating system, with distributed process management

Pasin, Marcelo January 1994 (has links)
O trabalho em torno do sistema TRIX visa desenvolver um sistema operacional multiprocessado experimental, para servir de base a futuros trabalhos de pesquisa em sistemas operacionais e processamento paralelo. Como características essenciais do sistema tem-se simplicidade, desempenho e compatibilidade com UNIX. Com o sistema operando em vários processadores, pode-se fazer experiências de muitos tipos em processamento paralelo, como por exemplo, ensaios de distribuição de carga, avaliações de desempenho, implementação de linguagens paralelas ou distribuídas, ,bancos de dados, sistemas dedicados, etc. Ao construir o sistema TRIX, decidiu-se usar o código fonte de um sistema já pronto e funcionando, para encurtar o tempo de desenvolvimento. Optou-se pelo MINIX, que é um sistema bem estruturado, dividido em camadas de processos seqüenciais que se comunicam por troca de mensagens. Mais que isso, 0 MEND( a compatível com o UNIX versão 7 e o seu c6digo fonte pode ser usado para fins acadêmicos sem ferir o seu Copyright. Foi necessário porem dotar o MINIX de características distribuídas, para o controle de uma arquitetura multiprocessada. projeto e implementação destas características é o assunto deste trabalho. Inicialmente são avaliados os sistemas operacionais multiprocessados encontrados na literatura, de maneira a auxiliar no projeto do TRIX. Entre os detalhes estudados estão as diferenças entre sistemas paralelos e distribuídos, a comunicação entre seus processos e sua forma de distribuição. São apresentados os microprocessadores do tipo transputer, com seus mecanismos de criação e comunicação de processos implementados em hardware. Também é detalhado o sistema operacional MINIX, com sua construção em camadas, com processos servidores e clientes e suas estruturas de controle. 0 sistema foi projetado tentando maximizar a sua flexibilidade, escalabilidade e disponibilidade e minimizar sua complexidade. Os processos servidores são divididos de forma fixa, controlando as funções de memória localmente e as funções de arquivos remotamente. Os processos de usuário são distribuídos tentando se equalizar a taxa de ocupação dos processadores do sistema. E implementado um mecanismo de identificação global de processos juntamente com um método transparente de comunicação. Isso é feito junto com a criação de um driver suplementar ao sistema, responsável pela comunicação entre processos de processadores distintos. O núcleo original do MINIX recebeu uma serie de alterações para suportar as características distribuídas do novo sistema, de maneira a identificar processos locais e remotos. Foram extraídas do núcleo as funções executadas pelo escalonador em hardware do transputer. Foram inseridas algumas funções novas para tratar de algumas idiosincrasias do transputer, como por exemplo, sua falta de gerencia de memória. Finalmente, foi criado um mecanismo distribuído para controlar a arvore de processos do sistema, mantendo a semântica do UNIX. A escolha do processador para a execução de novos processos 6 feita pelo processador que o estiver criando, através de informações recebidas sobre processadores menos ocupados que estiverem mais próximos. / The TIUX system has been defined as an experimental operating system, to be used in future research on operating systems and parallel processing. The essential characteristics of the system are simplicity, performance and uNix compatibility. With the system running on several processors, several topics can be studied, such as load balancing, performance evaluation, implementation of distributed or parallel programming languages, distributed data bases and embedded systems. While designing the TRix system, it was decided to use the source code of an existing system, to shorten the development time. MINIX was chosen, because it is a well structured system, divided into layers of sequential processes, which communicate via messages. MINIX is compatible with UNIX version 7 and its source code can be used for academic purposes without any copyright infringiment. It had to be extended to control a multiprocessor architecture. The implementation of these characteristics is the main subject of this work. Initially some existing multiprocessor operating systems are evaluated, in order to guide in the development of TRIX. The studied issues are differences between parallel and distributed systems, interprocess communication features and the process distribution policy. The transputer microprocessors are presented, with their hardware implemented devices for process creation and communication. The MINIX operating system layered structure is described, with client and server processes and their control structures. The system is projected as an attempt to maximize flexibility, scalability and availability and to minimize complexity. The server processes are distributed in a fixed layout, controlling the memory and processes locally, and the files remotely. The user processes are distributed with load balancing among the processors. Global identification and transparent communication are implemented. This is achieved with an additional device driver, responsible for communication between processes running on different processors. The original MINIX kernel was changed to support the new distributed features of the system, identifying processes globally. The scheduler functions were stripped off, as they are now performed by the transputer hardware. Some functions were inserted to deal with some transputer problems, as for example, the lack of a memory management unit. Finally, a mechanism to control the global system process tree was created, maintaning strict UNIX semantics. The choice of which processor will hold a newly created process is made by the processor creating it, based on information received about the nearer processor with a low load.
30

Procedimento de teste para deteccao de falhas no processador transputer / Test procedure for faults detection in the transputer processor

Bezerra, Eduardo Augusto January 1996 (has links)
Procedimentos de teste para dispositivos eletrônicos tem sido construídos de forma a lidar com problemas, tais como geração de padrões de teste, cobertura de falhas e outros parâmetros tais como custo e tempo. Com o surgimento dos circuitos VLSI (Very Large Scale Integration), tais como os processadores, os problemas do teste tem aumentado. Com relação aos processadores, sua complexidade é um convite para o uso de procedimentos de teste funcionais, ignorando a estrutura física dos circuitos. Adicionalmente, informações sobre a estrutura do processador são geralmente desconhecidas por parte do usuário. No nível funcional, um processador é tratado como um sistema composto por blocos funcionais, cuja descrição pode ser obtida no manual do usuário. Cada bloco e caracterizado pela sua função, como por exemplo, a unidade lógica e aritmética, registradores, memória, etc... Testar o processador consiste em exercitar cada bloco com padrões de teste determinados. A utilização do processador transputer em situações onde se faz necessário um certo nível de confiabilidade depende da utilização de técnicas para detecção on-line. No presente trabalho é proposto um procedimento para o teste funcional do transputer. O teste funcional aqui proposto permite detecção de falhas on-line, em um contexto de aplicação periódica (pela suspensão temporária mas sem alteração do contexto da aplicação do usuário), com baixa degradação no desempenho global do sistema. Hipóteses e procedimentos relacionados a fabricação de circuitos não são considerados. Para possibilitar o uso de técnicas de teste convencionais, o transputer IMS T800 é particionado em blocos funcionais e um modelo para o teste, baseado na organização desse componente, e proposto. Este modelo é apoiado pela similaridade desse processador com um sistema microprocessado. Após o particionamento cada bloco funcional pode ser testado em separado; para os blocos que possuem organização como a de microprocessadores convencionais (tais como parte da CPU e a FPU), utiliza-se como base o método proposto por Robach and Saucier [ROB80]. De acordo com este método de teste funcional, as instruções do processador são modeladas por intermédio de grafos, que formam a base para definição de um conjunto mínimo de instruções. A execução desse conjunto exercita todos os elementos pertencentes ao respectivo bloco funcional do transputer. Entretanto, o procedimento proposto não é uma aplicação direta da metodologia citada, devido a características particulares do transputer, especialmente no que diz respeito ao paralelismo de operações, e sua estrutura de blocos internos. Com relação aos testes on-line, a utilização de um conjunto de instruções reduzido possibilita a realização de um teste rápido, reduzindo perdas de desempenho. Para os blocos restantes, de acordo com suas características, são construídos procedimentos de teste específicos. A freqüência de execução é ajustável para cada bloco. Dependendo das exigências da aplicação, alguns procedimentos podem ser omitidos, reduzindo a carga provocada pelo procedimento de teste no desempenho do sistema. A validação do procedimento de teste é realizada de duas maneiras: injeção de falhas, para verificar a capacidade de detecção: e avaliação de desempenho, para identificar o nível de degradação causado pela utilização do procedimento de teste em um sistema genérico. Apesar desse trabalho ter sido desenvolvido com base na estrutura da maquina TNODE [TEL91] e na abordagem de teste global descrita em [NUN93b], o procedimento de teste proposto pode ser utilizado em qualquer sistema composto por transputers, cujos parâmetros de aplicação se enquadrem nos requisitos usados neste trabalho. / Test procedures for electronic devices have been planned in order to deal with problems as test pattern generation, fault coverage and other parameters as cost and time. With the advent of very large scale integration (VLSI) circuits, such as the microprocessors, the test problems have arised. Concerning processors, their complexity is an invitation to the use of functional test procedures, ignoring the physical structure of the circuit. Further, structural information about the processor is, in general, unknown by users. In a functional level, a processor is seen as a system made up of functional blocks, whose description can be obtained from the user's manual. Each block is characterized by its function, as arithmetic and logic unit, registers, memory, etc... Testing the processor consists of exercising every block with specified test patterns. The use of the transputer processor in situations where reliability is needed depends on the use of on-line detection techniques. In this work, a functional test procedure for the transputer is proposed. The functional test here proposed intends to allow on-line fault detection, in a context of periodical application, with low degradation in global system performance. Hypotheses and procedures related to the fabrication process are not concerned. In order to make possible the use of conventional test techniques, the IMS T800 transputer is partitioned in functional blocks and a test model, based on the architecture of this component, is proposed. This model is supported by the similarity of this processor with a microprocessor system. Then each functional block may be tested in separate; for the blocks that have conventional microprocessor architecture (as part of the CPU and the FPU), the method proposed by Robach and Saucier [ROB80] is used. According to this functional test method, processor instructions are modeled by means of graphs which are the basis to find a minimal instruction set. The execution of this set exercises all elements that belong to the respective functional block of the transputer. Therefore, it is not a straight application of that methodology due to particular characteristics of the transputer, specially concerning the parallelism of operation and its internal blocks structure. Concerning on-line tests, the use of a reduced instruction set allows a fast test realization, reducing the overhead over system performance. For the remainder blocks, specific test procedures are built according to their features. The frequency of execution is adjustable to each block. Depending on the application constraints, some procedures may be omitted, reducing the overhead produced by the test procedure over the system performance. The validation of the test procedure may be done by means of: fault injection, to verify the faults coverage parameters; and performance evaluation, to identify degradation level caused by the inclusion of test procedure in a generic system. Although this work has been developed with basis in the structure of the T-NODE machine [TEL91] and the global test approach described in [NUN93b], it can be used in other transputer systems whose application parameters are similar to those here used.

Page generated in 0.0571 seconds