Configuring Automatic DRAM Tier Resizing

Enable automatic DRAM tier resizing for an application by setting parameters in the application configuration file, mvmalloc.yml.

About this task

Several parameters in the mvmalloc.yml file control the behavior of automatic DRAM tier resizing. The procedure below describes how to activate and configure automatic DRAM tier resizing.

Procedure

  1. Edit the configuration file for the application you want to run with automatic DRAM tier resizing. The default application configuration file path is /etc/memverge/mvmalloc.yml, but you can copy the file and change it for any application instance that you run using Memory Machine; see The Application Configuration File.
  2. To enable automatic DRAM tier resizing, set the DramTierResizePolicy to auto as shown here:
    DramTierResizePolicy: auto
    Note: Add a line with the DramTierResizePolicy if it is not already in the file.
  3. Set the automatic DRAM tiering parameters described in the following table. To set a parameter, add (or modify) a line in the file in the following format:
    Parameter: value
    where Parameter is the parameter name from the table below and value is the value to use. Depending on the parameter, the value could be a keyword, string, or numerical value.
    Parameter Description
    DramTierResizePolicy

    Setting this parameter to auto enables DRAM tiering for the application. Default is "off"; omit this parameter entirely to disable automatic tiering.

    DramTierGB

    With automatic DRAM tiering on, this specifies the starting DRAM tier size in GB. If automatic DRAM tiering is off, this value sets the maximum DRAM tier size for the application instance.

    DramTierResizePeriodSecondDramTierResizePeriodMinute

    Memory Machine polls periodically to check if the DRAM tier size needs to be adjusted. Include one of these parameters and set it to the polling interval, in seconds or minutes respectively, for resize checks.

    DramTierResizeThreshold

    This is the difference between the current tier size and the amount of "hot" memory – memory that has been used recently – given as a percentage of the current tier size. When the resize poll shows the amount of hot memory has grown (or shrunk) by this amount, the tier is resized. Formally, the tier is resized when this condition is met:

    | hot size - tier size | / tier size > X%

    where hot size is the current amount of hot memory; tier size is the current DRAM tier size; and X% is the resize threshold expressed as a percentage. The absolute value in the formula indicates that a resize is triggered for both positive and negative size differences. The sign of the difference of course determines whether tier is increased or decreased.

    DramTierResizeStepSizeGB

    This is the amount by which the DRAM tier is increased (or decreased) when the hot size percentage is greater than (or less than) the threshold.

    DramTierResizeUpperLimitGB

    This is the maximum size of the DRAM tier regardless of how much hot memory there is.

    DramTierResizeLowerLimitGB

    This is the minimum size of the DRAM tier regardless of how little hot memory there is.

  4. Save the application configuration file.
  5. Start the application instance. See Running an Application in Memory Machine.