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) x86 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 external 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, external memory becomes another tier of memory, using local memory for computation. It matches local CPU performance to local memory performance, so external 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, x86 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.
Fill out the form, and one of our representatives will contact you about Kove:SDM.