Pliops, a relatively new startup company founded in 2017 concentrating on data processing, has finally taken the cover off its long-awaited product: the Pliops XDP. The XDP acronym is short for eXtreme Data Processor, which is designed to essentially represent a more modern RAID controller for servers with all-flash storage.
"Just as GPUs overcome processing inefficiencies to accelerate AI and analytics performance, the breakthrough Pliops Extreme Data Processor (XDP) overcomes storage inefficiencies to massively accelerate performance and dramatically lower infrastructure costs for today’s applications." - says the Pliops website about its XDP product.
The Pliops XDP processor is an easy-to-deploy, low-profile PCIe-based card that runs in any standard server configuration. It is home to a Xilinx FPGA, which is soon to be joined by an ASIC (as per ServeTheHome), which is programmed to manage NVMe storage in a way that provides up to a 3-15 times performance increase compared to existing solutions. As the company notes, it is a way for server system technology to finally keep up with the progress of storage technology and unite the two.
If you are wondering just how it works, the XDP card actually takes the applications running on the system and transports them directly to storage. This eliminates the need for a CPU for these applications, and it provides up to 80% less stress on the CPU, freeing up performance and giving the whole system a big boost.
Pliops has designed the XDP processor to be used in two possible modes: NVMe block interface or key-value library API. The second method will reduce CPU overhead as the XDP handles query retrieval from the database.
The company website notes that "XDP seamlessly manages data flow from application to storage, shaping the data for optimal placement to the lowest-cost SSDs, enabling very high performance with fully offloaded data protection and inline transparent compression.", continuing that "XDP’s ultra-fast hardware-based storage engine leverages breakthrough data structures and algorithms to deliver the performance equivalent of hundreds of Intel Xeon Gold cores of common data processing and storage management functions. This eliminates bottlenecks, reduces latency, and greatly increases workload scaling of your existing infrastructure footprint."
Pliops already has some major customers implementing its XDP card in data centers across the globe, and the official company website includes quotes from the likes of Intel and Nvidia, stating a few words about the success that they have experienced using the XDP product. You can find that on the official Pliops website here.
Stay on the Cutting Edge
Join the experts who read Tom's Hardware for the inside track on enthusiast PC tech news — and have for over 25 years. We'll send breaking news and in-depth reviews of CPUs, GPUs, AI, maker hardware and more straight to your inbox.
Wow... "it moves applications from CPU into the card".Reply
That "IT" is definitely a Djinni!!! An application, lest we forget so easily, is a bunch of high-level code ultimately translated into machine code, which is executed byte by byte, instruction by instruction, by the CPU. In CPU-native instructions. This thing would either have to emulate X86 code perfectly, and much faster, which is not likely, or the "IT" is a marketing guru brain-fart.
Now if 'they' had made the claim that the device uses advanced predictive access metrics, based on prior accesses, in a window maybe 1 month long, and pre-fetches data not yet requested into a cache ... and then delivers that when dutifully requested milliseconds (or microseconds) later, well THAT would be quite an advance.
But as it stands, if 'the application is loaded to the data card', it also implies that the high-level coding gurus that actually wrote an application, would have to do quite a bit of recoding in order to have its mission-critical and time-sensitive parts to execute off-CPU.
I work for Pliops and can clarify - the "applications" moved to the card are either:
Compression/packing/garbage collection/drive fail protection for block storage (think of it as a AFA controller on a PCIe card)
Storage engines like RocksDB are entirely offloaded. Storage engines are used in nearly all databases, analytics, software defined storage. If those use RocksDB as their storage engine, the Pliops device seamlessly replaces that function, allowing it to be removed from the host. If it is a different storage engine, some software changes are required.And these functions are available to the application via existing interfaces - NVMe for block or RocksDB API for KV.
On the Data Processor itself, a complete architecture is in place to manage these functions. It's not a code shift, but a function shift. As you point out, on the XDP these are not delivered via x86 code, but because it is a dedicated design, delivers the equivalent of hundreds of x86 cores of software for those key data/storage management functions. The XDP works with any SSD model including QLC and fits in any standard server. Hope that helps!