Herakles
Profifragensteller
Moin!
Ich möchte meinen Rechner auf Daten von anderen Rechnern in einem Cluster warten lassen. Am einfachsten geht das sicher mit
in C++. Problem an der Geschichte ist, dass mir eine Sekunde eigentlich zu lang ist. Workaround von mit selbst: Schleife bauen, die einfach einen Wert hochzählt. Auf diesen Rechnern hier im Hause hab ich etwa eine drittel Sekunde hiermit hinbekommen:
Das ist allerdings eine ungenügende Lösung, weil so der Rechner, der auf die Daten der anderen im Cluster wartet, mit dem Zählen ausgelastet wird, also CPU-Zeit verschwendet. Dieser empfangende Rechner zählt aber selbst auch noch zu den "Clients" im Cluster und rechnet an den gleichen Problemen, wie alle anderen. Er würde also die Gesamtrechnung verlangsamen, weil er durch diese Schleife immer der letzte wäre, der mit seiner Rechnung im Cluster fertig ist.
Gibt es andere Möglichkeiten, oder gar eingebaute C++-Methoden, die den Rechner einfach für eine bestimmte Anzahl Millisekunden warten lassen?
Danke Männers!
Herakles
Ich möchte meinen Rechner auf Daten von anderen Rechnern in einem Cluster warten lassen. Am einfachsten geht das sicher mit
Code:
...
sleep(1);
...
in C++. Problem an der Geschichte ist, dass mir eine Sekunde eigentlich zu lang ist. Workaround von mit selbst: Schleife bauen, die einfach einen Wert hochzählt. Auf diesen Rechnern hier im Hause hab ich etwa eine drittel Sekunde hiermit hinbekommen:
Code:
if (!recStrm.probeAny()) {
cout << "." << flush;
cout<<"time: "<<time(0)<<endl;
for (double po=0; po<9999999; po++) {}
cout<<"time_after: "<<time(0)<<endl;
return 0;
}
Das ist allerdings eine ungenügende Lösung, weil so der Rechner, der auf die Daten der anderen im Cluster wartet, mit dem Zählen ausgelastet wird, also CPU-Zeit verschwendet. Dieser empfangende Rechner zählt aber selbst auch noch zu den "Clients" im Cluster und rechnet an den gleichen Problemen, wie alle anderen. Er würde also die Gesamtrechnung verlangsamen, weil er durch diese Schleife immer der letzte wäre, der mit seiner Rechnung im Cluster fertig ist.
Gibt es andere Möglichkeiten, oder gar eingebaute C++-Methoden, die den Rechner einfach für eine bestimmte Anzahl Millisekunden warten lassen?
Danke Männers!
Herakles