• Portal do Governo Brasileiro
  • Atualize sua Barra de Governo
  • Ir para o conteúdo 1
  • Ir para o menu 2
  • Ir para a busca 3
  • Ir para o rodapé 4
  • Acessibilidade
  • Alto Contraste
  • Mapa do Site
Topo
Laboratório Nacional de Computação Científica

LNCC

Ministério da Ciência, Tecnologia e Inovações
Instagram Linkedin Facebook YouTube
  • SDumont
  • Imprensa
  • SEI-MCTI
  • Webmail
  • Intranet
  • Fale Conosco
Destaques Result. Programas PCI-LNCC Resultado Final do 1º Processo Seletivo de 2021 Guia de Conduta
logo

O LNCC

  • Histórico
  • Missão
  • Estrutura Organizacional
  • Corpo Técnico Científico
  • Documentos Institucionais
  • Localização

Coordenações

  • Coordenação de Métodos Matemáticos e Computacionais - COMAC
  • Coordenação de Modelagem Computacional - COMOD
  • Coordenação de Pós-graduação e Aperfeiçoamento - COPGA
  • Coordenação de Tecnologia da Informação e Comunicação - COTIC
  • Coordenação de Gestão e Administração - COGEA

Pesquisa e Desenvolvimento

  • Linhas de Pesquisa
  • Produção Técnico-Científica
  • Projetos de P & D
  • Grupos de Pesquisa

Supercomputador SDUMONT - Computação de Alto Desempenho

  • Supercomputador Santos Dumont
  • CENAPAD
  • SINAPAD

Programas Nacionais

  • INCT-MACC
  • LABINFO
  • SINAPAD

Inovação

  • Incubadora
  • NitRio
  • Soluções para Empresas

Programas  Acadêmicos

  • Mestrado e Doutorado
  • Programa de Verão
  • Bolsas de Estudos

Eventos

Biblioteca

  • Biblioteca

Acesso à Informação

  • Institucional
  • Ações e Programas
  • Participação Social
  • Auditorias
  • Receitas e Despesas
  • Licitações, Contratos e Convênios
  • Servidores
  • Informações Classificadas
  • Serviço de Informação ao Cidadão - SIC
  • Perguntas Frequentes
  • Dados Abertos
  • Gestão Documental
  • Agenda do Diretor
  • Carta de serviço ao Cidadão
  • Sobre a Lei de Acesso à Informação
  • Assessoria de Comunicação
  • Ouvidoria
  • Comissão de Ética
  • Gestão de Riscos
  • Guia de Conduta
  • LGPD
 

EVENTO



Otimização e Aceleração de rotinas de álgebra Linear com a Técnica de Overthreading

Tipo de evento:
Exame de Qualificação


