Was ist rekonfigurierbares Computing?
Rekonfigurierbares Rechnen ist ein Begriff, der für mehrere Rechenoptionen verwendet wird. Bei einem rekonfigurierbaren Computer können die Computerarchitektur-Chips und -Komponenten bei Bedarf gegen andere ausgetauscht werden. Alternativ können die Chips und Komponenten anders angeordnet und miteinander verdrahtet werden, um unterschiedliche Funktionen auszuführen und unterschiedliche Datenflussanordnungen zu befolgen. Ein rekonfigurierbarer Computer kann eine Universalcomputer-Verarbeitungseinheit (CPU) enthalten oder nicht, mehrere CPUs aufweisen oder nur von dedizierten integrierten Schaltkreisen und vor Ort programmierbaren Gate-Arrays betrieben werden. Einige Leute bezeichnen rekonfigurierbares Computing als Hybrid-Computing, Parallel-Computing, Pipeline-Computing oder Hochleistungs-Computing.
FPGA-Computer (Field Programmable Gate Array) verfügen möglicherweise über eine CPU, um Plattform- und Netzwerkfunktionen auszuführen, oder können alle CPU-Funktionen in einem rekonfigurierbaren Computer unabhängig voneinander ausführen. Diese FPGAs sind Computerlogikkomponenten, die in einer Vielzahl von Verkabelungsaufbauten zusammengefasst werden können und unterschiedliche Funktionen und Datenflüsse erzeugen. Sie können jederzeit in neue Anordnungen umgewandelt werden. Diese Flexibilität bietet maximale Rechenleistung für spezielle Computeraufgaben und höhere Geschwindigkeitsfähigkeiten gegenüber Mehrzweckcomputern. Bei alternativen Optionen können FPGAs wiederholt durch hardwarespezifische Sprachen neu programmiert werden, um bei paralleler Verwendung unterschiedliche Datenflusspfade und gleichzeitige Pipeline-Datenoperationen zu erzeugen.
Hybrid Computing wird als rekonfigurierbares Computing angesehen, da es einen Allzweck-CPU-Kern umfasst, der mit anwendungsspezifischen Kernen für bestimmte Verwendungszwecke abgestimmt ist, wodurch die Fähigkeiten und die Geschwindigkeit bestimmter Computing-Funktionen erhöht werden. Diese anwendungsspezifischen Kerne können FPGAs sein, die von einem Verbraucher neu konfiguriert wurden, oder rekonfigurierbare Datenverarbeitungsarrays (rDPAs). Zusätzlich kann eine PCI Express®-Computererweiterungskarte intern zum Motherboard oder extern in einem eigenen Gehäuse hinzugefügt werden, um die Grafik- oder Signalkartenfunktionen zu verbessern. Rekonfigurierbares Computing bietet leistungsstarke Optionen für spezielle Aufgaben.
Der Grund, warum rekonfigurierbare Computersysteme gegenüber Allzweckcomputern bevorzugt werden, besteht darin, dass die rekonfigurierbaren Systeme eine solche Leistungsflexibilität bieten. Ein rekonfigurierbares System kann vor der Ausführung, zwischen Funktionssätzen oder zu fast jedem Zeitpunkt während der Ausführung durch Bitströme von Befehlen im laufenden Betrieb geändert werden. Diese Neukonfigurationen können stattfinden, während ein anderer Teil des Logiksystems andere Aufgaben berechnet. Es gibt einen großen Geschwindigkeitsunterschied zwischen der Verwendung von Aufgaben, die Software ausführen, und der Verwendung der Flexibilität von rekonfigurierbarem Computing, um dieselben Aufgaben auszuführen und dabei weniger Strom zu verbrauchen.
In wissenschaftlichen, akademischen, militärischen und geschäftlichen Kreisen werden viele Forschungsbereiche bearbeitet, um rekonfigurierbare Computerpraktiken voranzutreiben. Ein Großteil dieser Forschung zielt darauf ab, ein besseres Overhead-Management in Betriebssystemen zu erzielen. In ähnlicher Weise wird nach Auswahlmöglichkeiten bei der Delegierung von Aufgaben an Host-CPUs und Logik-FPGAs geforscht. Darüber hinaus werden Optimierungsstrategien für FPGAs in der Video-, Signal- und Netzwerkverarbeitung für wissenschaftliche und militärische Communities sowie in der Bioinformatik für medizinische Communities hervorgehoben.