Evaluación de políticas de reordenado de peticiones de memoria para cargas de trabajo sparse vectorizadas
Evaluation of memory request reordering policies for vectorized sparse workloads
Ver/ Abrir
Identificadores
URI: https://hdl.handle.net/10902/37822Registro completo
Mostrar el registro completo DCAutoría
Canales García, JavierFecha
2025-08Director/es
Derechos
Attribution-NonCommercial-NoDerivatives 4.0 International
Palabras clave
Simulador
Coyote
FRFCFS
BLISS
STFM
Algoritmo de reordenado
Planificación de peticiones de memoria
Simulator
Reordering algorithm
Memory Requests Scheduling
Resumen/Abstract
La sociedad actual demanda cada vez más y más rendimiento de los diferentes dispositivos, pero, sin embargo, se están alcanzando cotas tan altas que estas continuas mejoras no serán capaces de mantener el ritmo. Es por ello que se requiere exprimir al máximo los diferentes componentes para conseguir cualquier mejora que sea posible. En el caso de este estudio, se trabajará sobre el controlador de memoria de los procesadores, estudiando el efecto que tiene el reordenado de las peticiones a memoria a través de diferentes algoritmos de planificación, centrándonos principalmente en cargas de trabajo de tipo sparse vectorizadas.
El orden en el que se atienden las peticiones a memoria es uno de los factores clave en el rendimiento de las tecnologías basadas en DRAM. El ejemplo más sencillo es el aprovechamiento de la localidad en el Row Buffer: accesos sucesivos a la misma fila de un banco generalmente producirán anchos de banda superiores a cambios de fila constantes. Sin embargo, una priorización excesiva de accesos a una misma fila también puede tener un impacto negativo sobre el fairness, retrasándose excesivamente aquellos accesos que no aprovechan la localidad. Por este motivo, existen multitud de propuestas de reordenado de peticiones que tratan de resolver estos dos problemas contrapuestos.
Los sistemas actuales ejercen cada vez mayor presión sobre el sistema de memoria debido fundamentalmente a dos motivos: la integración de grandes cantidades de cores y la capacidad de ejecución SIMD o vectorial. A esto se le añade el florecimiento de aplicaciones de tipo sparse, las cuales, de forma natural, generan patrones de acceso muy desafiantes para el sistema de memoria.
En este contexto, este trabajo estudiará la interacción entre estos factores que incrementan la presión sobre la memoria y el reordenado de peticiones. Para ello, se implementarán varias políticas de reordenado en el simulador arquitectural de las ISA RISC-V Coyote y se evaluarán en la ejecución de un SpMV utilizando matrices con patrones de irregularidad variados.
Today’s society demands ever-increasing performance from different devices, yet such high levels are being reached that these continuous improvements will not be able to keep pace. Therefore, it is necessary to squeeze the maximum out of the different components to achieve any possible improvement. In the case of this study, we will work on the processors’ memory controller, studying the effect of reordering memory requests through different scheduling algorithms, focusing primarily on vectorized sparse workloads.
The order in which memory requests are served is one of the key factors in the performance of DRAM-based technologies. The simplest example is the exploitation of locality in the Row Buffer: successive accesses to the same row in a bank will generally produce higher bandwidths than constant row changes. However, excessive prioritization of accesses to the same row can also have a negative impact on fairness, with accesses that do not exploit locality being excessively delayed. For this reason, there are many request reordering proposals that attempt to solve these two opposing problems.
Current systems are putting increasing pressure on the memory system primarily for two reasons: the integration of large numbers of cores and the ability to execute SIMD or vector-based applications. Added to this is the rise of sparse applications (big data, machine learning, etc.), which naturally generate access patterns that are very challenging for the memory system.
In this context, this work will study the interaction between these factors that increase memory pressure and request reordering. To this end, several reordering policies will be implemented in the Coyote RISC-V ISA architectural simulator and evaluated in the execution of a SpMV using matrices with varied irregularity patterns








