Skip to main content

Co to jest blokada oprogramowania?

Blokada oprogramowania to problem komputerowy, który może wystąpić w systemach wieloprocesorowych.Ta blokada może spowodować gwałtowny spadek wydajności komputera i zapobiec korzystaniu z dodatkowych możliwości procesora.W nowoczesnych komputerach wieloprocesorowych należy użyć specjalnego oprogramowania do systemu operacyjnego, aby uniknąć awarii blokady oprogramowania.

Występowanie blokady oprogramowania zostało po raz pierwszy opisane przez naukowca IBM ™ Stuart Madnick w 1968 roku.Komputery stałyby się mniejsze i tańsze w ciągu następnych kilku dekad, ale nadal byłyby ograniczone do mniej więcej takich samych prędkości transferu danych.Ta prognoza okazała się w większości poprawna, a użyteczna moc komputerów jest często zwiększana poprzez po prostu dodanie dodatkowych procesorów.

Główna przyczyna blokady oprogramowania nie jest błąd sama w sobie, ale raczej funkcja.W komputerze z kilkoma procesorami połączonymi ze sobą nie ma przewagi, gdy wiele procesorów obsługuje tę samą informację.W rzeczywistości różne procesory, z których każde próbują zmodyfikować pojedyncze źródło danych, mogą uszkodzić oryginalny rekord.Aby zapobiec otwieraniu wielu jednostek tych samych informacji, dopuszczalny jest tylko jeden procesor, podczas gdy pozostałe komponenty przetwarzania są „zablokowane” pliku.

Ta metoda blokady jest skuteczna dla komputerów z małą liczbą procesorów.Podejście staje się jednak problemem w urządzeniach z szerokim zakresem połączonych jednostek przetwarzania.Blokada oprogramowania poważnie ogranicza skalowalność i skuteczność dodawania wielu procesorów do komputerów, ponieważ istnieją ograniczenia do tego, jak szybkie dane mogą być dystrybuowane między przestrzenią pamięci a procesorami.

Brak maszyny, w tym komputer, nie jest całkowicie wydajne;Ta nieodłączna nieefektywność staje się spotęgowana w komputerach wieloprocesorowych.Na przykład komputer z szesnastoma procesorami może zawsze mieć jeden z jego procesorów bezczynnych, ponieważ danych nie można rozpowszechniać tak szybko, jak to konieczne.W pewnym momencie nieefektywność złożona oznacza, że nie jest już przydatne zwiększenie liczby procesorów na komputerze.Dodanie tysiąca procesorów do systemu jest bezużyteczne, ponieważ prędkość danych jest ograniczona, a większość nadmiarowych procesorów utknęłaby w stałej blokowaniu oprogramowania.

Blokada oprogramowania można zminimalizować za pomocą systemu operacyjnego, który jest specjalnie zaprojektowany dla wielu procesorów.Specjalistyczne oprogramowanie jest w stanie podzielić źródło danych na wiele różnych utworów i przekazać te części procesorom.Takie podejście zmniejsza potrzebę blokowania procesorów, ponieważ każda jednostka może przetwarzać mały składnik oryginalnych danych.Zasadniczo oprogramowanie wieloprocesorowe zapewnia, że każda jednostka przetwarzania zawsze ma zadanie i utrzymuje przepływ danych w bardziej rozproszony i równomiernie rozproszony sposób.