Announcing Memory Machine Cloud 3.0 Imperia

I am very excited to announce that Memory Machine Cloud (MMCloud) Imperia (3.0) is now generally available. Our vision for MMCloud is that it delivers unparalleled resource efficiency for compute intensive workloads and extreme ease-of-use for both Cloud admins and researchers. MMCloud Imperia takes a big step marching towards the vision and makes the product conducive for more use cases. 

Feature highlights

Storage Services

Storage is a cornerstone of cloud computing. In Imperia, we are introducing a new module called “Storage Services.”  Before Imperia, users must configure the various storage volumes that are needed for each job as part of each job submission. 

Figure 1 Specifying storage volume during job submission

This process is tedious, especially if jobs are executed repeatedly, and can be error prone. Also, the user must have access to all the security credentials required to access the storage volumes. Storage Services provides a centralized control module where all the details of storage volumes, and their associated security credentials can be configured by an admin and saved in a central database. When submitting a job, the normal user can simply reference the pre-configured storage volume, eliminating input error and have better security posture.

Figure 2. Registering storage volumes in Storage Service

Figure 3.  Job submission referencing registered volume

With Storage Services, we are adding support for additional storage types so that we can support more use cases. The storage types we can support are:

CloudTypeService
AWSBlockEBS
AWSFileEFS
AWSFileJuiceFS
AWSFileS3FS
AWSFileFSx for Lustre
AWSObjectS3
GCPBlockPersistent Disk
GCPFileCVS
GCPFileJuiceFS
GCPFileS3FS
GCPObjectGCS
AlicloudBlockEBS
AlicloudFileNAS
AlicloudFileJuiceFS
AlicloudObjectOSS

Enhancements to NextFlow integration

Computational biology has been one of our top industry verticals and we have many customers who are taking advantage of MMCloud’s NextFlow solution. NextFlow is one of the most popular workflow / pipeline managers in Bioinformatics today. MMCloud’s nf-float plugin for NextFlow provides a seamless user experience to enable NextFlow to launch and manage jobs through MMCloud. However, the user still needs to deploy and manage the NextFlow head node, and manually launch and manage the nextflow pipeline. One of the feedbacks we hear consistently from bioinformaticians is that they would like to see automations for these steps. Hearing these feedbacks, we implemented two new solutions that work in tandem to deliver true end-to-end automation of NextFlow execution. 

JuiceFlow

The first step is providing an automated deployment of NextFlow head node, as well as execution of the NextFlow pipeline. Using MMCloud’s job template feature, JuiceFlow is tailored to create the entire NextFlow infrastructure. One of the key questions is how do we handle the shared data volume that is required by NextFlow. We decided to use JuiceFS, an open source data platform that provides high performance POSIX file system for object storage. JuiceFlow automatically sets up the JuiceFS platform and configures it to be used by NextFlow head node. Another key feature of JuiceFlow is that it supports the concept of an on-demand and transient NextFlow head node. When using JuiceFlow, the head node is created only when there is a pipeline running, and as soon as the pipeline has completed, all the resources associated with the NextFlow head node are released. This approach maximizes cost efficiency in many environments. We have a detailed description of JuiceFlow here

Figure 4. Workflow View from WaveWatcher

Even with JuiceFlow, bioinformaticians need to have some Linux knowledge and skills to launch and manage pipelines. To give them a pure GUI-based experience, we needed to build a web-based interface.

Memory Machine™ Cloud Air

Introducing MMCloud Air, the point-and-click GUI interface for launching NextFlow pipelines on MMCloud. MMCloud Air enables bioinformatics researchers to run nextflow pipelines without needing to ssh into a server, nor setting up a nextflow head node and managing the shared storage volumes.

Figure 5. Launching NextFlow pipeline through MMCloud Air

After logging into Air, using the MemVerge account, user can launch the NextFlow pipeline run by providing the nextflow configuration file, and specifying the relevant parameters,  and Air service will launch a nextflow headnode, which will automatically execute the pipeline. When the pipeline has been completed, Air will notify the user, who can then pick up the results. In addition, Air allows the users to take advantage of their multi-cloud environment, running pipelines using multiple MMCloud OpCenters. 

Performance, Scalability and Stability

MMCloud Imperia improves the scalability and stability of our product to a new level.  The MMCloud OpCenter gets a significant uplift in performance.  Some key metrics:

  • AppCapsule Offload Throughput: 1350MB/s vs 250 MB/s
  • Snapshot Storage Capacity: Unlimited vs Pre-configured
  • OpCenter Network Bandwidth for typical deployment: 12.5 Gbps vs 5 Gbps

The AppCapsule engine is core to MMCloud.  Imperia boasts an upgraded AppCapsule engine that provides:

  • Upgraded container runtime to expand compatibility
  • Automated compression to improve offload performance
  • Higher overall performance

That was a quick summary of MMCloud Imperia.  However, before I close, let’s try to channel Steve Jobs and do a “One More Thing” announcement:

One more thing – GPU Snapshot

AI is driving change in every industry, and AI relies heavily on GPUs.  GPUs have become a rare commodity – Limited supply has driven the price up significantly. Hence everyone is interested in ways to reduce the cost of accessing GPU compute.  Interestingly GPUs (albeit low to mid range ones) are available on the Cloud in Spot instances.  As one can imagine, customers have asked us if MMCloud can enable them to run their AI applications on spot VMs with GPUs, and enjoy the protection provided by SpotSurfer.  Working closely with Nvidia, we are delivering the first version of SpotSurfer for GPU-enabled VMs in MMCloud Imperia.  

Figure 6. GPU SpotSurfer

The current GPU Snapshot feature is not GA, but rather it is meant to be a demo version that illustrates the concept. Our AppCapsule engine is able to coordinate both the DRAM on the motherboard, as well as the HBM on the GPU accelerator to capture the state of the application while it is using the GPU. This enables applications to surf from one spot instance to another without losing any progress. We are convinced that when this feature becomes GA in a future release, it will make a huge difference in AI computation.