Some of what happens in the background.


log in

Advanced search

Message boards : Number crunching : Some of what happens in the background.

Author Message
Profile Pappa
Volunteer tester
Avatar
Send message
Joined: 9 Jan 00
Posts: 2562
Credit: 12,301,681
RAC: 0
United States
Message 919976 - Posted: 21 Jul 2009, 2:58:15 UTC
Last modified: 21 Jul 2009, 2:59:55 UTC

Okay this is incomplete and needs corrections. There is more that that has spreadsheet items and models. The Server Status Page describes some things but there are no real details.

I am working around things to write and fully resarch the process... When that is complete it will be updated in the FAQ Thread. Here is a sniff of hours of work. it is intended taht some corrections can be made before it moved to the FAQ thread.

Regards

Read on... Comments are Welcome
____________
Please consider a Donation to the Seti Project.

Profile Pappa
Volunteer tester
Avatar
Send message
Joined: 9 Jan 00
Posts: 2562
Credit: 12,301,681
RAC: 0
United States
Message 919977 - Posted: 21 Jul 2009, 2:58:30 UTC


Okay I know a lot of about is happening or supposed to be happening between Seti and Boinc. Things change that sometimes catch myself or others off guard.

I have been typing checking, waiting, rechecking and researching. At this point I am about ready to release a "general" description of how things work together.
This will give a bit of an idea of how some things interact and why some things happen. The goal after a bit will be to place it in the FAQ. Yes I am trying to keep is simple.

As I post the whole thing (yes it long as it has examples of various file contents), if you have a comment about a section please isolate it to that section. This is single attempt to explain everything which covers several servers and other processes that are not fully identified... Because of the interactions it is very tough to isolate just one thing.

Yes, currently I can edit corrections into the basic "premise" which I intend to do as corrections are identified.

While I am aware of some things happening in the background that may affect (change to) some of what you re about see, I am having a tough time getting Eric on the phone to confirm a few items.

Final Note: There may be times in order to keep things viewable, that I may hide some of the posts. This does not mean that what you posted was no good or not relevant. It will "be to keep the basic information being discussed Visible." After 75 posts things are automatically pushed into the background and Not Visible.

In doing this it a lot of what I thought I knew and now am finding out even more. Boinc and Seti are an evolving thing. The Seti Staff does not have time to write this...

Thank You

Regards

Pappa

- - - - - - - - - - - - - - - - -

There are a couple of elements here, first there are three Servers that handle Data In and Out
Setiboinc.ssl.berkeley.edu The Scheduler
Setiboincdata.ssl.berkeley.edu The Upload Server
Boinc2.ssl.berkeley.edu The Download Servers

Anytime a computer needs to talk to Seti it is going to send a Connection Request (overhead). Pick the Server. The connection network traffic is normally small, but there is a "lot" of it. In our case Matt has tuned Servers to handle as much as they can and that is not easy.

Generally
* We can say that the Upload Server running at Full Tilt will not overpower the 100Megabit link.
* The Scheduler will not overpower the 100Megabit link (uploads).
* Both Download Servers can overpower the 100Megabit link.


Setiboinc.ssl.berkeley.edu - The Scheduler
Determines what work is going to be sent to/received from requesting clients. Clients go to the scheduler first to request work, and the scheduler tells the client what to get and where to get it. If this is off, you cannot get any new work. After a client sends a result back, it then contacts the scheduler which then marks it as received in the Database.

After connection, Boinc sends a file called "sched_request_setiathome.berkeley.edu.xml" to the server. When you first attached to a project not as much information is sent.

That file contains several things and varies in size from machine to machine as a result of the amount of work it has to report. The largest one that I have heard mentioned was a machine doing Cuda and CPU that was 40Megabytes.

It contains
<authenticator>9aB787certed071a5506fe0ac6e730f5</authenticator>
<hostid>1234567</hostid>
<rpc_seqno>1226</rpc_seqno>
<core_client_major_version>6</core_client_major_version>
<core_client_minor_version>6</core_client_minor_version>
<core_client_release>36</core_client_release>
<resource_share_fraction>0.200000</resource_share_fraction>
<rrs_fraction>1.000000</rrs_fraction>
<prrs_fraction>1.000000</prrs_fraction>
<duration_correction_factor>0.441029</duration_correction_factor>
<sandbox>0</sandbox>
<work_req_seconds>0.000000</work_req_seconds>
<cpu_req_secs>0.000000</cpu_req_secs>
<cpu_req_instances>0</cpu_req_instances>
~~ Snip

The first part tells Who you an and which computer the results are supposed to go to. the Boinc Version your Resource share the current DCF How many seconds of work that is being requested and a percentage of what Boinc consider the machine active.

~~ Next on Project Initialization or after a Project Reset this section is empty and will be populated with the correct files from the "sched_reply_setiathome.berkeley.edu.xml" at the end of the first complete cycle.

<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>603</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<flops>2887089861.627093</flops>
</app_version>

~~ or what applications you have installed that are available for Workunits.

<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
</app_version>
</app_versions>

If you have a Cuda Device installed and how many it recognizes.

<code_sign_key>
1024
eb363c5c50af51976b50edeaf169274329a2c15721585e20694abd7d1eda7e22
6c0d0b39836ffe044743efe4abdae0176f7433e308aea9f686338f944eef2d2a
f9ad8e452579e9a641f0cf6fe4d636489c64c1a47dba985175cbfbda9ad459f8
e1553cdb9096b0b057088db58799ed90b91fc0fe9925ab288236f995a781ec05
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010001
.
</code_sign_key>

~~ For anything that needs validated signing the Public Signing Key.

~~ Followed by

<global_preferences>
<source_project>http://setiweb.ssl.berkeley.edu/beta/</source_project>
<mod_time>1241616988.000000</mod_time>
<run_on_batteries>0</run_on_batteries>
<run_if_user_active>1</run_if_user_active>
<run_gpu_if_user_active>1</run_gpu_if_user_active>
<suspend_if_no_recent_input>0.000000</suspend_if_no_recent_input>
<start_hour>0.000000</start_hour>
<end_hour>0.000000</end_hour>
<net_start_hour>0.000000</net_start_hour>
<net_end_hour>0.000000</net_end_hour>
<leave_apps_in_memory>1</leave_apps_in_memory>

