Hvad er et softwarelås?
En softwarelåsning er et computerproblem, der kan opstå i multiprocessorsystemer. Denne lockout kan medføre, at computerens ydelse falder dramatisk og forhindrer brugen af yderligere processorkapacitet. I moderne multiprocessorcomputere skal speciel operativsystemsoftware bruges for at undgå funktionsfejl i softwarelåsen.
Forekomsten af software-lockout blev først beskrevet af IBM ™ -forsker Stuart Madnick i 1968. På dette tidlige stadium i computerhistorien forudsagde Madnick, at personlige computere ville blive mindre og billigere i løbet af de næste årtier, men ville fortsat være begrænset til nogenlunde de samme dataoverførselshastigheder. Denne forudsigelse viste sig for det meste at være korrekt, og computernes nyttige kraft øges ofte ved blot at tilføje ekstra processorer.
Den primære årsag til softwarelåsning er ikke en fejl i sig selv, men snarere en funktion. I en computer med flere processorer knyttet sammen, er der ingen fordel ved at have flere processorer, der hver håndterer det samme stykke information. Faktisk kan forskellige processorer, der hver forsøger at ændre en enkelt datakilde, ødelægge den originale post. For at forhindre, at flere enheder åbner de samme oplysninger, er det kun en processor, der har adgang til, mens de resterende behandlingskomponenter er “låst” af filen.
Denne lockout-metode er effektiv til computere med et lavt antal processorer. Fremgangsmåden bliver imidlertid et problem i enheder med en bred vifte af sammenkoblede behandlingsenheder. Softwarelås begrænser alvorligt skalerbarheden og effektiviteten ved at tilføje flere processorer til computere, fordi der er grænser for, hvor hurtigt data kan distribueres mellem lagerplads og processorer.
Ingen maskine, inklusive en computer, er fuldstændig effektiv; denne iboende ineffektivitet bliver sammensat i multiprocessorcomputere. For eksempel kan en computer med seksten processorer muligvis have en af sine processorer inaktiv, fordi data ikke kan distribueres så hurtigt som nødvendigt. På et tidspunkt betyder sammensat ineffektivitet, at det ikke længere er nyttigt at udvide antallet af processorer på en computer. Det er nytteløst at tilføje tusind processorer til et system, da datahastigheden er begrænset, og et flertal af de overflødige processorer sidder fast i konstant softwarelockout.
Softwarelåsning kan minimeres ved hjælp af et operativsystem, der er specifikt designet til flere processorer. Specialiseret software er i stand til at dele en datakilde i mange forskellige stykker og distribuere disse dele til processorerne. Denne fremgangsmåde reducerer behovet for at låse processorer ud, da hver enhed kan behandle en lille komponent af de originale data. I det væsentlige sørger multiprocessorsoftware for, at hver behandlingsenhed altid har en opgave og holder data flyder på en mere distribueret og jævnt spredt måde.