- In-memory processing hardware exists, but software is lacking
- Researchers created PyPIM to enable in-memory computation
- Python commands translated into memory-executable instructions
While processor speeds and memory storage capacities have surged in recent decades, overall computer performance remains constrained by data transfers, where the CPU must retrieve and process data from memory, creating a bottleneck.
Hardware technologies enabling some operations to run in-memory have been in development for some time, but software that allows computers to perform processing operations directly in RAM, bypassing the CPU, has not been properly addressed.
According to a report on Techxplore, researchers at Technion (the Israel Institute of Technology) have developed a solution.
The memory wall problem
"With some computations now handled by the memory, we need new software," explains Shahar Kvatinsky from the Andrew and Erna Viterbi Faculty of Electrical and Computer Engineering at Technion.
"This new software has to be based on new instructions that support in-memory computations. This new computation method is so different from the conventional one that it renders some of the existing building blocks of computer science unusable. Therefore, we need to write new code, which requires a lot of time and effort from software developers."
Kvatinsky has been exploring solutions to "the memory wall problem" - the bottleneck created by the use of different hardware components for computation - for years.
His research group, led by Ph.D. student Orian Leitersdorf in collaboration with researcher Ronny Ronen, has developed PyPIM (Python Processing-in-Memory), a platform that integrates in-memory computing with the popular programming language. PyPIM transforms high-level Python commands into machine-level instructions executed directly within the computer's memory.
The team at Technion believes this new platform will enable developers to write software for PIM computers with ease. Alongside PyPIM, the researchers have created a simulation tool to aid in hardware development and evaluate performance improvements compared to conventional computers.
The researchers' findings were recently showcased at the IEEE/ACM International Symposium on Microarchitecture in Austin, Texas, and a paper detailing their work has been made available on the arXiv preprint server.