~~ Snip

<global_preferences>
<source_project>http://setiweb.ssl.berkeley.edu/beta/</source_project>
<source_scheduler>http://setiboinc.ssl.berkeley.edu/beta_cgi/cgi</source_scheduler>
<mod_time>1241616988</mod_time>
<run_on_batteries>1</run_on_batteries>
<run_if_user_active>1</run_if_user_active>
<run_gpu_if_user_active>1</run_gpu_if_user_active>
<idle_time_to_run>1</idle_time_to_run>
<suspend_if_no_recent_input>0</suspend_if_no_recent_input>

~~ Snip then in the "Venue" information you have configured.

<venue name="home">
<run_on_batteries>1</run_on_batteries>
<run_if_user_active>0</run_if_user_active>
<run_gpu_if_user_active>0</run_gpu_if_user_active>
<idle_time_to_run>1</idle_time_to_run>
<suspend_if_no_recent_input></suspend_if_no_recent_input>
<leave_apps_in_memory/>
<cpu_scheduling_period_minutes>60</cpu_scheduling_period_minutes>
<hangup_if_dialed>0</hangup_if_dialed>
<work_buf_min_days>0.5</work_buf_min_days>
<work_buf_additional_days></work_buf_additional_days>
<max_cpus>4</max_cpus>
~`snip etc

~~ Until to a bit more complete detail about the machine

<time_stats>
<on_frac>0.975552</on_frac>
<connected_frac>0.979946</connected_frac>
<active_frac>0.922641</active_frac>
</time_stats>

~~ this part will tell the Scheduler if you turn your machine off when you go to bed of an evening.

<net_stats>
<bwup>66010.051282</bwup>
<avg_up>1145183.668854</avg_up>
<avg_time_up>1247426784.687500</avg_time_up>
<bwdown>533689.344019</bwdown>
<avg_down>18392776.024233</avg_down>
<avg_time_down>1247422210.937500</avg_time_down>
</net_stats>

~~ What kind of Network Connection and How Effective it is.

<host_info>
<timezone>-25200</timezone>
<domain_name>aries</domain_name>
<ip_addr>192.168.0.5</ip_addr>
<host_cpid>d5d72823c258e58224d10972c2a9fbcf</host_cpid>
<p_ncpus>2</p_ncpus>
<p_vendor>AuthenticAMD</p_vendor>
<p_model>AMD Athlon(tm) 64 X2 Dual Core Processor 6000+ [x86 Family 15 Model 67 Stepping 3]</p_model>
<p_features>fpu tsc pae nx sse sse2 3dnow mmx</p_features>
<p_fpops>2676713799.892608</p_fpops>
<p_iops>4704049887.406895</p_iops>
<p_membw>500000000.000000</p_membw>
<p_calculated>1247279217.515625</p_calculated>
<m_nbytes>2146938880.000000</m_nbytes>
<m_cache>500000.000000</m_cache>
<m_swap>5205434368.000000</m_swap>
<d_total>250056015872.000000</d_total>
<d_free>146340315136.000000</d_free>
<os_name>Microsoft Windows XP</os_name>
<os_version>Professional x86 Edition, Service Pack 3, (05.01.2600.00)</os_version>
</host_info>
<disk_usage>
<d_boinc_used_total>303028114.000000</d_boinc_used_total>
<d_boinc_used_project>31219425.000000</d_boinc_used_project>
</disk_usage>
<coprocs>
<coproc_cuda>
<count>1</count>
<name>GeForce 9800 GT</name>
<req_secs>0.000000</req_secs>
<req_instances>0</req_instances>
<estimated_delay>0.000000</estimated_delay>
<drvVersion>18585</drvVersion>
<totalGlobalMem>536543232</totalGlobalMem>
~~snip

~~ Last but not least or where the meat is.. IN this Case the is a Result what its status is and what was in the "stderr.txt"

<result>
<name>01dc08ad.2840.13160.6.8.78_0</name>
<final_cpu_time>1895.318000</final_cpu_time>
<final_elapsed_time>1946.110308</final_elapsed_time>
<exit_status>0</exit_status>
<state>5</state>
<platform>windows_x86_64</platform>
<version_num>603</version_num>
<fpops_cumulative>14877850000000.000000</fpops_cumulative>
<app_version_num>603</app_version_num>
<stderr_out>
<core_client_version>6.6.20</core_client_version>
<![CDATA[
<stderr_txt>
Windows optimized S@H Enhanced application by Alex Kan
Version info: SSE3x (AMD/Intel, Core 2-optimized v8-nographics) V5.13 by Alex Kan
SSE3x Win32 Build 76 , Ported by : Jason G, Raistmer, JDWhale

CPUID: AMD Athlon(tm) 64 X2 Dual Core Processor 6000+
Speed: 1 x 3006 MHz
Cache: L1=64K L2=1024K
Features: MMX SSE SSE2 SSE3

Work Unit Info:
...............
Credit multiplier is : 2.85
WU true angle range is : 2.713207
Restarted at 62.20 percent.

Flopcounter: 5215314642919.445300

Spike count: 0
Pulse count: 0
Triplet count: 1
Gaussian count: 0
called boinc_finish

</stderr_txt>
]]>
</stderr_out>
<file_info>
<name>01dc08ad.2840.13160.6.8.78_0_0</name>
<nbytes>24108.000000</nbytes>
<max_nbytes>65536.000000</max_nbytes>
<md5_cksum>af6f1aebddf8f4075c9ba6bbd245fdb8</md5_cksum>
<url>http://setiboincdata.ssl.berkeley.edu/sah_cgi/file_upload_handler</url>
</file_info>
</result>
<other_results>
<other_result>
<name>04dc08af.31773.7434.12.8.131_1</name>
</other_result>
<other_result>
<name>05dc08ad.20915.21340.11.8.23_1</name>
</other_result>
<other_result>
<name>28au08ag.14992.7434.16.8.14_0</name>
</other_result>
<other_result>
<name>06mr09ac.2819.13978.3.8.166_2</name>
</other_result>
</other_results>
<in_progress_results>
<ip_result>
<name>13_Fe30_map_1116_109_1</name>
<report_deadline>1248228324.000000</report_deadline>
<cpu_time_remaining>2259.121623</cpu_time_remaining>
</ip_result>
<ip_result>
<name>13_Fe30_map_1116_92_1</name>
<report_deadline>1248228324.000000</report_deadline>
<cpu_time_remaining>2259.121623</cpu_time_remaining>
</ip_result>
<ip_result>
<name>13_Fe30_map_1143_298_1</name>
<report_deadline>1248285169.000000</report_deadline>
<cpu_time_remaining>2259.121623</cpu_time_remaining>
</ip_result>
<ip_result>
<name>13_Fe30_map_1143_316_0</name>
<report_deadline>1248285169.000000</report_deadline>
<cpu_time_remaining>2259.121623</cpu_time_remaining>
</ip_result>
</in_progress_results>
</scheduler_request>

You will notice that as the machine is doing more than one Project. It provides information about how much work is on the machine is also displayed. AS I said the file varies in size, the big thing would be the larger the size of your Cache the MORE Information it will contain. So when the Scheduler receives this file it sorts through to decide how much work to send.

The Scheduler, then asks the Feeder How much work is Available... If there is work available it assigns xxx.xxx seconds of work and writes the information into the "sched_reply_setiathome.berkeley.edu.xml"

<scheduler_reply>
<scheduler_version>607</scheduler_version>
<master_url>http://setiathome.berkeley.edu/</master_url>
<request_delay>11.000000</request_delay>
<project_name>SETI@home</project_name>
<user_name>Pappa</user_name>
<user_total_credit>4225823.265159</user_total_credit>
<user_expavg_credit>3451.951358</user_expavg_credit>
<user_create_time>947382825</user_create_time>
<email_hash>3da874dc4e6a71f88875bb4264111446</email_hash>
<cross_project_id>72bfb0ef0cc023be98f1c1ddcd4355a6</cross_project_id>
<project_preferences>
<resource_share>100</resource_share>
<project_specific>
<format_preset>SETI@home classic</format_preset>
<text_style>Pillars</text_style>
<graph_style>Rectangles</graph_style>
<max_cpu>50</max_cpu>
<grow_time>10</grow_time>
<hold_time>5</hold_time>
<graph_alpha>0.7</graph_alpha>
<roll_period>10</roll_period>
<roll_range>20</roll_range>
<pitch_period>30</pitch_period>
<pitch_range>30</pitch_range>
<starfield_size>2000</starfield_size>
<starfield_speed>40</starfield_speed>
<color_preset>Rainbow</color_preset>
<start_hue>0</start_hue>
<hue_change>1</hue_change>
<app_id>2</app_id>
<app_id>4</app_id>
<allow_non_preferred_apps>1</allow_non_preferred_apps>
</project_specific>
<venue name="home">
<resource_share>100</resource_share>
<project_specific>
<format_preset>SETI@home classic</format_preset>
<text_style>Pillars</text_style>
<graph_style>Rectangles</graph_style>
<max_cpu>50</max_cpu>

~~ snip after the end of the venues or what you preferences are or when you update preferences.

<host_total_credit>41640.862990</host_total_credit>
<host_expavg_credit>0.062719</host_expavg_credit>
<host_venue>work</host_venue>
<host_create_time>1191444433</host_create_time>
<team_name>HT</team_name>

~~ Your total Credit and Host average Credit and how long the machine have been around.

<host_total_credit>41640.862990</host_total_credit>
<host_expavg_credit>0.062719</host_expavg_credit>
<host_venue>work</host_venue>
<host_create_time>1191444433</host_create_time>
<team_name>HT</team_name>

~~ Followed by the meat of the Seti Application. IN this case it Identifies Cuda and where to find it should there be a need to replace it. Because the files are Signed by Seti the Key file for comparing to insure it is the "real application" and big the file is supposed to be. For not critical files it may only include the <md5_cksum> this insures that the file is complete.

<file_info>
<name>setiathome_6.08_windows_intelx86__cuda.exe</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/setiathome_6.08_windows_intelx86__cuda.exe</url>
<executable/>
<file_signature>
4b3c91b294244232288baf79d8572bb0f4312dd571d024009e866440252345af
eea3de73c4d00e824509e300accaa2965e4684b669f487fd91038c735d5108a3
52bf4fd6504de62f50620631656f82af0274acfd218d9410959a884dde0fc3a5
613f54ce6d766131bf529056f4c7dcefb9608edc24495445e5f57458596cf30a
.
</file_signature>
<nbytes>1445888.000000</nbytes>
</file_info>
<file_info>
<name>cudart.dll</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/cudart.dll</url>
<file_signature>
4a29751f72b2e3f94bba6635802411b906bd43ea64136727ec574e84f2514cdc
46d5f544c79f9db28423f39b9e535b6496ce93f576dbeec9051f3caa9df68269
86c7464c018513633f9774630f7d1887a6a8873a7c629af9cdfad8f3e881913e
6b8a8dd1a9a8e6d51ca67b57d562c60f0f6e28ce9489347346f4e3ee53bc6308
.
</file_signature>
<nbytes>192512.000000</nbytes>
</file_info>
<file_info>
<name>cufft.dll</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/cufft.dll</url>
<file_signature>
2d027296bdbe70edcadb145c65f6e842a2ae82f01bab9b92448769cc91c953ec
05c5ec4744206b9c8928f6af55ff79af6737cf6d697543aca480173b57a3757b
b3209ab2f5c6f79b8073eb8a05fb1cedbf887acf4c58f339fd0765e696fae646
a57d4dc9d07577e70e608c73b760fd7efee6de4da96b4cbf0f714043c58df15b
.
</file_signature>
<nbytes>389120.000000</nbytes>
</file_info>
<file_info>
<name>libfftw3f-3-1-1a_upx.dll</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/libfftw3f-3-1-1a_upx.dll</url>
<file_signature>
ddbea4d39c60f4b415ead83ac24f787f471663f9fe67c38c25a68ebc8ce8b83e
74206552ae2a9e2fef3d74a7035da998a5f66cc2dc8807ec08bafdbe6b06cd86
14f3a4a7303827fbf230ef40fde046f31c1471da138b2f883d7767f219d75977
e62bebff8f548c0168f943aed3b8331554ec5543d22fd1e76af51ed5a5ad9de6
.
</file_signature>
<nbytes>448600.000000</nbytes>
</file_info>
<file_info>
<name>setiathome-6.08_cuda_AUTHORS</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/setiathome-6.08_cuda_AUTHORS</url>
<file_signature>
4d777d4ffb9c867041b720e3db2dff052a4a00e1902dce36c5aaad0eba998d01
d5731fbb2dcafae9dfc79f0101f2504f8b0e9bb0ce8a97a2cd73c15028f578d9
0206115489d51b825a6213b24656a2e0f5a5a593d5da37800a4c1726c7df3e7b
81a7f4ed6cce606044cc107125a7a9ca0699e79ce5d62dff45656440193db2ca
.
</file_signature>
<nbytes>846.000000</nbytes>
</file_info>
<file_info>
<name>setiathome-6.08_cuda_COPYING</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/setiathome-6.08_cuda_COPYING</url>
<file_signature>
c0774560fd2b589aafeaaa360bc3f0eb0e9c1fad15bccd04c7a9158f96552bad
1b36e47b709c65db43a3820a08def46a8a953adf6cb7777a5b01c96e1fe00ef8
0cb27b910247ea561e9d32f6ac7033895cdc4b3ac5ed0f62c275439aca7f1579
d35f3169f1299a8984cf6298dde01d252ebdfcc27191d316d18c9c0d8e4aad90
.
</file_signature>
<nbytes>17992.000000</nbytes>
</file_info>
<file_info>
<name>setiathome-6.08_cuda_COPYRIGHT</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/setiathome-6.08_cuda_COPYRIGHT</url>
<file_signature>
8fd3a02f1a504466a5dd9590ff139542142f0a42ebf635edf97fd31e18444b96
702e41871f04db372b85e1385c8b94dbeed8ffc3d9d79f83ef79aaf1d070a559
6a510f8920adf1a9ca3a1c9fe3953ea2e7c0b3887d581bac6abb592f98890cd4
337286f7431c3ebc28e8c22d3a02ceeafec2fb682780a510c17e89bcd48c8685
.
</file_signature>
<nbytes>1990.000000</nbytes>
</file_info>
<file_info>
<name>setiathome-6.08_cuda_README</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/setiathome-6.08_cuda_README</url>
<file_signature>
8138d39170b8140f3ee16b6942b2748a63867ed8c8f231a3e0cbfe45499a6d8b
dcd1d16737860263e9d97681f41256e16536f73e01eec99dfb89ae58e2f17ea9
5e69a79dbdc0e66c364227daf8afdad614dd59b037a84f4bd4e294360c1c75fd
67bb8c663a9b54430d274280ba595321a60d7a32313fd4d14393484ccc59572b
.
</file_signature>
<nbytes>2824.000000</nbytes>
</file_info>
<file_info>
<name>seti_608.jpg</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/seti_608.jpg</url>
<file_signature>
694bd951d73186134cd6b45ed6d7c46d7d149938fad8ab107b7edd7b63436724
3cfd13b2ae95ff8c3ee1bacdc0824d1aeec0efefdbe522584dd0c11ec8c5a68f
670520514d33a5cf9a5bf0cb9bbc49b1f0c2a4ea60741bb5c6932585f4bca711
75321eda2b86020175a5571fc3f51f96f58af64cd234b2d64a5150594f368625
.
</file_signature>
<nbytes>9068.000000</nbytes>
</file_info>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>608</version_num>
<api_version>6.3.22</api_version>
<file_ref>
<file_name>setiathome_6.08_windows_intelx86__cuda.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>cudart.dll</file_name>
<open_name>cudart.dll</open_name>
</file_ref>
<file_ref>
<file_name>cufft.dll</file_name>
<open_name>cufft.dll</open_name>
</file_ref>
<file_ref>
<file_name>libfftw3f-3-1-1a_upx.dll</file_name>
<open_name>libfftw3f-3-1-1a_upx.dll</open_name>
</file_ref>
<file_ref>
<file_name>setiathome-6.08_cuda_AUTHORS</file_name>
<open_name>setiathome-6.08_cuda_AUTHORS</open_name>
</file_ref>
<file_ref>
<file_name>setiathome-6.08_cuda_COPYING</file_name>
<open_name>setiathome-6.08_cuda_COPYING</open_name>
</file_ref>
<file_ref>
<file_name>setiathome-6.08_cuda_COPYRIGHT</file_name>
<open_name>setiathome-6.08_cuda_COPYRIGHT</open_name>
</file_ref>
<file_ref>
<file_name>setiathome-6.08_cuda_README</file_name>
<open_name>setiathome-6.08_cuda_README</open_name>
</file_ref>
<file_ref>
<file_name>seti_608.jpg</file_name>
<open_name>seti_logo</open_name>
</file_ref>
<platform>windows_intelx86</platform>
<plan_class>cuda</plan_class>
<avg_ncpus>0.112974</avg_ncpus>
<max_ncpus>0.112974</max_ncpus>
<flops>60480000000.000000</flops>
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
</app_version>

~~ Now we get to what we want WORKUNITS

<file_info>
<name>16oc08ac.3146.15614.4.8.198</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/20a/16oc08ac.3146.15614.4.8.198</url>
<md5_cksum>f8d610ee75094ddfc566d3c9f2a35468</md5_cksum>
<nbytes>375334</nbytes>
</file_info>
<workunit>
<rsc_fpops_est>79738560589438.500000</rsc_fpops_est>
<rsc_fpops_bound>797385605894385.000000</rsc_fpops_bound>
<rsc_memory_bound>33554432.000000</rsc_memory_bound>
<rsc_disk_bound>33554432.000000</rsc_disk_bound>
<name>16oc08ac.3146.15614.4.8.198</name>
<app_name>setiathome_enhanced</app_name>
<file_ref>
<file_name>16oc08ac.3146.15614.4.8.198</file_name>
<open_name>work_unit.sah</open_name>
</file_ref>
</workunit>
<file_info>
<name>06mr09ac.32423.13569.16.8.193</name>
<url>http://boinc2.ssl.berkeley.edu/sah/download_fanout/217/06mr09ac.32423.13569.16.8.193</url>
<md5_cksum>d445c3b606475706e0a6ddea82b4650e</md5_cksum>
<nbytes>375336</nbytes>
</file_info>
<workunit>
<rsc_fpops_est>80360000000000.000000</rsc_fpops_est>
<rsc_fpops_bound>803600000000000.000000</rsc_fpops_bound>
<rsc_memory_bound>33554432.000000</rsc_memory_bound>
<rsc_disk_bound>33554432.000000</rsc_disk_bound>
<name>06mr09ac.32423.13569.16.8.193</name>
<app_name>setiathome_enhanced</app_name>
<file_ref>
<file_name>06mr09ac.32423.13569.16.8.193</file_name>
<open_name>work_unit.sah</open_name>
</file_ref>
</workunit>

~~ Next is the Information that is copied into the "sched_request_setiathome.berkeley.edu.xml" for reporting

<file_info>
<name>16oc08ac.3146.15614.4.8.198_3_0</name>
<generated_locally/>
<upload_when_present/>
<max_nbytes>65536</max_nbytes>
<url>http://setiboincdata.ssl.berkeley.edu/sah_cgi/file_upload_handler</url>
<xml_signature>
4f50970e1e08443b57430561b48b6dcdae52a8e3d71757c90507485cdadd78b6
77f5203e20c43c21e157cd667df7bbe16a60c5476fdbd2d46953a2b4b2ee7477
47b65ff5e9ae8e6f23e15ab31bd041fe489ce8c902c2083863bb56ac0d4b015f
637d35d0c23f45facaccccf9a7ece45cb59683ca922c35b0b8d979f68000dfa4
.
</xml_signature>
</file_info>
<result>
<report_deadline>1249678697</report_deadline>
<wu_name>16oc08ac.3146.15614.4.8.198</wu_name>
<name>16oc08ac.3146.15614.4.8.198_3</name>
<file_ref>
<file_name>16oc08ac.3146.15614.4.8.198_3_0</file_name>
<open_name>result.sah</open_name>
</file_ref>
<platform>windows_intelx86</platform>
<version_num>608</version_num>
<plan_class>cuda</plan_class>
</result>
<file_info>
<name>06mr09ac.32423.13569.16.8.193_2_0</name>
<generated_locally/>
<upload_when_present/>
<max_nbytes>65536</max_nbytes>
<url>http://setiboincdata.ssl.berkeley.edu/sah_cgi/file_upload_handler</url>
<xml_signature>
6440be2824c191058dcf763c733fccd595f8f1d68d9ca13c4b3dfd377e8a79a8
dddc9bb658a6de27ad754665855898a0e7899750fba79a30198d00ec11881afb
734535a5b2022bc15d5eaf41b66ab7439399c4c5c251f58940b2ae00bf45c0d6
5415ca551e5aa3d0c70e7b4eff26ef32f00020e7112dd529fa1bb6aa4cf0d8e2
.
</xml_signature>
</file_info>
<result>
<report_deadline>1249694235</report_deadline>
<wu_name>06mr09ac.32423.13569.16.8.193</wu_name>
<name>06mr09ac.32423.13569.16.8.193_2</name>
<file_ref>
<file_name>06mr09ac.32423.13569.16.8.193_2_0</file_name>
<open_name>result.sah</open_name>
</file_ref>
<platform>windows_intelx86</platform>
<version_num>608</version_num>
<plan_class>cuda</plan_class>
</result>
<file_info>
<name>16oc08ac.3146.15614.4.8.34_2_0</name>
<generated_locally/>
<upload_when_present/>
<max_nbytes>65536</max_nbytes>
<url>http://setiboincdata.ssl.berkeley.edu/sah_cgi/file_upload_handler</url>
<xml_signature>
4e226bfd83269eabc0d13ff826859f06abe63aa6d49262c9b8adb29a9a0b5322
a055f875a2bd34eec9349a05dbbeb2d2eea03da563ca4af618d8f792469edf67
0d14422e5e9817aea8e561bfb7a571bbe5359078538c1b1d1e7a53dbcd1f162e
ce74664d45ea7677d38a3ea8ec0d4bfc59a42a7253b26e7eadb2c5db7bc090f3
.
</xml_signature>
</file_info>

~~ Followed by what is on the Buttons in the Boinc Manager for this Project Seti...

<gui_urls>
<gui_url>
<name>Message boards</name>
<description>Correspond with other users on the SETI@home message boards</description>
<url>http://setiathome.berkeley.edu/forum_index.php</url>
</gui_url>
<gui_url>
<name>Help</name>
<description>Ask questions and report problems</description>
<url>http://setiathome.berkeley.edu/forum_help_desk.php</url>
</gui_url>
<gui_url>
<name>Your account</name>
<description>View your account information and credit totals</description>
<url>http://setiathome.berkeley.edu/show_user.php?userid=2277</url>
</gui_url>
<gui_url>
<name>Your preferences</name>
<description>View and modify your SETI@home account profile and preferences</description>
<url>http://setiathome.berkeley.edu/home.php</url>
</gui_url>
<gui_url>
<name>Your results</name>
<description>View your last week (or more) of computational results and work</description>
<url>http://setiathome.berkeley.edu/results.php?userid=2277</url>
</gui_url>
<gui_url>
<name>Your computers</name>
<description>View a listing of all the computers on which you are running SETI@Home</description>
<url>http://setiathome.berkeley.edu/hosts_user.php?userid=2277</url>
</gui_url>
<ifteam>
<gui_url>
<name>Your team</name>
<description>View information about your team: HT</description>
<url>http://setiathome.berkeley.edu/team_display.php?teamid=212</url>
</gui_url>
</ifteam>
<gui_url>
<name>Donate</name>
<description>Donate to SETI@home</description>
<url>http://setiathome.berkeley.edu/sah_donate.php</url>
</gui_url>
</gui_urls>

~~ Last but not least are the files that are supposed to be in the project folder

<file_info>
<name>arecibo_181.png</name>
<url>http://boinc2.ssl.berkeley.edu/sg_images/arecibo_181.png</url>
<md5_cksum>f9b65230a594098d183d2266511bc648</md5_cksum>
<nbytes>52779</nbytes>
</file_info>
<file_info>
<name>sah_40.png</name>
<url>http://boinc2.ssl.berkeley.edu/sg_images/sah_40.png</url>
<md5_cksum>5791ba1be2d33eaa5f90ecf5de89a53d</md5_cksum>
<nbytes>2536</nbytes>
</file_info>
<file_info>
<name>sah_banner_290.png</name>
<url>http://boinc2.ssl.berkeley.edu/sg_images/sah_banner_290.png</url>
<md5_cksum>39839286db7f580bef5377322d15ed35</md5_cksum>
<nbytes>25488</nbytes>
</file_info>
<file_info>
<name>sah_ss_290.png</name>
<url>http://boinc2.ssl.berkeley.edu/sg_images/sah_ss_290.png</url>
<md5_cksum>caf95504208aedd6ac6d82201e2fd8b1</md5_cksum>
<nbytes>35399</nbytes>
</file_info>
<project_files>
<file_ref>
<file_name>sah_40.png</file_name>
<open_name>stat_icon</open_name>
</file_ref>
<file_ref>
<file_name>sah_ss_290.png</file_name>
<open_name>slideshow_setiathome_enhanced_00</open_name>
</file_ref>
<file_ref>
<file_name>arecibo_181.png</file_name>
<open_name>slideshow_setiathome_enhanced_01</open_name>
</file_ref>
<file_ref>
<file_name>sah_banner_290.png</file_name>
<open_name>slideshow_setiathome_enhanced_02</open_name>
</file_ref>
</project_files>

</scheduler_reply>


When the download is complete, it is Merged into the "client_state.xml" and the "sched_request_setiathome.berkeley.edu.xml" Once the Boinc realizes that files are missing "Workunits" it then contacts the Download Server to obtain Workunits.


Boinc contacts the Download Server(s)- Boinc2.ssl.berkeley.edu

<url>http://setiboincdata.ssl.berkeley.edu/sah_cgi/file_upload_handler</url>
And then requests this file please.
<name>16oc08ac.3146.15614.4.8.34_2_0</name>

Then the downloads start. Once that is complete Boinc then checks the "Signature/<md5_cksum>" to insure the file(s) is/are valid. If something is wrong with the file it will go through the download process again.




Setiboincdata.ssl.berkeley.edu - The Upload Server
Over the years has been tuned for the Max "physical connections" based on a couple of things. First we have to look at the "daily average" of Number of Turnaround Results the expected average size of that result. During his 10th Anniversary Presentation I believe the number quoted was ~350000 and the average size is 26000 bytes in a 24 hour period.
Quick math shows that
350000x26000= 9100000000/day or 9.1Gigbytes/Day
(350000x26000)/24= 379166666.67/hour or 379Megabytes/Hr
(350000x26000)/1440= 6,319,444.44/Min or 379Megabytes/Min
(350000x26000)/86400= 105,324.07/Sec or 379Megabytes/Sec


The workunits stay in the projects folder until the results are uploaded.




Now as previously discussed when you get a network "pipe" running at 80% things are fine, when it rises to 90% of the capacity things start to collide a few things get "lost." When it saturated (above 95%) it starts to crumble.

100Megabit connection equals transfer speed in Bytes
100/8=12.5 Megabytes per second

MB in bytes from a splitter cycle
367000*97=35599000
So the full package of downloads will take 2.85 seconds to clear. The feeder has refilled the Queue and is now .8 seconds behind.

AP in bytes from a splitter cycle
8196000*3=24588000
So the full package of AP Downloads will take 1.9 seconds to clear.

So one Feeder Cycle ((35599000+24588000)/12500000) could take at full bandwidth 4.75 seconds to clear. You can see that the Download Servers now have 2+ Feeder cycles they are working on to clear existing connections. They have active connections and are servicing them no matter how slow it gets unless the connection times out. Boinc recovers with a retry but the machine has to connect again.

While this is happening we go back to "You have an Upload." It sends a connection request and waits. If it times out depending on the Boinc Core Client you are using you see connect failed in the Messages Tab. Boinc will allow 2 uploads at the same time. The average size is 25K (25000*2=50000). At full bandwidth you have 50000/12500000=0.004 seconds. If the Downloads are eating 70% of the bandwidth you have 50000/3750000=0.013 consuming the remain part of the bandwidth.

If you need more work, then is sends the connection request (and the sched_request_setiathome.berkeley.edu.xml no matter what size).

____________
Please consider a Donation to the Seti Project.

zpm
Volunteer tester
Avatar
Send message
Joined: 25 Apr 08
Posts: 284
Credit: 1,601,490
RAC: 152
United States
Message 919996 - Posted: 21 Jul 2009, 4:29:56 UTC - in response to Message 919977.

all that math, I'm getting a headache; but thank you for clear up how the system worked and where the big bottleneck is...

Profile Misfit
Volunteer tester
Avatar
Send message
Joined: 21 Jun 01
Posts: 21790
Credit: 2,510,901
RAC: 0
United States
Message 920000 - Posted: 21 Jul 2009, 4:58:07 UTC - in response to Message 919977.

The Seti Staff does not have time to write this...

A chronic ongoing phenomenon.
____________

Join BOINC Synergy!

Profile ML1
Volunteer tester
Send message
Joined: 25 Nov 01
Posts: 8499
Credit: 4,193,330
RAC: 1,713
United Kingdom
Message 920054 - Posted: 21 Jul 2009, 12:20:17 UTC - in response to Message 919977.
Last modified: 21 Jul 2009, 12:35:45 UTC

Phew! Good research there.

Attempting to summarise the semantics, I'll take a guess at:

There are a couple of elements here, first there are three Servers that handle Data In and Out
Setiboinc.ssl.berkeley.edu The Scheduler
Setiboincdata.ssl.berkeley.edu The Upload Server
Boinc2.ssl.berkeley.edu The Download Servers


Additional terms:


  • Boinc Client: Runs on a participant's machine (host)
  • Boinc Server(s): The various server machines at Berkeley (Space Sciences Lab)




WU Requests

A Boinc Client sends a scheduler request to The Scheduler, listing who and what it is, host and network capabilities, science applications available, a summary of any results to be returned (or that are already newly returned?), and what other projects are being worked on, and a list of all WUs in the cache.

The scheduler looks at that lot and decides whether to allocate any new WUs to the Boinc Client. A response is returned with a list of EVERYTHING that the Boinc Client should have and where to get them from, including any new WUs.

The Boinc Client compares the Scheduler response file list with what it actually has. Anything missing or out of date (including any new WUs) are then downloaded via multiple separate requests to the respective source servers (The Download Servers).


WU Results Upload

OK, so where do the upload servers come in on that...?

...OK, so not yet detailed!

I'll take a guess that uploads start asynchronously to the respective Upload Server for each WU as soon as a WU completes. The results summary is subsequently sent for a WU only when the upload has completed for that WU...?


Bottlenecks

The network bottleneck and the servers various bottlenecks are worthy of further posts in their own right...



Hope of interest,

Regards,
Martin
____________
See new freedom: Mageia4
Linux Voice See & try out your OS Freedom!
The Future is what We make IT (GPLv3)

Profile Pappa
Volunteer tester
Avatar
Send message
Joined: 9 Jan 00
Posts: 2562
Credit: 12,301,681
RAC: 0
United States
Message 920128 - Posted: 21 Jul 2009, 16:19:29 UTC

This will describe some of the Upload Errors that every one is seeing and a bit about what is happening.
I am going abuse the Term "Socket" as its use is actually an incomplete description of all of the interactions on a Nix Host with Network connections. In some cases that Socket has been referred to an even more incomplete item called a "Listener" in the Apache Web Server. There are a maximum number of allowed connection per second.
The brief description is the Socket is Port 80 and there 100 threads (Listeners using an arbitrary number)

So with a reported 380000 hosts that COULD be attempting 2 connection attempts at the same time. You could have 760000 ACK's all hitting poor Bruno at the same second in time. More realistically with the 0-4 backoff retry and "absolute even distribution" (4 hours equal 14400 seconds) You would see 760000/14400=52.777 connection requests/second. When we use the Cricket Graphs as indicator, we see that the "distribution" is "not quite absolute" and other things get in the way of the connection attempts. The fact that uploads are happening is a good thing.

In this case Socket is like the outlet on the wall that you plug your computer power cord into. Boinc Manager plugs into the Upload Server across the Internet.

In the examples from my Log Files you will see that I have "debug options" turned on for a more complete description of what transpired. It does mean more traffic to my log files.. The Errors will be highlighted.

Unable to Connect... Your Boinc Core Client Sends a connection request (ACK) it expects a reply in the form of SYN/ACK

7/21/2009 8:11:24 AM SETI@home Beta Test Started upload of 09mr09aa.11273.1299.3.13.97_0_0
7/21/2009 8:11:24 AM SETI@home Beta Test [file_xfer_debug] URL: http://setiboincdata.ssl.berkeley.edu/beta_cgi/file_upload_handler
7/21/2009 8:11:46 AM Project communication failed: attempting access to reference site
7/21/2009 8:11:46 AM SETI@home Beta Test [file_xfer_debug] FILE_XFER_SET::poll(): http op done; retval -107
7/21/2009 8:11:46 AM SETI@home Beta Test [file_xfer_debug] file transfer status -107
7/21/2009 8:11:46 AM SETI@home Beta Test Temporarily failed upload of 09mr09aa.11273.1299.3.13.97_0_0: connect() failed
7/21/2009 8:11:46 AM SETI@home Beta Test Backing off 1 min 0 sec on upload of 09mr09aa.11273.1299.3.13.97_0_0
7/21/2009 8:11:46 AM [http_xfer_debug] HTTP: wrote 1116 bytes
7/21/2009 8:11:46 AM [http_xfer_debug] HTTP: wrote 1430 bytes
7/21/2009 8:11:46 AM [http_xfer_debug] HTTP: wrote 1430 bytes
7/21/2009 8:11:46 AM [http_xfer_debug] HTTP: wrote 120 bytes
7/21/2009 8:11:46 AM [http_xfer_debug] HTTP: wrote 1212 bytes
7/21/2009 8:11:47 AM Internet access OK - project servers may be temporarily down.

This fails there is no "Listener Sockets" available.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The next type of Error. You Send the Connection request and receive the Reply. Your computers sends the final ACK for the connection. As the Upload Server is supposed to open a Socket for the actual file transfer Something happens that does not allow it to complete.

7/21/2009 8:19:14 AM SETI@home Beta Test Started upload of 09mr09aa.11273.1299.3.13.91_0_0
7/21/2009 8:19:14 AM SETI@home Beta Test [file_xfer_debug] URL: http://setiboincdata.ssl.berkeley.edu/beta_cgi/file_upload_handler
7/21/2009 8:19:15 AM Project communication failed: attempting access to reference site
7/21/2009 8:19:15 AM SETI@home Beta Test [file_xfer_debug] FILE_XFER_SET::poll(): http op done; retval -184
7/21/2009 8:19:15 AM SETI@home Beta Test [file_xfer_debug] file transfer status -184
7/21/2009 8:19:15 AM SETI@home Beta Test Temporarily failed upload of 09mr09aa.11273.1299.3.13.91_0_0: HTTP error
7/21/2009 8:19:15 AM SETI@home Beta Test Backing off 3 hr 5 min 20 sec on upload of 09mr09aa.11273.1299.3.13.91_0_0
7/21/2009 8:19:16 AM [http_xfer_debug] HTTP: wrote 1116 bytes
7/21/2009 8:19:16 AM [http_xfer_debug] HTTP: wrote 1430 bytes
7/21/2009 8:19:16 AM [http_xfer_debug] HTTP: wrote 1430 bytes
7/21/2009 8:19:16 AM [http_xfer_debug] HTTP: wrote 120 bytes
7/21/2009 8:19:16 AM [http_xfer_debug] HTTP: wrote 1212 bytes
7/21/2009 8:19:17 AM Internet access OK - project servers may be temporarily down.

This fails

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Now in this case, Your machine sent the connection request, received the response and replied. The computer then opened the socket. At this point you may watch Boinc Manger start (visually) buffering the Upload waiting for the server to receive it.
In the "Transfer Tab" it may show anywhere from a small percent to 100% and a retry.


7/21/2009 8:19:28 AM SETI@home Beta Test Started upload of 09mr09aa.11273.1299.3.13.91_0_0
7/21/2009 8:19:28 AM SETI@home Beta Test [file_xfer_debug] URL: http://setiboincdata.ssl.berkeley.edu/beta_cgi/file_upload_handler
7/21/2009 8:19:31 AM [http_xfer_debug] HTTP: wrote 93 bytes
7/21/2009 8:19:32 AM SETI@home Beta Test [file_xfer_debug] FILE_XFER_SET::poll(): http op done; retval 0
7/21/2009 8:19:32 AM SETI@home Beta Test [file_xfer_debug] parsing upload response: <data_server_reply> <status>0</status> <file_size>0</file_size></data_server_reply>
7/21/2009 8:19:32 AM SETI@home Beta Test [file_xfer_debug] parsing status: 0

7/21/2009 8:22:41 AM SETI@home Beta Test Computation for task 09mr09aa.11273.1299.3.13.96_0 finished
7/21/2009 8:22:41 AM SETI@home Beta Test Starting 09mr09aa.11273.1299.3.13.136_1
7/21/2009 8:22:41 AM SETI@home Beta Test Starting task 09mr09aa.11273.1299.3.13.136_1 using setiathome_enhanced version 608
7/21/2009 8:22:42 AM Project communication failed: attempting access to reference site
7/21/2009 8:22:42 AM SETI@home Beta Test [file_xfer_debug] FILE_XFER_SET::poll(): http op done; retval -184
7/21/2009 8:22:42 AM SETI@home Beta Test [file_xfer_debug] file transfer status -184
7/21/2009 8:22:42 AM SETI@home Beta Test Temporarily failed upload of 09mr09aa.11273.1299.3.13.91_0_0: HTTP error
7/21/2009 8:22:42 AM SETI@home Beta Test Backing off 3 hr 11 min 38 sec on upload of 09mr09aa.11273.1299.3.13.91_0_0
7/21/2009 8:22:42 AM [http_xfer_debug] HTTP: wrote 1116 bytes
7/21/2009 8:22:42 AM [http_xfer_debug] HTTP: wrote 1430 bytes
7/21/2009 8:22:42 AM [http_xfer_debug] HTTP: wrote 1430 bytes
7/21/2009 8:22:42 AM [http_xfer_debug] HTTP: wrote 120 bytes
7/21/2009 8:22:42 AM [http_xfer_debug] HTTP: wrote 1212 bytes
7/21/2009 8:22:43 AM Internet access OK - project servers may be temporarily down.

So with the bandwidth being saturated at points (downloads) in time and the 380000 hosts all trying to get a connection in edgewise. It becomes easier to see why your tiny connection packet gets lost "connect() failed". Or why while sorting the connections that get started and fail "HTTP error" or in the final case Where the Boinc Manger has sent the final ACK and started buffering the Upload and it then times out.

Regards

____________
Please consider a Donation to the Seti Project.

Alinator
Volunteer tester
Send message
Joined: 19 Apr 05
Posts: 4178
Credit: 4,647,982
RAC: 0
United States
Message 920306 - Posted: 22 Jul 2009, 12:26:11 UTC
Last modified: 22 Jul 2009, 12:35:00 UTC

Just one comment about your description of the scheduler request sent by the host:

It's not just the current host config/performance data and the info about the tasks which have been or are waiting/ready to run for SAH since the last request which gets sent to the project with every single request to the scheduler.

It contains the current info for ALL tasks onboard the host for ALL projects it runs.

Therefore, the absolutely worse thing a participant can do when SAH starts having availability problems is to respond by upping the cache settings to the maximum possible. This virtually guarantees that the problem is going to get worse and not better for everyone in the grand scheme of things.

The bottom line is one would be far better off to find another project in addition to SAH to run if the goal is to keep your host from going idle when crunching 24/7, than try to suck everything possible from SAH every chance it gets.

Profile Pappa
Volunteer tester
Avatar
Send message
Joined: 9 Jan 00
Posts: 2562
Credit: 12,301,681
RAC: 0
United States
Message 920522 - Posted: 23 Jul 2009, 1:33:09 UTC

With things going on, I have not acknowleged so of your additions.

I Thank You

Regards


____________
Please consider a Donation to the Seti Project.

Profile Steven Meyer
Avatar
Send message
Joined: 24 Mar 08
Posts: 2301
Credit: 2,999,007
RAC: 0
United States
Message 972840 - Posted: 21 Feb 2010, 17:48:29 UTC

Seems like a lot of redundant and repetitive stuff is being transferred between the servers and the clients about every project that the client is connected to, at every request for work units, every report of a work unit's results, and every file uploaded or downloaded.

I understand that this is done so that the servers can do some crunching on all of that data in order to decide what, if anything, should be sent out to the client.

The fact that the servers must have all this data transferred in every communication session is, I think, the major source of the bottlenecks, and the Single Point of Failure.

Imagine if that reported client with the 4 megabyte file sent with every request could instead send something like 1,000 bytes or less to detail exactly what it needs to do. This would relieve a lot of the network bandwidth problems on the SAH 100Megabit link and would also reduce the number of concurrent open sockets on the servers.

The Boinc Manager on the client obviously has all of this data available to it, so what is to prevent the Boinc Manager on the client from doing those calculations and then presenting the SAH servers with a concise request for exactly the same number of work units (or seconds of work) that the server would decide to send?

This would reduce the size of each request considerably as well as take a lot of the computation load off of the servers.

Of course, the SAH servers may decide to send fewer work units (or seconds of work) if there are not enough work units available to be sent, and then, after receiving the smaller number of work units, the Boinc Manager will back off for a while before sending a request for more work units.

I am sure that the smart people at Boinc and SAH have thought of this idea and that I have some deficit in my knowledge of the situation that prevents me from understanding why this would not work.

____________
FireFox Personas


Profile Misfit
Volunteer tester
Avatar
Send message
Joined: 21 Jun 01
Posts: 21790
Credit: 2,510,901
RAC: 0
United States
Message 973348 - Posted: 22 Feb 2010, 23:52:55 UTC
Last modified: 22 Feb 2010, 23:53:04 UTC

Some of what happens in the background.

The 90 day limit breaks in some threads.
____________

Join BOINC Synergy!

Message boards : Number crunching : Some of what happens in the background.

Copyright © 2014 University of California