About MemVerge IncAbundant. Persistent. Available. In 2017, Intel® released a new Intel® Optane™ SSD product. Under the covers of this new SSD was Intel® 3D XPoint™, a new memory media. In the history of computing, “memory” and “storage” have always been two different concepts. Memory promises to change that and can be operated at memory speed while being persistent like storage. With the Intel® Optane™ SSD available, we knew that the real game changer, the memory DIMM, was not far away.We decided, right at that moment, to start MemVerge. With every new hardware substrate, a new software stack will need to be developed to allow the applications to take full advantage of the new hardware. In this case, that solution is Big Memory Software. At MemVerge, our mission is to open the door to Big Memory Computing via the Big Memory Software we develop. We are on our way…MemVerge Big Memory SolutionIntroductionSince DRAM was invented in 1969, the user experience for server memory infrastructure changed very little. Now there’s a need for change driven by the emergence of big and fast data. Memory is good for fast data and storage is good for big data, but neither is good for both.The following is designed to provide IT pros working with memory-centric apps with essential facts about Big Memory Computing designed for both big data sets and real-time performance.Big Memory ComputingThe next generation of in-memory computing, Big Memory transforms low-density, expensive, and volatile DRAM-only environments, into high-density, lower-cost, and highly available environments based on DRAM + Intel® Optane™ memory (PMem).Big Memory HardwareAny type of server memory. Today that is DRAM plus higher density and lower cost Intel® Optane™ Memory (PMem). DRAM scales to 256GB per DIMM while PMem scales to 512GB per DIMM at half the cost per GB of DRAM.Memory Machine™ SoftwareThe industry’s first Big Memory software virtualizes byte-addressable DRAM and PMem memory. Standard EditionPowers your apps to run faster with installed DRAM, or lower-cost memory to perform like DRAM.Provides applications with transparent access to PMem, but persistence is not enabled.Advanced EditionIncludes all the capabilities of Memory Machine Standard Edition, plus transparent access to persistenceEnterprise-class memory services based on ZeroIO memory-to-memory snapshotsWhat is Memory Machine and what does it do?For memory-intensive, long-running apps, big data has become unmanageable because it takes minutes-to-hours to load, save, replicate, and recover. MemVerge® Memory Machine™ is an in-memory data management platform that makes data manageable again with the unique ability to load, save, replicate, and recover terabytes of data in seconds. Memory Machine intelligently allocates and manages system memory in data center servers. Awareness of memory locations, and how frequently they are accessed, is maintained so that Memory Machine can ensure optimal placement of data in memory.Metadata allows Memory Machine to capture ZeroIO™ In-Memory Snapshots, i.e., a complete moment-in-time picture of an application’s state, including in-memory data and open files. In-memory snapshots are the foundation for in-memory data management including checkpoint-restore (for high availability), application cloning (for parallelizing execution pipelines), and in-memory storage (for reducing I/O overhead due to SSD access).Memory Machine can solve challenges faced by customers todayProblem 1: Customers have long-running, stateful applications that do not have robust checkpoint-restore functionality. If the application encounters a problem, the application must restart from the beginning.Solution: Memory Machine takes ZeroIO™ In-memory Snapshots so that if an application instance encounters a problem, it can be restarted from any valid snapshot.Problem 2: Some applications take a long time to run to completion because of stages that incur time-consuming storage I/O — either loading data into memory or writing data to SSD.Solution: Memory Machine keeps application snapshots in memory (although they can be written to SSD as well). A snapshot contains all the in-memory data that the application is using so that a snapshot can replace a write to an SSD-based file system. If the application instance needs to be rolled back to a previous stage (e.g., for ML parameter tuning), a snapshot can instantiate the application at that stage without a time-consuming I/O process.Problem 3: Some analytical pipelines take a long time to complete because there is not an easy way to parallelize some stages.Solution: Memory Machine can create an AppCapsule — all the in-memory state and data associated with a running application instance (including open files residing on SSD). AppCapsule can be used to instantiate additional application instances. Consecutive pipeline stages that can be parallelized can be started simultaneously without requiring any storage I/O. Note: the degree of parallelization that can be achieved depends on the analytical pipeline and the dataset.Problem 4: Moving a stateful application instance from on-premises to the cloud (or vice versa), or from one cloud to another, renders the application unavailable for an unacceptably long period.Solution: App Capsule can move an application instance from one compute platform (e.g., on-premises) to another (e.g., in the cloud), and restarted in seconds. Problem 5: Some applications cannot run because there is not enough memory (e.g., bioinformatics pipelines with large datasets). Other applications take a long time to execute because of limited memory — datasets must be processed in batches.Solution: Intel® Optane™ Memory (PMem) provides high-capacity memory but is not straightforward to use. Using Memory Machine, applications can access all the memory capacity (DRAM+PMEM) without requiring code changes.Problem 6: Customers, especially Cloud Service Providers, want to improve financial metrics related to virtual servers by using less expensive, but higher capacity, memory.Solution: With Memory Machine, some DRAM in a server can be replaced with less expensive PMem without compromising performance, thereby reducing the average cost per GB. The extra memory can be used to host additional virtual machines on the server, improving total revenue and gross profit. System RequirementsOnce virtualized, Memory Machine software delivers a slew of innovative new software-defined memory services for higher performance, availability, and agility: Minimum of 128GB of DRAMServers with DRAM-only and pre-Cascade Lake processorsServers with DRAM + PMem and Intel® Cascade Lake processors and beyondLinux CentOS or REHL 7.6 or higherBare metal server and virtual servervCenter 6.7+KVMRedHat OpenShiftPublic CloudAWSAzureKey Features & Business BenefitsOnce Memory Machine in installed and the DRAM and PMem is virtualized, the software delivers 5 key features and business benefits.Memory VirtualizationAllow s access to new technology without changes to apps. The Memory Machine virtualization layer abstracts applications from changes that would otherwise be needed to support memory and other new memory-related technologies. One virtualization layer supports all apps in the datacenter. Higher DRAM PerformanceExtends the life or increases capacity of servers. If a server upgrade is under consideration because memory is the bottleneck, Memory Machine can squeeze more performance and workload capacity out of installed DRAM. Higher PMem Performance. Opens the door to lower cost memory Without Memory Machine, Intel® Optane™ Memory runs slower than DRAM. Memory Machine enables mass deployment of lower cost and higher density PMem without sacrificing performance. Higher AvailabilityFor the 1st time brings memory into an HA environment. Most memory are not protected with snapshots and replication. The large memory footprints that are protected take minutes to snapshot and hours to recover. Memory Machine enables instant snapshot and recovery, decreasing business disruption by 1,500x. On-Prem & Public CloudOpens the Door to Lower Cost Persistent Memory. The industry’s fastest memory allocator uses Huge Pages to enable apps to run faster on installed DRAM and allows a pool of DRAM and PMem to run DRAM-fast. Software-Defined Memory ServicesOnce Memory Machine software is installed and the memory is virtualized, a suite of services is available based on ZeroIO™ memory-to-memory snapshots.ZeroIO™ SnapshotsMemory Machine features the world’s first memory-to-memory snapshot technology. The ability to snapshot data from DRAM to DRAM or memory transforms the volatile low-availability memory tier into a higher availability tier. Memory Machine ZeroIO Snapshots are also the foundation of the 4 data services below. Time TravelAllows an application to roll back to any of the snapshots previously taken, therefore creating “time travel” for that application. AutoSaveConfigured automatic snapshots at predetermined intervals to protect an app from the effects of a crash. After a crash, the app will automatically recover to the last snapshot taken. Thin CloneClones of in-memory databases are frequently made so DevOps or other applications can have access to the database. The process can be complex, lengthy and requires additional memory. The Memory Machine Thin Clone service uses ZeroIO snapshot technology to create another instance of the last snapshot of the in-memory app in a couple of seconds, and without additional physical memory. App MigrationAfter an in-memory snapshot is taken, this snapshot can be moved to another server, and a new application instance can be created from this snapshot. Memory Machine PerformanceCustomers tell MemVerge the 3 most important features of their server memory are 1. Performance, 2. Performance, and 3. Performance. It’s only after these 3 requirements are met that most IT organizations will consider addressing lower cost and higher availability. Memory Machine software makes it possible to have it all. Memory Machine can deliver higher application performance with your existing DRAM or provide the same or better performance from a pool of DRAM + PMem. Below are a few of many examples of superior application performance with Memory Machine and lower cost PMem. Having met or exceeded performance requirements, IT organizations can now think about using memory and new memory services to modernize their server memory infrastructure. Below is an example of how Memory Machine can increase application availability with instant snapshot and recover, and an example of increasing IT agility with thin clones. Use CasesMemory Machine has been successfully deployed in production environments including:Analytical Biosciences (ABio) is a leader in providing single-cell RNA sequencing analysis services. Using Intel® Optane™ Memory and MemVerge Memory Machine software, ABio was able to load datasets up to 800 times faster and to reduce execution times by a factor of 25 for some computational stages, compared to a traditional DRAM-based solution. The Huck Institutes of the Life Sciences at Penn State selected MemVerge Memory Machine to speed up genomic analysis of plant DNA in research to develop sustainable plant products. By deploying a pool of software-defined DRAM and PMem, the life sciences institute has been able to speed up their analysis pipelines and run workloads that it has not been able to process before.The Translational Genomics Research Institute (TGen), a non-profit research organization, deployed Memory Machine and PMem to improve their time-to-discovery. Total pipeline run time was reduced from 6 ½ hours to a little over 4 hours (a 36% reduction). This was made possible by faster data load times, faster code execution with all data in-memory, and by using in-memory snapshots for parallel code execution.Hazelcast is the leading in-memory computing platform that enables organizations to leverage a resilient and elastic memory resource for data at rest and in motion. The Hazelcast platform combined with MemVerge memory virtualization and in-memory snapshots enables high-capacity memory and fault tolerance for applications in Financial Services such as credit card processing and risk analysis for Basel III Compliance. Memory Machine Migration StrategyThere is 1 important reason for developing a strategy for migrating to Big Memory, and there are 2 primary paths to get there. A Strategy is Important Because Software-Defined Memory is Foundational After 50 years with very little change to DRAM-based memory infrastructure, there is a revolution underway in memory-related technology. The memory virtualization layer plays a key role in the revolution by abstracting applications from the changes that would otherwise be needed to support new processors, persistent memory, DRAM, emerging memories, and CPU-memory interconnects. With memory virtualization transforming your memory infrastructure into software-defined memory, IT organizations will benefit from a Tesla-like model where over the air software updates bring support for new features. This makes Memory Machine software a foundational piece of a long-term memory strategy. Migration Path #1: Start with Installed DRAMDeploying Memory Machine in your existing servers lays a foundation for supporting future memory technology and can make: Memory-intensive applications run fasterLarge in-memory apps recover from crashes instantlyIT agile with Time Travel, Auto Save, Thin Clone and App Migration memory servicesMigration Path #2: Next Server RefreshIt’s simple. Big Memory (Intel® Optane™ memory + Memory Machine software) delivers more memory capacity, performance, and availability for less money, and with no changes to the apps. That’s why we believe it should be considered for every in-memory app server refresh. Learn more about Memory MachineIf you have a workload that would benefit from running on a Memory Machine-managed memory platform, contact one of our Solution Architects for a free, no obligation consultation, or email Eric Doyle at eric.doyle@memverge.com.