Qu'est-ce qu'un verrouillage logiciel?
Un verrouillage logiciel est un problème informatique pouvant survenir dans les systèmes multiprocesseurs. Ce verrouillage peut entraîner une baisse spectaculaire des performances d'un ordinateur et empêcher l'utilisation de capacités de processeur supplémentaires. Dans les ordinateurs multiprocesseurs modernes, un logiciel de système d'exploitation spécial doit être utilisé pour éviter le dysfonctionnement du verrouillage logiciel.
Le scientifique IBM ™, Stuart Madnick, a décrit pour la première fois le verrouillage des logiciels en 1968. À ce stade précoce de l’informatique, Madnick avait prédit que les ordinateurs personnels deviendraient plus petits et moins coûteux au cours des prochaines décennies, mais resteraient limités à environ les mêmes vitesses de transfert de données. Cette prédiction s’est révélée généralement correcte et le pouvoir utile des ordinateurs est souvent accru par la simple addition de processeurs.
La principale cause du verrouillage logiciel n’est pas une erreur en soi, mais plutôt une fonctionnalité. Dans un ordinateur avec plusieurs processeurs reliés, il n’ya aucun avantage à avoir plusieurs processeurs traitant chacun le même élément d’information. En fait, différents processeurs tentant chacun de modifier une source de données unique peuvent corrompre l'enregistrement d'origine. Pour empêcher plusieurs unités d'ouvrir la même information, un seul processeur est autorisé à accéder tandis que les composants de traitement restants sont «verrouillés» du fichier.
Cette méthode de verrouillage est efficace pour les ordinateurs dotés d’un faible nombre de processeurs. L’approche pose toutefois problème dans le cas d’appareils dotés d’une large gamme d’unités de traitement liées. Le verrouillage logiciel limite considérablement l'évolutivité et l'efficacité de l'ajout de plusieurs processeurs aux ordinateurs, car il existe des limites à la rapidité avec laquelle les données peuvent être distribuées entre l'espace de stockage et les processeurs.
Aucune machine, y compris un ordinateur, n’est totalement efficace; Cette inefficacité inhérente est aggravée par les ordinateurs multiprocesseurs. Par exemple, un ordinateur doté de seize processeurs peut avoir l'un de ses processeurs inactif en tout temps, car les données ne peuvent pas être distribuées aussi rapidement que nécessaire. À un moment donné, l'inefficacité composée signifie qu'il n'est plus utile d'augmenter le nombre de processeurs dans un ordinateur. L'ajout d'un millier de processeurs à un système est inutile, car la vitesse de transmission des données est limitée et une majorité de processeurs redondants resteraient bloqués dans un verrouillage logiciel constant.
Le verrouillage logiciel peut être minimisé en utilisant un système d'exploitation spécialement conçu pour plusieurs processeurs. Un logiciel spécialisé est capable de décomposer une source de données en plusieurs parties différentes et de distribuer ces parties aux processeurs. Cette approche réduit la nécessité de verrouiller les processeurs, car chaque unité peut traiter un petit composant des données d'origine. Le logiciel multiprocesseur garantit essentiellement que chaque unité de traitement a toujours une tâche et permet aux données de circuler de manière plus distribuée et uniformément dispersée.