Tipps, wie man eine höhere Leistung aus der ATLAS_MCORE Applikation herausholt
Laut unseren Tests variiert die CPU Leistung im Verhältnis zu der Anzahl Kerne der VM. (Wir messen die CPU-Leistung in CPU-Sekunden pro Event. Wenn z.B. der auf ATLAS_MCORE laufende ATLAS Job 100 events rechnet, und die gesamte CPU-Zeit 30 000 Sekunden sind, dann beträgt die CPU-Leistung 300 Sekunden pro Event.
Im Test verglichen wir auch die CPU Leistung unter verschiedenen VirtualBox-Versionen.
Die Resultate kann man hier sehen:
Der obere Test lief auf zwei Hosts, von denen Host1 Hyperthreading aktiviert hatte, während Host2 Hyperthreading deaktiviert hatte. Das Ergebnis bleibt mit und ohne gleich.
Außerdem kommen wir durch die ATLAS Job Statistiken von mehr als einem Monat zu einem Ergebnis, das die durchschnittliche CPU-Leistung bei Nutzung unterschiedlich vieler Kerne zeigt. (ATLAS_MCORE unterstützt zur Zeit bis zu zwölf Kerne.)
Der Vorteil der Nutzung einer größeren Anzahl von Kerne in einer VM zu nutzen, liegt darin, weniger Speicher zu benötigen, aber durch eine größere Anzahl von Kernen wird auch die CPU-Leistung deutlich verringert. Unsere Testergebnisse legen nahe, daß dies nicht nur bei ATLAS@home, sondern auch bei anderen Cloud Computing Plattformen der Fall ist.
Um eine gute Gewichtung zwischen Speichernutzung und CPU-Leistung zu erreichen, raten wir dazu, jeden ATLAS_MRORE Job an die Gesamtzahl der Kerne und des Speichers, der Boinc zugestanden wird, anzupassen. Wenn z.B. euer Host zwölf Kerne für Boinc freigibt, wird ATLAS_MCORE eine VM mit zwölf Kernen und 12,1 GB Speicher anlegen, aber wenn der Host genug Speicher hat, könnt ihr die Einstellungen in der Datei app_config.xml anpassen und z.B. jeder VM sechs Kerne und 7,3 GB Speicher zuweisen, so daß euer Host zwei VMs mit insgesamt 14,5 GB Speicherbedarf laufen läßt.
Ihr könnt die MultiCore-Applikation durch die Nutzung der Datei app_config.xml anpassen (diese Datei muß in eurem Boinc /project/atlasathome.cern.ch/ Verzeichnis liegen).
Hier ist ein Beispiel, um jeden ATLAS_MCORE Job auf sechs Kerne zu begrenzen:
<app_config>
<app_version>
<app_name>ATLAS_MCORE</app_name>
<avg_ncpus>6.000000</avg_ncpus>
<plan_class>vbox_64_mt_mcore</plan_class>
<cmdline>--memory_size_mb 7300</cmdline>
</app_version>
</app_config>
Diese beiden Zeilen sollten an eure Bedürfnisse angepaßt werden:
<avg_ncpus>4.000000</avg_ncpus>
<cmdline>--memory_size_mb 7300</cmdline>
Der Speicherbedarf der ATLAS_MCORE-Applikation errechnet sich folgendermaßen:
Speicher = 2500 MB + (800 MB * Anzahl der Kerne)
Also bei sechs Kernen 7300 MB.
Wir werden auf dem Server bald einige Änderungen machen:
1. Die ATLAS_MCORE-Applikation wird die Mindestversion 5.0.0 von VirtualBox benötigen.
2. Die ATLAS_MCORE-Applikation wird auf höchstens acht Kernen laufen.
Quelle:
News im ATLAS@Home-Forum.
Die Adressen der Grafiken wurden direkt aus diesem Beitrag übernommen.