Hewlett Packard Labs has developed tools that enable programmers to realize the benefits of Memory-Driven Computing and persistent memory. To simplify the developer experience, we are exposing familiar programming environments like Linux and Portable Operating System Interface APIs with programming languages like C/C++ and Java, making the performance advantages of massive memory on fabrics available to you in a way that lets you be productive quickly.
During the design phase of the prototype, simulations had predicted that the speed of a Memory-Driven Computing architecture would improve current computing by multiple orders of magnitude. Novel programming tools developed to harness massive, shared memory have shown execution speeds improved by up anywhere from 100-8,000 times on a range of workloads in areas such as image search, graph inference and financial modelling.
These results were achieved using simulations of prototype of The Machine project running on existing high-performance HPE systems, such as HPE Integrity Superdome X and HPE ProLiant servers.
As part of The Machine program, we built a similarity search framework for high-dimensional objects. High-dimensional search enables important component of many analytic tasks in information retrieval, (e.g. document duplicate detection), machine learning (e.g., nearest neighbor classification) and computer vision (e.g., pose estimation and object recognition).
Performance emulation for non-volatile memory latency and bandwidth
A DRAM-based performance emulation platform that leverages features available in commodity hardware to emulate different latency and bandwidth characteristics of future byte-addressable non-volatile memory technologies.
Write-Ahead-Logging Library for Non-Volatile DIMMs
Write-Ahead-Logging (WAL) is the central component in various software that require atomicity and durability, such as data management systems (DBMS).
Linux for Memory-Driven Computing
Hewlett Packard Labs is adapting the Linux Operating System to support Memory-Driven Computing architectures such as, The Machine project. Modifications to Linux include support for fabric – attached persistent memory, block device abstractions for persistent memory.. Also included is an emulator that can be used by developers to explore the new APIs on industry standard machines.
Fabric Attached Memory Emulation
An environment designed to allow users to explore the new architectural paradigm of The Machine, called Memory-Driven Computing. The emulation employs virtual machines performing the role of “nodes” in The Machine. Explore shared, global memory space and expect it to behave like Memory-Driven Computing on The Machine. Linux for Fabric-Attached Memory Emulation is also available to provide software for The Machine APIs and allow you to explore Memory-Driven Computing using current hardware.