https://www.techtarget.com/searchbusinessanalytics/definition/processing-in-memory-PIM
Processing in memory, or PIM (sometimes called processor in memory), refers to the integration of a processor with Random Access Memory (RAM) on a single chip. The result is sometimes known as a PIM chip.
PIM allows computations and processing to be performed within the memory of a computer, server or similar device. The arrangement speeds up the overall processing of tasks by performing them within the memory module.
Standard computer architectures suffer from a latency problem. This latency is also known as the von Neumann bottleneck and is the result of all processing being done by the processor alone. The computer's memory is not involved in processing, as it is used only to store programs and data. PIM is one approach to overcome this inherent latency issue.
In a computing system or application, when the volume of data is large, moving it between memory and processors can slow down processing. Adding processing directly into memory can help alleviate this problem. PIM can manipulate data entirely in the computer's memory. The application software running on one or more computers manages the processing and the data in memory.
If multiple computers are involved, the software divides the processing into smaller tasks. These tasks are then distributed to each computer and run in parallel to reduce latency and speed up processing.
Database processing refers to relational database management systems (RDBMS) structured to allow the use of query languages like SQL. With RDBMS processing, the data is first loaded from the disk so that it can be processed.
If data volumes are large, processing may slow down as data has to be swapped in and out of memory, which could also hamper overall computing performance. Processing in memory can increase RDBMS processing speeds by loading data directly onto the RAM or flash memory that also has computational capabilities.
Another difference between the two methods concerns the use of databases. Database processing is optimized for row-based databases, while PIM depends on column-centric databases. Row-based storage is suitable for transactional processing, but not for applications like business intelligence (BI), where column-based databases are more suitable. This is why PIM is so useful for such applications.
Some of the most important advantages of processing in memory include the following:
Other applications that need high-speed processing are also suitable candidates for PIM, such as the following:
In addition, applications where high-speed processing is not necessary but desirable can also benefit from PIM. Examples of such applications include the following:
Despite its benefits, there are also some drawbacks related to PIM, particularly related to design and manufacturing.
See also how the computational storage drive is changing computing and Keys to making computational storage work in your applications. Explore Using computational storage to handle big data and Computational storage: Go beyond computation offloading.
02 Feb 2022