Što je softversko zaključavanje?

Softversko zaključavanje je računalni problem koji se može pojaviti u višeprocesorskim sustavima. Ovo zaključavanje može uzrokovati drastičan pad performansi računala i spriječiti korištenje dodatnih mogućnosti procesora. U modernim višeprocesorskim računalima mora se koristiti poseban softver operacijskog sustava kako bi se izbjegao kvar softverskog zaključavanja.

Pojavu zaključavanja softvera prvi je opisao IBM™ znanstvenik Stuart Madnick 1968. U ovoj ranoj fazi računalne povijesti, Madnick je predvidio da će osobna računala postati manja i jeftinija tijekom sljedećih nekoliko desetljeća, ali će i dalje biti ograničena na otprilike iste brzine prijenosa podataka. Ovo predviđanje pokazalo se uglavnom točnim, a korisna snaga računala često se povećava jednostavnim dodavanjem dodatnih procesora.

Primarni uzrok zaključavanja softvera nije greška sama po sebi, već značajka. U računalu s nekoliko međusobno povezanih procesora, nema prednosti u tome da više procesora rukuje istim informacijama. Zapravo, različiti procesori koji svaki pokušavaju izmijeniti jedan izvor podataka mogu oštetiti izvorni zapis. Kako bi se spriječilo da više jedinica otvori iste informacije, samo jednom procesoru je dopušten pristup dok su preostale komponente za obradu “zaključane” iz datoteke.

Ova metoda zaključavanja učinkovita je za računala s malim brojem procesora. Pristup postaje problem, međutim, u uređajima sa širokim rasponom povezanih procesnih jedinica. Softversko zaključavanje ozbiljno ograničava skalabilnost i učinkovitost dodavanja više procesora računalima, jer postoje ograničenja u tome koliko brzo se podaci mogu distribuirati između prostora za pohranu i procesora.

Nijedan stroj, uključujući računalo, nije potpuno učinkovit; ova inherentna neučinkovitost postaje složena u višeprocesorskim računalima. Računalo sa šesnaest procesora, na primjer, moglo bi imati jedan od svojih procesora u stanju mirovanja cijelo vrijeme jer se podaci ne mogu distribuirati onoliko brzo koliko je potrebno. U nekom trenutku, složena neučinkovitost znači da više nije korisno povećavati broj procesora u računalu. Dodavanje tisuću procesora u sustav je beskorisno, budući da je brzina podataka ograničena, a većina suvišnih procesora zaglavila bi u stalnom softverskom zaključavanju.

Softversko zaključavanje može se svesti na minimum korištenjem operativnog sustava koji je posebno dizajniran za više procesora. Specijalizirani softver može razbiti izvor podataka na mnogo različitih dijelova i distribuirati te dijelove procesorima. Ovaj pristup smanjuje potrebu za zaključavanjem procesora, budući da svaka jedinica može obraditi malu komponentu izvornih podataka. U osnovi, višeprocesorski softver osigurava da svaka procesorska jedinica uvijek ima zadatak i održava protok podataka na raspoređeniji i ravnomjernije raspoređen način.