wavefront_master(1)
π wavefront_master(1) π
okay bestie, welcome to the wavefront_master page from the Cooperative Computing Tools manual β this is the one that runs Wavefront workflows in parallel across distributed systems, and yes she is iconic for it β¨
πΈ NAME πΈ
wavefront_master β executes Wavefront workflow in parallel on distributed systems π
β¨ SYNOPSIS β¨
wavefront [options] <command> <xsize> <ysize> <inputdata> <outputdata>
π¦ DESCRIPTION π¦
so, wavefront_master computes a two dimensional recurrence relation. no cap, that's literally the whole vibe π«Ά
you hand it a function F (that's your <command>) that accepts the left (x), right (y), and diagonal (d) values, plus the initial values (<inputdata>) for the edges of the matrix. the output matrix β whose size is decided by <xsize> and <ysize> β gets stored in a file you specify with <outputdata>. periodt π
wavefront_master uses the Work Queue system to distribute tasks among processors. and listen β after you start wavefront_master, you must start a bunch of work_queue_worker(1) processes on remote machines. those workers will then connect back to the master process and start executing tasks. it's giving main character energy, but she needs her crew π
π OPTIONS π
-h,--helpβ show this help screen π-v,--versionβ show version string β-d,--debug=<subsystem>β enable debugging for this subsystem. (try-d allto start.) π₯-N,--project-name=<project>β set the project name to<project>π-o,--debug-file=<file>β write debugging output to this file. by default, debugging is sent to stderr (":stderr"). you may specify logs to be sent to stdout (":stdout") instead. π¦-p,--port=<port>β port number for queue master to listen on. πΈ-P,--priority=<num>β priority. higher the value, higher the priority. π-Z,--port-file=<file>β select port at random and write it to this file. (default is disabled) π--work-queue-preferred-connection <connection>β indicate preferred connection. chose one ofby_iporby_hostname. (default isby_ip) π
π EXIT STATUS π
on success, returns zero. on failure, returns non-zero. that's it, that's the rule π
π EXAMPLES π
suppose you have a program named function that you want to use in the Wavefont workflow computation. the program function, when invoked as function a b c, should do some computations on files a, b and c and produce some output on the standard output. π§
before running wavefront_master, you need to create a file, say input.data, that lists initial values of the matrix (values on the left and bottom edges), one per line:
0 0 value.0.0
0 1 value.0.1
...
0 n value.0.n
1 0 value.1.0
2 0 value.2.0
...
n 0 value.n.0
to run a Wavefront workflow sequentially, start a single work_queue_worker(1) process in the background. then, invoke wavefront_master. the following example computes a 10 by 10 Wavefront matrix:
% work_queue_worker localhost 9123 &
% wavefront_master function 10 10 input.data output.data
the framework will carry out the computations in the order of dependencies, and print the results one by one (note that the first two columns are X and Y indices in the resulting matrix) in the specified output file. below is an example of what the output file β output.data β would look like:
1 1 value.1.1
1 2 value.1.2
1 3 value.1.3
...
to speed up the process, run more work_queue_worker(1) processes on other machines, or use condor_submit_workers(1) or sge_submit_workers(1) to start hundreds of workers in your local batch system. π₯
the following is an example of adding more workers to execute a Wavefront workflow. suppose your wavefront_master is running on a machine named barney.nd.edu. if you have access to login to other machines, you could simply start worker processes on each one, like this:
% work_queue_worker barney.nd.edu 9123
if you have access to a batch system like Condor, you can submit multiple workers at once:
% condor_submit_workers barney.nd.edu 9123 10
Submitting job(s)..........
Logging submit event(s)..........
10 job(s) submitted to cluster 298.
π COPYRIGHT π
The Cooperative Computing Tools are Copyright (C) 2005-2019 The University of Notre Dame. This software is distributed under the GNU General Public License. See the file COPYING for details. π
π SEE ALSO π
- The Cooperative Computing Tools (
http://ccl.cse.nd.edu/software/manuals) - Wavefront User Manual (
http://ccl.cse.nd.edu/software/manuals/wavefront.html) - Work Queue User Manual (
http://ccl.cse.nd.edu/software/manuals/workqueue.html) work_queue_worker(1)condor_submit_workers(1)sge_submit_workers(1)
and that's the whole page bestie!! π this one ships with CCTools 8.0.0 DEVELOPMENT, and it's the wavefront_master(1) manual β so go forth, spin up those workers, and let the wavefront do her thing. slay. πβ¨π¦
π¦ where this page comes from
- debian bookworm: coop-computing-tools 9.9-2+b4 Β· GPL-2.0-only
- ubuntu jammy: coop-computing-tools 9.9-2ubuntu3 Β· GPL-2.0-only
- ubuntu noble: coop-computing-tools 9.9-4ubuntu4 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms