Furor Teutonicus blog | over | volg | teuto | lyme | archief | doneer | todo
🕰️
  ⬩  
✍️ Evert Mouw
  ⬩  
⏱️ 1 min

OPS multicore

Dit is een kort technisch artikeltje voor wie met het OPS rekenmodel van het RIVM wil werken. Doelgroep: ervaren Linux gebruikers, programmeurs en analisten.

Merk op dat ik zelf niet met het OPS gerekend heb voor mijn rapport; dat viel buiten het bestek van mijn onderzoek en zou ook onnodig overlappen met het Mesdag onderzoek. Nu de discussie over de cijfers van hun presentatie zo is losgebarsten leek het me nuttig om het rekenen met de data beter te faciliteren. Sommige runs duurden tot 20 uur; met mijn script kan dat zeer fors gereduceerd worden, mits een goede multicore processor gebruikt wordt.

Probleem: De ops binary gebruikt slechts een enkele CPU core, en geen GPU. Hierdoor kunnen rekentaken erg lang duren. Bij OPS support vroeg ik of het mogelijk is de code multicore of zelfs multinode te draaien. Als antwoord kreeg ik dat ze zelf een cluster gebruiken, en dat de invoer (emissie) bestanden opgeknipt kunnen worden. De depositiewaarden moeten daarna nog wel opgeteld worden.

Het tweede probleem was het compileren onder Linux; een Makefile ontbrak. Dankzij een hint vond ik de repo van dr. Jeroen F. J. Laros (LUMC) die aanpassingen gemaakt heeft voor een Linux branch.

Vandaag heb ik een Bash scriptje gemaakt en getest om e.e.a. werkend te krijgen. Je hebt slechts simpele CLI tools nodig, zoals screen, ed, awk, sed, grep, wget, lscpu, pidof, killall, e.d. Het script telt het aantal CPU cores, knipt de data in het juiste aantal stukjes, start screen sessies op, houdt die wat in de gaten en verzamelt de resultaten (deposities). Je kunt de scripts en ondersteunende bestanden downloaden, zie hieronder. Vergeet niet de LEESMIJ.text te lezen.

Download: ops_multicore.tar.gz

Veel succes!

Update 2020-02-24: N.a.v. een reactie van OPS Support heb ik nog wat kleine wijzigingen aangebracht, zodat het minder snel fout loopt als mensen afwijkende emissiedata gebruiken. Zie ook de LEESMIJ.text en Antwoord op technische vragen OPS software.

ops_multicore

Deze blogpost werd in december 2022 overgezet van WordPress naar een methode gebaseerd op Markdown; het is mogelijk dat hierbij fouten of wijzigingen zijn ontstaan t.o.v. de originele blogpost.