@@ -386,30 +386,31 @@ weighted: Weighted Two-Bin Random
386386Greedy Assignment
387387-----------------
388388
389- Tasks are assigned greedily as they are submitted. If their dependencies are
389+ Tasks can be assigned greedily as they are submitted. If their dependencies are
390390met, they will be assigned to an engine right away, and multiple tasks can be
391391assigned to an engine at a given time. This limit is set with the
392- ``TaskScheduler.hwm`` (high water mark) configurable:
392+ ``TaskScheduler.hwm`` (high water mark) configurable in your
393+ :file:`ipcontroller_config.py` config file, with:
393394
394395.. sourcecode:: python
395396
396397 # the most common choices are:
397- c.TaskSheduler.hwm = 0 # (minimal latency, default in IPython ≤ 0.12 )
398+ c.TaskSheduler.hwm = 0 # (minimal latency, default in IPython < 0.13 )
398399 # or
399- c.TaskScheduler.hwm = 1 # (most-informed balancing, default in > 0.12 )
400+ c.TaskScheduler.hwm = 1 # (most-informed balancing, default in ≥ 0.13 )
400401
401- In IPython ≤ 0.12, the default is 0, or no-limit. That is, there is no limit to the number of
402+ In IPython < 0.13, the default is 0, or no-limit. That is, there is no limit to the number of
402403tasks that can be outstanding on a given engine. This greatly benefits the
403404latency of execution, because network traffic can be hidden behind computation.
404405However, this means that workload is assigned without knowledge of how long
405406each task might take, and can result in poor load-balancing, particularly for
406407submitting a collection of heterogeneous tasks all at once. You can limit this
407408effect by setting hwm to a positive integer, 1 being maximum load-balancing (a
408409task will never be waiting if there is an idle engine), and any larger number
409- being a compromise between load-balance and latency-hiding.
410+ being a compromise between load-balancing and latency-hiding.
410411
411412In practice, some users have been confused by having this optimization on by
412- default, and the default value has been changed to 1. This can be slower,
413+ default, so the default value has been changed to 1 in IPython 0.13 . This can be slower,
413414but has more obvious behavior and won't result in assigning too many tasks to
414415some engines in heterogeneous cases.
415416
0 commit comments