TinyRMI


Die Kertasarie VM wird durch eine eigene Middleware-Implementierung vervollständigt. Es handelt sich dabei um eine Variante der Remote Method Invocation (RMI), die besonders für den Einsatz in eingebetteten
Systemen entworfen wurde. TinyRMI stellt dabei den Großteil der Funktionalität der Referenzimplementierung zur Verfügung belegt aber nur ca. 1/4 des Speicherplatzes (s. folgende Abbildung).

Speicherplatzverbrauch
Performance
Fehlende Funktionalität

Speicherplatzverbrauch



Die Speicherplatz-Einspaarung wird noch deutlicher sichtbar, wenn man nicht nur die Klassen für RMI selber betrachtet, sondern auch die benutzten API Klassen mit hinzurechnet. In Zusammenarbeit mit der Kertasarie VM reduziert sich der Gesamtspeicherplatzbedarf von etwas über 700KB auf nur knapp 150KB.





Bei solchen Einspaarungen besteht leicht die Gefahr, dass man Speicherplatz gegen Rechenleistung eintauscht. Bei TinyRMI ist aber das Gegenteil der Fall, wie die folgenden Abbildungen zeigen.



Performance

Bei wenigen Parametern und ohne Rückgabewert ist TinyRMI schneller als die Referenzimplementierung. Obwohl NinjaRMI in diesem Fall etwas schneller ist, fällt die erheblich höhere Streuung der NinjRMI Messungen auf. Dies bedeutet, dass die Kommunikationszeiten bei NinjaRMI (und auch bei der Referenzimplementierung) schlechter vorherzusagen sind.

 

Bei großem Parametersatz schneidet TinyRMI besser ab als NinjaRMI und die Referenzimplementierung. Auch hier liegt die Varianz der Kommunikationszeiten erheblich unter der Varianz der anderen Varianten.



Fehlende Funktionalität

Bei der Implementierung von TinyRMI wurde im wesentlichen auf das Activation API und Distributed Garbage Collection verzichtet. Diese beiden Eigenschaften werden aber in eingebetteten Systemen typischerweise nicht gebraucht.

 
       
 
© GIANT mbH
Aktualisiert: 01/26/2005