Gibt es in der MasterWorker-Simulation eine Methode, mit der der Master überprüfen kann, ob der Host of Worker den Task jetzt ausführt oder nicht?SimGrid: Wie überprüfen Host ausführt Task oder nicht?
Antwort
Das einfachste scheint die Last der Maschine mit host.getHost() zu überprüfen.
Eine andere Lösung wäre, die CPU-Ressource Ihres Hosts abzurufen und isUsed() zu überprüfen. Aber Sie sollten nicht direkt auf die CPU zugreifen, daher ist die Überprüfung der Last besser.
Die Frage ist unklar. Möchten Sie wissen, ob die Maschine (Host) oder der Prozess (Worker) damit beschäftigt ist, etwas zu tun?
Für den Arbeiter sind Sie in der Java-Welt. Das Hinzufügen eines "Boolean Busy" -Feldes und seiner Set/Get-Funktionen könnte den Trick machen. Wenn der Worker beginnt, eine Aufgabe auszuführen, setzt er diesen booleschen Wert (für sich selbst oder seinen Host) auf "true" und setzt ihn auf "false", wenn er fertig ist. Jedes andere Objekt in der Simulation kann den Getter aufrufen, um zu wissen, wonach Sie fragen.
Für den Host kann etwas Ähnliches getan werden, erfordert jedoch mehr Aufwand.
Könnten Sie bitte die Schritte des zweiten Falles ausführlicher beschreiben? Muss ich XML-Dateien ändern? –
Ich denke, es gibt die gleichen Aktionen im zweiten Fall. Aber was ist mit platform.xml und deployment.xml? –
Wenn Sie nur wissen müssen, ob ein Host beschäftigt ist oder nicht, denke ich am einfachsten an die Methoden setProperty und getProperty der Host-Klasse. Bevor Sie mit der Berechnung von call setProperty ("busy", "yes") und setProperty ("busy", "no") beginnen, wenn die Taskausführung beendet wird. Der Master kann getProperty ("busy") für jeden Host aufrufen, um zu wissen, ob er gerade beschäftigt ist oder nicht. – frs69wq
- 1. SimGrid. Wie Host-Fehler modellieren
- 2. Host oder nicht Host?
- 3. SimGrid. Endlosschleife, wenn kein freier Host gefunden werden kann
- 4. Kann nicht simgrid/msg.h von simgrid
- 5. Parallel Aufgabe in SimGrid
- 6. Löschen ausstehende Aufgabe in SimGrid
- 7. SimGrid. Wie schreibe ich Komparator?
- 8. Multi-Coring in SimGrid
- 9. Abbrechen einer Task, die keine regelbasierten Anweisungen ausführt
- 10. SimGrid. Modell anomale Situationen
- 11. Wie richtig verwenden Sie MSG_host_set_property_value() in SimGrid?
- 12. SimGrid. Die gleichzeitige Aufnahme von zwei Aufgaben
- 13. Sicherstellen, dass ein einzelner Server eine Task ausführt
- 14. SimGrid. Abkürzung Erweiterung
- 15. SimGrid. Wie empfange und sende ich Daten während der Ausführung der Aufgabe?
- 16. Überprüfen, ob ein SKNode eine SKAction ausführt
- 17. SimGrid. Erhalten Sie nur bestimmte Art von Aufgabe
- 18. Wie überprüfen Sie, welcher Thread Code in Java ausführt?
- 19. Backup Links in Simgrid
- 20. Wie eine Variable Klassenobjekt überprüfen oder nicht
- 21. Ausfallen von multicoring Gastgeber in SimGrid
- 22. Überprüfen, ob Rake-Task in Rakefile existiert
- 23. Simgrid-Java. Senden von Anweisungen von Master zu Worker
- 24. SimGrid. Wie fügt man dem Masterworker-Modell zusätzliche Parameter hinzu?
- 25. Wie erstellt man Dateien in SimGrid?
- 26. überprüfen Service läuft oder nicht
- 27. SSIS kann Debug Task Task Skript Task nicht stoppen
- 28. Wie überprüft man offene Ports auf Server oder Host?
- 29. Was MySQL zuerst ausführt: SELECT oder HAVING?
- 30. Wie kann ich den Selenium Grid-Host, der meinen Test ausführt, innerhalb des Tests identifizieren?
Wenn der Host ausgeschaltet ist, gibt getLoad "0" oder "none" zurück? –
Es scheint, dass Host(). GetLoad nicht implementiert ist. –