Un verrouillage
de logiciel est un problème d'ordinateur qui peut se produire dans les systèmes
multiprocesseurs. Ce verrouillage peut provoquer l'exécution d'un ordinateur à
une baisse spectaculaire, et empêcher l'utilisation de la capacité de
processeur supplémentaire. Dans les ordinateurs multiprocesseurs modernes, le
logiciel du système d'exploitation spécial doit être utilisé pour éviter le
dysfonctionnement de verrouillage logiciel.
La survenance
d'un lock-out de logiciels a été décrite par IBM ™ scientifique Stuart Madnick
en 1968. À ce stade précoce de l'histoire de l'informatique, Madnick prédit que
les ordinateurs personnels seraient devenus plus petits et moins coûteux au
cours des prochaines décennies, mais continueront à être limitées à peu près
les mêmes vitesses de transfert de données. Cette prédiction s'est avérée être
la plupart du temps correct, et la puissance utile des ordinateurs est souvent
augmentée en ajoutant simplement des processeurs supplémentaires.
La principale
cause de lock-out du logiciel n'est pas une erreur en soi, mais plutôt une
caractéristique. Dans un ordinateur avec plusieurs processeurs reliés entre
eux, il n'y a aucun avantage à processeurs multiples ayant le même traitement
de chaque élément d'information. En fait, les différents processeurs chacun
essayant de modifier une source de données unique peut corrompre
l'enregistrement original. Pour éviter que plusieurs unités de l'ouverture de
la même information, un seul processeur est autorisé à accéder, tandis que les
composants de traitement restantes sont "verrouillés" du fichier.
Cette méthode de
verrouillage est efficace pour les ordinateurs avec un faible nombre de
processeurs. L'approche devient un problème, cependant, dans des dispositifs
avec une large gamme d'unités de traitement liés. Logiciel lock-out limite
sévèrement l'évolutivité et l'efficacité de l'ajout de plusieurs processeurs
pour les ordinateurs, car il y a des limites à la quantité de données rapides
peuvent être réparties entre l'espace de stockage et les processeurs.
Aucune machine,
y compris un ordinateur, n’est totalement efficace, cette inefficacité inhérente
se combine à des ordinateurs multiprocesseurs. Un ordinateur avec seize
processeurs, par exemple, pourrait avoir une de ses processeurs en attente à
tout moment parce que les données ne peuvent pas être distribuées aussi
rapidement que nécessaire. À un certain point, l'inefficacité composée signifie
qu'il n'est plus utile pour augmenter le nombre de processeurs dans un
ordinateur. Ajout d'un millier de processeurs à un système est inutile, puisque
la vitesse des données est limitée et la majorité des processeurs redondants
serait coincé dans un lock-out de logiciels constante.
Logiciel
lock-out peut être minimisé par l'utilisation d'un système d'exploitation qui
est spécifiquement conçu pour les processeurs multiples. Un logiciel spécialisé
est capable de briser une source de données en plusieurs morceaux différents,
et de distribuer ces parties aux processeurs. Cette approche réduit le besoin
de verrouiller les processeurs, puisque chaque unité peut traiter qu'une petite
partie des données d'origine. Essentiellement, le logiciel multiprocesseur fait
en sorte que chaque unité de traitement a toujours une tâche, et conserve les
données circulant d'une manière plus uniformément répartie et dispersée.