Die MUSIC-Architektur ist vor allem für die Parallelisierung durch Partitionierung im Datenraum geeignet. Dieses Programmiermodell kann für viele rechenintensive Algorithmen (Signalverarbeitung, Computergrafik, Bildverarbeitung und verschiedenste Simulationen) vorteilhaft eingesetzt werden. Aus Effizienzgründen wird dieses Programmiermodell durch sog. intelligente Kommunikationseinheiten direkt in Hardware abgebildet.
Ein einzelnes Prozessorelement besteht aus einem digitalen
Signalprozessor DSP 96'002 von
Motorola, 32 kWord (128 kWord bei den neuen Karten)
SRAM, 2 mal 256 kWord Video DRAM (Producer- und Consumermemory)
, 32 kWord (128 kWord)
Programmspeicher und der intelligenten
Kommunikationseinheit, realisiert mit einem programmierbaren
Gatearray. Jedes Board wird
durch einen Transputer gesteuert. Die Transputer sind über
die Transputerlinks miteinander verbunden. Die Initialisierung des
Systems erfolgt über die Transputerlinks.
Die Kommunikationssteuereinheiten sind in einem Ring
angeordnet und arbeiten parallel zu den Prozessoren; sie
unterstützen die automatische Neuverteilung von Datensätzen. Jedes
Prozessorelement berechnet einen Teil eines logisch
zusammengehörenden Datenblocks und weist dann seine
Kommunikationssteuereinheit an, einerseits diese Daten auf das
Netzwerk zu geben und anderseits genau jenen Teil des gemeinsam
berechneten Datenblocks in seinen lokalen Speicher zu kopieren, den es
für weitere Berechnungen benötigt. Die Programmierung der
Kommunikation ist in [BBAEU92] beschrieben. Die Partitionierung
der Daten wird durch Systemfunktionen einfach unterstützt. Am
Institut wurde auch ein parallelisierender Compiler [PKALB94] entwickelt, der
die Kommunikations- und Verteilungsfunktionen generiert.