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
- 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.
-
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. -
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.
- Save the application configuration file.
- Start the application instance. See Running an Application in Memory Machine.