• Nenhum resultado encontrado

5 CONCLUSÕES E TRABALHOS FUTUROS

Este trabalho teve por objetivo avaliar uma tradicional e complexa aplicação da indústria de exploração de petróleo e gás natural, a simulação de reservatórios, sob a ótica do desenvolvimento de sistemas computacionais integrados em um único chip, dotados de dezenas a centenas de unidades funcionais. Contudo, esse trabalho não tinha pretensão de propor melhorias significativas no que diz respeito às técnicas de modelagem dos reservatórios de petróleo, mas sim, avaliar o uso MPSoCs e many-cores como futura alternativa ao uso supercomputadores e clusters para executar aplicações computacionalmente tão intensas quanto essas simulações.

Nessa avaliação, aspectos gerais do sistema, como modelo de memória e desempenho da NoC, foram analisados. Como a plataforma STORM já contava com um modelo de memória compartilhada, foi então desenvolvido, no decorrer desse trabalho, um modelo de memória distribuída para a mesma. Uma biblioteca de troca de mensagens seguindo o padrão MPI também foi desenvolvida para esse modelo de memória, e versões seqüenciais e paralelas da aplicação foram implementadas para os dois modelos de memória utilizados nos experimentos. Todo o trabalho de codificação, incluindo correções de erros eventuais, encontrados no modelo já implementado, representou a codificação de aproximadamente 12 mil linhas de código SystemC. Para a obtenção de resultados foram realizadas 14 simulações envolvendo 14 instâncias da plataforma STORM.

Os resultados obtidos mostraram que a carga injetada na NoC durante a execução da aplicação no modelo de memória distribuída não chega a 0,2% da carga injetada no modelo de memória compartilhada. Entretanto, mesmo sendo substancialmente menor, essa carga se comporta de maneira semelhante à carga gerada pelo modelo de memória compartilhada. Pôde ser visto também que o modelo de memória distribuída obteve resultados melhores na quantidade média de ciclos necessários para a execução de uma instrução e que, mesmo com o aumento de nós processantes no sistema, essa quantidade se manteve praticamente inalterada, enquanto que no modelo de memória distribuída houve uma degradação desse valor.

Apesar dos resultados citados anteriormente serem favoráveis ao modelo de memória distribuída, os resultados de tempo de execução mostraram que os dois modelos

de memória levaram praticamente a mesma quantidade de ciclos para executar a aplicação. Vimos que esse resultado é justificado pela quantidade maior de instruções executadas no modelo de memória distribuída, causado pelo uso da biblioteca de troca de mensagens, e pelo aumento da latência de rede quando esse modelo de memória é utilizado. Entretanto, esses resultados podem ser melhorados com a correção de deficiências da NoC e com a adição de suporte a operações de acesso direto à memória ao DAMa.

Durante o desenvolvimento desse trabalho foram detectadas duas deficiências no modelo de NoC utilizado na plataforma STORM. A primeira se refere ao tamanho dos pacotes, que possuem tamanhos fixos pré-definidos, fazendo com que as mensagens maiores enviadas pela aplicação tenham que ser divididas em vários pacotes de rede, gerando então um overhead no envio e recebimento de mensagens. A segunda deficiência é o chaveamento store-and-forward. Nesse chaveamento, os pacotes são totalmente armazenados nos roteadores antes de serem enviados para os roteadores seguintes. Esse comportamento resulta num aumento da latência à medida que o tamanho dos pacotes aumenta.

A arquitetura inicialmente concebida para o modelo de memória distribuída contava com o suporte a operações de acesso direto à memória, que não chegou a ser implementado por limitações de tempo desse trabalho. Esse suporte previa que o DAMa pudesse ser programado para transferir dados entre os módulos conectados a ele, liberando o processador dessa tarefa e diminuindo o tempo necessário para enviar uma mensagem.

O modelo de memória distribuída obteve resultados expressivos, mas algumas alterações na plataforma STORM são necessárias para que se possa avaliar de forma mais conclusiva esse modelo de memória. Dessa forma, podemos citar como trabalhos futuros imediatos: a substituição do modelo de NoC utilizada na plataforma STORM por um modelo que não possua as deficiências citadas anteriormente, a adição do suporte a operações de DMA ao DAMa, e a otimização do tamanho dos buffers dos roteadores da NoC para o modelo de memória distribuída.

Como trabalhos futuros mais distantes, podemos citar a implementação de alguns mecanismos de sistema operacional, como o gerenciamento de processos e o gerenciamento de memória, para a plataforma STORM, e o desenvolvimento de um módulo de entrada e saída. Esse módulo pode ser mais facilmente desenvolvido para o modelo de memória distribuída devido às características do DAMa, explicadas na seção

2.2.4. Podemos citar ainda, a avaliação do consumo de potência de módulos importantes do sistema, como a NoC, a memória e o processador. Essa avaliação pode ser feita através da inclusão de bibliotecas e o uso de ferramentas adequadas. Esses trabalhos são de fundamental importância para o desenvolvimento dos MPSoCs como sistemas de uso geral.

BIBLIOGRAFIA

AGARWAL, A.; LEVY, M. The kill rule for multicore. In: Design Automation Conference, 44, 2007, San Diego, Proceedings… New York: ACM Press, 2007, p. 750– 753.

AMES, W. F. Numerical Methods for Partial Differential Equations. 3 Ed. San Diego: Academic Press, 1977. 433 p.

BEAR, J. Dynamics of Fluids in Porous Media. New York: Elsevier, 1972. 764 p.

BENINI, L.; DE MICHELI, G. Networks-on-chip: a new SoC paradigm. IEEE Computer, Los Alamitos, v. 35, n. 1, p. 70-78, Jan. 2002.

