Skip to content

Commit c9567d9

Browse files
committed
improving documentation
1 parent 346716c commit c9567d9

2 files changed

Lines changed: 26 additions & 2 deletions

File tree

docs/source/generating_workflow_benchmarks.rst

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Generating Workflow Benchmark Specifications
1919

2020
The :class:`~wfcommons.wfbench.bench.WorkflowBenchmark` class uses recipes
2121
of workflows (as described in :ref:`workflow-recipe-generator-label`) for
22-
generating workflow benchmarks.::
22+
generating workflow benchmarks with an arbitrary number of tasks::
2323

2424
import pathlib
2525

@@ -31,6 +31,24 @@ generating workflow benchmarks.::
3131
# generate a specification based on performance characteristics
3232
path = benchmark.create_benchmark(pathlib.Path("/tmp/"), cpu_work=100, data=10, percent_cpu=0.6)
3333

34+
In the example above, the workflow benchmark generator first invokes the WfChef
35+
recipe to generate a task graph. Once the task graph has been generated, each task
36+
is set to be an instance of the workflow task benchmark. For each task, the following
37+
values for the parameters of the workflow task benchmark can be specified:
38+
39+
- :code:`cpu_work`: CPU work per workflow task. The :code:`cpu-benchmark` executable
40+
(compiled C++) calculates an increasingly precise value of π up until the specified
41+
total amount of computation (cpu_work) has been performed.
42+
- :code:`data`: Individual data volumes for each task in a way that is coherent
43+
with respect to task data dependencies (in the form of a dictionary of input
44+
size files per workflow task type). Alternatively, a total data footprint (in MB)
45+
can be defined, i.e., the sum of the sizes of all data files read/written by
46+
workflow tasks, in which case uniform I/O volumes are computed for each workflow
47+
task benchmark.
48+
- :code:`percent_cpu`: The fraction of the computation's instructions that
49+
correspond to non-memory operations.
50+
51+
3452
Translating Specifications into Benchmark Codes
3553
-----------------------------------------------
3654

@@ -43,6 +61,12 @@ the foundation for each translator class. This class takes as input either a
4361
:class:`~wfcommons.common.workflow.Workflow` object or a path to a workflow benchmark
4462
description in :ref:`json-format-label`.
4563

64+
.. warning::
65+
66+
WfBench leverages :code:`stress-ng` (https://github.com/ColinIanKing/stress-ng)
67+
to execute memory-intensive threads. Therefore, it is crucial to ensure that
68+
:code:`stress-ng` is installed on all worker nodes.
69+
4670
Pegasus
4771
+++++++
4872

docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ representative synthetic workflow instances, and generating realistic
1010
workflow benchmark specifications.
1111

1212
.. figure:: images/wfcommons.png
13-
:scale: 100 %
13+
:scale: 80 %
1414
:align: center
1515

1616
The WfCommons conceptual architecture.

0 commit comments

Comments
 (0)