M2TI - EAIC

12

Click here to load reader

description

Apresentação do meu trabalho M2TI no Encontro Anual de Iniciação Científica (EAIC)

Transcript of M2TI - EAIC

Page 1: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

M2TI - Modelo de Programacao com TransacoesImplıcitas e Threads Implıcitos

Rodrigo Hubner

Universidade Estadual de MaringaPIC/UEM

Bacharelado em Informatica5o Ano

Orientador: Prof. Dr. Anderson Faustino da SilvaDepartamento de Informatica

2 de outubro de 2009

Page 2: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

Sumario

1 Introducao

2 Objetivos

3 O Modelo M2TI

4 Ambiente de Execucao

5 Implementacao

6 Exemplos

7 Avaliacao

8 Conclusao e Trabalhos Futuros

Page 3: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

Introducao

Arquitetura computacional atual: UCP’s multi-core;

Modelo de programacao multithreading ;

Escrever programas multithread nao e simples;

Precisamos explorar os avancos arquiteturais relaxando omodelo atual e lidar com problemas existentes.

Page 4: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

Objetivos

Explorar paralelismo em linguagens de programacao;

Desenvolver um modelo bem definido;

Criar estrategias genericas para maioria das linguagens deprogramacao;

Nao atingir um domınio especıfico.

Page 5: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

O modelo M2TI

Decorar funcoes e trata-las como tarefas;

Tornar implıcito o gerenciamento das tarefas e executa-las emparalelo;

Modelo baseado em roubo de tarefas;

Primitivas do modelo: task, init, final e atomic.

Page 6: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

Ambiente de execucaoFluxo que exemplifica a execucao de tarefas implıcitas

Page 7: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

Implementacao do modelo M2TI

Linguagem de programacao Python

Biblioteca: multiprocessing

Padrao: decorators

Programa executa da seguinte forma:

Page 8: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

Exemplo de codigoUso de task, init e final

Page 9: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

Exemplo de codigoUso de atomic

Page 10: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

ResultadosAvaliacao para alguns programas paralelos em Python

Page 11: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

ConclusoesConclusoes e trabalhos futuros

A programacao paralela e uma tarefa ardua;

Modelos existentes sao difıveis de utillizar;

M2TI e um modelo simples e facil;

Trabalhos futuros:

Modelo na linguagem C;Extender o modelo para sistemas distribuıdos.

Page 12: M2TI - EAIC

Introducao Objetivos O Modelo M2TI Ambiente de Execucao Implementacao Exemplos Avaliacao Conclusao e Trabalhos Futuros

Fim

Perguntas?

Rodrigo Hubner

E-mail: [email protected]