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 ™ Stuarta Madnicka w 1968 roku. Na tym wczesnym etapie historii komputera Madnick przewidział, że komputery osobiste staną się mniejsze i tańsze w ciągu następnych kilku dziesięcioleci, ale nadal będą 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łówną przyczyną blokady oprogramowania nie jest błąd sama w sobie, ale raczej funkcja. Na komputerze z kilkoma procesorami połączonymi ze sobą, nie ma przewagi w posiadaniu wielu procEsoruje każdą obsługę tej samej informacji. 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 otwarciu tych samych informacji, tylko jeden procesor jest dozwolony, a 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 dotyczące szybkich danych między przestrzenią pamięci a procesorami.
Żadna maszyna, w tym komputer, nie jest całkowicie wydajna; Ta nieodłączna nieefektywność staje się spotęgowana w komputerach wieloprocesorowych. Komputer z szesnastoma procesorami,Na przykład może mieć jeden z jego procesorów bezczynny przez cały czas, ponieważ danych nie można rozdzielić 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ść zbędnych procesorów utknęłaby w ciągł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.