build(deps-dev): apply updates
[poolifier.git] / src / pools / selection-strategies / README.md
index 7377bc3905bb149c451768106feebe14bef01d72..95eee0079f6bbbb7d4bdb37c7b7cf665c076d1f4 100644 (file)
@@ -1,11 +1,13 @@
 # Worker choice strategies
 
+All duration or timestamp are expressed in milliseconds.
+
 ## Strategies
 
 ### Fair share
 
 Its goal is to distribute the load evenly across all workers. To achieve this, the strategy keeps track of the average task execution time for each worker and assigns the next task to the worker with the lowest task end prediction time: `task_end_prediction = max(current_time, task_end_prediction) + average_task_execution_time`.  
-By default, the strategy uses the average task execution time for each worker but it can be configured to use the task event loop utilization (ELU) active time instead.
+By default, the strategy uses the average task execution time for each worker but it can be configured to use the average task event loop utilization (ELU) active time instead.
 
 ### Weighted round robin
 
@@ -14,7 +16,7 @@ The worker weights are maximum tasks execution time, once the worker has reached
 ### Interleaved weighted round robin
 
 The worker weights are maximum tasks execution time. The rounds are the deduplicated worker weights.  
-During a round, if worker weight is inferior to the current round, the next task is assigned to the next worker. Once the all workers have been assigned a task, the next round starts.  
+During a round, if worker weight is inferior to the current round, the next task is assigned to the next worker. Once all workers have been assigned a task, the next round starts.  
 The worker default weights are the same for all workers and is computed given the CPU cores speed and theirs numbers. So the default rounds consists of a unique worker weight.
 
 ## Statistics
@@ -23,4 +25,4 @@ Worker choice strategies enable only the statistics that are needed to choose th
 
 ### Median
 
-Strategies using the average task execution time for each worker can use the median instead. Median is more robust to outliers and can be used to avoid assigning tasks to workers that are currently overloaded. Median usage introduces a small overhead: measurement history must be kept for each worker and the median must be recomputed each time a new task has finished.
+Strategies using the average task execution time for each worker can use the median instead. Median is more robust to outliers and can be used to avoid assigning tasks to workers that are currently overloaded. Median usage introduces a small overhead: measurement history must be kept for each worker and the median must be recomputed each time a task has finished.