Seite 1 von 1

Nur 1 WU pro Maschine ziehen...

Verfasst: 10.02.2019 14:25
von Michael H.W. Weber
...aber wie genau?

Wenn ich in der app_config.xml Konfigurationsdatei <max_concurrent>1</max_concurrent> definiere und bei einem Octacore 100% CPU-Nutzung im BOINC-Manager zulasse, zieht die Kiste unter Umständen 8 WUs und rechnet dann natürlich einstellungsgemäß nur eine davon.
Steht dann die Warteschlange auf 0 Tage, idlen 7 der 8 Kerne herum, bis alle 8 Aufgaben sequentiell abgearbeitet wurden.

Wie schaffe ich da Abhilfe?

Ich möchte z.B. von DHEP nur 1 WU auf der Maschine haben und auf den anderen Kernen diverse andere Projekte parallel rechen können.

Michael.

Re: Nur 1 WU pro Maschine ziehen...

Verfasst: 10.02.2019 16:22
von Kolossus
Im schlimmsten Fall die 8 WUs laden, dann im Manager das nachladen weiterer WUs verhindern, 7 WUS abbrechen....

Re: Nur 1 WU pro Maschine ziehen...

Verfasst: 10.02.2019 17:45
von compalex
Mit 2 Projekten und dann auf wu begrenzen, wird nur mit 2 Instanzen gehen.

Wenn jetzt aber nur 1 WU von einem Projekt haben willst kannst du das ja mit cc_config core Anzahl gleich Wus die man haben möchte setzen. Das funktioniert bei PrimeGrid gut und ist eigentlich auch nur hier sinnvoll wegen der erst Abgabe.

Re: Nur 1 WU pro Maschine ziehen...

Verfasst: 10.02.2019 20:16
von gemini8
Es gibt ein Kommando, mit dem genau das geht. Habe ich irgendwo gelesen, habe ich aber noch nicht wiedergefunden.

Re: Nur 1 WU pro Maschine ziehen...

Verfasst: 11.02.2019 09:56
von Michael H.W. Weber
gemini8 hat geschrieben:Es gibt ein Kommando, mit dem genau das geht. Habe ich irgendwo gelesen, habe ich aber noch nicht wiedergefunden.
Möglicherweise dieses Kommando? Habe es eben erst entdeckt:

Code: Alles auswählen

<fetch_minimal_work>0|1</fetch_minimal_work>
Problem: Es gehört in die cc_config.xml und kann so nicht spezifisch für ein Projekt gesetzt werden? Oder kann man es auch in der app_config.xml verwenden?

Ansonsten bliebe noch diese Idee:

Code: Alles auswählen

<avg_ncpus>1</avg_ncpus>
Oder - wobei ich befürchte, dass diese config.xml Dateien nur auf Server-Seite eingesetzt werden können?

Code: Alles auswählen

<max_results_accepted>1</max_results_accepted>
Michael.

Re: Nur 1 WU pro Maschine ziehen...

Verfasst: 21.02.2019 15:42
von Yeti
Also, den Mix zwischen verschiedenen Projekten lokal genau festlegen zu wollen und ist eine Sisyphusarbeit und wird nach aktuellem Stand des BOINC-Clients niemals funktionieren. Der Work-Fetch des Clients läßt sich nicht wirklich in ein funktionierendes Raster zwängen.

Hier mal ein paar Vorschläge:
  1. Wenn du die Gewichtung eines Projekts auf 0 setzt, fungiert es als Fallback-Projekt, wenn alle anderen lokal aktiven Projekte die zum Rechnen freigegebenen Cores nicht auslasten können. So werden wirklich nur genau so viel WUs runtergeladen, wie gerade freie Cores existieren
  2. Du kannst durch die Projekt-bezogene APP_Config einstellen, wieviele Tasks gleichzeitig gerechnet werden dürfen. Ein Beispiel von LHC@Home findest du (hoffentlich) unten im Post. Achte auf die max_Concurrent-Angaben
  3. Diese Unmöglichkeit, das so genau zu justieren, wie ich das haben möchte, haben dazu geführt, daß ich jetzt grundsätzlich CPU-Projekte und GPU-Projekte in unterschiedlichen Instanzen rechne

Code: Alles auswählen

<app_config>
 <project_max_concurrent>10</project_max_concurrent>
 <app>
 <name>ATLAS</name>
 	 <fraction_done_exact/>
   <max_concurrent>2</max_concurrent>
  </app>
  <app>
    <name>Theory</name>
    <max_concurrent>1</max_concurrent>
</app>
  <app>
    <name>LHCb</name>
    <max_concurrent>8</max_concurrent>
</app>
<app_version>
    <app_name>ATLAS</app_name>
    <version_num>100</version_num>
    <platform>windows_x86_64</platform>
    <avg_ncpus>4.000000</avg_ncpus>
    <max_ncpus>4.000000</max_ncpus>
    <plan_class>vbox64_mt_mcore_atlas</plan_class>
    <api_version>7.7.0</api_version>
    <cmdline>--memory_size_mb 7500</cmdline>
    <dont_throttle/>
    <is_wrapper/>
    <needs_network/>
</app_version>
 </app_config>