Frequently Asked Questions
Get all the details on how software-defined memory helps you achieve more.
About Software-Defined Memory
What is Software-Defined Memory?
Software-Defined Memory (SDM) is a subset of Software-Defined Technologies (SDT), which is the management of virtualized resources. Other areas of SDT include storage, computing, and networking. With Kove® Software-Defined Memory, the virtualized memory enables individual servers to draw from a common memory pool, receiving exactly the amount of memory needed, including amounts far larger than can be contained within a physical server. When your current job is completed, memory returns to the pool and becomes available for use by other servers and jobs, increasing your memory utilization. In this way, enterprises require less memory in individual servers and less aggregate memory, because it is using memory more strategically on-demand, where and when it is needed.
What is memory stranding and does it matter?
Data centers never use server memory 100% of the time. In fact, memory in general is typically only 30% utilized. Unused memory is stranded inside servers — bonded to particular CPUs, unsharable and isolated from resources elsewhere in the data center. Kove:SDM™ solves memory stranding by pooling memory into a global resource shareable and reusable by resources across the data center.
Why was Software-Defined Memory (SDM) hard to achieve?
Despite the obvious benefits of requiring less overall server memory, technical challenges kept Software-Defined Memory (SDM) unrealized for decades, even though various initiatives tried to achieve it. A common solution was hardware-based Symmetric Multiprocessing (SMP) and more recently vSMP (software SMP). These solutions, however, did not effectively scale cache-coherency, and performance degraded as memory moved farther away from the CPUs. Kove resolved these issues with its patented Kove:SDM™, which doesn’t have cache coherency scaling challenges and enables memory to be located hundreds of feet away from the CPUs without affecting predictable, well-understood, real-memory performance.
What is Kove®’s Software-Defined Memory (Kove:SDM™)?
Kove:SDM™ decouples memory from servers, pooling memory into an aggregate, provisionable and distributable resource across the data center using unmodified Commercial-Off-The-Shelf (COTS) any hardware. Like a Storage Area Network (SAN) provisioning storage using policies, Kove:SDM™ delivers a RAM Area Network (RAN) that provisions memory using policies. Both provide a global, on-demand resource exactly where, when, and how it is needed. For example, an organization might:
- Use a Kove:SDM™ policy to allocate up to 2 TiB of need-based memory for any of 200 servers between 5p-8:30p;
- Develop a provisioning rule that would provision a virtual machine with larger memory than the physical hypervisor, such as a 64 GiB RAM physical server (hypervisor) hosting a 512 GiB RAM virtual machine;
- Provision a 40 TiB server for a few hours or a 100 TiB RAM disk with RAID backing store for a temporary burst ingest every morning.
Finally, Kove:SDM™ works by using three transparent software components: 1) a Management Console (MC) that orchestrates memory pool usage; 2) the Kove® Host Software that connects applications to a memory pool; and 3) our XPD® Software that converts servers into memory targets to form a memory pool. Users and applications do not ever need to know that it is present.
When should we use Kove® Software-Defined Memory?
Use Kove:SDM™ anywhere you have a memory-intensive application, like analytics, databases, number crunching, VDI, visualization, genomics, Monte Carlo, artificial intelligence, machine learning, enhanced virtual machine infrastructure (increased density, improved performance), and more.
Since memory draws current constantly, power-restricted environments additionally benefit from Kove:SDM™. By moving memory where and when needed, you’ll need less capable and fewer servers to achieve comparable results. In so doing, users reduce waste, increase utilization, and receive exactly the required computing resources.
Does Kove® Software-Defined Memory provide for foundational memory resiliency?
Yes, Kove:SDM™ provides full foundational memory resiliency, which is unavailable from other technology. Without it, recovering from physical memory failure requires:
- Using an on-prem server, an organization makes a service call and faces potentially hours or longer of downtime before server recovery
- Using the cloud, a user logs back-in and receives an altogether new server (memory failure removes CPU and memory)
However, Kove:SDM™ provides memory recovery, independent of the CPU. In fact, it can create a replacement allocation within a few hundred milliseconds, requiring neither server downtime nor new server construction. When repaired, memory automatically rejoins the pool, becoming accessible to all servers.
Kove:SDM™ will also continue to support hardware resiliency technologies, including rank sparing, memory mirroring, and persistent memory, and emerging resiliency technologies as well.
Is Kove® Software-Defined Memory secure?
Kove:SDM™ provides strong security against attacks targeting memory penetration. All memory is zeroed out prior to use or re-use. Similar to “LUN Masking” – i.e., logical unit number masking – in storage, Kove:SDM™ provides secure Client Masking to secure customer isolation and support multi-tenancy. In addition, fabric partitioning is enforced, and 64-bit keys secure the host-fabric adapters.
Can Kove® Software-Defined Memory offer an on-premises alternative to the cloud?
Yes, Kove:SDM™ can serve as an alternative to cloud computing for customers who have data that is too large or sensitive to transport across the Internet, as well as for those who have computation needs at the edge and/or have dynamic memory needs like Artificial Intelligence (AI) and Machine Learning (ML).
Can Kove® Software-Defined Memory work with the Cloud?
Yes, Kove:SDM™ works with Microsoft® Azure.
The Difference Between Kove® Software-Defined Memory and Other Solutions
Does Kove® Software-Defined Memory work with other memory technologies?
Yes, Kove:SDM™, using Remote Direct Memory Access (RDMA), supports any byte-level DMA-access media, including DRAM, SDRAM, Intel® Optane™, Z-NAND, PMEM, and more.
What is the difference between Kove:SDM™ and Symmetric Multiprocessing (SMP) or software SMP (vSMP)?
Kove:SDM™ is real memory, not a symmetric multiprocessing architecture (SMP) for aggregating computation, like SGI and Cray (SMP), or ScaleMP and TidalScale (vSMP). SMP and vSMP aggregate CPUs across memory; can require specialized hardware, custom programming techniques, and integration efforts; do not scale linearly; and might require hardware and software modifications.
Meanwhile, Kove:SDM™ scales linearly and doesn’t require hardware or software code changes. It aggregates arbitrarily sized memory across local compute, uses unmodified COTS, delivers microsecond latency for remote access, nanosecond determinacy for computation, and scales linearly.
A single rack of Kove:SDM™ currently provides the highest performance density in the world, delivering consistent nanosecond determinacy. For example, using a rack of 1U COTS servers, Kove:SDM™ delivers more than 1.7 billion IOPS and 1 terabytes/second bandwidth on-demand, from ~2 μs to <8 μs depending on the interface, and consistent nanosecond determinacy. Our software facilitates convenient right-sizing of the compute-memory relationship across servers, racks, and even the entire data center.
What’s the difference between RAM Disks and Kove® Software-Defined Memory?
Random access memory (RAM) disks convert server memory into local storage, strand memory inside servers, and do not scale linearly. Meanwhile, Kove:SDM™ addresses RAM disk limitations and expands memory function across a data center not served well by the RAM disks. Kove:SDM™ delivers memory as a shareable data center resource, solves memory stranding, and it scales linearly.
Kove:SDM™ supports RAM disk storage, but is also real memory with a host of additional interfaces not provided by RAM disks. Differences between RAM Disks and Kove:SDM™ include:
RAM Disk Kove:SDM™ Competes for bandwidth inside server Deterministic performance across data center Performance limited to server Scales linearly and coherently across data center Poor DIMM failure recovery Replaces DIMMs with new allocations in 200ms Storage interface only Many interfaces, mmap, malloc, storage, others Does not persist data Supports numerous durability policies Lacks multi-tenancy Native multi-tenancy support Strands memory Solves memory stranding No provisioning Highly provisionable
Is Kove® Software-Defined Memory an in-memory database like MemSQL, SAP Hana, Coherence, or eXtremeDB?
No, Kove:SDM™ is not an in-memory database. Kove:SDM™ is true memory, scaling linearly to allow in-memory databases to grow dynamically. Meanwhile, the in-memory databases may “shard” capacity to improve performance, but the gains will not scale linearly.
How does Kove® Software-Defined Memory differ from in-memory databases?
Kove:SDM™ is real memory, not an in-memory database like SAP Hana, Coherence, MemSQL, or eXtremeDB. While in-memory databases scale to local system size, and can be well-suited for expensive symmetric multiprocessing (SMP) systems and exotic hardware, some “shard” capacity over scale, reducing performance. Latency targets machine-scale for memory and millisecond-scale for TCP/IP or UDP/IP over Ethernet. A complement to in-memory databases, Kove:SDM™ enables you to manage and scale your memory dynamically across data center servers. Kove:SDM™ provides microsecond access latency and nanosecond determinacy for computation, and scales linearly even on unmodified COTS equipment.
Is Kove® Software-Defined Memory the same as storage class memory?
No, Kove:SDM™ is real memory while storage class memory mesh technologies are not, although they may assert some overlapping functionality. Kove:SDM™ works with any DMA-addressable media.
How does Kove® Software-Defined Memory differ from an in-memory cache?
Kove:SDM™ is real memory, not an in-memory cache like Memcached or Redis. While in-memory caches provide storage of data in-memory, they typically scale horizontally, not arbitrarily in all directions, do not thrive in dynamic or on-demand contexts, and target millisecond-scale latency over TCP/IP or UDP/IP. But Kove:SDM™ enables you to manage and scale memory arbitrarily and dynamically across servers in the data center. Kove:SDM™ provides microsecond access latency and nanosecond determinacy for computation and scales linearly on unmodified COTS equipment.
Is Kove® Software-Defined Memory an in-memory cache like Memcached or Redis?
No, Kove:SDM™ is true memory, not an in-memory cache. Some in-memory caches may “shard” capacity to improve performance, but gains do not scale linearly. Kove:SDM™, however, scales linearly, allowing in-memory caches to grow dynamically and achieve any objective and work as a complement to in-memory caches.
Is Kove® Software-Defined Memory better than Flash, NVMe, Intel® Optane™, 3D XPoint, and Z-NAND?
Yes. Enterprise Flash, NVMe, Intel® Optane™, 3D XPoint, and Z-NAND address storage performance, but not limited or stranded memory. With these solutions, the capabilities of the server’s memory are determined by multiplying the memory slots by the DIMM size. Increasing the capacity with them increases possible performance but it also greatly increases the potential for memory stranding — unused, isolated, and unsharable server memory.
Kove:SDM™, on the other hand, delivers a true software-defined memory solution that effectively decouples memory from the server. It aggregates memory into a pooled resource, provisioning any amount of memory where, when, and how it is needed, reducing memory stranding and at times even eliminating it. Specifically, Kove:SDM™:
- Targets real memory, but can support storage-class memory;
- Pools and provisions memory resources for use beyond single server limits;
- Reduces memory stranding, allowing provisioning rules to move memory where needed; and
- Supports byte-addressable media, including DRAM, Intel® Optane™, Z-NAND, and more.
How does Kove® Software-Defined Memory differ from in-memory grids like Gridgain or Hazelcast?
Kove:SDM™ is real memory, not an in-memory grid. Some in-memory grids may “shard” capacity to improve performance, but the gains do not scale linearly. In-memory grids provide storage of data in-memory, with co-located compute. They typically scale horizontally, not arbitrarily in all directions, do not thrive in dynamic or on demand contexts and target millisecond-scale latency over TCP/IP or UDP/IP. Kove:SDM™, however, scales memory arbitrarily and dynamically across servers in the data center, providing microsecond access latency and nanosecond determinacy for computation, and it scales linearly even on unmodified COTS equipment.
How does Kove® Software-Defined Memory differ from CXL?
Compute Express Link (CXL) is an open standards initiative (www.computeexpresslink.org), designed to support cache-coherent memory between processors, accelerators, and pooled memory devices. CXL targets persistent memory for in-rack workloads with natural memory semantics, especially applicable for multi-GPU scaled performance.
Subsuming in-rack memory design, Kove:SDM™ manages memory across racks and even across the entire Data Center. Our software optimizes flexibility in addition to performance, supporting logical (e.g., 1 MiB granularity) rather than device-size (e.g., per DIMM) memory provisioning. It deploys on standard COTS servers and does not require specialized equipment.
Kove:SDM™ will natively support CXL and other evolving and competitive memory specifications and interconnects as they become available. For instance, Kove® software could increase L4 cache capacity using CXL, or use CXL to naturally scale memory target capacity offbox.
Is Kove:SDM™ complicated to implement?
No, Kove:SDM™ is implemented on commercial off-the-shelf (COTS) hardware. For instance, it utilizes two network fabrics: 1) Ethernet for the Control Plane (i.e., command-and-control), and 2) InfiniBand for the Data Plane (i.e., memory data transfer). InfiniBand is used by Kove:SDM™ exactly for what it was designed: memory. No special modifications are required by Kove:SDM™ to use Ethernet and InfiniBand. Kove® engineers anticipated that a plurality of fast “memory interconnects”, such as PCIe, GenZ, Photonics, RoCE, Omni-Path, Slingshot, and others would be introduced when designing Kove:SDM™ and plan to support new memory interconnects as they become available.
What is Kove® Software-Defined Memory’s impact on my budget?
Not only does Kove:SDM™ help organizations achieve more, it is affordable as well. Enterprises can save money because they will not need to pay for as much memory as before by better utilizing the servers that they do have. As a result, customers can amortize memory costs across all servers. This in turn reduces per-server costs, the number of servers needed, and associated operating costs, including power, cooling, software, personnel and more. Customers routinely experience an ROI in the 50-80% range, not counting the OpEx savings they also realize.
Do I have to purchase specialized servers or appliances to use Kove® Software-Defined Memory?
No, you do not need to purchase new or specialized servers or appliances to use Kove:SDM™. It runs on COTS hardware. Better yet, our software’s performance is based on memory determinacy, not on CPU performance, so customers can extend the use of the servers they already own, even servers with outdated CPUs, converting them into fully functional data center memory. In fact, we have customers actively using servers as memory targets for >10 years.
How can Kove® Software-Defined Memory be fast enough for my application?
Kove’s approach to software-defined memory (Kove:SDM™) delivers deterministic low latency and high CPU utilization. With Kove:SDM™, pooled memory becomes another tier of memory, using local memory for computation. It matches local CPU performance to local memory performance, so pooled memory appears statistically as fast as local memory from the Kove® L4 cache. Because any server can use any amount of Kove:SDM™ on-demand, any size job can run completely in memory.
Does Kove:SDM™ work with GPUs?
Yes, Kove:SDM™ software provides terrific motherboard memory performance to GPUs.
What is Kove:SDM™’s impact on the environment?
Kove:SDM™ is extremely environmentally friendly, as it reduces rack footprint as well as power, heat and cooling needs. Customers can reduce power consumption up to 60%.
Does Kove:SDM™ require software modifications to install or utilize?
No. Kove:SDM™, a transparent interface, requires zero code changes. So, most applications run out of the box. What is more, Kove:SDM™ provides developer APIs with kernel bypass for even faster performance. Provisioning control applies to all interfaces and use cases.
Does Kove:SDM™ require any hardware modifications?
Kove:SDM™ uses open systems architecture and standard Ethernet, servers and GPUs, so hardware modifications are not needed. Kove:SDM™ also natively supports Ethernet for the Control Plane and InfiniBand for the Data Plane. Kove plans to support Photonics, Slingshot, GenZ, Omni-Path, among others.
Get in Touch
Find out how Kove:SDM™ can help you achieve your potential.
We can’t wait to talk to you about how Kove:SDM™ can help your teams – and your organization – reach their full potential.