Informações:

Publicações do PESC

Título
Escalonamento Distribuído de Linhas de Execução Paralelas Através de Reversão de Arestas com Hibernação
Linha de pesquisa
Arquitetura e Sistemas Operacionais
Tipo de publicação
Dissertação de Mestrado
Número de registro
Data da defesa
30/3/2009
Resumo

Os recentes avanços da tecnologia, na direção de arquiteturas com múltiplos núcleos, força a mudança de paradigma de desenvolvimento de aplicações do modelo sequencial para o de múltiplas linhas de execução (threads). O trabalho apresentado, faz uso do SER - Scheduling by Edge Reversal, algoritmo consistente e maduro, visando a migração de programas codificados para um modelo de execução sequencial, para uma eficiente execução no novo modelo. Isto é realizado através da substituição dos comandos sequenciais FOR e WHILE por seus equivalentes paralelos, com mínimo esforço. Tais mecanismos foram modelados, a partir do SER, como fundamentação teórica, e dos conceitos de POSIX Threads, técnicas de escalonamento e de paralelização. algoritmo obtido, Gen-For possui escalabilidade e facilidade na conversão de programas. Primeiramente o Gen-For foi utilizado em uma aplicação sintética, para aferimento de escalabilidade e aceleração, obtendo-se bons resultados. Em seguida, o Gen-For foi aplicado a produtos de matrizes esparsas. Foram antecipadas, como evolução futura, a paralelização de múltiplos laços, execução especulativa, balanceamento de carga em função da taxa de utilização dos núcleos e canalização por software.

Abstract

Recent technology trends towards multicore arcliitectures forces the application development paradigin to change from the sequential model to a new, multithreaded one. This work is based in SER - Scheduling by Edge Reversal, a solid and stable algorithm, used as a. stibstratum to convert programs coded in a seqtiential execution model to a safe execution in a miiltithreaded environment, by converting the sequential statements FOR and WHILE to tlieir parallel equivalents Gen-For and Gen- T/Vhil e, witli the slightest possible effort . Gen-For was sliaped from SER, as a tlieoretical groundwork, witli POSIX Threads coiicepts, sclieduling and parallel execution tecliniques, as technological background. The derived algorithm Gen-For has a nice scalability and a friendly progranl conversion scheme. Good results were obtained as Gen-For was used in a generic application in order to measure its scalability and speedup. Besides, Gen-For was applied to sparse matrix product computations. TVhile modeling Gen-For, parallel multi-loop, speculative execution, concurrency scheduling as a factor of processor usage and loop software pipelining were devised as future development.

Arquivo
Topo