Was ist eine Software-Sperrung?
Eine Software-Sperrung ist ein Computerproblem, das in Multiprozessorsystemen auftreten kann. Diese Sperrung kann dazu führen, dass die Leistung eines Computers drastisch sinkt und die Verwendung zusätzlicher Prozessorfunktionen verhindert wird. In modernen Multiprozessor-Computern muss eine spezielle Betriebssystemsoftware verwendet werden, um die Fehlfunktion der Software-Sperrung zu vermeiden.
Das Auftreten von Software-Lockout wurde erstmals 1968 vom IBM ™ -Wissenschaftler Stuart Madnick beschrieben. Zu diesem frühen Zeitpunkt in der Computergeschichte prognostizierte Madnick, dass Personal Computer in den nächsten Jahrzehnten kleiner und billiger werden, sich aber weiterhin auf ungefähr beschränken würden die gleichen Datenübertragungsgeschwindigkeiten. Diese Vorhersage hat sich größtenteils als richtig erwiesen, und die Nutzleistung von Computern wird häufig durch einfaches Hinzufügen zusätzlicher Prozessoren erhöht.
Die Hauptursache für die Software-Sperrung ist kein Fehler an sich, sondern eine Funktion. In einem Computer mit mehreren miteinander verbundenen Prozessoren ist es nicht vorteilhaft, mehrere Prozessoren zu haben, die jeweils dieselbe Information verarbeiten. Tatsächlich können verschiedene Prozessoren, die jeweils versuchen, eine einzelne Datenquelle zu ändern, den ursprünglichen Datensatz beschädigen. Um zu verhindern, dass mehrere Einheiten die gleichen Informationen öffnen, wird nur einem Prozessor der Zugriff gewährt, während die verbleibenden Verarbeitungskomponenten aus der Datei "ausgesperrt" werden.
Diese Sperrmethode ist für Computer mit einer geringen Anzahl von Prozessoren wirksam. Der Ansatz wird jedoch zu einem Problem bei Geräten mit einem breiten Bereich von verbundenen Verarbeitungseinheiten. Die Software-Sperrung schränkt die Skalierbarkeit und Effektivität des Hinzufügens mehrerer Prozessoren zu Computern erheblich ein, da die Geschwindigkeit, mit der Daten zwischen Speicherplatz und Prozessoren verteilt werden können, begrenzt ist.
Keine Maschine, einschließlich eines Computers, ist vollständig effizient. Diese inhärente Ineffizienz verstärkt sich bei Multiprozessor-Computern. Bei einem Computer mit 16 Prozessoren ist möglicherweise einer der Prozessoren jederzeit im Leerlauf, da Daten nicht so schnell wie erforderlich verteilt werden können. Aufgrund der Ineffizienz von Verbindungen ist es nicht mehr sinnvoll, die Anzahl der Prozessoren in einem Computer zu erhöhen. Das Hinzufügen von tausend Prozessoren zu einem System ist nutzlos, da die Datengeschwindigkeit begrenzt ist und ein Großteil der redundanten Prozessoren in ständiger Software-Sperrung stecken bleibt.
Durch die Verwendung eines Betriebssystems, das speziell für mehrere Prozessoren entwickelt wurde, kann die Software-Sperrung minimiert werden. Eine spezielle Software kann eine Datenquelle in viele verschiedene Teile aufteilen und diese Teile an die Prozessoren verteilen. Dieser Ansatz verringert die Notwendigkeit, Prozessoren auszusperren, da jede Einheit eine kleine Komponente der Originaldaten verarbeiten kann. Im Wesentlichen stellt die Multiprozessorsoftware sicher, dass jede Verarbeitungseinheit immer eine Aufgabe hat, und sorgt für einen gleichmäßigeren und verteilten Datenfluss.