UM DOS MAIORES DESAFIOS DA TECNOLOGIA ATUAL DE COMPUTAÇÃO CIENTÍFICA É DIMINUIR O TEMPO DE EXECUÇÃO ATRAVÉS DA DIVISÃO DO TRABALHO ENTRE OS MÚLTIPLOS NÚCLEOS FÍSICOS DE UMA ARQUITETURA DE MÚLTIPLOS PROCESSADORES. NÃO É SEMPRE QUE SE CONSEGUE UM GANHO SIGNIFICATIVO DE DESEMPENHO AO SE PARALELIZAR UMA APLICAÇÃO. UM DOS MOTIVOS PARA ISSO É QUE QUANDO O CÓDIGO POSSUI POUCO TRABALHO PARA SER EXECUTADO EM PARALELO OS GASTOS GERADOS PARA GERENCIAR AS MÚLTIPLAS THREADS ACABAM SENDO MAIORES QUE OS GANHOS CAUSADOS PELA DIVISÃO DO TRABALHO. A TÉCNICA OVERTHREADING (THREAD OVERSUBSCRITION) CONSISTE EM FAZER O NÚMERO DE THREADS EXCEDER O NÚMERO DE NÚCLEOS DE PROCESSAMENTO DISPONÍVEIS NA CPU. APESAR DE GERAR OVERHEAD AO PONTO DE ATRAPALHAR O DESEMPENHO DA MAIORIA DAS APLICAÇÕES, FOI DEMONSTRADO POR CABRAL ET AL. [1] QUE ELA PERMITE O GANHO DE DESEMPENHO EM UM MÉTODO NUMÉRICO PARA UMA EQUAÇÃO DIFERENCIAL. AO SE FAZER A DIVISÃO DE TRABALHO DE FORMA EXPLÍCITA (EXPLICIT WORK SHARING – EWS), O OVERTHREADING PERMITE QUE AO SE REDUZIR O TAMANHO DO SUBDOMÍNIO ALOCADO A CADA THREAD, ESSE SUBDOMÍNIO CABE NA MEMÓRIA CACHE DE NÍVEL 1 E POTENCIALMENTE DE OUTROS NÍVEIS TAMBÉM E PORTANTO, REDUZ A TAXA DE CACHE MISSES, AUMENTANDO SENSIVELMENTE O DESEMPENHO DA APLICAÇÃO. A PROPOSTA DO PRESENTE TRABALHO É AVALIAR O USO DA TÉCNICA OVERTHREADING PARA ACELERAR ROTINAS DE ÁLGEBRA LINEAR COMO SOMA DE MATRIZES, MULTIPLICAÇÃO DE MATRIZES, PRODUTO DE KRONECKER (PRODUTO TENSORIAL) DENTRE OUTRAS ROTINAS. EM EXPERIMENTOS REALIZADOS ATÉ O MOMENTO, CONSEGUIU-SE UM GANHO DE DESEMPENHO DE MILHARES DE VEZES NA MULTIPLICAÇÃO DE MATRIZES QUADRADAS DENSAS QUANDO COMPAROU-SE A EXECUÇÃO COM 1000, 2000, 5000, 10000 E 15000 THREADS COM A EXECUÇÃO SERIAL (1 THREAD). ESTES MESMOS EXPERIMENTOS SUGEREM QUE ESTE GANHO DE MILHARES DE VEZES SE DÁ POR CONTA DA REDUÇÃO DAS TAXAS DE CACHE MISSES DE TODOS OS NÍVEIS (L1, L2 E L3), AO SE AUMENTAR A LOCALIDADE DOS DADOS. OS MELHORES RESULTADOS OCORREM QUANDO SE ATRIBUI UMA THREAD POR LINHA DA MATRIZ, POIS AO MESMO TEMPO QUE SE AUMENTA A LOCALIDADE, GARANTE-SE O MELHOR BALANCEAMENTO DE CARGA, JÁ QUE TODAS A THREADS POSSUEM A MESMA QUANTIDADE DE TRABALHO. O USO EFICIENTE DA MEMÓRIA CACHE É CRUCIAL PARA UM BOM DESEMPENHO DOS PROGRAMAS, UMA VEZ QUE O ACESSO A ELA PODE CHEGAR A CENTENA DE VEZES MAIS RÁPIDO DO QUE O ACESSO À MEMÓRIA PRINCIPAL DRAM, AO MESMO TEMPO QUE É UM GRANDE DESAFIO TER UM ALGORITMO QUE A USE A DE FORMA EFICIENTE POIS EM GERAL SÃO MENORES E MAIS CARAS DO QUE À MEMÓRIA DRAM [3], [4], [5], [6]. A TÉCNICA OVERTHREADING É FREQUENTEMENTE USADA PARA ESCONDER A LATÊNCIA QUE SURGE QUANDO THREADS ENTRAM EM ESTADO DE STALL POR TEREM DE ESPERAR QUE DADOS NECESSÁRIOS VENHAM DA MEMÓRIA. ASSIM, ENQUANTO UMA THREAD ESTÁ AGUARDANDO SEUS DADOS, OUTRAS PODEM SER EXECUTADAS [7]. OUTRO USO IMPORTANTE É O AUMENTO DA ELASTICIDADE DE CPU EM www.mcti.gov.br | www.lncc.br. APLICAÇÕES EM CLOUD COMPUTING [8]. OUTROS TRABALHOS MOSTRAM O DESAFIO DO USO DE OVERTHREADING EM APLICAÇÕES QUE USAM SINCRONIZAÇÃO POR MUTEXES DO SO, LEVANDO A POTENCIAIS COLAPSOS NA VAZÃO (THOUGHPUT) DE INSTRUÇÕES [9] E [10] SUGEREM QUE COMPARTILHAMENTO EXTENSIVO DE RECURSOS PODE NÃO BENEFICIAR ADEQUADAMENTE APLICAÇÕES DE COMPUTAÇÃO DE ALTO DESEMPENHO OPENMP. NO CAMPO DA ÁLGEBRA LINEAR COMPUTACIONAL, A APLICAÇÃO DA TÉCNICA DE OVERTHREADING PARECE AINDA INEXPLORADA, UMA VEZ QUE ELA É CONHECIDA PELO OVERHEAD CAUSADO, QUE PODERIA EM PRINCÍPIO PREJUDICAR O DESEMPENHO. ASSIM SENDO,O GANHO QUE PODE SER CAUSADO PELA INSIGNIFICATIVA REDUÇÃO DAS TAXAS DE CACHE MISS PARECEM AINDA NÃO TER SIDO PERCEBIDO E EXPLORADO, O QUE COLOCA O PRESENTE TRABALHO POTENCIALMENTE NO ESTADO DA ARTE DAS APLICAÇÕES DO OVERTHREADING PARA ACELERAR ROTINAS DE ÁLGEBRA LINEAR.

