vovfilerd Behavior
- Monitors several metrics on one or more filers, such as the average latency per operation; the main metric used to represent the load on the filer is the "Latency", which is the "average latency per operation" measured in milliseconds;
- Throttles the load on the filer by means of a resource map called "Filer:NAME_OF_FILER"
- Preempt jobs to lower the load if the load on the filer exceeds a threshold.
Both the Latency signal extracted from the filer and the value of the controlling resource computed by vovfilerd are low-pass filtered to smooth out their behavior.
The values of L1, L2, and L3 can be defined by the administrator using the option -limits in AddFiler and can be different for each filer. The limits represent latency values in milliseconds. They have to be at least 1.0 and each has to be larger than the previous.
State of Filer | Condition | Description |
---|---|---|
S1‑OpenLoop | Latency ≤ L1 | The controlling resource is enough to accommodate the demand (running + queued); in this state of low latency, the resource is allowed to grow rapidly |
S2‑Steady | L1 < Latency ≤ L2 | The controlling resource is set to about 2% above the current running count, representing a slow growth of the number of running jobs |
S3‑FeedbackLoop | L2 < Latency ≤ L3 | The controlling resource is decreased based on the distance of latency from (L2+L3)/2. This state tries to maintain the latency in the middle between L2 and L3 |
S4‑Preemption | L3 < Latency | This state is the same as S3-FeebackLoop with the addition of preemption in a pro-active attempt to lower the latency on the driver. At every cycle, up to 5% of jobs impinging on the filer are preempted. This requires preemption to be activated for this filer with the option -preempt 1 in AddFiler |
- Only jobs that declare the resource "Filer:NAME_OF_FILER" are considered
- The age, priority of the job: young jobs are more likely to be preempted, and low priority jobs are also preferred
- The latency experienced by the host on which the job is executing
- The directory in which the job was started, based on the load on the filer by path
All preempted jobs are suspended with SIGSTOP, their licenses are recovered, and then they are restarted when the load on the filer had decreased and the required licenses are again available.
Start vovfilerd
% vovdaemonmgr start vovfilerd
% vovdaemonmgr status vovfilerd
OK
% vovdaemonmgr stop vovfilerd
Usage: vovfilerd - h
vovfilerd: Usage Message
DESCRIPTION:
A daemon to monitor filers and control Filer:XXX resources.
USAGE:
% vovfilerd \[OPTIONS\]
OPTIONS:
-h -- Help usage message.
-v -- Increase verbosity.
EXAMPLES:
% vovfilerd
% vovfilerd -v -v