Aktionen

App config.xml

Aus SETI.Germany Wiki

BOINC .. BOINC installieren .. Boincsteuerung .. Boincfinetuning .. Remotezugriff


App_config.xml .. App_info.xml .. Cc_config



Mit einer app_config.xml kann eingestellt werden, wie viele Instanzen der gleichen Anwendung gleichzeitig höchstens laufen dürfen und welche GPU- und CPU-Anteile BOINC für GPU-Anwendungen reservieren soll. Dadurch ist beispielsweise möglich, mehrere WUs gleichzeitig auf einer Grafikkarte laufen zu lassen, um gegebenenfalls die Auslastung zu verbessern, oder zu verhindern, dass zu viele WUs eines sehr ressourcenhungrigen Projektes gleichzeitig laufen.

Zudem ist es möglich, bei einigen CPU Projekten Multithreading zu verwenden. Daduch können mehrere CPU Kerne an einer WU arbeiten.

Damit BOINC die in der Datei getroffenen Einstellungen berücksichtigt, muss sie im Unterverzeichnis projects\Projekt-URL des BOINC-Datenverzeichnisses liegen (wobei Projekt-URL für die URL des jeweiligen Projektes steht).

Aufbau

Eine app_config.xml hat stets folgenden Aufbau:

<app_config>

<app>
<name>NAME_KURZ</name>
<max_concurrent>n</max_concurrent>
<gpu_versions>
<gpu_usage>x.x</gpu_usage>
<cpu_usage>y.y</cpu_usage>
</gpu_versions>
</app>

</app_config>

Die Einrückungen und auch die Zeilenumbrüche dienen nur der Übersichtlichkeit und könnten genauso gut weggelassen werden. Der rot markierte Teil ist nur für GPU-Anwendungen relevant. Für Projekte mit mehreren Subprojekten kann die app_config.xml mehrere <app>-Blöcke enthalten.

<name>NAME_KURZ</name>
Der Kurzname des Subprojektes, wie er beispielsweise in der client_state.xml zu finden ist. Groß-/Kleinschreibung muss beachtet werden. Nicht zu verwechseln mit dem user_friendly_name.
<max_concurrent>n</max_concurrent>
Gibt an, dass höchstens n WUs mit dieser Anwendung gleichzeitig ausgeführt werden dürfen.
<gpu_usage>x.x</gpu_usage>
Gibt an, wieviele GPUs BOINC für eine WU mit dieser Anwendung reservieren soll. Möchte man zwei WUs auf einer Grafikkarte ausführen, gibt man 0.5 an, für drei WUs 0.33, für vier WUs 0.25, usw.
<cpu_usage>y.y</cpu_usage>
Gibt an, wieviele CPUs BOINC für eine WU mit dieser Anwendung reservieren soll. Man kann sich hier an der wahren Auslastung orientieren (z.B. 0.1, wenn die GPU-Anwendung 10% eines CPU-Kerns belegt) oder auch absichtlich mit dem Wert 1 einen kompletten CPU-Kern freihalten.
<fraction_done_exact/>
Die Zeit der Restberechnung erfolgt anhand der Zeit für die bisherige Berechnung der WU, nicht anhand der für das Projekt üblichen Zeit.
<app_version>Parameter für die Ausführung der WU</app_version>
Hier werden die unteren Parameter eingefügt, welche die Art der Bearbeitung der WU bestimmen, zum Beispiel für Multithreading. Weiter unten wird dies am Beispiel von Primegrid gezeigt.
<cmdline>-t x</cmdline>
Gibt an, wieviele Threads gleichzeitig für die Berechnung einer WU genutzt werden sollen. Da dieser Wert nur von der jeweiligen Anwendung erkannt wird, nicht aber vom BOINC Manager, sollte der nächste Parameter zusätzlich verwendet werden.
<avg_ncpus>x</avg_ncpus>
Legt für Boinc die Anzahl der Threads fest, welche von der Anwendung belegt werden. Sollte beim Multithreading mit dem vorherigem Parameter verwendet werden.

Dezimalbrüche müssen mit einem "." (Punkt) geschrieben werden, nicht mit dem im deutschen Sprachraum üblichen "," (Komma)!


app_config.xml für Primegrid

Hier eine vollständige app_config.xml für alle LLR Projekte von Primegrid zum Rechnen einer WU auf 4 Kernen:

<app_config>

<app>
<name>llr321</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llr321</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrCUL</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrCUL</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrESP</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrESP</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrGCW</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrGCW</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrPSP</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrPSP</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrPPS</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrPPS</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrPPSE</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrPPSE</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrMEGA</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrMEGA</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrSOB</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrSOB</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrSR5</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrSR5</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrTPS</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrTPS</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrTRP</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrTRP</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
<app>
<name>llrWOO</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrWOO</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>

</app_config>

Die Projekte PPS, PPSE, MEGA und TPS (SGS) benötigen länger, wenn eine WU auf mehreren Kernen gerechnet wird. Allerdings können so auch ältere CPUs gute Zeiten erzielen, um mit etwas Glück einen Erstfund zu haben.

AP26 oder Sieve Subprojekte unterstützen kein Multithreading.

Fragen zu der app_config.xml bei Primegrid bitte hier stellen: Forum

Bemerkungen

  • Es wird eine BOINC-Version ab 7.0.40 benötigt.
  • Nach dem Erstellen oder Ändern der app_config.xml muss BOINC neu gestartet werden, damit die Änderungen übernommen werden.
  • Ab BOINC-Version 7.0.54 ist kein Neustart mehr notwendig, neue oder geänderte app_config.xml-Dateien können über "Extras/Konfigurationsdatei einlesen" übernommen werden.
Single Sign On provided by vBSSO