Porting machine learning algorithms to vector-in-memory architecture

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Cordeiro, Aline Santana
Orientador(a): Alves, Marco Antonio Zanata, 1984-
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://hdl.handle.net/1884/70567
Resumo: Orientador: Prof. Dr. Marco Antonio Zanata Alves
id UFPR_2744397ca54da7148c43e7982f8a5db1
oai_identifier_str oai:acervodigital.ufpr.br:1884/70567
network_acronym_str UFPR
network_name_str Repositório Institucional da UFPR
repository_id_str
spelling Cordeiro, Aline SantanaUniversidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em InformáticaAlves, Marco Antonio Zanata, 1984-2021-06-21T20:20:30Z2021-06-21T20:20:30Z2020https://hdl.handle.net/1884/70567Orientador: Prof. Dr. Marco Antonio Zanata AlvesDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 25/11/2020Inclui referências: p. 60-68Área de concentração: Ciência da ComputaçãoResumo: A Aprendizagem de Maquina surgiu por volta de 1960, com o foco na capacidade de aprendizagem do computador e, desde entao, se tornou uma ferramenta util para analisar a vasta quantidade de dados que e gerada em todos os campos da ciencia nos dias de hoje. Ao longo dos anos, diversos algoritmos foram criados para analisar, reconhecer padroes e fazer previsoes a partir de amostras de dados e, simultaneamente, a movimentacao de dados dentro de sistemas computacionais ganhou foco devido ao seu alto impacto no tempo de execucao e no consumo de energia. Nesse contexto, as arquiteturas de processamento proximo a memoria surgiram como uma solucao promissora para o processamento massivo de dados, reduzindo drasticamente a movimentacao destes. Alem das abordagens mais comuns para o problema, como Central Processing Units (CPUs) e Graphic Processing Units (GPUs), tambem existem abordagens diferentes, como Application Specific Integrated Circuits (ASICs) e Field-Programmable Gate Arrays (FPGAs). Esses aceleradores sao opcoes interessantes para executar algoritmos de aprendizagem de maquina, no entanto, eles ainda apresentam problemas relacionados ao Memory-Wall, pois exigem movimentacao de dados fora do chip entre a memoria e os dispositivos de processamento e, como as solucoes de processamento proximo a memoria conectam a unidade de processamento ao dispositivo de armazenamento, elas reduzem os problemas originados pela movimentacao de dados. Este trabalho avalia se e possivel obter alto desempenho computacional para algoritmos de aprendizagem de maquina usando uma arquitetura de processamento proximo a memoria que seja de proposito geral e que executa instrucoes vetoriais. Assim, e apresentada uma abordagem para executar alguns kernels de inferencia como k-Nearest Neighbors (kNN), Multi Layer Perceptron (MLP) e Convolutional Neural Network (CNN) usando a arquitetura de Vetor-em-Memoria (VIMA), uma arquitetura de processamento proximo a memoria que permite reutilizacao de dados e reducao da latencia de execucao. A ideia e migrar esses algoritmos de aprendizagem de maquina com a Intrinsics-VIMA, uma biblioteca que emula o cojunto de instrucoes da VIMA e simula as aplicacoes usando um simulador orientado a tracos para avaliar seu desempenho computacional e o consumo de energia. As contribuicoes deste trabalho sao: (i) uma nova biblioteca Intrinsics que emula o conjunto de instrucoes da VIMA de forma facil; (ii) ideias sobre como migrar algoritmos de aprendizagem de maquina usando Intrinsics-VIMA, e; (iii) a avaliacao dos resultados dos algoritmos considerando o ambiente de simulacao. Os resultados indicam aceleracoes de ate 10× para o kNN, 11× para o MLP e 3× para a convolucao ao executa-los na VIMA comparado com uma versao de alto desempenho do x86. Palavras-chave: memorias inteligentes, processamento proximo a memoria, aprendizagem de maquina, arquitetura vetorizadaAbstract: Machine Learning (ML) emerged around 1960, focusing on the computer learning capacity. Since then, it became a handy tool to analyze the vast amount of data currently generated in every field of science. For this purpose, several algorithms were created to analyze, recognize patterns, and make predictions from data samples. Simultaneously, data movement inside computer systems gains more focus due to its high impact on time and energy consumption. In this context, the Near-Data Processing (NDP) architectures emerged as a prominent solution to massive data processing by drastically reducing data movement. Besides the most common approaches to the problem, such as Central Processing Units (CPUs) and Graphics Processing Units (GPUs), there are also different approaches, such as Application Specific Integrated Circuits (ASICs) and Field-Programmable Gate Arrays (FPGAs). These accelerators are all exciting options to solve ML algorithms. Nevertheless, they still present problems related to the Memory Wall, as they still requiring off-chip data movement between the memory and the processing devices. As NDP solutions attach the processing unit to the storage device, they mitigate problems originated by data movement. This work evaluates whether it is possible to achieve high computational performance for ML algorithms using a general-purpose NDP architecture that operates on vector instructions. Thus, it presents an approach to execute inference kernels from k-Nearest Neighbors (kNN), Multi Layer Perceptron (MLP), and Convolutional Neural Network (CNN) algorithms using Vector-in-Memory Architecture (VIMA), an NDP architecture that allows data reuse and latency reduction. The idea is to port those ML algorithms with Intrinsics-VIMA. This library emulates VIMA Instruction Set Architecture (ISA), and simulate the applications using a trace-driven simulator to evaluate its computational performance and energy consumption. The contribution of this work are: (i) a new Intrinsics library that emulates VIMA ISA in an easy way; (ii) insights on how to migrate ML algorithms using Intrinsics-VIMA, and; (iii) results evaluation of the algorithms considering the simulation environment indicate speedups up to 10× for KNN, 11× for MLP, and 3× for convolution when executing near-data compared to a high-performance x86 baseline. Keywords: smart-memories, near-data processing, machine learning, vector architecture89 p. : il.application/pdfAprendizado do computadorAlgorítmosSistemas de memoria de computadoresCiência da ComputaçãoPorting machine learning algorithms to vector-in-memory architectureinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisengreponame:Repositório Institucional da UFPRinstname:Universidade Federal do Paraná (UFPR)instacron:UFPRinfo:eu-repo/semantics/openAccessORIGINALR - D - ALINE SANTANA CORDEIRO.pdfapplication/pdf1354918https://acervodigital.ufpr.br/bitstream/1884/70567/1/R%20-%20D%20-%20ALINE%20SANTANA%20CORDEIRO.pdf7e5e9c2fb6582c7cd9e4ebb5bcca3894MD51open access1884/705672021-06-21 17:20:30.877open accessoai:acervodigital.ufpr.br:1884/70567Repositório InstitucionalPUBhttp://acervodigital.ufpr.br/oai/requestinformacaodigital@ufpr.bropendoar:3082021-06-21T20:20:30Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)false
dc.title.pt_BR.fl_str_mv Porting machine learning algorithms to vector-in-memory architecture
title Porting machine learning algorithms to vector-in-memory architecture
spellingShingle Porting machine learning algorithms to vector-in-memory architecture
Cordeiro, Aline Santana
Aprendizado do computador
Algorítmos
Sistemas de memoria de computadores
Ciência da Computação
title_short Porting machine learning algorithms to vector-in-memory architecture
title_full Porting machine learning algorithms to vector-in-memory architecture
title_fullStr Porting machine learning algorithms to vector-in-memory architecture
title_full_unstemmed Porting machine learning algorithms to vector-in-memory architecture
title_sort Porting machine learning algorithms to vector-in-memory architecture
author Cordeiro, Aline Santana
author_facet Cordeiro, Aline Santana
author_role author
dc.contributor.other.pt_BR.fl_str_mv Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática
dc.contributor.author.fl_str_mv Cordeiro, Aline Santana
dc.contributor.advisor1.fl_str_mv Alves, Marco Antonio Zanata, 1984-
contributor_str_mv Alves, Marco Antonio Zanata, 1984-
dc.subject.por.fl_str_mv Aprendizado do computador
Algorítmos
Sistemas de memoria de computadores
Ciência da Computação
topic Aprendizado do computador
Algorítmos
Sistemas de memoria de computadores
Ciência da Computação
description Orientador: Prof. Dr. Marco Antonio Zanata Alves
publishDate 2020
dc.date.issued.fl_str_mv 2020
dc.date.accessioned.fl_str_mv 2021-06-21T20:20:30Z
dc.date.available.fl_str_mv 2021-06-21T20:20:30Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1884/70567
url https://hdl.handle.net/1884/70567
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 89 p. : il.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPR
instname:Universidade Federal do Paraná (UFPR)
instacron:UFPR
instname_str Universidade Federal do Paraná (UFPR)
instacron_str UFPR
institution UFPR
reponame_str Repositório Institucional da UFPR
collection Repositório Institucional da UFPR
bitstream.url.fl_str_mv https://acervodigital.ufpr.br/bitstream/1884/70567/1/R%20-%20D%20-%20ALINE%20SANTANA%20CORDEIRO.pdf
bitstream.checksum.fl_str_mv 7e5e9c2fb6582c7cd9e4ebb5bcca3894
bitstream.checksumAlgorithm.fl_str_mv MD5
repository.name.fl_str_mv Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)
repository.mail.fl_str_mv informacaodigital@ufpr.br
_version_ 1847526033838833664