BERTOZZI, D. et al. NoC synthesis flow for customized domain specific multiprocessor systems-on-chip. IEEE Transactions on Parallel and Distributed Systems, Piscataway, v.16, n. 2, p.113 – 129, Fev. 2005.

BERTOZZI. S. et al. Supporting task migration in multi-processor systems-on-chip: A feasibility study. In: Design, Automation and Test in Europe, 2006. Proceedings... Leuven: European Design and Automation Association, 2006.

BORKAR, S. Thousand core chips - a technology perspective. In: Design Automation Conference, 44, 2007, San Diego, Proceedings… New York: ACM Press, 2007, p. 746– 749.

CMG Ltd. IMEX Reference Manual, version 96.00, [S.l.: s.n.], 1995.

CORDAZZO, J. Simulação de reservatórios de petróleo utilizando o método EbFVM e

multigrid algébrico. 2006. Tese (Doutorado em Engenharia Mecânica) – Programa de Pós-

Graduação em Engenharia Mecânica. UFSC, Florianópolis. 2006.

DAKE, L. P. Fundamentals of Reservoir Engineering. Amsterdam: Elsevier; 1978.

ERTEKIN, T.; ABOU-KASSEM, J. H.; KING, G. R. Basic applied reservoir simulation. SPE Textbook Series Vol. 7. Richardson: SPE, 2001.

FANCHI, J. R.; HARPOLE, K. J.; BUJNOWSKI, S. W. BOAST: A three-dimensional,

three-phase black oil applied simulation tool. Oklahoma: [s.n.], 1982.

GIRÃO, G.; OLIVEIRA, B. C.; REGO, R. S. L. S.; SILVA, I. S. Cache Coherency Communication Cost in a NoC-based MPSoC Platform. In: Symposium on Integrated Circuits and Systems Design, 20, 2007, Rio de Janeiro. Proceedings... New York : Association for Computing Machinery, 2007. v. 1. p. 288-293.

HELD, J. B. J.; KOEHL, S. From a few cores to many: A terascale computing research

overview. Intel Technical White Paper, Setembro 2007. Disponível em:

<http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf> IEEE Standard Society. IEEE Open SystemC Language Reference Manual. [S.l., s.n.], 2006. 441 p.

JERRAYA, A. A.; WOLF, W. The what, why, and how of MPSoCs. In:______ (Ed.).

Multiprocessor System-on-Chip. San Francisco: Morgan Kauffman, 2005. p. 1-18.

LOGHI. M. et al. Analyzing on-chip communication in a MPSoC environment. In: Design, Automation and Test in Europe, 2004. Proceedings... Washington: IEEE Computer Society, 2004.

MATTAX, C. C.; DALTON, R. L. Reservoir Simulation. SPE Monograph Series Vol. 13. Richardson: SP, 1990.

MPI Forum. MPI: A Message-Passing Interface Standard, Version 2.1. Junho, 2008. Disponível em: < http://www.mpi-forum.org/docs/mpi21-report.pdf>

OLIVEIRA, B. C. O. Manutenção da Consistência de Dados em uma Plataforma MP-SoC

Baseada em NoC: Projeto do Diretório. 2006. Trabalho de Conclusão de Curso.

(Graduação em Ciência da Computação) – Departamento de Informática e Matemática Aplicada, UFRN. Natal, 2006.

REGO, R. S. L. S.; SILVA, I. S.; AZEVEDO FILHO, A. When reconfigurable architecture meets network-on-chip. In: Symposium on Integrated Circuits and Systems Design, 17, 2004, Proceedings... New York: ACM Press, 2004, p. 216 - 221.

REGO, R. S. L. S. Projeto e implementação de uma plataforma MPSoC usando SystemC. 2006. Dissertação (Mestrado em Sistemas e Computação) – Programa de Pós-Graduação em Sistemas e Computação, UFRN, Natal, 2006.

SANGIOVANNI-VINCENTELLI, A.; MARTIN, G. Platform-based design and software design methodology for embedded systems. IEEE Design & Test of Computers, Los Alamitos, v. 18, n. 6, p. 23-33, Nov./Dec. 2001.

SCHLUMBERGER Ltd. ECLIPSE Reservoir Engineering Software. Disponível em: <http://www.slb.com>. Acesso em 03/04/2009.

SILVA, F. A. et al. Parallelizing Black Oil Reservoir Simulation Systems for SMP Machines. In: Annual Symposium on Simulation, 36, 2003, Proceedings... Washington: IEEE Computer Society, 2003, p. 224 - 230.

SOARES, A. A. M. Simulação de reservatórios de petróleo em arquiteturas paralelas com

memória distribuída. 2002. Dissertação (Mestrado em Ciências e Engenharia Civil) –

SOARES, R.; PEREIRA, A.; SILVA, I. S. X4CP32: A new parallel/reconfigurable general-purpose processor. In: Symposium on Computer Architecture and High Performance, 15, 2003, Proceedings... Washington: IEEE Computer Society, 2003, p. 260–268.

YOUNG, D. Iterative Methods For Solving Partial Difference Equations of Elliptic Type.

Transactions of the american mathematical society, [s.l.], v. 76, n. 1, p. 92 – 111, 1954.

SPARC International, Inc. The SPARC architecture manual, version 8. [S.l.]: Prentice Hall, 1992.

ZEFERINO, C. A. et al. A study on communication issues for systems-on-chip. In: Symposium on Integrated Circuits and Systems Design, 15, 2002, Proceedings... Washington: IEEE Computer Society, 2002, p. 121–126.

ZWILLINGER, D. Handbook of Differential Equations. 3 Ed, Boston: Academic Press, 1998. 801 p.

Documentos relacionados