Setting DRAM Tier Memory

You can enable DRAM tiering and set a maximum tier memory size for each application, enable Memory Machine to apply tiering automatically, or turn tiering off completely.

About this task

To take advantage of the speed of volatile memory (DRAM), the MemVerge Memory Allocation Service (MVMAS) tiers the most recently used memory to the local machine’s DRAM. See The MemVerge Memory Allocation Service.

To enable automatic DRAM tier resizing, see Configuring Automatic DRAM Tier Resizing.

To manually determine and set an appropriate DRAM tier size, follow the procedure below.

Procedure

  1. Estimate the size of the DRAM tier needed for the application.
    There are no hard and fast rules to calculate tier memory size; it must be experimentally determined per application. Compare the application performance when run with and without Memory Machine and note the Resident Set Size (RSS) of DRAM during the "without" run. If there is little performance difference then zero tier may be the best choice; otherwise try a tier size 10% or less of the noted RSS value to see the effect on performance. Iterate as needed to find the minimum amount of tier memory required to achieve acceptable performance.
    Larger tier size increases the time required to capture a snapshot (See Capturing a Snapshot with CLI and Capturing a Snapshot Using Memory Machine Management Center), so you might also need to balance application performance against snapshot performance.
  2. Optional: You do not need to stop the application instance, change the application configuration file, and restart the process to try each new DRAM tier configuration. You can modify the DRAM tier dynamically (without stopping the application instance) while you experiment with the tier size using the mvmcmd dram resize command. See Resizing DRAM Tier Memory.
  3. In the application configuration file (mvmalloc.yml), set the DRAM tier size. For example, the following entry sets the application's DRAM tier to 16 GB:
    DramTierGB: 16
    If your application does not require DRAM tier memory, you can effectively disable tiering for the application by setting DramTierGB to zero (DramTierGB: 0) or by omitting the DramTierGB parameter from mvmalloc.yml file altogether.
  4. Restart the application under Memory Machine management:
    # mm app_launch_command
    where app_launch_command is the application command, including parameters.