mirror of https://github.com/BOINC/boinc.git
42 lines
1.5 KiB
HTML
42 lines
1.5 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
|
<html lang="en">
|
|
<head>
|
|
<title>Compute Model: Work Distribution</title>
|
|
<meta name="generator" content="BBEdit 6.1.2">
|
|
</head>
|
|
<body>
|
|
<h2>Compute Model: Work Distribution</h2>
|
|
<p>
|
|
Results are not necessarily dispatched one at a time. Instead, each
|
|
participant host maintains an estimate of the amount of work remaining
|
|
(i.e. the time until one of its processors will be idle). Each host also
|
|
has two scheduling parameters, the <b>high-water mark</b> and the
|
|
<b>low-water mark</b> (these are part of the host's "preferences",
|
|
discussed later).
|
|
</p>
|
|
<p>
|
|
Normally the work remaining is between the high- and low-water
|
|
marks. When the work remaining reaches the low-water mark, the core
|
|
client contacts one or more scheduling servers, and attempts to get
|
|
enough work to exceed the high-water mark. The scheduling server sends a
|
|
maximum of four weeks of work. If a work unit is not feasible for a host
|
|
because it consumes too many system resources, the scheduling server
|
|
will not send that work unit.
|
|
</p>
|
|
<p>
|
|
The amount of work (measured in FP/int ops) sent in a single
|
|
scheduling RPC can be limited by the project, on a per-application
|
|
basis.
|
|
</p>
|
|
<p>
|
|
This scheme allows hosts that are sporadically connected (because
|
|
they're portable or have modem-based connections) to avoid becoming idle
|
|
due to lack of work.
|
|
</p>
|
|
<p>
|
|
<b>To do</b>: per-workunit flag saying to return the result ASAP?
|
|
</p>
|
|
</body>
|
|
</html>
|