Tarkvara lukustus on arvutiprobleem, mis võib ilmneda mitme protsessoriga süsteemides. See lukustus võib põhjustada arvuti jõudluse järsu languse ja takistada protsessori lisavõimaluste kasutamist. Kaasaegsetes mitmeprotsessorilistes arvutites tuleb tarkvara lukustuse rikke vältimiseks kasutada spetsiaalset operatsioonisüsteemi tarkvara.
Tarkvara sulgumist kirjeldas esmakordselt IBM™ teadlane Stuart Madnick 1968. aastal. Arvutiajaloo varases staadiumis ennustas Madnick, et personaalarvutid muutuvad järgmiste aastakümnete jooksul väiksemaks ja odavamaks, kuid neid piiratakse jätkuvalt ligikaudu samad andmeedastuskiirused. See ennustus osutus enamasti õigeks ja arvutite kasulikku võimsust suurendab sageli lihtsalt lisaprotsessorite lisamine.
Tarkvara lukustamise peamine põhjus ei ole viga per se, vaid pigem funktsioon. Mitme protsessoriga arvutis pole eeliseid, kui mitu protsessorit töötlevad sama teavet. Tegelikult võivad erinevad protsessorid, mis kõik üritavad muuta ühte andmeallikat, algset kirjet rikkuda. Et vältida sama teabe avamist mitmel seadmel, on juurdepääs ainult ühele protsessorile, samal ajal kui ülejäänud töötlemiskomponendid on failist “lukustatud”.
See lukustusmeetod on efektiivne vähese protsessorite arvuga arvutite jaoks. See lähenemine muutub aga probleemiks seadmetes, millel on lai valik ühendatud protsessoriüksusi. Tarkvaralukustus piirab tõsiselt mitme protsessori arvutisse lisamise mastaapsust ja tõhusust, kuna andmete jaotamisel salvestusruumi ja protsessorite vahel on piirangud.
Ükski masin, sealhulgas arvuti, pole täiesti tõhus; see loomupärane ebaefektiivsus süveneb mitme protsessoriga arvutites. Näiteks kuueteistkümne protsessoriga arvutis võib üks protsessoritest olla kogu aeg jõude, kuna andmeid ei saa nii kiiresti levitada kui vaja. Ühel hetkel tähendab liite ebaefektiivsus, et arvuti protsessorite arvu suurendamine pole enam kasulik. Tuhande protsessori lisamine süsteemi on kasutu, kuna andmeedastuskiirus on piiratud ja suurem osa üleliigseid protsessoreid jääks pidevasse tarkvara lukustusse.
Tarkvara lukustumist saab minimeerida, kasutades operatsioonisüsteemi, mis on spetsiaalselt loodud mitme protsessori jaoks. Spetsiaalne tarkvara suudab jagada andmeallika paljudeks erinevateks osadeks ja jagada need osad protsessoritele. See lähenemine vähendab vajadust protsessoreid välja lülitada, kuna iga seade suudab töödelda algandmete väikest komponenti. Põhimõtteliselt tagab mitme protsessoriga tarkvara, et igal töötlemisüksusel on alati oma ülesanne, ning hoiab andmevoogu hajutatumalt ja ühtlasemalt.