terrame hpa apresentado por: saulo henrique cabral silva 1 relatório de atividades bcc390 -...
TRANSCRIPT
![Page 1: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/1.jpg)
1
TerraME HPA
Apresentado por: Saulo Henrique Cabral Silva
Relatório de Atividades BCC390 - Monografia I
![Page 2: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/2.jpg)
2
Introdução - TerraME Simulador espaço-temporal para problemas
da Geo-Ciência. Ele pode ser usado para simular problemas
espaciais e não espaciais. O TerraME tem suporte para autômatos celulares,
para modelos baseados em agentes e modelos de rede rodando em espaços celulares regulares e irregulares .
![Page 3: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/3.jpg)
3
Justificativa - Nosso Problema Mudanças ambientais.
Modelos ficaram muito complexos.
Mais processos começaram a influenciar na dinâmica do modelo.
Complexidade de execução dos modelos aumentou muito.
![Page 4: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/4.jpg)
4
Justificativa - Nosso Problema Os modelos passaram a levar muito tempo
para serem executados.
Muitas iterações e rotinas precisam ser efetuadas.
O usuário aguarda muito tempo para obter o resultado.
O poder computacional dos novos har-dwares não é utilizado.
![Page 5: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/5.jpg)
5
Objetivo Reduzir o tempo de execução dos modelos.
Tirar o máximo de proveito do hardware.
Criar uma API que auxilie o usuário a realizar a paralelização do modelo.
As modificações feitas no código, não po-dem impedir que ele seja executado em paralelo.
![Page 6: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/6.jpg)
6
Resolvendo o PROBLEMA
![Page 7: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/7.jpg)
7
Primeiros Passos Trabalhos Correlatos.
Busca por técnicas paralelas que possam auxiliar na paralelização do Kernel TerraME.
Bibliotecas utilizadas no Kernel TerraME.
![Page 8: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/8.jpg)
8
Primeiros Passos – Trabalhos Correlatos Estudo da documentação da Plataforma TerraME.
Busca pelas principais plataformas de simulação existentes atualmente.
Comparação das plataformas analisadas com o TerraME.
Soluções de um problema semelhante aonosso, que utilize conceito de processossendo executados em paralelo (lingu. R).
![Page 9: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/9.jpg)
9
Podemos paralelizar a execução dos modelos ??? O que temos Hoje.
Modelo (.lua)
TerraME
SO
![Page 10: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/10.jpg)
10
Módulo entre o Modelo e o TerraME O que precisamos.
Modelo (.lua)
TerraME
SO
Parser
Input: arquivo Lua sequencial
Output: arquivo Lua paralelo
![Page 11: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/11.jpg)
11
Pontos fundamentais do TerraME O TerraME é uma plataforma que corresponde a um
conjunto de módulos escritos em C++.
Para a implementação do TerraME foram utilizados recursos da biblioteca QT e da biblioteca de integração LUA to C.
Uma das partes fundamentais do TerraME é o seu interpretador.
O interpretador é responsável por ler um programa escrito na linguagem TerraME (extendida da linguagem LUA).
![Page 12: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/12.jpg)
12
Primeiros Passos - Bibliotecas Utilizando de recursos das Bibliotecas QT e de
integração Lua to C.
Co-routine, para resolver em nível Lua(fora do Kernel).
![Page 13: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/13.jpg)
13
Estratégia Co-routine Gerar novos sub-modelos (.lua auxiliares).
Executar cada sub-modelo por uma co-routine.
Ao final vamos agrupar os resultados de cada co-routine.
Mas co-routine não executam como thread’s (não é concorrente).
Elas cooperam entre si.
![Page 14: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/14.jpg)
14
Primeiros Passos - Bibliotecas Utilizando de recursos das Bibliotecas QT e de
integração Lua to C.
Co-routine, para resolver em nível Lua(fora do Kernel).
QThread
Lua_State
Lua_Globals
![Page 15: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/15.jpg)
15
Primeiros Passos – Técnicas Paralelas A técnica utilizada deve reduzir ao máximo o
tempo de inatividade do processador.
Utilizar estratégia de Bag of Task’s.
Restrição de quantidade de Thread’s (processos) executando em uma máquina.
![Page 16: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/16.jpg)
16
Desenho da solução em que estamos trabalhando atualmente
Modelo Original passado
pelo modelador
![Page 17: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/17.jpg)
17
Desenho da solução em que estamos trabalhando atualmente - questões Como identificar o que deve ser executado em
paralelo ?
A solução deve rodar em qualquer versão TerraME(seja paralelo ou seqüencial).
A paralisação do modelo deve ser feita de forma fácil e bem intuitiva.
![Page 18: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/18.jpg)
18
Desenho da solução em que estamos trabalhando atualmente
Modelo Original passado
pelo modelador
Parser
![Page 19: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/19.jpg)
19
Desenho da solução em que estamos trabalhando atualmente
Modelo Original passado
pelo modelador Bag of Task’s
Parser
![Page 20: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/20.jpg)
20
Desenho da solução em que estamos trabalhando atualmente
Modelo Original passado
pelo modelador Bag of Task’s
Parser
Tarefas encapsuladas por Lua_State’s
![Page 21: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/21.jpg)
21
Desenho da solução em que estamos trabalhando atualmente
Modelo Original passado
pelo modelador Bag of Task’s
Parser
Um Modelo será meu “master”
![Page 22: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/22.jpg)
22
Desenho da solução em que estamos trabalhando atualmente
Bag of Task’s
Z ZZ
Z ZZ
Z ZZ
Waikup() Sleep()
Modelo “master”
![Page 23: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/23.jpg)
23
Desenho da solução em que estamos trabalhando atualmente Inserção da API TerraME HPA.
Comandos HPA FUNCTION PARALLEL JOIN function JOINALL HPA VAR SET var GET var
![Page 24: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/24.jpg)
24
Exemplo
--HPA LIST VAR k = 10; c = “saulo”;--HPA END LIST VAR
--HPA FUNCTION function A()--HPA END FUNCTION
--HPA FUNCTION function B()--HPA END FUNCTION
--HPA PARALLELresult = A();--HPA PARALLELresult 1 = B();
--
--HPA JOIN A--HPA JOIN B
print(result .. ” ” .. result1);
![Page 25: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/25.jpg)
25
Exemplo
--HPA LIST VAR k = 10; c = “saulo”;--HPA END LIST VAR
--HPA FUNCTION function A()--HPA END FUNCTION
--HPA FUNCTION function B()--HPA END FUNCTION
--HPA PARALLELresult = A();--HPA PARALLELresult 1 = B();
--
--HPA JOIN A--HPA JOIN B
print(result .. ” ” .. result1);
Cada uma destas funções estão encapsuladas por um Lua_State e armazenadas no Bag of Task’s.
![Page 26: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/26.jpg)
26
Cronograma para o próximo Semestre
Atividades
AGO SET OUT NOV DEZ
1 X X
2 X
3 X
4 X X
5 X
6 X X
7 X X X
8 X
1. Implementar a interface do sistema; 2. Teste comparativo de rendimento; 3. Teste do módulo; 4. Teste integrado do sistema; 5. Elaboração da documentação do sistema; 6. Elaboração do Manual do Usuário; 7. Redigir a Monografia; 8. Apresentação do Trabalho
![Page 27: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/27.jpg)
27
Perguntas???
![Page 28: TerraME HPA Apresentado por: Saulo Henrique Cabral Silva 1 Relatório de Atividades BCC390 - Monografia I](https://reader035.vdocuments.pub/reader035/viewer/2022081602/552fc133497959413d8d7641/html5/thumbnails/28.jpg)
28
Caso sobre algum tempo apresentar o que foi feito anteriormente.