Vinícius Silva, C. Bentes, Sérgio Guedes, G. P. Silva
{"title":"Arquitetura e Avaliação do Cluster de Alto Desempenho Netuno","authors":"Vinícius Silva, C. Bentes, Sérgio Guedes, G. P. Silva","doi":"10.5753/wscad.2009.17392","DOIUrl":"https://doi.org/10.5753/wscad.2009.17392","url":null,"abstract":"Este artigo apresenta a arquitetura e os resultados da avaliação de desempenho do supercomputador Netuno, um cluster de alto desempenho recentemente instalado na UFRJ. São apresentados detalhes tanto de sua arquitetura como dos softwares básicos e de middleware utilizados na sua construção. Os resultados de avaliação obtidos registram um desempenho de 16,2 Tflops sustentados para o benchmark HPL (High Performance Linpack), o que colocou o supercomputador Netuno na 138ª posição na lista Top500 de junho de 2008. Atualmente, o supercomputador Netuno atende diversas instituições de ensino e pesquisa no Brasil, participantes das redes temáticas de pesquisa de Geofísica Aplicada e de Oceanografia (REMO), patrocinadas pala Petrobras.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"22 19","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120940173","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automação de Refatorações para Programas Fortran de Alto Desempenho","authors":"B. B. Boniati, A. Charão, B. Stein","doi":"10.5753/wscad.2009.17394","DOIUrl":"https://doi.org/10.5753/wscad.2009.17394","url":null,"abstract":"Refatoração é uma técnica de engenharia de software que objetiva aplicar melhorias internas no código-fonte de aplicações, sem que isso influencie no seu comportamento. É uma técnica amplamente empregada em código orientado a objetos e utilizada por algumas metodologias de desenvolvimento. Na computação de alto desempenho, a refatoração é uma técnica pouco explorada, sendo que grande parte código legado de programas de alto desempenho está escrita em linguagens não orientadas a objetos. Neste trabalho, explora-se a automatização de técnicas de refatoração e sua aplicação em códigos de alto desempenho escritos em linguagem imperativa Fortran. São identificadas oportunidades de melhorar a legibilidade e o design do código sem afetar o desempenho, além de reestruturações de código quem podem representar ganho de desempenho. As técnicas estudadas e automatizadas são utilizadas em aplicações reais, como meio de validar a abordagem. A automatização das técnicas é feita estendendo as funcionalidades do IDE Photran, um plugin para Eclipse, cujo funcionamento também será abortado neste texto.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123817778","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Análise de desempenho do sistema de arquivos Lustre sob padrões de acesso a dados exclusivos","authors":"F. Boito, R. Kassick, P. Navaux","doi":"10.5753/wscad.2009.17406","DOIUrl":"https://doi.org/10.5753/wscad.2009.17406","url":null,"abstract":"Aplicações que executam em ambientes de cluster frequentemente geram grandes quantidades de dados, que podem precisar ser acessados de forma eficiente por todos os nós envolvidos na computação. Sistemas de arquivos distribuídos (SADs) constituem uma solução natural nesse caso. Dependendo das suas opções de projeto, esses sistemas podem apresentar variados comportamentos sob diferentes padrões de acesso. Assim, estudar como se comporta o desempenho de um SAD sob padrões de acesso verificados na prática é uma tarefa importante, pois fornece ferramentas para que as aplicações possam adequar as suas operações de E/S para tirar melhor proveito do sistema utilizado. Um desses padrões comuns em aplicações científicas é o acesso pelos nós a dados exclusivos. Duas formas de fazê-lo são empregar um arquivo por processo, ou segmentos de um arquivo compartilhado. Esse artigo apresenta um estudo sobre o comportamento do sistema de arquivos Lustre nessas situações, a fim de determinar a que deve ser preferida em cada caso. Para realizar o estudo, foram realizados testes que simulam os padrões de acesso. Os resultados permitiram concluir que, para operações de escrita com números grandes de clientes, a abordagem de arquivos múltiplos é a melhor. No entanto, para outras situações, ela se mostra equivalente e até pior que a de arquivo compartilhado.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126515116","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Simulação de Neurônios Biologicamente Realistas em GPUs","authors":"Raphael Y. de Camargo","doi":"10.5753/wscad.2009.17404","DOIUrl":"https://doi.org/10.5753/wscad.2009.17404","url":null,"abstract":"GPUs modernas são compostas por centenas de processadores capazes de executar milhares de threads simultaneamente e estão sendo utilizadas com sucesso em diversas aplicações na área de computação de alto-desempenho. Neste trabalho apresentamos um simulador de modelos neuronais realistas capaz de simular centenas de milhares de neurônios por GPU. Resultados experimentais mostram que as simulações são executadas 5 vezes mais rápidas em GPUs, quando comparadas a CPUs modernas.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128585541","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. C. Barbosa, L. Catabriga, Alberto F. De Souza, A. M. F. Valli
{"title":"Análise do processamento paralelo em Clusters multi-core na simulação de escoamento míscivel implementado pelo método dos elementos finitos","authors":"A. C. Barbosa, L. Catabriga, Alberto F. De Souza, A. M. F. Valli","doi":"10.5753/wscad.2009.17396","DOIUrl":"https://doi.org/10.5753/wscad.2009.17396","url":null,"abstract":"Neste trabalho analisamos o desempenho paralelo de um código de elementos finitos em Clusters multi-core considerando duas alternativas de particionamento do job paralelo MPI entre os cores: single-core, na qual apenas um processo é enviado para cada máquina multi-core; e fill-up, na qual todos os cores de cada máquina do Cluster recebem processos. A aplicação envolve o escoamento miscível de fluido incompressível em meio poroso, mais especificamente, a simulação de traçadores no contexto da Engenharia de Petróleo. Nós medimos o tempo de processamento e o speedup obtidos em dois Clusters de computadores multi-core: um composto por 31 máquinas, cada uma com uma Unidade Central de Processamento (Central Processing Unit - CPU) dual-core (Enterprise 2); e outro composto por 29 máquinas, cada uma com uma CPU quad-core (Enterprise 3). Além disso, analisamos a eficiência dos algoritmos de escalonamento no Enterprise 3 em termos da comunicação externa entre as CPUs e a concorrência dos cores pela hierarquia de memória das CPUs. Nossos resultados mostraram que, muito embora máquinas mais modernas como o Enterprise 3 possuam um número maior de cores e estes sejam mais rápidos, a competição destes cores pela hierarquia de memória tem grande impacto no desempenho final das aplicações.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127794785","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Ademir Carvalho Jr., T. Farias, J. M. Teixeira, Veronica Teichrieb, Judith Kelner
{"title":"Aplicando Model-Driven Development à Plataforma GPGPU","authors":"Ademir Carvalho Jr., T. Farias, J. M. Teixeira, Veronica Teichrieb, Judith Kelner","doi":"10.5753/wscad.2009.17402","DOIUrl":"https://doi.org/10.5753/wscad.2009.17402","url":null,"abstract":"GPUs (Graphics Processing Units) são dispositivos gráficos que vêm ganhando destaque nos últimos anos pela sua eficiência em processamento paralelo. Neste contexto, o termo GPGPU (General-Purpose computation on GPU) é um novo conceito que visa explorar as vantagens das GPUs em áreas não necessariamente relacionadas a processamento gráfico. Este trabalho aplica princípios do MDD (Model-Driven Development) ao desenvolvimento de aplicações para GPU, visando produzir um ambiente mais adequado para a construção desse tipo de software. O resultado do trabalho foi o desenvolvimento de uma ferramenta que enxerga uma aplicação como um modelo e gera automaticamente parte significativa do código desta aplicação. O código gerado é expresso na linguagem definida por CUDA (Compute Unified Device Architecture), uma plataforma de programação para GPGPU.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130241359","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
R. R. D. Souza, G. C. Heck, Renato Carmo, R. A. Hexsel
{"title":"Avaliação de Desempenho, Área e Energia de Caches com Controle de Poluição","authors":"R. R. D. Souza, G. C. Heck, Renato Carmo, R. A. Hexsel","doi":"10.5753/wscad.2009.17399","DOIUrl":"https://doi.org/10.5753/wscad.2009.17399","url":null,"abstract":"Este artigo compara o desempenho, a área e o dispêndio de energia de quatro projetos do primeiro nível da hierarquia de memória para sistemas embarcados. Os quatro projetos são: (i) cache primária com mapeamento direto (MD); (ii) cache primária com associatividade binária; (iii) cache primária com MD associada a uma cache com controle de poluição; e (iv) cache primária com MD associada a uma cache de vítimas e controle de poluição. Os projetos foram simulados com os programas da suíte CommBench, e para estes programas, caches com 4-8 Kbytes e os projetos (iii) e (iv) tem bom desempenho; os sistemas com o projeto (iv) tem a melhor relação desempenho/área e energia.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115577356","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
L. Veronese, A. F. D. Souza, C. Badue, Elias Oliveira
{"title":"Implementação Paralela em C+CUDA de um Categorizador Multi-Rótulo de Texto Baseado no Algoritmo k-NN","authors":"L. Veronese, A. F. D. Souza, C. Badue, Elias Oliveira","doi":"10.5753/wscad.2009.17403","DOIUrl":"https://doi.org/10.5753/wscad.2009.17403","url":null,"abstract":"Em problemas de categorização automática de texto com um grande número de rótulos, as bases de dados de treinamento são grandes, o que pode tornar proibitivo o tempo de categorização para sistemas on-line. Neste trabalho avaliamos a implementação paralela em C+CUDA (Compute Unified Device Architecture) de um categorizador multi-rótulo de texto baseado no algoritmo k-NN (k-Nearest Neighbors). Nós implementamos este algoritmo de duas formas: seqüencial em C e paralela em C+CUDA. Nossos resultados experimentais mostram que, com o uso de GPUs (Graphics Processing Units) e C+CUDA, são possíveis ganhos de desempenho da ordem de 65 vezes o desempenho seqüencial alcançado com CPUs.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124562058","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Estudo Quantitativo do Modelo WRF de Previsão do Tempo em um Ambiente de Cluster Multi-core","authors":"L. C. Pinto, M. R. Dantas","doi":"10.5753/wscad.2009.17397","DOIUrl":"https://doi.org/10.5753/wscad.2009.17397","url":null,"abstract":"A computação científica demanda poder computacional de alto desempenho principalmente para resolver em tempo hábil problemas conhecidos como “grandes desafios”. Devido à limitação de clock, cada vez mais arquiteturas não-convencionais construídas com processadores conhecidos como commodity estão sendo utilizadas nesta tarefa, como por exemplo os ambientes multi-cluster. Atualmente, a inserção de processadores com múltiplos núcleos nas configurações de cluster cria um cenário diferenciado no que diz respeito à comunicação entre processos paralelos nestes ambientes. Nesse contexto, o presente artigo vem para ampliar a discussão e apontar possibilidades de ganho em desempenho e eficiência. Os resultados empíricos obtidos com a execução do modelo numérico de previsão do tempo WRF (Weather Research and Forecasting Model) revelaram speedup de 1.39 resultante da adequação do subsistema de comunicação entre processos às especificidades da aplicação e do cluster multi-core em foco, o que reforça a importância da análise e a pertinência deste trabalho.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132447307","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
T. A. Alves, Leandro A. J. Marzulo, F. M. França, V. Costa
{"title":"Trebuchet: Explorando TLP com Virtualização DataFlow","authors":"T. A. Alves, Leandro A. J. Marzulo, F. M. França, V. Costa","doi":"10.5753/wscad.2009.17393","DOIUrl":"https://doi.org/10.5753/wscad.2009.17393","url":null,"abstract":"No modelo DataFlow as instruções são executadas t ão logo seus operandos de entrada estejam disponíveis, expondo, de forma natural, o paralelismo em nível de instrução (ILP). Por outro lado, a exploração de paralelismo em nível de thread (TLP) passa a ser também um fator de grande import ância para o aumento de desempenho na execução de uma aplicação em máquinas multicore. Este trabalho propõe um modelo de execução de programas, baseado nas arquiteturas DataFlow, que transforma ILP em TLP. Esse modelo é demonstrado através da implementação de uma máquina virtual multi-threaded, a Trebuchet. A aplicação é compilada para o modelo DataFlow e suas instruções independentes (segundo o fluxo de dados) são executadas em Elementos de Processamento (EPs) distintos da Trebuchet. Cada EP é mapeado em uma thread na máquina hospedeira. O modelo permite a definição de blocos de instruções de diferentes granularidades, que terão disparo guiado pelo fluxo de dados e execução direta na máquina hospedeira, para diminuir os custos de interpretação. Como a sincronização é obtida pelo modelo DataFlow, não é necessária a introdução de locks ou barreiras nos programas a serem paralelizados. Um conjunto de três benchmarks reduzidos, compilados em oito threads e executados por um processador quadcore Intel R CoreTMi7 920, permitiu avaliar: (i) o funcionamento do modelo; (ii) a versatilidade na definição de instruções com diferentes granularidades (blocos); (iii) uma comparação com o OpenMP. Acelerações de 4,81, 2,4 e 4,03 foram atingidas em relação à versão sequencial, enquanto que acelerações de 1,11, 1,3 e 1,0 foram obtidas em relação ao OpenMP.","PeriodicalId":132055,"journal":{"name":"Anais do X Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2009)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124166716","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}