- Co to jest przetwarzanie wieloprocesowe?
- Różnica między przetwarzaniem wieloprocesowym a wieloprogramowym
- Wymagania
- Obsługa procesorów
- Wspornik płyty głównej
- Wsparcie systemu operacyjnego
- Rodzaje przetwarzania wieloprocesowego
- Symetryczne przetwarzanie wieloprocesowe
- Asymetryczne przetwarzanie wieloprocesowe
- Korzyść
- Wyższa produktywność
- Wyższa niezawodność
- Oszczędzać pieniądze
- Niedogodności
- Wyższy koszt zakupu
- Złożony system operacyjny
- Wymagana jest duża ilość pamięci
- Bibliografia
Wieloprocesorowe , w odniesieniu do komputera, jest formą działania komputera, na którym jest on fizycznie więcej niż jeden procesor. Celem jest chęć jednoczesnego uruchamiania różnych części programu.
Te liczne jednostki centralne (CPU) są w ścisłej komunikacji, współużytkując magistralę, pamięć i inne urządzenia peryferyjne komputera. Ponieważ dostępnych jest wiele procesorów, wiele procesów może być uruchomionych w tym samym czasie.
Źródło: Khazadum
Wieloprocesorowość odnosi się bardziej do liczby jednostek CPU niż liczby procesów uruchomionych jednocześnie. Jeśli sprzęt zapewnia więcej niż jeden procesor, oznacza to przetwarzanie wieloprocesowe. Jest to zdolność systemu do wykorzystania mocy obliczeniowej wielu procesorów.
System wieloprocesowy jest bardzo przydatny, gdy chcesz mieć wystarczająco dużą prędkość, aby przetwarzać duży zestaw danych. Systemy te są najczęściej używane w zastosowaniach takich jak prognozowanie pogody, sterowanie satelitarne itp.
Ten typ systemu wieloprocesorowego pojawił się po raz pierwszy w dużych komputerach lub komputerach typu mainframe, zanim obniżył jego koszt, aby zapewnić włączenie go do komputerów osobistych.
Co to jest przetwarzanie wieloprocesowe?
Przy wsparciu systemu wieloprocesorowego kilka procesów może być wykonywanych równolegle.
Załóżmy, że procesy Pr1, Pr2, Pr3 i Pr4 czekają na wykonanie. W systemie z jednym procesorem jeden proces będzie uruchamiany najpierw, potem następny, potem drugi i tak dalej.
Jednak w przypadku przetwarzania wieloprocesowego każdy proces może być przypisany do konkretnego procesora do przetwarzania.
Jeśli jest to procesor dwurdzeniowy, z dwoma procesorami, dwa procesy mogą być wykonywane jednocześnie, a zatem będą one dwukrotnie szybsze. Podobnie czterordzeniowy procesor będzie czterokrotnie szybszy niż pojedynczy procesor.
Ponieważ każdy procesor ma przypisaną określoną funkcję, będzie mógł wykonać swoją pracę, dostarczyć zestaw instrukcji do następnego procesora i rozpocząć pracę nad nowym zestawem instrukcji.
Na przykład większy procesor może wykorzystywać procesory „slave” do wykonywania różnych zadań czyszczenia, takich jak zarządzanie pamięcią.
Podobnie, różne procesory mogą być używane do zarządzania komunikacją danych, przechowywaniem pamięci lub funkcjami arytmetycznymi.
Różnica między przetwarzaniem wieloprocesowym a wieloprogramowym
System jest wieloprocesorowy, mając fizycznie więcej niż jeden procesor, i może być wieloprogramowy, gdy wiele procesów działa jednocześnie.
Dlatego różnica między przetwarzaniem wieloprocesowym i wieloprocesorowym polega na tym, że wieloprocesorowość uruchamia wiele procesów w tym samym czasie na wielu procesorach, podczas gdy wieloprocesorowość utrzymuje wiele programów w pamięci głównej i uruchamia je jednocześnie przez jeden procesor.
Oznacza to, że przetwarzanie wieloprocesowe odbywa się poprzez przetwarzanie równoległe, podczas gdy wieloprogramowanie ma miejsce, gdy pojedynczy procesor przełącza się z jednego procesu na inny.
Wymagania
Aby efektywnie wykorzystywać system wieloprocesowy, system komputerowy musi mieć:
Obsługa procesorów
Musisz mieć zestaw procesorów, które mają możliwość używania ich w systemie wieloprocesorowym.
Wspornik płyty głównej
Płyta główna, która może zawierać i obsługiwać wiele procesorów. Oznacza to dodatkowe gniazda lub gniazda na dodatkowe chipy.
Wsparcie systemu operacyjnego
Całym zadaniem przetwarzania wieloprocesowego zarządza system operacyjny, który przydziela różne zadania do wykonania przez różne procesory w systemie.
Mówi się, że aplikacje zaprojektowane do użytku w przetwarzaniu wieloprocesowym są zszywane, co oznacza, że są podzielone na mniejsze procedury, które mogą być uruchamiane niezależnie.
Pozwala to systemowi operacyjnemu na jednoczesne działanie tych wątków na więcej niż jednym procesorze, co skutkuje wieloprocesorowością i lepszą wydajnością.
Rodzaje przetwarzania wieloprocesowego
Symetryczne przetwarzanie wieloprocesowe
W tego typu przetwarzaniu wieloprocesorowym wszystkie procesory mają wzajemną relację na tym samym poziomie równości, to znaczy nie ma między nimi relacji typu master-slave.
Wszystkie procesory komunikują się ze sobą, ponieważ każdy zawiera kopię tego samego systemu operacyjnego.
Przykładem symetrycznego systemu wieloprocesorowego jest wersja systemu Unix Encore dla komputera Multimax.
Asymetryczne przetwarzanie wieloprocesowe
W tego typu przetwarzaniu wieloprocesowym istnieje procesor główny, który przekazuje instrukcje wszystkim pozostałym procesorom, przypisując każdemu z nich wcześniej zdefiniowane zadanie. Jest to najbardziej ekonomiczna opcja, utrzymująca relację master-slave między procesorami.
Ten typ przetwarzania wieloprocesowego istniał tylko do momentu wprowadzenia symetrycznych procesorów wieloprocesorowych.
Korzyść
Wyższa produktywność
Dzięki przetwarzaniu wieloprocesowemu wykonasz więcej zadań w znacznie krótszym czasie.
Jeśli kilka procesorów współpracuje ze sobą, wydajność systemu wzrasta, zwiększając liczbę procesów wykonywanych w jednostce czasu.
Wyższa niezawodność
W przypadku awarii procesora wieloprocesorowość okazuje się bardziej niezawodna, ponieważ w takiej sytuacji system zwolni, ale nie ulegnie awarii. Ta zdolność do kontynuowania pracy pomimo niepowodzenia jest znana jako pełna gracji degradacja.
Na przykład, jeśli którykolwiek z procesorów ulegnie awarii z łącznie pięciu, zadanie nie zakończy się niepowodzeniem, ale pozostałe cztery procesory będą dzielić pracę z uszkodzonym procesorem. Dlatego system będzie działał o 20% wolniej, zamiast całkowicie się zawiesić.
Oszczędzać pieniądze
Systemy te mogą generować długoterminowe oszczędności w porównaniu z systemami jednoprocesorowymi, ponieważ procesory mogą współdzielić zasilacze, urządzenia peryferyjne i inne urządzenia.
Jeśli istnieje wiele procesów, które współużytkują dane, lepiej jest zaprogramować je w systemach wieloprocesowych do udostępniania danych, niż mieć różne systemy komputerowe z wieloma kopiami tych danych.
Niedogodności
Wyższy koszt zakupu
Chociaż systemy wieloprocesorowe są na dłuższą metę tańsze niż korzystanie z wielu systemów komputerowych, nadal są dość drogie.
Dużo taniej jest kupić prosty system z jednym procesorem niż system wieloprocesorowy.
Złożony system operacyjny
W systemach wieloprocesorowych wymagany jest bardziej złożony system operacyjny.
Dzieje się tak, ponieważ posiadanie wielu procesorów, które współużytkują pamięć, urządzenia itp. dystrybucja zasobów do procesów jest bardziej skomplikowana, niż gdyby był tylko jeden procesor.
Wymagana jest duża ilość pamięci
Wszystkie procesory w systemie wieloprocesorowym współużytkują pamięć główną. Dlatego wymagana jest znacznie większa pula pamięci w porównaniu z systemami z jednym procesorem.
Bibliografia
- Dinesh Thakur (2019). Definicja Wieloprocesorowy system operacyjny. Notatki do komputera pobrane z: ecomputernotes.com.
- Tutorials Point (2019). Różnica między wielozadaniowością, wielowątkowością i wielowątkowością. Zaczerpnięte z: tutorialspoint.dev.
- Encyclopaedia Britannica (2019). Wieloprocesowość. Zaczerpnięte z: britannica.com.
- Techopedia (2019). Wieloprocesorowy. Zaczerpnięte z: sufitpedia.com.
- Kristi Castro (2018). Systemy wieloprocesorowe. Tutorials Point. Zaczerpnięte z: tutorialspoint.com.