##// END OF EJS Templates
document TaskScheduler.hwm behavior
MinRK -
Show More
@@ -404,6 +404,31 b' weighted: Weighted Two-Bin Random'
404 Pick two engines at random using the number of outstanding tasks as inverse weights,
404 Pick two engines at random using the number of outstanding tasks as inverse weights,
405 and use the one with the lower load.
405 and use the one with the lower load.
406
406
407 Greedy Assignment
408 -----------------
409
410 Tasks are assigned greedily as they are submitted. If their dependencies are
411 met, they will be assigned to an engine right away, and multiple tasks can be
412 assigned to an engine at a given time. This limit is set with the
413 ``TaskScheduler.hwm`` (high water mark) configurable:
414
415 .. sourcecode:: python
416
417 # the most common choices are:
418 c.TaskSheduler.hwm = 0 # (minimal latency, default)
419 # or
420 c.TaskScheduler.hwm = 1 # (most-informed balancing)
421
422 The default is 0, or no-limit. That is, there is no limit to the number of
423 tasks that can be outstanding on a given engine. This greatly benefits the
424 latency of execution, because network traffic can be hidden behind computation.
425 However, this means that workload is assigned without knowledge of how long
426 each task might take, and can result in poor load-balancing, particularly for
427 submitting a collection of heterogeneous tasks all at once. You can limit this
428 effect by setting hwm to a positive integer, 1 being maximum load-balancing (a
429 task will never be waiting if there is an idle engine), and any larger number
430 being a compromise between load-balance and latency-hiding.
431
407
432
408 Pure ZMQ Scheduler
433 Pure ZMQ Scheduler
409 ------------------
434 ------------------
General Comments 0
You need to be logged in to leave comments. Login now