Java RTS 2.0: Bei Echtzeit-Anwendungen Prioritäten setzen

Für ein besseres zeitliches Verhalten bei Rechnern mit mehreren Prozessoren kann man ein Prozessorset erstellen, das für die ausschließliche Benutzung von Java RTS 2.0 reserviert ist. Es lässt sich auch ein separates Prozessorset zur exklusiven Verwendung der NHRTs und der RTTs von Java RTS 2.0 bestimmen. Diese Aufteilung der verfügbaren Prozessoren sorgt für ein optimales zeitliches Verhalten dieser Threads durch die Reduzierung von Cache-Thrashing-Effekten.

Um Java RTS 2.0 anzuweisen, die NHRTs einem vorhandenen, festgelegten Prozessorset zuzuweisen, verwendet man die Option XX:RTSJBindNHRTToProcessorSet=<Prozessorset_ID>. Die diesem Prozessorset zugewiesenen Prozessoren sollten alle auf no-intr eingestellt werden, um Latenz und Jitter zu minimieren. Danach gibt der Aufruf von Runtime.availableProcessors durch einen NHRT die Anzahl der in diesem Prozessorset verfügbaren Prozessoren aus. Die entsprechende Option RTSJBindRTTToProcessorSet bindet RTTs an ein vorhandenes festgelegtes Prozessorset.

Das Solaris-Betriebssystem ermöglicht es, die Prozessoren eines Rechners auf mehrere kleine Prozessorsets ohne Überschneidungen aufzuteilen. Prozessoren, die einem bestimmten Set zugewiesen sind, bleiben für die ausdrücklich mit diesem Set verbundenen Vorgänge reserviert. Ein neues Prozessorset lässt sich mit dem folgenden Befehl erstellen (Superuser-Berechtigung erforderlich):


# /usr/sbin/psrset -c
created processor set <pset id>

Mit dem folgenden Befehl werden Prozessoren zu diesem neuen Set hinzugefügt:


# /usr/sbin/psrset -a <pset id> <cpu id>

Dabei bezieht sich <cpu id> auf einen der aktiven Prozessoren, die von folgendem Befehl angezeigt werden:


# /usr/sbin/psrinfo <cpu id> on-line since mm/dd/yyyy hh:mm:ss
<cpu id> on-line since mm/dd/yyyy hh:mm:ss
<cpu id> on-line since mm/dd/yyyy hh:mm:ss
<cpu id> on-line since mm/dd/yyyy hh:mm:ss

Nun kann man wie folgt die Java RTS Virtual Machine anweisen, in dem neuen Prozessorset zu laufen:


# /usr/sbin/psrset -e <pset id> <Java RTS command line>

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Java RTS 2.0: Bei Echtzeit-Anwendungen Prioritäten setzen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *