blockNDP
Antonio Barbalace, Martin Děcký, Javier Picorel, Pramod Bhatotia
Abstract
We introduce blockNDP, a set of hardware and software protocol and interface extensions to enable block-oriented near data processing (NDP) within emerging solid-state drives (SSDs) integrating processing units. blockNDP is an end-to-end architecture, including a programming model and framework for host and in-storage compute units. blockNDP is the first proposal to be generic, backward compatible - supports existent standards and file systems, portable, and language agnostic. [email protected] have implemented and evaluated the effectiveness of blockNDP using two full-system prototypes; one on a new NDP emulation platform - developed atop QEMU, and another on an actual development board - the OpenSSD. Our experimental evaluation demonstrates that blockNDP is not only feasible with a modest effort, < 10K LoC, but it is also able to achieve up to 4× speedups, despite wimpy CPU cores, on a real-world data-driven application such as MySQL.