Aus eins mach zwei

28.03.2002
Mit einfachen Mitteln zu einem Hochleistungsserver: Intels Entwickler haben es geschafft, in einem Xeon zwei Recheneinheiten unterzubringen. Dadurch können viele Anwendungen abgedeckt werden, die sonst nur mit einem Multi-prozessorsystem zu bewältigen wären.

Die traditionelle Art, einen Mikroprozessor schneller zu machen besteht darin, ihn höher zu takten, intern mehrere Operationen parallel (Instruction-Level-Parallelism, ILP) ablaufen zu lassen und mehr Cache zu spendieren. Mit einer höheren Taktfrequenz kann die CPU dann mehr Befehle pro Sekunde ausführen. ILP erhöht die Anzahl der Operationen pro Taktzyklus. Das Problem dabei ist, genügend Operationen zu finden, die wirklich parallel nebeneinander herlaufen können.

Der Zugriff auf den Hauptspeicher ist das engste Nadelöhr bei modernen Prozessoren. Heute erhältliche Speicher können mit der Arbeitsgeschwindigkeit von Hochleistungsprozessoren nicht mithalten. Um den Prozessor trotz des langsamen Speichers mit Daten zu versorgen, setzt man sehr schnelle Speicherbausteine (Cache) in die Nähe des Prozessorkerns. Auf diesen Minispeicher hat die CPU Zugriff mit voller Geschwindigkeit. Die Größe des Speichers wird jedoch von der verfügbaren Fläche begrenzt. Deshalb kann der Speicher nur relativ klein sein. Und hier taucht das zweite Problem auf: Sind dringend benötigte Daten nicht im Cache, muss auf den langsamen Hauptspeicher zugegriffen werden.

Jede neue Prozessorgeneration soll schneller als die vorhergehende arbeiten. Eine größere Chipfläche und ein höherer Takt steigern zwar die Rechenpower, aber auch die Kosten und den Stromverbrauch. Allerdings bedingt eine Verdopplung des Taktes keine Verdopp-lung der Rechengeschwindigkeit, weil jetzt öfter Rechenschritte aufgrund von Fehlinterpretationen der Prediction Pipelines wiederholt werden müssen.

Parallel Processing

Um die Rechenleistung eines Servers zu erhöhen, setzt man einfach mehrere CPUs ein. Diese arbeiten im Parallel-Betrieb und können somit eine weitaus höhere Zahl an Operationen vornehmen als ein einzelner Prozessor. Xeon-Systeme sind zurzeit von 1 bis zu 16 Prozessoren erhältlich. In vielen Fällen wird eine solch hohe Rechenleistung aber gar nicht benötigt. Das ist auch eine Kostenfrage. Denn zwei Prozessoren sind teurer als einer.

Die Ingenieure von Intel haben sich in diesem Zusammenhang etwas Raffiniertes einfallen lassen. Ihre Grundüberlegung war, dass ein Prozessor nicht ständig alle Komponenten auf dem Die benötigt. Zum Beispiel werden die Ein-/Ausgabe-Bausteine nur zum Transport der Daten benutzt, während der Berechnungsphase liegen sie brach. Ebenso wird der Cache nicht immer vollständig ausgenutzt.

Sie kamen nun auf die Idee, zwei Recheneinheiten auf dem Die zu integrieren. Alle peripheren Einheiten, wie zum Beispiel der Cache, und auch die Kontroll-Logik reichen für beide Einheiten vollständig aus. Der Platzaufwand für die zusätzliche Recheneinheit beträgt nur fünf Prozent der gesamten Chipfläche. Diese fünf Prozent sind aber gut investiert. Denn die Software kann nun auf zwei physikalische Prozessoren zugreifen. Damit ist ein Ein-Prozessor-System faktisch genauso schnell wie ein Zwei-Prozessor-System, aber zu einem wesentlich günstigeren Preis.

Dabei hatten die Entwickler den Ehrgeiz, das Zwei-in-Einem-System für die Software genauso flexibel zu gestalten, als handele es sich um zwei unabhängige Prozessoren.

Rechenleistung

Zum Beispiel muss ein Prozessor weiterlaufen, wenn der andere abstürzt. Auch müssen sich zwei mit Hyperthread-Technologie ausgestattete Prozessoren zu einem Verbund zusammenschließen lassen. Dann sind physikalisch nur zwei Prozessoren auf dem Board, die Software sieht jedoch vier CPUs.

Wie bereits erwähnt, lässt sich durch die zweite Recheneinheit im Prozessorkern die Geschwindigkeit steigern, aber nicht so weit, dass sie jetzt genau das Doppelte eines einzelnen Prozessors erreichen würde. Aber rund 30 Prozent Geschwindigkeitszuwachs sind schon drin. Und für viele Anwendungen ist dieser Geschwindigkeitszuwachs genau ausreichend. Man darf dabei auch nicht die Kosten vergessen. Ein mit Hyperthreading ausgestattetes System kommt bei der Anschaffung wesentlich günstiger als ein echtes Zwei-Prozessor-System.

www.intel.de ComputerPartner Meinung: Eine tolle und innovative Ingenieurleistung, die Intel da hingelegt hat. Kostengünstig lassen sich so leistungsfähige Server aufbauen. (jh)

Zur Startseite