Programação Paralela em MIPS
Lara Teixeira Oliveira
você vai aprender
Como paralelizar um programa em linguagem de montagem do processador MIPS.
Como realizar chamadas de sistema operacional para a criação e gerenciamento de threads.
pré-requisitos
Conhecimento de programação básica em linguagem de montagem do processador MIPS.
hello world paralelo
Dado o seguinte código "hello world" em C#.
Ele imprime a string "hello" duas vezes com o valor de sua respectiva iteração. Para paralelizar esse código, vamos dividir as iterações do laço de repetição entre duas threads, que serão executadas em paralelo.
chamadas de sistema
Para a paralelização do código apresentado, foram criadas três chamadas de sistema operacional para a criação e gerenciamento de threads: thread_fork, thread_id e num_thread.
thread_fork
A chamada thread_fork tem o código 161 e recebe como argumentos: o número de threads a serem criadas e a função que se deseja paralelizar.
thread_id
A chamada thread_id tem o código 162 e apenas retorna o identificador da thread em execução.
num_thread
A chamada num_thread tem o código 163 e retorna o número total de threads em execução.
Com estas três chamadas, é possível implementar o hello_world em paralelo.
programa sequencial
O programa "hello world" em linguagem de montagem é apresentado abaixo:
paralelizando o hello world
Na versão paralela, cada thread executará a função hello_world em paralelo, imprimindo o seu identificador.
Como o laço de repetição possuía apenas duas iterações, elas são executadas em paralelo pelas duas threads criadas na chamada thread_fork.
Comentários