C. Ribeiro, Vania Marangozova, Jean-François Méhaut, Fabrice Dupros, A. Carissimi
{"title":"Explorando Afinidade de Memória em Arquiteturas NUMA","authors":"C. Ribeiro, Vania Marangozova, Jean-François Méhaut, Fabrice Dupros, A. Carissimi","doi":"10.5753/wscad.2008.17670","DOIUrl":"https://doi.org/10.5753/wscad.2008.17670","url":null,"abstract":"Arquiteturas NUMA possuem latência e largura de banda assimétricas devido a existência de múltiplos níveis hierárquicos de memória no sistema. Para garantir desempenho neste tipo de arquitetura torna-se necessário garantir a afinidade de memória nas aplicações. Os sistemas operacionais, com suporte para arquiteturas NUMA, possuem políticas para alocação e escalonamento de memória e threads que visam a afinidade de memória. Entretanto, essas políticas não apresentam sempre o melhor desempenho para todos os tipos de aplicações. Ferramentas e APIs, presentes nestes sistemas operacionais, permitem gerenciar explicitamente a afinidade de memória nas aplicações. Neste trabalho será apresentado a avaliação de desempenho de diferentes estratégias para gerenciamento explícito de afinidade de memória, implementadas com APIs do sistema operacional em aplicações paralelas. Essas estratégias foram implementadas em uma aplicação sísmica e em kernels do Benchmark NAS e executadas em diferentes arquiteturas NUMA. Os resultados mostram a importância de garantir a afinidade de memória em arquiteturas NUMA (ganho médio de até 80%) e que isso pode ser obtido através de APIs do sistema operacional.","PeriodicalId":285098,"journal":{"name":"Anais do IX Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2008)","volume":"144 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123364491","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":"Avaliando e Comparando Diferentes Estruturas de Programas Paralelos Através de Modelos Analíticos de Desempenho","authors":"J. M. Laine, Edson T. Midorikawa","doi":"10.5753/wscad.2008.17687","DOIUrl":"https://doi.org/10.5753/wscad.2008.17687","url":null,"abstract":"Um programa paralelo e distribuído pode ter seu código fonte estruturado de diferentes modos. A organização da divisão e distribuição dos dados é uma atividade crítica para o desempenho final da aplicação. Assim, é importante que exista uma metodologia capaz de auxiliar estudos com o objetivo de comparar diferentes abordagens de soluções e prever qual modelo é o mais adequado para organizar a solução da aplicação. Nesse artigo, demonstramos como a metodologia PEMPIs-Het pode ser utilizada para esse propósito. Os resultados obtidos confirmam a capacidade da metodologia em avaliar e predizer corretamente o desempenho de diferentes estruturas de programas paralelos.","PeriodicalId":285098,"journal":{"name":"Anais do IX Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2008)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130166937","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}
Vinicius Dalto do Nascimento, Davi Vercillo, Gabriel de França Pereira e Silva
{"title":"Um Compressor de Arquivos Paralelo Compatível com o Bzip2","authors":"Vinicius Dalto do Nascimento, Davi Vercillo, Gabriel de França Pereira e Silva","doi":"10.5753/wscad.2008.17663","DOIUrl":"https://doi.org/10.5753/wscad.2008.17663","url":null,"abstract":"No cenário atual da computação verifica-se um aumento crescente da capacidade dos sistemas de armazenamento. Com isso, o desenvolvimento de ferramentas para a compressão rápida e eficiente de um grande número de arquivos, com tamanhos também cada vez maiores, se torna uma necessidade urgente. Simultaneamente, a ampla disponibilidade de recursos computacionais com múltiplos processadores, seja em um único computador, seja em um ambiente de rede, viabiliza o uso de aplicações paralelas para o atendimento dessa demanda. Este trabalho apresenta um compressor de arquivos paralelo, em que o trabalho de compressão é distribuído através de diversos processadores locais e remotos. São apresentadas duas versões desse compressor: uma que utiliza o paradigma de memória compartilhada e outra o de troca de mensagens. O uso de um servidor de arquivos paralelos, junto com rotinas do MPI-I/O, foi a solução encontrada para melhorar o desempenho do sistema de E/S, normalmente um gargalo nesse tipo de aplicação. Para verificar e validar o desempenho das implementações desenvolvidas, foram analisados diversos cenários e feitas comparações com os resultados de um compressor paralelo apresentado em um trabalho correlato.","PeriodicalId":285098,"journal":{"name":"Anais do IX Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2008)","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127735053","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":"HieraAnalyses - Uma ferramenta para análise hierárquica de programas paralelos","authors":"T. D. F. P. Seraphim, Enzo Seraphim, G. Travieso","doi":"10.5753/wscad.2008.17685","DOIUrl":"https://doi.org/10.5753/wscad.2008.17685","url":null,"abstract":"Informações detalhadas para a análise de desempenho de programas paralelos podem ser coletadas através de arquivos de trace. Geralmente, esses arquivos de trace contêm um registro de eventos individuais que ocorrem durante a execução do programa. Considerando que os eventos são geralmente de baixo nível, como operações de comunicação em um sistema paralelo, e que é cada vez mais comum para o programador de aplicações usar abstrações de alto nível (por exemplo, uma rotina paralela de autovalores), existe uma diferença semântica entre a informação coletada e os conceitos usados para o desenvolvimento da aplicação, impedindo o uso eficiente dessa informação. Neste trabalho, é proposta uma nova abordagem para arquivos de trace, onde os arquivos contêm informações sobre os diferentes níveis hierárquicos de uma aplicação. Os arquivos seguem o formato XML, onde as rotinas são tags XML, com rotinas auxiliares chamadas durante sua execução de tags filhos. A abordagem é demonstrada pela sua implementação para o nível da bilbioteca MPI e para o nível do OOPS, sendo este último um framework orientado a objetos com abstrações de alto nível para o desenvolvimento de programas paralelos que usam a biblioteca MPI para sua implementação. Para complementar este trabalho, ferramentas de análise usando o formato de arquivo são apresentadas.","PeriodicalId":285098,"journal":{"name":"Anais do IX Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2008)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121424663","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}
Leandro A. J. Marzulo, Fabio H. Flesch, Alexandre S. Nery, F. M. França, Edilberto Fernandes
{"title":"FlowPGA: DataFlow de Aplicações em FPGA","authors":"Leandro A. J. Marzulo, Fabio H. Flesch, Alexandre S. Nery, F. M. França, Edilberto Fernandes","doi":"10.5753/wscad.2008.17668","DOIUrl":"https://doi.org/10.5753/wscad.2008.17668","url":null,"abstract":"A arquitetura WaveScalar é a primeira arquitetura dataflow a apresentar uma interface de memória que mantém a semântica de acessos requerida pelas linguagens imperativas. Um protótipo da arquitetura, em desenvolvimento, permitiria passar de experimentação por simulação para um cenário mais real, com o processador desenvolvido em FPGA. No entanto, este protótipo não é acessível (financeiramente) para qualquer instituição que também queira produzí-lo. Neste trabalho é apresentada a FlowPGA, uma versão reduzida desta arquitetura para ser utilizada com FPGAs com pequeno número de células lógicas. Uma FPGA com 1,5 milhões de gates foi utilizada para implementação. A corretude da implementação foi avaliada com a execução de um programa de multiplicação entre dois números positivos usando sucessivas somas. Os resultados mostram que a arquitetura FlowPGA tem desempenho equivalente ao WaveScalar. Ainda, para avaliar a versatilidade do projeto, a FlowPGA foi modificada para utilizar um sistema de numeração RNS, com esforço de implementação de aproximadamente 20 horas.","PeriodicalId":285098,"journal":{"name":"Anais do IX Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2008)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131754076","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}
Fernando Emílio Leite de Almeida, A. F. D. Souza, Edilberto Fernandes
{"title":"DTSD: Uma Arquitetura com Mecanismo Híbrido de Execução","authors":"Fernando Emílio Leite de Almeida, A. F. D. Souza, Edilberto Fernandes","doi":"10.5753/wscad.2008.17666","DOIUrl":"https://doi.org/10.5753/wscad.2008.17666","url":null,"abstract":"Este trabalho apresenta a Dynamically Trace Scheduling Dataflow (DTSD), uma arquitetura híbrida que executa código em dois modos distintos: de fluxo de controle e de fluxo de dados (control-flow/dataflow). Máquinas DTSD incluem: um processador primário que executa instruções escalares de forma tradicional (fluxo de controle); uma unidade que traduz dinamicamente trechos de código escalar em blocos de instruções Explicit Data Graph Execution; e um processador Dataflow que executa estes blocos segundo o fluxo de dados. Esta nova arquitetura foi avaliada experimentalmente: implementamos um simulador DTSD com substrato Simplescalar, e empregamos um ambiente de simulação da arquitetura Super Escalar Alpha 21264 em análise comparativa. Nossos resultados experimentais mostraram que, em média, o desempenho da arquitetura DTSD supera o de uma Super Escalar equivalente em 183%.","PeriodicalId":285098,"journal":{"name":"Anais do IX Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2008)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131286528","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":"PowerSMT: Ferramenta para Análise de Consumo de Potência em Arquiteturas SMT","authors":"Rogério Aparecido Gonçalves, R. A. L. Gonçalves","doi":"10.5753/wscad.2008.17682","DOIUrl":"https://doi.org/10.5753/wscad.2008.17682","url":null,"abstract":"As aplicações estão mais complexas, exigindo um processamento mais agressivo, tal como aquele obtido com as atuais arquiteturas SMT. Para avaliar o desempenho destas arquiteturas, ainda na fase de projeto, a ferramenta SS_SMT tem sido usada satisfatoriamente. Entretanto, como nestas arquiteturas as estruturas e os circuitos são maiores do que aqueles existentes nas arquiteturas superescalares convencionais, espera-se que o consumo de potência também seja maior. Nesse sentido, maiores estudos se fazem necessários para avaliar esta questão. Neste trabalho, a ferramenta SS_SMT foi adaptada para permitir a análise de consumo eficiente de potência, dando origem a nova ferramenta PowerSMT, a qual tem como base as plataformas SimpleScalar e CACTI. PowerSMT foi exaustivamente experimentada na análise da cache de instruções, estações de reserva e unidades funcionais. Os resultados sobre benchmarks do SPEC mostraram que a ferramenta é de fundamental importância na análise do consumo de potência em arquiteturas SMT.","PeriodicalId":285098,"journal":{"name":"Anais do IX Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2008)","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127217621","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}
J. Pereira, Rafael R. dos Santos, J. Furtado, T. G. S. D. Santos
{"title":"Algoritmos de Otimização para Simulação Distribuída de Arquiteturas Complexas","authors":"J. Pereira, Rafael R. dos Santos, J. Furtado, T. G. S. D. Santos","doi":"10.5753/wscad.2008.17683","DOIUrl":"https://doi.org/10.5753/wscad.2008.17683","url":null,"abstract":"O projeto de arquiteturas de computadores complexas envolve diversas etapas e pode levar vários anos de desenvolvimento. Desse modo, é comum usar simulação com a finalidade de estudar os efeitos de novos mecanismos e das diversas modificações e atualizações na arquitetura, já que a implementação direta é proibitiva em função do tempo, custo e complexidade. Mesmo usando simulação, a busca pela melhor configuração pode ser onerosa em decorrência da diversidade de parâmetros que podem mudar e afetar o comportamento da arquitetura. Este trabalho utiliza uma implementação de um algoritmo genético para a otimização e automatização da busca de configurações em simulação de arquiteturas de computadores. Os resultados mostram que, dentro do espaço de busca apresentado no artigo, o tempo de execução das simulações reduz em até 91%, se comparado à busca exaustiva. Além disso, os resultados encontrados pelo algoritmo genético representam valores com precisão acima de 97% com relação à solução ótima. Para diminuir ainda mais o tempo na obtenção dos resultados, o processamento das simulações executadas pelo algoritmo genético foi distribuído em um agregado e uma grade. Essa versão distribuída reduziu em mais de 80% o tempo de execução, quando comparado à execução seqüencial do mesmo algoritmo genético.","PeriodicalId":285098,"journal":{"name":"Anais do IX Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2008)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-10-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132996336","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}