GigaNet-IC

GigaNet Logo

Netzwerktechnik der nächsten Generation

Informationsverarbeitung und Vernetzung von technischen Geräten halten mehr und mehr Einzug in unser tägliches Leben. Um das dabei ständig wachsende Datenaufkommen zu verarbeiten, bedarf es leistungsfähiger Knotenpunkte in Sprach- und Datennetzwerken. Im GigaNetIC-Projekt werden diese superschnellen Komponenten für Kommunikations- und Netzwerkanwendungen entwickelt und neuartige Anwendungen hochgradig paralleler Architekturen erforscht.

Zu Beginn des Jahres 2002 startete im Rahmen eines BMBF-Projektes eine Kooperation zwischen der Infineon Technologies AG, im Besonderen der Abteilung von Prof. Ramacher, den Universitäten Paderborn, Ulm und der RWTH Aachen. Ziel des Projektes ist die Entwicklung von superschnellen Schaltungen und Komponenten für Kommunikations- und Netzwerkanwendungen sowie von Basisverfahren für massiv parallele Systeme. Daraus soll schließlich ein leistungsfähiger Netzwerkprozessor entstehen, der auch als universeller Coprozessor eingesetzt werden kann. Ein ganz besonderer Reiz des Projektes ergibt sich aus der engen interdisziplinären Zusammenarbeit, die bei diesem Projekt bereits im Entwurfsstadium begonnen hat. Um das schnell wachsende Datenaufkommen auch in Zukunft souverän zu bewältigen, bedarf es besonders leistungsfähiger Bausteine, die den Datenverkehr in den Knotenpunkten der verschiedenen Netzwerke regeln. In der AG Schaltungstechnik (Prof. Rückert) werden solch hochkomplexe integrierte Schaltkreise entworfen und zur Fertigung gebracht. Es wird eine Architektur entwickelt, die auf dem Konzept massiver Parallelverarbeitung beruht, d. h. eine Vielzahl gleicher Prozessoren verwendet. Zunächst wird ein Chip mit 32 Prozessoren konzipiert. Zum Einsatz kommt ein im Fachgebiet Schaltungstechnik entwickelter Prozessorkern, der S-Core (HNI Nachrichten Nr. 1/2001). Von Infineon werden die Basiszellen und modernste Herstellungsverfahren zur Chipfertigung zur Verfügung gestellt. Diese erlauben Strukturgrößen von weniger als 130nm und lassen die benötigte Fläche für einen S-Core auf unter 0,2mm² schrumpfen. Damit ist es möglich, mehr als 1000 dieser Prozessoren auf der Fläche eines Cents zu integrieren. Ein weiterer Forschungsschwerpunkt sind leistungsfähige On-Chip-Netzwerke, die für die hohen Datendurchsätze auf dem Chip verantwortlich zeichnen.

Die massive Parallelität nutzbringend einzusetzen ist Aufgabe eines speziellen Übersetzers, der von der AG "Programmiersprachen und Übersetzer" (Prof. Kastens) entwickelt wird. Er muss die Software für den Netzwerkprozessor derart aufbereiten, dass jede Hardwarekomponente bestmöglich ausgenutzt und keine unnötige Zeit im Wartezustand vergeudet wird. Dem Übersetzer kommt ebenfalls die Aufgabe zu, alle beteiligten Komponenten in ihrer Zusammenarbeit zu koordinieren und so für eine effiziente Arbeitsweise des Gesamtsystems zu sorgen. Neben diesen für den Übersetzerbau eher klassischen Anforderungen wirft ein Netzwerkprozessor auch neuartige Fragestellungen auf: So nimmt beispielsweise die Protokollvielfalt im Internet stetig zu. Entsprechend muss die Software des Netzwerkprozessors auch kurzfristig an neuartige Anforderungen angepasst werden, um z.B. neuen Sicherheitsanforderungen und Qualitätskriterien gerecht zu werden. Hier helfen Methoden des Übersetzerbaus, flexibel auf sich verändernde Anforderungen zu reagieren und leistungsfähige Software aus kompakten Spezifikationen zu generieren. Bei der Integration einer größeren Anzahl von Prozessoren auf einem einzelnen Chip muss sicher gestellt werden, dass diese Einheiten über ein Verbindungsnetzwerk miteinander kommunizieren können. Entwurf, Analyse und Evaluation solcher Netzwerke und zugehöriger Kommunikationsprotokolle stellen einen der Forschungsschwerpunkte der AG Algorithmen und Komplexität (Prof. Meyer auf der Heide) dar. Außerdem wird der Einsatz der Architektur als universeller paralleler Coprozessor untersucht. Ein solcher Chip könnte durch seine inhärente Parallelität viele Anwendungen preiswert und energiesparend beschleunigen und, z.B. auf einer PC-Steckkarte, den Hauptprozessor des Computers unterstützen. Zur Unterstützung der Anwender werden Programmiermodelle und dazu passende Programmbibliotheken entwickelt.