Databases are central to information technology and the digital universe in general. When querying large databases, one of the main challenges is to retrieve the stored data and to bring it to the processor that will execute the query. The latency and energy associated with moving data to the processor is a key performance bottleneck, which will gradually get worse as the size of real-world databases continue to increase. Researchers from IBM Research Europe and TU Delft have proposed a way to address this challenge using a promising new computing paradigm called in-memory computing.
In this computing paradigm, the physical attributes of memory devices and their array-level organization enable computation in the memory array itself. A class of memory devices that are particularly suited for in-memory computing are memristive devices. In a memristive device, information is stored in terms of the device resistance. For example, a high resistance state could represent logical “0” and a low resistance state could represent logical “1”. Memristive devices can retain the stored information even when they are not connected to a power supply. While in-memory computing may solve latency and energy issues, it is limited to specific computational tasks and unable to address the highly sophisticated computational problems that can be tackled with a traditional computer. One such task is in-memory logic where logical AND or OR operations are performed between ones and zeros stored in the memory.
Database query with in-memory computing
Fortunately, several database queries can be formulated in terms of logical operations between long strings of ones and zeros. Hence, the key idea is to store the database in dense arrays of memristive devices and exploit in-memory logic to perform the logic operations needed for executing the queries. It can be shown that with a relatively minor modification to the peripheral circuitry of the memristive arrays, it is possible to perform the in-memory logic operations purely based on reading contents of the array. We presented experimental results on small-scale arrays comprising phase-change memory (PCM) devices, a type of memristive device based on materials such as Germanium Antimony Telluride. We also introduced ways to string together multiple queries and applied it on an actual healthcare-related database.
A killer application for in-memory logic?
The field of in-memory computing first came to prominence with the proposal for in-memory logic almost a decade back. However, in recent years, interest in in-memory logic has waned and much of the attention is focused on in-memory arithmetic operations that help implement certain machine learning algorithms. A significant reason for this is that much of the early work on in-memory logic focused on the so-called stateful logic. When implementing in-memory stateful logic, the memristive devices are repeatedly written into when executing the logical operations. This costs too much energy and the devices wear out when written into multiple times. The proposed database query scheme on the other hand relies purely on read operations.
Another Achilles’ heel for in-memory logic using memristive devices has been a lack of killer applications. Hopefully, database query could very well be that killer application that brings renewed interest in the fascinating research topic of in-memory logic.
It is conceivable that in the not too distant future, large databases stored in ultra-dense, memristive arrays will be able to select movies to watch or articles to read all by themselves.
Iason Giannopoulos is affiliated with ETH Zürich and is working towards his doctoral thesis at IBM Research Europe. His research interests are novel phase-change memory device concepts and applications in non-von Neumann computing.
Abu Sebastianis a Distinguished Research Staff Member at IBM Research Europe. He was a contributor to several key projects in the space of storage and memory technologies and currently manages the research effort on in-memory computing at the Zurich Research Lab.
Reference: Iason Giannopoulos, et al. In‐Memory Database Query. Advanced Intelligent Systems (2020). DOI: 10.1002/aisy.202000141