Preditor de Perceptron de Dois Níveis Melhora Acesso à Memória
Um novo método melhora a previsão de acesso à memória e reduz transações desnecessárias de DRAM.
― 8 min ler
Índice
- O Problema com o Acesso à Memória
- Entendendo a Previsão Off-Chip
- A Necessidade de Filtragem de Prefetch
- Apresentando o Preditor de Perceptron de Dois Níveis (TLP)
- O Primeiro Preditore (FLP)
- O Segundo Preditore (SLP)
- Avaliação de Desempenho
- Vantagens do TLP
- Conclusão
- Trabalho Futuro
- Resumo
- Fonte original
- Ligações de referência
À medida que a tecnologia avança, os aplicativos estão lidando com quantidades cada vez maiores de dados. Isso pode criar desafios para o desempenho e o uso de energia nos sistemas de computação. Uma forma de enfrentar esses desafios é por meio de maneiras mais inteligentes de gerenciar o acesso à memória. Este artigo fala sobre um novo método chamado preditor de Perceptron de Dois Níveis (TLP), que melhora como os computadores preveem as necessidades de memória enquanto gerenciam o acesso à memória de forma eficiente.
O Problema com o Acesso à Memória
Os aplicativos de hoje muitas vezes precisam de dados que ultrapassam a capacidade do cache, que é a memória rápida que fornece acesso rápido aos dados. Quando os dados não podem ser encontrados no cache, o sistema tem que ir para a DRAM mais lenta, causando atrasos e desperdiçando energia. A alta latência no acesso à memória impacta significativamente como um programa funciona.
Para lidar com isso, esforços do passado introduziram várias técnicas para diminuir os atrasos causados pelo acesso à DRAM. Esses métodos incluem prever se um acesso à memória vai exigir buscar dados da DRAM, pré-carregar dados de forma agressiva ou projetar caches que evitam certos blocos de dados completamente. No entanto, muitos métodos existentes têm desvantagens significativas, especialmente quando aplicados a padrões de acesso a dados do mundo real.
Entendendo a Previsão Off-Chip
As técnicas de previsão off-chip visam prever se um pedido de dados vai faltar no cache e precisar buscar na DRAM. Os preditores existentes muitas vezes cometem erros e, consequentemente, levam a transações de memória desnecessárias. Por exemplo, quando um pedido de carregamento é previsto para ir para a DRAM, o sistema pode emitir dois pedidos: um para verificar o cache e outro para buscar na DRAM. Isso pode aumentar significativamente o número de transações de DRAM, especialmente problemático para aplicativos dependentes de memória.
A Necessidade de Filtragem de Prefetch
Além da previsão off-chip, o pré-carregamento é outra forma vital de melhorar o desempenho. O pré-carregamento consiste em buscar dados para o cache antes que sejam realmente necessários pela CPU. No entanto, muitos pré-carregadores têm dificuldades com a precisão; podem buscar dados desnecessários demais ou perder dados importantes completamente. Para gerenciar isso, filtros podem ser usados para determinar quais pedidos de pré-carregamento são provavelmente úteis.
Esses filtros podem ajudar a aumentar a eficiência do pré-carregamento, descartando pedidos previstos como inúteis, mas os métodos existentes geralmente apresentam altos custos de armazenamento e são complexos de implementar.
Apresentando o Preditor de Perceptron de Dois Níveis (TLP)
O preditor TLP combina as vantagens da previsão off-chip e da filtragem de pré-carregamento em um design único e eficiente. O TLP consiste em duas camadas de preditores: o Primeiro Preditore (FLP) e o Segundo Preditore (SLP).
O FLP visa prever com precisão se um pedido de memória precisará acessar a DRAM. O SLP aproveita as previsões feitas pelo FLP para filtrar pedidos de pré-carregamento feitos pelo sistema.
Usando esses dois preditores conectados, o TLP consegue reduzir transações desnecessárias de DRAM e melhorar o desempenho geral sem adicionar complexidade significativa ao hardware.
O Primeiro Preditore (FLP)
O FLP foca em prever acessos off-chip, com um novo mecanismo que pode atrasar previsões até depois de verificar o cache. Ele usa várias características do programa para gerar uma pontuação de confiança que indica se deve enviar um pedido de acesso à DRAM. Se a pontuação de confiança for alta, um pedido de DRAM é gerado junto com um pedido ao cache. Se for baixa, o sistema vai esperar para ver se os dados podem ser recuperados do cache antes de ir para a DRAM.
Esse atraso seletivo pode minimizar significativamente o número de transações desnecessárias de DRAM, especialmente em cenários onde um acerto no cache é provável. O treinamento do FLP ocorre com base em se a previsão de necessidade de ir off-chip estava correta, permitindo que ele se adapte ao longo do tempo.
O Segundo Preditore (SLP)
O SLP atua como um filtro para pedidos de pré-carregamento. Ele usa características do programa, semelhantes às do FLP, mas foca nos endereços físicos dos dados. O SLP verifica o pedido em relação às previsões anteriores do FLP e avalia se os dados pré-carregados provavelmente serão úteis.
Se o SLP prever que um pedido de pré-carregamento provavelmente exigirá um acesso off-chip, esse pedido pode ser descartado imediatamente, evitando carga desnecessária da DRAM. Esse mecanismo ajuda a garantir que apenas os dados mais relevantes sejam carregados no cache, melhorando o uso geral do espaço de cache.
Avaliação de Desempenho
Para demonstrar a eficácia da abordagem TLP, experimentos foram realizados usando cargas de trabalho do mundo real de várias fontes. Os resultados mostraram que o TLP poderia reduzir consideravelmente o número de transações de DRAM em comparação com métodos de ponta.
Nos testes de núcleo único, o TLP mostrou aumentos significativos de velocidade, indicando desempenho mais rápido e menor latência durante o acesso à memória. Em cenários multi-core, ele também superou os métodos existentes, mostrando sua adaptabilidade em diferentes contextos de execução.
Vantagens do TLP
As principais vantagens do TLP incluem:
- Redução em Transações de DRAM: Ao prever com precisão acessos off-chip e filtrar pedidos de pré-carregamento, o TLP minimiza transações de memória desnecessárias.
- Melhoria no Desempenho: A velocidade geral dos aplicativos melhora devido ao menor tempo de espera por dados, especialmente em cargas de trabalho intensivas em memória.
- Baixos Requisitos de Armazenamento: O TLP é projetado para ser eficiente, exigindo apenas um pequeno custo adicional de armazenamento, tornando-o viável para implementação prática.
- Adaptabilidade: Os preditores dentro do TLP podem aprender e melhorar ao longo do tempo, permitindo que eles se adaptem a padrões de acesso e cargas de trabalho em mudança.
Conclusão
O preditor de Perceptron de Dois Níveis representa um avanço significativo no enfrentamento dos desafios do acesso à memória na computação moderna. Ao combinar previsão off-chip e filtragem de pré-carregamento, o TLP fornece um método simplificado que melhora o desempenho enquanto reduz a pegada de energia envolvida nas transações de memória.
À medida que os aplicativos continuam a crescer em complexidade e tamanho de dados, melhorias em como a memória é gerenciada serão críticas para manter a eficiência do sistema. O TLP mostra resultados promissores e tem um forte potencial para implementação em futuras arquiteturas de computação, fornecendo uma ferramenta valiosa para otimizar o acesso à memória em vários ambientes de computação.
Trabalho Futuro
Olhando para frente, há várias avenidas potenciais para pesquisa e desenvolvimento futuros. Explorar diferentes configurações e otimizar os preditores para aplicativos específicos poderia gerar mais melhorias de desempenho. Além disso, adaptar a abordagem TLP para diferentes arquiteturas de hardware pode abrir novas oportunidades para uma adoção mais ampla.
A integração de tecnologias emergentes, como modelos avançados de aprendizado de máquina, também poderia ser explorada para refinar estratégias de previsão. À medida que as cargas de trabalho evoluem, atualizar continuamente os mecanismos do TLP será vital para manter sua eficácia em vários cenários.
Ao avançar ainda mais essas ideias, o TLP pode servir como uma tecnologia fundamental para a próxima geração de sistemas de computação de alto desempenho, abrindo o caminho para estratégias de gerenciamento de memória mais eficientes e responsivas.
Resumo
O preditor TLP oferece uma solução nova para problemas contínuos com o acesso à memória na computação. Ao combinar inteligentemente a previsão off-chip com a filtragem de pré-carregamento, ele minimiza com sucesso o uso de DRAM enquanto aumenta o desempenho em ambientes de núcleo único e multi-core. À medida que os sistemas continuam a exigir técnicas mais inteligentes de gerenciamento de memória, o TLP se destaca como um passo significativo para otimizar o acesso a grandes conjuntos de dados.
Título: A Two Level Neural Approach Combining Off-Chip Prediction with Adaptive Prefetch Filtering
Resumo: To alleviate the performance and energy overheads of contemporary applications with large data footprints, we propose the Two Level Perceptron (TLP) predictor, a neural mechanism that effectively combines predicting whether an access will be off-chip with adaptive prefetch filtering at the first-level data cache (L1D). TLP is composed of two connected microarchitectural perceptron predictors, named First Level Predictor (FLP) and Second Level Predictor (SLP). FLP performs accurate off-chip prediction by using several program features based on virtual addresses and a novel selective delay component. The novelty of SLP relies on leveraging off-chip prediction to drive L1D prefetch filtering by using physical addresses and the FLP prediction as features. TLP constitutes the first hardware proposal targeting both off-chip prediction and prefetch filtering using a multi-level perceptron hardware approach. TLP only requires 7KB of storage. To demonstrate the benefits of TLP we compare its performance with state-of-the-art approaches using off-chip prediction and prefetch filtering on a wide range of single-core and multi-core workloads. Our experiments show that TLP reduces the average DRAM transactions by 30.7% and 17.7%, as compared to a baseline using state-of-the-art cache prefetchers but no off-chip prediction mechanism, across the single-core and multi-core workloads, respectively, while recent work significantly increases DRAM transactions. As a result, TLP achieves geometric mean performance speedups of 6.2% and 11.8% across single-core and multi-core workloads, respectively. In addition, our evaluation demonstrates that TLP is effective independently of the L1D prefetching logic.
Autores: Alexandre Valentin Jamet, Georgios Vavouliotis, Daniel A. Jiménez, Lluc Alvarez, Marc Casas
Última atualização: 2024-03-22 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2403.15181
Fonte PDF: https://arxiv.org/pdf/2403.15181
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- https://doi.org/10.5281/zenodo.10100304
- https://doi.org/10.5281/zenodo.10083542
- https://doi.org/10.5281/zenodo.10088347
- https://doi.org/10.5281/zenodo.10088525
- https://github.com/itisntalex/TLP-HPCA30-artifact
- https://www.acm.org/publications/policies/artifact-review-badging
- https://cTuning.org/ae/submission-20201122.html
- https://cTuning.org/ae/reviewing-20201122.html