Deploy molecular dynamics and NAMD applications using any of a range of computational framework options from bare metal to virtual machine GPU shapes available in Oracle Cloud Infrastructure (OCI).
NAMD is a molecular dynamics software that simulates the movements of atoms in biomolecules under a predefined set of conditions. It identifies the behavior of these biomolecules when exposed to changes in temperature, pressure, and other inputs that mimic the actual conditions encountered in a living organism. NAMD can establish patterns in protein folding, protein-ligand binding, and cell membrane transport, making it a useful application for drug research and discovery.
NAMD includes the following key features:
Based on C++ and on Charm++ parallel objects for optimal performance on low-latency architectures
Offers scalable petascale performance
Distributed free of charge with its source code
Able to achieve nine-times throughput with version 3.0alpha running on NVIDIA A100 GPUs
Basic simulation, such as constant temperature, through rescaling, coupling, or Langevin dynamics
Advanced simulation, such as chemical and conformational free energy calculations
You can use this reference architecture for multiple applications related to deep learning and scientific computing.
Deep learning and scientific computing workloads require specialized computational frameworks. Oracle Cloud Infrastructure (OCI) offers a wide variety of options from bare metal to virtual machine (VM) GPU shapes to handle the most demanding workloads. NVIDIA GPU Cloud (NGC) is one of the options available on Oracle Cloud Infrastructure.
In this simple reference architecture, a GPU node with block storage is deployed in a VCN with public subnet and internet gateway. Block storage stores the applications.
The following diagram illustrates this reference architecture.
The architecture has the following components:
An Oracle Cloud Infrastructure region is a localized geographic area that contains one or more data centers, called availability domains. Regions are independent of other regions, and vast distances can separate them (across countries or even continents).
- Availability domains
Availability domains are standalone, independent data centers within a region. The physical resources in each availability domain are isolated from the resources in the other availability domains, which provides fault tolerance. Availability domains don’t share infrastructure such as power or cooling, or the internal availability domain network. So, a failure at one availability domain is unlikely to affect the other availability domains in the region.
A tenancy is a secure and isolated partition that Oracle sets up within Oracle Cloud when you sign up for Oracle Cloud Infrastructure. You can create, organize, and administer your resources in Oracle Cloud within your tenancy.
Compartments are cross-region logical partitions within an Oracle Cloud Infrastructure tenancy. Use compartments to organize your resources in Oracle Cloud, control access to the resources, and set usage quotas. To control access to the resources in a given compartment, you define policies that specify who can access the resources and what actions they can perform.
- Cloud Guard
You can use Oracle Cloud Guard to monitor and maintain the security of your resources in Oracle Cloud Infrastructure. Cloud Guard uses detector recipes that you can define to examine your resources for security weaknesses and to monitor operators and users for risky activities. When any misconfiguration or insecure activity is detected, Cloud Guard recommends corrective actions and assists with taking those actions, based on responder recipes that you can define.
- Virtual cloud network (VCN) and subnets
A VCN is a customizable, software-defined network that you set up in an Oracle Cloud Infrastructure region. Like traditional data center networks, VCNs give you complete control over your network environment. A VCN can have multiple non-overlapping CIDR blocks that you can change after you create the VCN. You can segment a VCN into subnets, which can be scoped to a region or to an availability domain. Each subnet consists of a contiguous range of addresses that don't overlap with the other subnets in the VCN. You can change the size of a subnet after creation. A subnet can be public or private.
- Internet gateway
The internet gateway allows traffic between the public subnets in a VCN and the public internet.
- Route table
Virtual route tables contain rules to route traffic from subnets to destinations outside a VCN, typically through gateways.
- Security list
For each subnet, you can create security rules that specify the source, destination, and type of traffic that must be allowed in and out of the subnet.
The Oracle Cloud Infrastructure Compute service enables you provision and manage compute hosts in the cloud. You can launch compute instances with shapes that meet your resource requirements (CPU, memory, network bandwidth, and storage). After creating a compute instance, you can access it securely, restart it, attach and detach volumes, and terminate it when you don't need it.
- Bare Metal GPU
Use a Bare Metal GPU shape for hardware-accelerated analytics and other computations.
- Block volume
With block storage volumes, you can create, attach, connect, and move storage volumes, and change volume performance to meet your storage, performance, and application requirements. After you attach and connect a volume to an instance, you can use the volume like a regular hard drive. You can also disconnect a volume and attach it to another instance without losing data.
Use the following recommendations as a starting point to deploy molecular dynamics applications using any of a range of computational framework options on Oracle Cloud Infrastructure.
Your requirements might differ from the architecture described here.
When you create a VCN, determine the number of CIDR blocks required and the size of each block based on the number of resources that you plan to attach to subnets in the VCN. Use CIDR blocks that are within the standard private IP address space.
Select CIDR blocks that don't overlap with any other network (in Oracle Cloud Infrastructure, your on-premises data center, or another cloud provider) to which you intend to set up private connections.
After you create a VCN, you can change, add, and remove its CIDR blocks.
When you design the subnets, consider your traffic flow and security requirements. Attach all the resources within a specific tier or role to the same subnet, which can serve as a security boundary.
Use regional subnets.
- Security lists
Use security lists to define ingress and egress rules that apply to the entire subnet.
- Cloud Guard
Clone and customize the default recipes provided by Oracle to create custom detector and responder recipes. These recipes enable you to specify what type of security violations generate a warning and what actions are allowed to be performed on them. For example, you might want to detect Object Storage buckets that have visibility set to public.
Apply Cloud Guard at the tenancy level to cover the broadest scope and to reduce the administrative burden of maintaining multiple configurations.
You can also use the Managed List feature to apply certain configurations to detectors.
- Bare Metal GPU
Use bare metal shapes BM.GPU2.2 or BM.GPU3.8 for best performance.
When deploying molecular dynamics applications, consider the following:
To get the best performance, choose the correct compute shape with appropriate bandwidth.
Consider using a high-availability option based on your deployment requirements and region. Options include using multiple availability domains in a region and using fault domains.
A bare metal HPC instance provides the necessary CPU power for a higher cost. Evaluate your requirements to choose the appropriate compute shape.
- Monitoring and Alerts
Set up monitoring and alerts on CPU and memory usage for your nodes, so that you can scale the shape up or down as needed.
The Terraform code for this reference architecture is available on GitHub. You can pull the code into Oracle Cloud Infrastructure Resource Manager with a single click, create the stack, and deploy it. Alternatively, you can download the code from GitHub to your computer, customize the code, and deploy the architecture by using the Terraform CLI.
- Deploy using the sample stack in Oracle Cloud Infrastructure Resource
If you aren't already signed in, enter the tenancy and user credentials.
- Review and accept the terms and conditions.
- Select the region where you want to deploy the stack.
- Follow the on-screen prompts and instructions to create the stack.
- After creating the stack, click Terraform Actions, and select Plan.
- Wait for the job to be completed, and review the plan.
To make any changes, return to the Stack Details page, click Edit Stack, and make the required changes. Then, run the Plan action again.
- If no further changes are necessary, return to the Stack Details page, click Terraform Actions, and select Apply.
- Deploy using the Terraform code in GitHub:
- Go to GitHub.
- Clone or download the repository to your local computer.
- Follow the instructions in the
Learn more about the features of this architecture.
For more information, refer to NAMD Scalable Molecular Dynamics.