Opened 16 years ago

Closed 16 years ago

#622 closed Defect (invalid)

Long term debt and work starved projects

Reported by: Thyme Lawn Owned by: davea
Priority: Minor Milestone: Undetermined
Component: Client - Work Fetch Policy Version: 5.10.45
Keywords: LTD Cc:

Description

There is a serious problem with the way LTD is accumulated for projects which are starved of work on the client and have no work available on the server.

A project starts accumulating LTD as soon as its communication deferral timeout expires and continues to do so until you send a scheduler request asking for more work and the request times out or receives a no work scheduler reply. There are 2 conditions under which the effect is amplified:

  1. the deferral timeout expires while networking is disabled. This causes the project to accumulate LTD until networking is re-enabled and the request/reply sequence is performed.
  1. the work load on other projects means your scheduler request doesn't request more work. In this case LTD will continue to accumulate for all of the next deferral period.

This can result in work starved projects accumulating a massive positive LTD. I was up to 1.5 million LTD on APS 5 months ago when I first spotted this (realised the wider significance from this thread on the BOINC message board). All other projects (MCDN, CPDN, CPDN beta) had negative LTD and wouldn't request more work until their LTD had increased to -3600.

I can easily envisage this leading to a situation where the client work queue for all projects with work available on the server has been run down and they all have LTD less than -3600. When this happens no work can be downloaded for those projects until the other project has worked off enough of its LTD.

If a project is work starved on the client it should stop accumulating LTD at the expense of projects which do until the server gives it some work.

Change History (2)

comment:1 Changed 16 years ago by Nicolas

Priority: CriticalMinor
  • Critical: crashes, loss of data, severe memory leak
  • Major: major loss of function
  • Minor: minor loss of function, or other problem where easy workaround is present
  • Trivial: cosmetic problem like misspelled words or misaligned text

comment:2 Changed 16 years ago by jm7

Resolution: invalid
Status: newclosed

This is not a bug.

The following scenario is why LTD must be increased in these cases:

The client is attached to 2 projects (for example S@H and CPDN). LTDs for both are 0. work is requested for S@H during the weekly outage. No contact is made. Work is requested from CPDN. Work is suplied that drives the computer into Earlisest Deadline First mode for a year, and no attempt to contact S@H for more work is made. There are two possibilities. The current is to calculate the LTD values during the non contact for S@H.

The proposal would have the LTD values the same at the end of the year as they were at the beginning of the year, breaking the value of Long Term Debt.

Note: See TracTickets for help on using tickets.