SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a




        M2TI - Modelo de Programa¸˜o com Transa¸oes
                                   ca           c˜
                Impl´
                    ıcitas e Threads Impl´
                                         ıcitos

                                            Rodrigo H¨bner
                                                     u

                                  Universidade Estadual de Maring´a
                                              PIC/UEM
                                     Bacharelado em Inform´tica
                                                           a
                                                5o Ano
                           Orientador: Prof. Dr. Anderson Faustino da Silva
                                     Departamento de Inform´tica
                                                            a


                                        2 de outubro de 2009
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a



Sum´rio
   a

      1   Introdu¸˜o
                 ca

      2   Objetivos

      3   O Modelo M2TI

      4   Ambiente de Execu¸˜o
                           ca

      5   Implementa¸˜o
                    ca

      6   Exemplos

      7   Avalia¸˜o
                ca

      8   Conclus˜o e Trabalhos Futuros
                 a
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a



Introdu¸˜o
       ca




             Arquitetura computacional atual: UCP’s multi-core;
             Modelo de programa¸˜o multithreading ;
                               ca
             Escrever programas multithread n˜o ´ simples;
                                             a e
             Precisamos explorar os avan¸os arquiteturais relaxando o
                                        c
             modelo atual e lidar com problemas existentes.
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a



Objetivos




             Explorar paralelismo em linguagens de programa¸˜o;
                                                           ca
             Desenvolver um modelo bem definido;
             Criar estrat´gias gen´ricas para maioria das linguagens de
                         e        e
             programa¸˜o;
                       ca
             N˜o atingir um dom´ espec´
              a                ınio   ıfico.
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a



O modelo M2TI




             Decorar fun¸˜es e trat´-las como tarefas;
                        co         a
             Tornar impl´
                        ıcito o gerenciamento das tarefas e execut´-las em
                                                                  a
             paralelo;
             Modelo baseado em roubo de tarefas;
             Primitivas do modelo: task, init, final e atomic.
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a


Ambiente de execu¸˜o
                 ca
Fluxo que exemplifica a execu¸˜o de tarefas impl´
                            ca                 ıcitas
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a



Implementa¸˜o do modelo M2TI
          ca



             Linguagem de programa¸˜o Python
                                  ca
             Biblioteca: multiprocessing
             Padr˜o: decorators
                 a
      Programa executa da seguinte forma:
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a


Exemplo de c´digo
            o
Uso de task, init e final
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a


Exemplo de c´digo
            o
Uso de atomic
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a


Resultados
Avalia¸˜o para alguns programas paralelos em Python
      ca
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a


Conclus˜es
       o
Conclus˜es e trabalhos futuros
       o




             A programa¸˜o paralela ´ uma tarefa ´rdua;
                       ca           e            a
             Modelos existentes s˜o dif´
                                 a     ıveis de utillizar;
             M2TI ´ um modelo simples e f´cil;
                   e                     a
             Trabalhos futuros:
                    Modelo na linguagem C;
                    Extender o modelo para sistemas distribu´
                                                            ıdos.
Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu
       ca                                           ca            ca                 ca         a



Fim




                                              Perguntas?




             Rodrigo H¨bner
                      u
             E-mail: rhubner@gmail.com

Mais conteúdo relacionado

Destaque

Reduzindo o Overhead Imposto pela Compilação Dinâmica
Reduzindo o Overhead Imposto pela Compilação DinâmicaReduzindo o Overhead Imposto pela Compilação Dinâmica
Reduzindo o Overhead Imposto pela Compilação DinâmicaRodrigo Hübner
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
Prototyping is an attitude
Prototyping is an attitudePrototyping is an attitude
Prototyping is an attitudeWith Company
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 

Destaque (7)

Reduzindo o Overhead Imposto pela Compilação Dinâmica
Reduzindo o Overhead Imposto pela Compilação DinâmicaReduzindo o Overhead Imposto pela Compilação Dinâmica
Reduzindo o Overhead Imposto pela Compilação Dinâmica
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
M2ti - Python Brasil
M2ti - Python BrasilM2ti - Python Brasil
M2ti - Python Brasil
 
Tdc2010
Tdc2010Tdc2010
Tdc2010
 
13. multiprocessing
13. multiprocessing13. multiprocessing
13. multiprocessing
 
Prototyping is an attitude
Prototyping is an attitudePrototyping is an attitude
Prototyping is an attitude
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 

Semelhante a M2TI - EAIC

Metodologias Ágeis em Gerenciamento de Projetos
Metodologias Ágeis em Gerenciamento de ProjetosMetodologias Ágeis em Gerenciamento de Projetos
Metodologias Ágeis em Gerenciamento de ProjetosDaniel de Amaral
 
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...Fernando Geraldo Mantoan
 
Modelagem Ágil - UML ainda serve para alguma coisa?
Modelagem Ágil - UML ainda serve para alguma coisa?Modelagem Ágil - UML ainda serve para alguma coisa?
Modelagem Ágil - UML ainda serve para alguma coisa?Jean Hauck
 
Agile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos ÁgeisAgile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos ÁgeisSuelen Carvalho
 
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Thiago Fraga
 
Aula 1 2-es
Aula 1 2-esAula 1 2-es
Aula 1 2-escifjovo
 
FDD para equipes não tão ágeis
FDD para equipes não tão ágeisFDD para equipes não tão ágeis
FDD para equipes não tão ágeisguilhermepinter
 
Pesquisa operacional
Pesquisa operacionalPesquisa operacional
Pesquisa operacionalÉder Alves
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Eng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de softwareEng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de softwareManuel Menezes de Sequeira
 
PLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a ModelosPLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a Modeloselliando dias
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
Macrosolutions Treinamento: Análise de Valor Agregado em projetos (Earned Value)
Macrosolutions Treinamento: Análise de Valor Agregado em projetos (Earned Value)Macrosolutions Treinamento: Análise de Valor Agregado em projetos (Earned Value)
Macrosolutions Treinamento: Análise de Valor Agregado em projetos (Earned Value)Macrosolutions SA
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareCursoSENAC
 

Semelhante a M2TI - EAIC (20)

Metodologias Ágeis em Gerenciamento de Projetos
Metodologias Ágeis em Gerenciamento de ProjetosMetodologias Ágeis em Gerenciamento de Projetos
Metodologias Ágeis em Gerenciamento de Projetos
 
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
 
Modelagem Ágil - UML ainda serve para alguma coisa?
Modelagem Ágil - UML ainda serve para alguma coisa?Modelagem Ágil - UML ainda serve para alguma coisa?
Modelagem Ágil - UML ainda serve para alguma coisa?
 
Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA
Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDADesenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA
Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA
 
Aula1 Apresentacao TEES
Aula1 Apresentacao TEESAula1 Apresentacao TEES
Aula1 Apresentacao TEES
 
Agile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos ÁgeisAgile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
 
Es 09
Es 09Es 09
Es 09
 
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
 
Aula 1 2-es
Aula 1 2-esAula 1 2-es
Aula 1 2-es
 
FDD para equipes não tão ágeis
FDD para equipes não tão ágeisFDD para equipes não tão ágeis
FDD para equipes não tão ágeis
 
Pesquisa operacional
Pesquisa operacionalPesquisa operacional
Pesquisa operacional
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
Eng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de softwareEng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de software
 
PLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a ModelosPLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a Modelos
 
A53740 engis vs rup
A53740   engis vs rupA53740   engis vs rup
A53740 engis vs rup
 
IBM Rational Unified Process
IBM Rational Unified ProcessIBM Rational Unified Process
IBM Rational Unified Process
 
Macro Arquitetura de Software
Macro Arquitetura de SoftwareMacro Arquitetura de Software
Macro Arquitetura de Software
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
Macrosolutions Treinamento: Análise de Valor Agregado em projetos (Earned Value)
Macrosolutions Treinamento: Análise de Valor Agregado em projetos (Earned Value)Macrosolutions Treinamento: Análise de Valor Agregado em projetos (Earned Value)
Macrosolutions Treinamento: Análise de Valor Agregado em projetos (Earned Value)
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 

M2TI - EAIC

  • 1. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a M2TI - Modelo de Programa¸˜o com Transa¸oes ca c˜ Impl´ ıcitas e Threads Impl´ ıcitos Rodrigo H¨bner u Universidade Estadual de Maring´a PIC/UEM Bacharelado em Inform´tica a 5o Ano Orientador: Prof. Dr. Anderson Faustino da Silva Departamento de Inform´tica a 2 de outubro de 2009
  • 2. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Sum´rio a 1 Introdu¸˜o ca 2 Objetivos 3 O Modelo M2TI 4 Ambiente de Execu¸˜o ca 5 Implementa¸˜o ca 6 Exemplos 7 Avalia¸˜o ca 8 Conclus˜o e Trabalhos Futuros a
  • 3. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Introdu¸˜o ca Arquitetura computacional atual: UCP’s multi-core; Modelo de programa¸˜o multithreading ; ca Escrever programas multithread n˜o ´ simples; a e Precisamos explorar os avan¸os arquiteturais relaxando o c modelo atual e lidar com problemas existentes.
  • 4. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Objetivos Explorar paralelismo em linguagens de programa¸˜o; ca Desenvolver um modelo bem definido; Criar estrat´gias gen´ricas para maioria das linguagens de e e programa¸˜o; ca N˜o atingir um dom´ espec´ a ınio ıfico.
  • 5. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a O modelo M2TI Decorar fun¸˜es e trat´-las como tarefas; co a Tornar impl´ ıcito o gerenciamento das tarefas e execut´-las em a paralelo; Modelo baseado em roubo de tarefas; Primitivas do modelo: task, init, final e atomic.
  • 6. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Ambiente de execu¸˜o ca Fluxo que exemplifica a execu¸˜o de tarefas impl´ ca ıcitas
  • 7. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Implementa¸˜o do modelo M2TI ca Linguagem de programa¸˜o Python ca Biblioteca: multiprocessing Padr˜o: decorators a Programa executa da seguinte forma:
  • 8. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Exemplo de c´digo o Uso de task, init e final
  • 9. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Exemplo de c´digo o Uso de atomic
  • 10. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Resultados Avalia¸˜o para alguns programas paralelos em Python ca
  • 11. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Conclus˜es o Conclus˜es e trabalhos futuros o A programa¸˜o paralela ´ uma tarefa ´rdua; ca e a Modelos existentes s˜o dif´ a ıveis de utillizar; M2TI ´ um modelo simples e f´cil; e a Trabalhos futuros: Modelo na linguagem C; Extender o modelo para sistemas distribu´ ıdos.
  • 12. Introdu¸˜o Objetivos O Modelo M2TI Ambiente de Execu¸˜o Implementa¸˜o Exemplos Avalia¸˜o Conclus˜o e Trabalhos Futu ca ca ca ca a Fim Perguntas? Rodrigo H¨bner u E-mail: rhubner@gmail.com