Para assistir acesse:
meet.google.com/vza-nmkn-xmp

Data Início: 26/03/2024
Hora: 14:00
Data Fim: 26/03/2024
Hora: 17:00

Local:  LNCC - Laboratório Nacional de Computação Ciêntifica - Virtual

Aluno:
Frederico Luís Cabral - Laboratório Nacional de Computação Científica - LNCC

Orientador:
Carla Osthoff Ferreira de Barros - Laboratório Nacional de Computação Científica - LNCC
Sanderson Lincon Gonzaga de Oliveira - -

Participante Banca Examinadora:
Diego Nunes Brandão - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca - CEFET-RJ
José Karam Filho - Laboratório Nacional de Computação Científica - LNCC
Roberto Pinto Souto - Laboratório Nacional de Computação Científica - LNCC

Suplente Banca Examinadora:
Renato Simões Silva - Laboratório Nacional de Computação Científica - LNCC


Últimas eventos

  •   Principal
  •   Hotéis/Pousadas
  •   Área do Inscrito
 
 Voltar para o topo
Rodapé

Principal

  • Estrutura Organizacional
  • Corpo Técnico Científico
  • Produção Técnico-Científica
  • Projetos de P & D
  • Mestrado e Doutorado
  • Bolsas de Estudos
  • Seminários
  • Congressos / Escolas / Cursos
  • Biblioteca

Acesso à Informação

  • Institucional
  • Ações e Programas
  • Participação Social
  • Auditorias
  • Receitas e Despesas
  • Licitações, Contratos e Convênios
  • Servidores
  • Informações Classificadas
  • Serviço de Informação ao Cidadão - SIC
  • Perguntas Frequentes
  • Dados Abertos
  • Gestão Documental
  • Agenda do Diretor
  • Carta de serviço ao Cidadão
  • Sobre a Lei de Acesso à Informação
  • Ouvidoria
  • Comissão de Ética
  • Gestão de Riscos
  • Guia de Conduta

Serviços

  • Fale Conosco
  • Assessoria de Comunicação

Redes Sociais

  • Instagram
  • Linkedin
  • Facebook
  • YouTube

Navegação

  • Acessibilidade
  • Mapa do Site

Brasil - Governo Federal   Brasil - Governo Federal