dual approximation, heteroprio-based greedy algorithm. Inspired from [Scheduling Data Flow Program in XKaapi: A
dual approximation, heteroprio-based greedy algorithm. Inspired from [Scheduling Data Flow Program in XKaapi: A
New Affinity Based Algorithm for Heterogeneous Architectures](https://hal.inria.fr/hal-01081629v1), with only the
New Affinity Based Algorithm for Heterogeneous Architectures](https://hal.inria.fr/hal-01081629v1), with only the
second part of the schedule.
second part of the schedule.
+ `dp3demi`
dual approximation, dynamic programming based algorithm. Based
on APPROX-3/2 from
[Scheduling Independent Moldable Tasks on Multi-Cores with GPUs](https://hal.inria.fr/hal-01516752),
but restricted to the non moldable case. Should also appear as a
more generic (2q+1)/(2q) approximation in IJFCS.
+ `accel`
+ `accel`
Accel algorithm from [Scheduling Independent Tasks on Multi-cores with GPU Accelerators](https://hal.inria.fr/hal-01081625),
Accel algorithm from [Scheduling Independent Tasks on Multi-cores with GPU Accelerators](https://hal.inria.fr/hal-01081625),
Section 4.
Section 4.
...
@@ -324,6 +330,9 @@ resources. All of these only work with two types of resources.
...
@@ -324,6 +330,9 @@ resources. All of these only work with two types of resources.
Implements the CLB2C strategy (see [Considerations on distributed load balancing for fully heterogeneous machines: Two particular cases.](https://doi.org/10.1109/IPDPSW.2015.36)).
Implements the CLB2C strategy (see [Considerations on distributed load balancing for fully heterogeneous machines: Two particular cases.](https://doi.org/10.1109/IPDPSW.2015.36)).
Not exactly equivalent to this strategy, since `indep` performs list scheduling based only on the
Not exactly equivalent to this strategy, since `indep` performs list scheduling based only on the
assignment to different types of resources.
assignment to different types of resources.
+ `minmin`
Implements the MinMin strategy (see [A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems](https://doi.org/10.1006/jpdc.2000.1714).)
+ `rank` (except for style `strict`)
+ `rank` (except for style `strict`)
as for the previous algorithms
as for the previous algorithms
+ `dosort` (except for `strict`, default `yes`)
+ `dosort` (except for `strict`, default `yes`)
...
@@ -437,7 +446,10 @@ Reminder: all bounds require to compile with CPLEX.
...
@@ -437,7 +446,10 @@ Reminder: all bounds require to compile with CPLEX.
Simple area bound, with one variable per type of tasks and type of
Simple area bound, with one variable per type of tasks and type of
resource. Very quick.
resource. Very quick.
* `dep`: mixed area-dependency bound
* `cp`
Simple critical path bound. Very quick.
* `dep`: mixed area-dependency bound. Always better than `max(area, cp)`, but slower
Options:
Options:
+ `mode`: `normal` (default) or `concurrent`
+ `mode`: `normal` (default) or `concurrent`
if concurrent, uses Cplex's concurrent solving mode
if concurrent, uses Cplex's concurrent solving mode
...
@@ -512,6 +524,10 @@ often:
...
@@ -512,6 +524,10 @@ often:
* `submit-order`
* `submit-order`
Use the `SubmitOrder` field in `instance.rec` input files instead of `JobId`.
Use the `SubmitOrder` field in `instance.rec` input files instead of `JobId`.
* `export-type`
When exporting in `.rec` format with the `export=` option of algorithms, specify
all workers of this type instead of the particular worker.
* `--bw <BW>`
* `--bw <BW>`
Specify the bandwidth used for communications. Unit is not
Specify the bandwidth used for communications. Unit is not
specified, since it depends on the unit used to specify data sizes
specified, since it depends on the unit used to specify data sizes