From 46b09414471f56fd8705cdabbd12acf1cb4b0f0d Mon Sep 17 00:00:00 2001 From: David Anderson Date: Sun, 13 Mar 2005 20:10:03 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=5650 --- checkin_notes | 13 +++++++++++++ doc/configuration.php | 11 +++++++++++ doc/menubar.php | 10 ++++++---- doc/source/.htaccess | 2 -- sched/handle_request.C | 16 +++++++++++----- sched/sched_config.C | 1 + sched/sched_config.h | 1 + sched/sched_send.C | 2 +- 8 files changed, 44 insertions(+), 12 deletions(-) delete mode 100644 doc/source/.htaccess diff --git a/checkin_notes b/checkin_notes index 1f31e498a9..93f7b0d8c6 100755 --- a/checkin_notes +++ b/checkin_notes @@ -25921,3 +25921,16 @@ David 12 Mar 2005 clientgui/ BOINCTaskCtrl.cpp,h VewProjects.cpp + +David 13 Mar 2005 + - scheduler: add nowork_skip configuration flag. + If set, and there's no work, return from RPC + without looking up user/host records. + (this was previously the default. It no longer is) + - scheduler: if using locality scheduling, never set "have_no_work" + - scheduler: replace "Einstein" by "this project" in message + + sched/ + handle_request.C + sched_config.C,h + sched_send.C diff --git a/doc/configuration.php b/doc/configuration.php index 354e909dea..7bce3afeff 100644 --- a/doc/configuration.php +++ b/doc/configuration.php @@ -48,6 +48,9 @@ htmlspecialchars(" [ ] [ N ] [ N ] + [ N ] + [ N ] + [ N ] @@ -234,6 +237,14 @@ list_item("min_core_client_upgrade_deadline", core client. After this time, they may be shut out of the project. Before this time, they will receive messages warning them to upgrade." ); +list_item("nowork_skip", + "If the scheduling server has no work, + it replies to RPCs without doing any database access + (e.g., without looking up the user or host record). + This reduces DB load, but it fails to update + preferences when users click on Update. + Use it if your server DB is overloaded." +); list_end(); // THE INFORMATION BELOW NEEDS TO BE ORGANIZED AND PUT INTO TABLES OR SOME OTHER LESS CRAMPED FORM diff --git a/doc/menubar.php b/doc/menubar.php index 8d10e71d88..b35f1b9d9b 100644 --- a/doc/menubar.php +++ b/doc/menubar.php @@ -28,7 +28,7 @@ some projects in which to participate. Each project's web site lets you to create an account. When you create an account, you will be sent an email containing a URL and Account Key. -Collect this information and skip down to the 'Project Manager' +Collect this information and skip down to the 'Managing Projects' section for information on how to set up BOINC Menubar to run these projects.

Returning BOINC participants

@@ -70,7 +70,7 @@ This will open up the 'Project Manager'. (Figure 3)

Click the 'Add' button. -This will produce a new sheet in which you can paste in the URL and Account ID. +This will produce a dialog in which you can paste in the URL and Account Key.


@@ -109,7 +109,8 @@ This is particularly convenient if you want to change a project's preferences or (Figure 6)

Controlling BOINC Using BOINC Menubar

-Once BOINC Menubar has some projects to run, you can now use the menu to start and stop BOINC. +Once BOINC Menubar has some projects to run, you can now use the menu +to start and stop BOINC.

To start BOINC running, simply select 'Start' from the status menu. BOINC will start running in the background. @@ -149,7 +150,8 @@ the amount will be updated next time the project contacts its web site.
(Figure 8)

-Select 'Start BOINC On Application Launch' if you which BOINC to start running every time you open BOINC Menubar. +Select 'Start BOINC On Application Launch' if you want BOINC to start +running every time you open BOINC Menubar. You might find this particularly useful if you want BOINC to be running all the time.

diff --git a/doc/source/.htaccess b/doc/source/.htaccess deleted file mode 100644 index 3b7de17b81..0000000000 --- a/doc/source/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -Options Index ExecCGI - diff --git a/sched/handle_request.C b/sched/handle_request.C index 6a01f2f72b..585709f125 100644 --- a/sched/handle_request.C +++ b/sched/handle_request.C @@ -864,15 +864,21 @@ void process_request( warn_user_if_core_client_upgrade_scheduled(sreq, reply); } + if (config.locality_scheduling) { + have_no_work = false; + } else { + lock_sema(); + have_no_work = ss.no_work(g_pid); + unlock_sema(); + } + // if there's no work, and client isn't returning results, // this isn't an initial RPC, // and client is requesting work, return without accessing DB // - lock_sema(); - have_no_work = ss.no_work(g_pid); - unlock_sema(); - - if ((sreq.work_req_seconds > 0) + if ( + config.nowork_skip + && (sreq.work_req_seconds > 0) && have_no_work && (sreq.results.size() == 0) && (sreq.hostid != 0) diff --git a/sched/sched_config.C b/sched/sched_config.C index 8818abeac3..dd07ba63be 100644 --- a/sched/sched_config.C +++ b/sched/sched_config.C @@ -94,6 +94,7 @@ int SCHED_CONFIG::parse(char* buf) { parse_int(buf, "", min_core_client_upgrade_deadline); parse_bool(buf, "choose_download_url_by_timezone", choose_download_url_by_timezone); parse_bool(buf, "cache_md5_info", cache_md5_info); + parse_bool(buf, "nowork_skip", nowork_skip); if (match_tag(buf, "")) { char hostname[256]; diff --git a/sched/sched_config.h b/sched/sched_config.h index 0eafc7514a..45124d65e1 100644 --- a/sched/sched_config.h +++ b/sched/sched_config.h @@ -63,6 +63,7 @@ public: int min_core_client_upgrade_deadline; bool choose_download_url_by_timezone; bool cache_md5_info; + bool nowork_skip; int parse(char*); int parse_file(const char* dir="."); diff --git a/sched/sched_send.C b/sched/sched_send.C index 6ec2d8d00e..866c502dd6 100644 --- a/sched/sched_send.C +++ b/sched/sched_send.C @@ -905,7 +905,7 @@ int send_work( char helpful[512]; sprintf(helpful, "(won't finish in time) " - "Computer on %.1f%% of time, BOINC on %.1f%% of that, Einstein gets %.1f%% of that", + "Computer on %.1f%% of time, BOINC on %.1f%% of that, this project gets %.1f%% of that", 100.0*reply.host.on_frac, 100.0*reply.host.active_frac, 100.0*sreq.resource_share_fraction ); USER_MESSAGE um(helpful, "high");