RV-Across: An Associative Processing Simulator - Silveira, Jonathas; Felzmann, Isaías; Fabrício Filho, João; Wanner, Lucas (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2020: Anais do XXI Simpósio em Sistemas Computacionais de Alto DesempenhoDO - 10.5753/wscad.2020.14064, 2020)
Associative Processing provides high-performance and energyefﬁcient parallel computation using a Content-Addressable Memory (CAM). Emerging big data applications can be signiﬁcantly sped-up by Associative Processing, but validation and evaluation are key challenges. We present RVAcross, a RISC-V Associative Processing Simulator for testing, validation, and modeling associative operations. RV-Across eases the design of associative and near-memory processing architectures by offering interfaces to both building new operations and providing high-level experimentation. Our simulator records memory and registers states of each associative operation pass, giving the user visibility and control over the simulation. The user can employ the simulation statistics provided by RV-Across to compute performance and energy metrics. RV-Across implements common associative operations and provides a framework to allow for easy extension. We show how the simulator works by experimenting with different scenarios for associative operations with three applications that test the functionality of logic and arithmetic computations: matrix multiply, checksum, and bitcount. Our results highlight the direct relation between the data length and potential performance improvement of associative processing in comparison to regular CPU serial and parallel operation. In case of matrix multiplication, the speed-up increases linearly with matrices dimension, achieving 8X for 200x200 bytes matrices and overcoming parallel execution in an 8-core CPU.