BIOS-Einstellungen/-Features, die Probleme bei "echtzeitkritischer" Datenverarbeitung machen

<NeoN>

Fleet Admiral
Registriert
März 2006
Beiträge
11.884
Hallo Zusammen,

kennt jemand BIOS-Einstellungen/-Features, die zu Problemen führen, wenn man mit Echtzeit-Daten umgeht?
Ich bin mir unsicher, ob das der richtige Begriff ist, aber konkret geht es darum, dass Messwerte über eine AD-Karte aufgenommen werden und eine Maschine direkt über diese geregelt wird.

Wir haben mit nem ASUS Prime B460-PLUS das Problem, dass unsere Maschinen reproduzierbar in Grenzwerte laufen, da die Regelung nur verzögert möglich ist. Wir tippen daher auf Laufzeit-Fehler. Dies passiert bei mehreren PCs/Maschinen mit dem Mainboard.

Ein Problem mit Windows, der Software oder anderem kann ausgeschlossen werden. Mit der letzten Mainboard-Generation (H370) läuft es Problemlos, ebenso mit "alten" PCs von 2016 (Z170). Die Auslastung in Windows 10 Pro (20H2, 21H1) liegt bei 2-3 % und es macht keinen Unterschied, ob Windows Defender etc. abgeschaltet sind. Die Ereignisanzeige meldet auch nichts. BIOS-Reset und -Update wurden schon gemacht.

Falls jemand Ideen dazu hat, wäre ich echt dankbar. Ich habe noch die Hoffnung, dass das irgendwelche Hardwareeinstellungen oder Sicherheitsfeatures sind.

MfG
<NeoN>

 
<NeoN> schrieb:
Ein Problem mit Windows, der Software oder anderem kann ausgeschlossen werden.
Ich denke nicht, daß man das OS ausschließen kann, es sei denn ein zusätzlicher (externer) Microcontroller übernimmt die Datenvorverarbeitung. Und löst so das Problem auf, daß Windows kein Echtzeitbetriebssystem ist.

Selbst ein simples "sleep(10ms) z.B. in Python" stellt den Windows Scheduler schon vor eine fast unlösbare Aufgabe. Das irritierende dabei: Im Mittel werden die 10ms erreicht, einzelne Messungen weichen aber deutlich ab (kann weit mehr als das Doppelte sein). Dieses Verhalten tritt auch bei geringer CPU Last auf.
Ergänzung ()

Es gibt unter Windows die Option einen Prozess auf "Echtzeit" zu setzen. Das ist aber technisch immer noch nicht korrekt, da lediglich eine starke Überpriorisierung des Prozesses erfolgt, unstetig unterbrochen wird er immernoch.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Ranayna
Naja, also wir können hin- und hertauschen, wie wir wollen. Auch wenn wir die SSD umbauen, Einstellungen übernehmen oder alles per Image übertragen. In allen anderen Kombinationen läuft es, nur bei eben diesen Boards nicht.

Ansich ist das ganze recht anspruchslos und läuft noch mit Intel i der zweiten Generation... Daher tippe ich stark auf das Mainboard oder irgendwelche Einstellungen, die zu Verzögerung führen.

Es gibt unter Windows die Option einen Prozess auf "Echtzeit" zu setzen.
Das macht auch keinen Unterschied.
 
<NeoN> schrieb:
Das macht auch keinen Unterschied.
Richtig, daß habe ich ja geschrieben. Nur weil etwas "Echtzeit" genannt wird, muß keine drinnen sein 😉
Ergänzung ()

Echtzeit heißt nicht, daß etwas in Null Zeit passiert. Es bedeutet, daß etwas stetig in einem vorhersagbaren Zeitfenster passiert. Und genau das leistet der Windows Scheduler nicht.
 
  • Gefällt mir
Reaktionen: <NeoN>
Daher war ich mir auch nicht sicher, ob das nun wirklich "Echtzeit" ist. Dann war das vermutlich der falsche Begriff.:(

Wie gesagt, es läuft in allen anderen Fällen. Daher der Ansatz mit irgendwelchen BIOS-Settings.
 
Wie ist denn die AD-Karte angeschlossen? USB? PCIE? Eventuell mal gucken, ob es in der Richtung Einstellungen gibt, Stichwort Energieverwaltung.
 
Möglich wäre auch eine schlampige BIOS Implementierung an sich.
Wenn ihr das mit mehreren Boards diesen Typ nachstellen könnt, kann man davon fast ausgehen.

Ansonsten, wie üblich sollten für das Szenario alle Stromspargeschichten, CPU Features (Virtualisierung/HT) ausgeschaltet werden. Vorallem erster können durch die Taktwechsel für Laufzeitprobleme durch schwankende Latzenzen sorgen.

Testweise müsste man mal ein Board eines anderen Herstellers vom Typ B460 versuchen.
 
Eine Idee hätte ich da noch: Ist es bei den ganz neuen CPUs von AMD und Intel nicht so, daß beide Firmen auf angepaßte Power-Profile setzen und einzelne Kerne nicht mehr abschalten um die Reaktivität zu verbessern?

Um das auszuprobieren einfach das Windows Powermanagement auf Best-/Höchstleistung setzen.

1629880086596.png
 
ameisenbaer schrieb:
Virtualisierung aus?
Stromspar aus?
HT aus?
Virtualisierung ist aus und das Powermanagement steht auf Höchstleistung. HT probier ich mal aus.

Demon_666 schrieb:
Wie ist denn die AD-Karte angeschlossen? USB? PCIE? Eventuell mal gucken, ob es in der Richtung Einstellungen gibt, Stichwort Energieverwaltung.
Die AD-Karte läuft über PCIe. Dort ist eigentlich auch kein Sparmodus aktiv, aber das überprüfe ich nochmal.

Mojo1987 schrieb:
Ansonsten, wie üblich sollten für das Szenario alle Stromspargeschichten, CPU Features (Virtualisierung/HT) ausgeschaltet werden. Vorallem erster können durch die Taktwechsel für Laufzeitprobleme durch schwankende Latzenzen sorgen.

Testweise müsste man mal ein Board eines anderen Herstellers vom Typ B460 versuchen.
Ich werd den Takt im BIOS mal festsetzen, aber eigentlich hat das nie zu Problemen geführt.
Neue Boards zum Testen sind auf dem Weg.

MyPVR schrieb:
Eine Idee hätte ich da noch: Ist es bei den ganz neuen CPUs von AMD und Intel nicht so, daß beide Firmen auf angepaßte Power-Profile setzen und einzelne Kerne nicht mehr abschalten um die Reaktivität zu verbessern?
Ich schau mal nach, ob sich da über ein Update was eingenistet hat.

Danke soweit schonmal für die Ideen!
 
Zurück
Oben