Highly Parallel Regular Expression Matching Using a Real Processing-in-Memory System - Jeonghyeon Joo; Hyojune Kim; Hyuck Han; Eul Gyu Im; Sooyong Kang (IEEE Access)
Processing-in-Memory (PIM) is an emerging computing paradigm exploiting a cutting-edge memory device (PIM device) that integrates hundreds to thousands of processing units with the memory modules. A data-intensive application running in a host system can offload a portion of its tasks to the processing units in the PIM device, not only to exploit their processing capabilities but also to mitigate the contention in host memory accesses. However, such task offloading has the intrinsic overhead of transferring data between host memory and PIM device, which frequently hinders obtaining performance gain by exploiting the device. In this paper, we present a framework for a PIM-enabled regular expression matching that offloads the pattern-matching (scanning) engine to the PIM device, taking care to minimize the overhead. We implement an application based on the framework that runs on an off-the-shelf PIM system that has recently emerged into the market, and investigate the feasibility of Processing-in-Memory by comparing its performance with its PIM-oblivious implementation. Experimental results on a real system show that our application reduces the overall execution time by up to 96% compared with the multithreaded PIM-oblivious application when the input data size is 1 GB.