Ticket #843 (closed Enhancement: wontfix)

Opened 10 months ago

Last modified 5 months ago

Interface for project pairing ability on multicore CPUs

Reported by: Raistmer Assigned to: davea
Priority: Major Milestone: Undetermined
Component: Client - Scheduler Policy Version:
Keywords: project pairing Cc:

Description

Very needed feature for tasks scheduling still missing. There are many cases when science app from one project works faster/slower in presence of science app from particular another project.

For example: 1) more CPU cache intensive app will work better with app from another project that requires less cache amount than with another copies of itself. 2) More HDD intensive (database oriented) app will work better being paired with CPU intensive app and not with another copy of itself. 3) running few clones of same app can lead to excessive cache line evictions due to memory aliasing. and so on.

So, it would be nice to have some mechanism that will allow user to describe projects relations for BOINC scheduler: what science app BOINC should run together with what app from another project on multicore CPU.

Currently available "Resource share" mechanism is not enough for this aim.

Change History

02/05/09 05:26:55 changed by Ageless

  • owner changed from ballen to davea.

Reassigning to David.

02/23/09 09:57:12 changed by Nicolas

  • component changed from Server - Scheduler to Client - Scheduler Policy.

This is a client feature.

02/23/09 09:58:34 changed by Nicolas

I think this should be supported, even if the client source code needs to be modified to change a project relation. (Currently there is no internal framework to support something like this)

06/03/09 14:41:59 changed by davea

  • status changed from new to closed.
  • resolution set to wontfix.

This would be more trouble than it's worth.

06/19/09 11:18:29 changed by Raistmer

  • status changed from closed to reopened.
  • version deleted.
  • resolution deleted.

Strongly disagree. There is at least one SETI app (opt AP ) that exhibits performance degradation when 2 instances of it running simultaneously. Avoiding such situation (there are 2 SETI apps available, SETI MB and SETI AP ) will improve overall project performance. BOINC client scheduling policy should account for this even if there will be no user-adjustable settings.

06/19/09 11:27:18 changed by Nicolas

  • status changed from reopened to closed.
  • resolution set to wontfix.

Do you understand the cause?

It's not just about not running the same app twice. It's about exactly how much CPU cache they use and having complex rules of which apps "behave nice" with which other apps.

If you run two AP instances, it slows down. But it also slows down if you use AP and another app with similarly-big cache usage. And if you run two little-RAM apps at the same time there is no slow down. It's way more complex than you make it seem it is.


If this page is incomplete or incorrect, please edit it or add it to the wiki to-do list. To do this, you must be logged in; click Login or Register above.