Trickle Message
From Unofficial BOINC Wiki
Contents |
[edit] General
Large Work Units obviously take a long time to process into a Result. Those Projects with these long Work Units may want to give you the opportunity to get Credit more frequently. Mostly so you do not have to wait years for the processing to complete, like with the more common Work Unit that only takes hours to process. Therefore Projects can build their Science Applications so that these Work Units can report how much processing the Participant has gotten done. These intermediate reports are called Trickle Messages.
[edit] Expanded Explanation
Trickle Messages let Science Applications communicate with the Scheduling Server during the execution of a Work Unit. They are intended for Science Applications that have long Work Units (multiple days). Trickle Messages may go in either direction: 'trickle up' messages go from Science Application to the Scheduling Server, 'trickle down' messages go from the Scheduling Server to the Science Application. Typical uses of this mechanism:
- The Science Application sends a trickle-up message containing its current CPU usage, so that users can be granted incremental credit (rather than waiting until the end of the Work Unit).
- The Science Application sends a trickle-up message containing a summary of the computational state, so that Scheduling Server logic can decide if the computation should be aborted.
- The Scheduling Server sends a trickle-down message telling the application to abort.
- The Scheduling Server sends a trickle-down message containing the user's current Total Credit.
Trickle Messages are asynchronous and reliable. Trickle Messages are conveyed in Scheduler Request Messages, so they may not be delivered immediately after being generated.
To handle trickle-down messages, a project must include a line, in the configuration (config.xml) file:
<msg_to_host/>
In the BOINC Client Software, the function boinc_send_trickle_up() creates a file 'trickle_up' in the slot directory and signals the BOINC Daemon via shared memory. When the BOINC Daemon gets this signal, or when the Science Application exits, it moves the file from 'slot/trickle' to 'project/trickle_up_resultid_time'.
When the BOINC Daemon sends a RPC to a server, it scans the project directory for these trickle-up files includes them in the request, and appends '.sent' to their filenames. On successful RPC completion it deletes trickle-up files that were sent earlier.
On the server, messages are stored in database tables 'trickle_up' and 'trickle_down'. The Scheduling Server extracts trickle messages from the request message and inserts them in the trickle_up table. If the 'trickle_down' flag in the configuration is set, it scans the database for trickle-down messages for this host and includes them in the reply message, setting the 'handled' flag in the DB record.
The BOINC Daemon parses trickle-down messages in the Scheduler Reply Message, creates files of the form trickle_down_createtime_id in the slot directory, and signals the Science Application via shared memory that a message is available.
[edit] Synonyms
- Trickle
[edit] Climateprediction.net Trickles vs. Percent Complete
| % Complete Slab Model | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Trickle Number | _0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 |
| 0_ | ----- | 01.41 | 02.82 | 04.23 | 05.63 | 07.04 | 08.45 | 09.86 | 11.27 | 12.68 |
| 1_ | 14.08 | 15.49 | 16.90 | 18.31 | 19.72 | 21.13 | 22.54 | 23.94 | 25.35 | 26.76 |
| 2_ | 26.76 | 28.17 | 29.58 | 30.99 | 32.39 | 33.8 | 35.21 | 36.62 | 38.03 | 39.44 |
| 3_ | 40.85 | 42.25 | 43.66 | 45.07 | 46.48 | 47.89 | 49.30 | 50.70 | 52.11 | 53.52 |
| 4_ | 54.93 | 56.34 | 57.75 | 59.15 | 60.56 | 61.97 | 63.38 | 64.79 | 66.20 | 67.61 |
| 5_ | 69.01 | 70.42 | 71.83 | 73.24 | 74.65 | 76.06 | 77.46 | 78.87 | 80.28 | 81.69 |
| 6_ | 83.10 | 84.51 | 85.92 | 87.32 | 88.73 | 90.14 | 91.55 | 92.96 | 94.37 | 95.77 |
| 7_ | 97.18 | 98.59 | 100.00 | |||||||
| % Complete Sulfur Model | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Trickle Number | _0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 |
| 00_ | ----- | 00.83 | 01.67 | 02.50 | 03.33 | 04.17 | 05.00 | 05.83 | 06.67 | 07.50 |
| 01_ | 08.33 | 09.17 | 10.00 | 10.83 | 11.67 | 12.50 | 13.33 | 14.17 | 15.00 | 15.83 |
| 02_ | 16.67 | 17.50 | 18.33 | 19.17 | 20.00 | 20.83 | 21.67 | 22.50 | 23.33 | 24.17 |
| 03_ | 25.00 | 25.83 | 26.67 | 27.50 | 28.33 | 29.17 | 30.00 | 30.83 | 31.67 | 32.50 |
| 04_ | 33.33 | 34.17 | 35.00 | 35.83 | 36.67 | 37.50 | 38.33 | 39.17 | 40.00 | 40.83 |
| 05_ | 41.67 | 42.50 | 43.33 | 44.17 | 45.00 | 45.83 | 46.67 | 47.50 | 48.33 | 49.17 |
| 06_ | 50.00 | 50.83 | 51.67 | 52.50 | 53.33 | 54.17 | 55.00 | 55.83 | 56.67 | 57.50 |
| 07_ | 58.33 | 59.17 | 60.00 | 60.83 | 61.67 | 62.50 | 63.33 | 64.17 | 65.00 | 65.83 |
| 08_ | 66.67 | 67.50 | 68.33 | 69.17 | 70.00 | 70.83 | 71.67 | 72.50 | 73.33 | 74.17 |
| 09_ | 75.00 | 75.83 | 76.67 | 77.50 | 78.33 | 79.17 | 80.00 | 80.83 | 81.67 | 82.50 |
| 10_ | 83.33 | 84.17 | 85.00 | 85.83 | 86.67 | 87.50 | 88.33 | 89.17 | 90.00 | 90.83 |
| 11_ | 91.67 | 92.50 | 93.33 | 94.17 | 95.00 | 95.83 | 96.67 | 97.50 | 98.33 | 99.17 |
| 12_ | 100.00 | |||||||||
[edit] Also See
- Trickle Message
- Trickle Message API
- Using the BOINC Trickle Message API
- Climateprediction.net Project Index
- Climateprediction.net Science Index
- Climateprediction.net Model Parts
- Climateprediction Size Table
[edit] UCB Source
[edit] Copyright ©
- 2005 University of California
- 2005 Paul D. Buck
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
RSS Feeds

