In-memory processing with Python promises faster and more efficient computing by skipping the CPU
- Hardware exists for in-memory processing, but software is lacking
- Researchers created PyPIM to enable in-memory computation
- Python commands translated into memory-executable instructions
Although processor speed and memory storage capacity have increased dramatically in recent decades, overall computer performance remains limited by data transfers, which require the CPU to retrieve and process data from memory, creating a bottleneck.
Hardware technologies that allow some operations to be performed 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 yet been properly addressed.
According to a report on Techexploreresearchers at Technion (the Israel Institute of Technology) have developed a solution.
The memory wall problem
“With some calculations now being handled by memory, we need new software,” explains Shahar Kvatinsky of the Technion’s Andrew and Erna Viterbi Faculty of Electrical and Computer Engineering.
“This new software must be based on new instructions that support calculations in memory. This new calculation method is so different from the conventional ones that it makes some of the existing building blocks of computer science unusable. Therefore, we have to write new code, which takes a lot of time and requires effort from software developers.”
Kvatinsky has been researching solutions for “the memory wall problem” – the bottleneck created by using 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 that execute directly in the computer’s memory.
The Technion team believes this new platform will allow developers to easily write software for PIM computers. In addition to PyPIM, the researchers created a simulation tool to aid in hardware development and evaluate performance improvements compared to conventional computers.
The researchers’ findings were recently presented at the IEEE/ACM International Symposium on Microarchitecture in Austin, Texas, and a paper detailing their work has been made available on the website arXiv preprint server.