Die PowerUP System Software beinhaltet ein modernes asynchrones Message-System,
das in der Lage ist, Signale und Daten von einem Task zum anderen zu schicken
- unabhängig davon, auf welchem Prozessor die jeweiligen Tasks laufen.
Dieses Message-System ermöglicht extrem schnellen Datenaustausch zwischen
verschiedenen Softwaremodulen (bzw. Tasks oder Threads), ohne daß
ein Kontextswitch nötig ist, auch wenn die verschiedenen Tasks auf
unterschiedlichen Prozessoren arbeiten. Dabei ist es von der Softwareseite
vollkommen egal, wieviele Prozessoren in einem System arbeiten (oder ggfs.
über eine Vernetzung verschiedener Rechner mieinander arbeiten), oder
um welche Prozessortypen es sich dabei handelt - es können 68k-CPUs
oder PowerPCs, aber auch z.B. spezielle GL-3D-Prozessoren oder ein beliebiger
anderer Prozessortyp sein.
Das Message-System kann in extrem kurzer Zeit (weniger als 7 Mikrosekunden)
Signale ohne Daten zwischen verschiedenen Tasks übertragen. Auch eine
Versendung von Nutzdaten findet in sehr kurzer Zeit statt, da selbst bei
einem Message-Austausch zwischen Tasks auf unterschiedlichen Prozessoren
lediglich die übertragenen Daten in den Prozessor-Caches geflusht werden
müssen; werden so z.B. nur 20 Byte übertragen, muß nur eine
einzige Cacheline geflusht werden.
Da das Message-System der PowerUP System Software über einen speziellen
Message-Server arbeitet, sind Softwaremodule (bzw. Tasks und Threads), die es zur Kommunikation
verwenden, auf zukünftige speichergeschützte Betriebssystemversionen
vorbereitet. Beim Übertragen von Daten oder der Übergabe der Kontrolle
über größere Datenstrukturen von einem Task zum anderen
sorgt der Message-Server dafür, daß die Zugriffsberechtigungen
der Tasks entsprechend erteilt oder gesperrt werden, so daß stets
nur berechtigte Tasks auf den Speicherbereich zugreifen können. Um
die für PowerUP-Systeme entwickelte Software in der Zukunft unter einem
Betriebssystem, das Speicherschutz bietet, laufen zu lassen, muß unter
diesem Betriebssystem lediglich ein (von der Sicht der Tasks aus) funktionskompatibler
Message-Server installiert werden - übrigens auch das wiederum unabhängig
davon, auf welchem Prozessor das Betriebssystem läuft.
Mit diesem modernen, multiprozessorfähigen und für die Einführung
von Memory Protection vorbereiteten Messagesystem kann bei allen Applikationen
programmintern eine extrem schnelle Kommunikation stattfinden. Die aktuelle
Version der PowerUP System Software benötigt für das Versenden
von 1000 (eintausend) Messages mit jeweils 20-30 Byte angehängten Nutzdaten
eine Zeit von unter 60 Millisekunden, für 1000 Replies (Antwortsignale)
werden weniger als 7 Millisekunden benötigt. Dies ergibt eine Zeit
von weniger als 70 Mikrosekunden für das Versenden einer Message mit
Nutzdaten und das Zurücksenden einer Antwort zwischen zwei auf unterschiedlichen
Prozessoren laufenden Tasks bei vollem parallelen Betrieb der Prozessoren
in unserem Multi-Prozessor-fähigen System.
Insgesamt stellt diese Implementation eine auf lange geplanten Konzepten
basierende Lösung dar, die größtmögliche
Zukunftssicherheit und Flexibilität bietet,
und deren Vorteile bei den unterschiedlichsten Weiterentwicklungen von Hardware,
Betriebssystemsoftware oder auch Anwendungen voll zum Tragen kommen. phase 5
will damit einen wesentlichen Beitrag dazu leisten, daß Entwicklungsaufwand,
den die Softwareentwickler heute erbringen, zukunftskompatibel ist - unabhängig
davon, welchen Weg der Amiga in der Zukunft gehen wird.
|