Aumentando a Eficiência na Execução de Algoritmos de Grafos em HPC

Marcelo K. Moori, H. Rocha, Janaína Schwarzrock, A. Lorenzon, A. C. S. Beck
{"title":"Aumentando a Eficiência na Execução de Algoritmos de Grafos em HPC","authors":"Marcelo K. Moori, H. Rocha, Janaína Schwarzrock, A. Lorenzon, A. C. S. Beck","doi":"10.5753/wscad.2021.18518","DOIUrl":null,"url":null,"abstract":"A crescente necessidade de extrair informações de dados massivos - estruturados como grafos - tem impulsionado o desenvolvimento de algoritmos paralelos cada vez mais robustos para este processamento. No entanto, o comportamento voltado à comunicação e a estrutura altamente irregular dos grafos usados cotidianamente são obstáculos para alcançar os mesmos níveis de desempenho e eficiência como os observados em outras aplicações paralelas. Neste artigo, nós mostramos que a escalabilidade de diferentes aplicações de grafos variam de acordo com o algoritmo usado e a sua base de dados e que, em muitos casos, utilizar todos recursos disponíveis (i.e. todos os núcleos do processador para a execução) não é a melhor opção em termos de eficiência. Com base nisso, nós propomos o MultGraph, um framework que permite o processamento simultâneo de vários algoritmos/grafos, distribuindo-os de maneira não uniforme entre os núcleos, ao invés de executá-los serialmente (i.e. um após o outro) com o máximo paralelismo disponível. MultGraph funciona em dois passos: (i) caracterizando os algoritmos/grafos pelos seus níveis de eficiência; (ii) definindo as alocações (agrupamentos de algoritmos e entradas a serem executados concorrentemente), número de threads para cada um deles, e a ordem de execução destes grupos. Resultados experimentais em três processadores multicore (Intel e AMD) mostram que o MultGraph melhora em até 9, 21x e 4, 52x em média o tempo de execução das aplicações em relação à execução padrão de aplicações em sistemas HPC.","PeriodicalId":410043,"journal":{"name":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Anais do XXII Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2021)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5753/wscad.2021.18518","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

A crescente necessidade de extrair informações de dados massivos - estruturados como grafos - tem impulsionado o desenvolvimento de algoritmos paralelos cada vez mais robustos para este processamento. No entanto, o comportamento voltado à comunicação e a estrutura altamente irregular dos grafos usados cotidianamente são obstáculos para alcançar os mesmos níveis de desempenho e eficiência como os observados em outras aplicações paralelas. Neste artigo, nós mostramos que a escalabilidade de diferentes aplicações de grafos variam de acordo com o algoritmo usado e a sua base de dados e que, em muitos casos, utilizar todos recursos disponíveis (i.e. todos os núcleos do processador para a execução) não é a melhor opção em termos de eficiência. Com base nisso, nós propomos o MultGraph, um framework que permite o processamento simultâneo de vários algoritmos/grafos, distribuindo-os de maneira não uniforme entre os núcleos, ao invés de executá-los serialmente (i.e. um após o outro) com o máximo paralelismo disponível. MultGraph funciona em dois passos: (i) caracterizando os algoritmos/grafos pelos seus níveis de eficiência; (ii) definindo as alocações (agrupamentos de algoritmos e entradas a serem executados concorrentemente), número de threads para cada um deles, e a ordem de execução destes grupos. Resultados experimentais em três processadores multicore (Intel e AMD) mostram que o MultGraph melhora em até 9, 21x e 4, 52x em média o tempo de execução das aplicações em relação à execução padrão de aplicações em sistemas HPC.
提高高性能计算图算法的执行效率
从海量数据(结构化为图)中提取信息的需求不断增长,这推动了并行算法的发展,这些算法越来越健壮。然而,日常使用的通信行为和高度不规则的图形结构是实现与其他并行应用程序相同的性能和效率水平的障碍。在这篇文章中,我们给不同的应用程序的可伸缩性的图根据不同的算法和数据库,在很多情况下,使用所有可用资源(即所有的处理器核心,执行效率)不是最好的选择。在此基础上,我们提出了多图框架,该框架允许同时处理多个算法/图,将它们不均匀地分布在核心之间,而不是以最大的并行性连续运行它们(即一个接一个)。多图的工作分为两个步骤:(i)根据算法/图的效率水平来描述它们;(ii)定义分配(要同时执行的算法组和输入)、每个分配的线程数以及这些组执行的顺序。在三种多核处理器(Intel和AMD)上的实验结果表明,与HPC系统上的标准应用程序执行相比,多图平均提高了9.21倍和4.52倍的应用程序执行时间。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信