Computing in memory, without a processor: scientists have created a Python interpreter

Published by Andrii Rusanov

Researchers at the Israeli Technion Institute have developed a software package for performing in-memory operations without the participation of the processor, using Python.

In recent years, a new area of computer research has emerged: in-memory computing. While traditionally the processor performs actions based on information stored in the computer’s memory, with this innovative approach, some of them are performed directly in memory. This speeds up computing and saves energy.

Prof. Shahar Kwatinski has spent the last few years searching for solutions to the «memory wall problem» — property of computing that requires two separate hardware components. In articles published recently, he has presented technologies that allow some operations to be performed in memory.

Such a paradigm shift in computer architecture can be applied in many fields, including artificial intelligence, bioinformatics, finance, information systems, etc. Currently, many research groups in academia and industry are working in this direction: studying memory architecture, investigating the production of memory modules, and studying computational operations in memory.

However, an important aspect of this approach has been largely neglected: software. For decades, computer programs have been written for «classical» computers, whose fundamental structure has hardly changed since the 1940s.

«The new method of computing is so different from the traditional one that it makes some of the existing building blocks of computer science unusable. Therefore, we need to write new code»,” explains Professor Kwiatinski.

The research team’s paper offers a solution to this problem. The new software platform introduces a set of commands that has become a bridge between in-memory computing and conventional programming languages such as Python. The researchers have developed a theoretical framework and created libraries that convert Python commands into machine commands that execute directly in computer memory.

The new software platform is called PyPIM — a combination of the name Python and the acronym Processing-in-Memory. Thanks to it, software developers will be able to easily write programs for PIM computers.

The researchers also created a modeling tool for hardware development and performance measurement. It allows to estimate the improvement in code execution time compared to a conventional computer. The paper demonstrates various examples of computations with short, simple code and significant performance improvements.

The research was presented at the IEEE/ACM International Symposium on Microarchitecture, held in Austin, Texas. See also available One of the researchers, 21-year-old Orian Leutersdorf, will soon become the youngest Ph.D. of the institute.

Source: TechXplore