Równoległe vs. Procesor szeregowy

Procesor na płycie głównej

Zbliżenie na chip procesora na płycie głównej komputera

Źródło obrazu: Riccardo_Mojana/iStock/Getty Images

Przetwarzanie równoległe i szeregowe opisuje, czy system komputerowy może rozdzielić zadania obliczeniowe do użycia kilka procesorów lub rdzeni jednocześnie lub jeśli jest to uzależnione od wykonywania zadań za pomocą jednego procesora rdzeń. Wszystkie indywidualne procesory do komputerów konsumenckich były procesorami szeregowymi przed połową 2005 r., kiedy firma Intel wprowadziła pierwszy konsumencki procesor dwurdzeniowy. Kilka jednordzeniowych procesorów może współpracować ze sobą w celu obsługi przetwarzania szeregowego przez połączone w sieć równoległe klastry komputerowe lub z kilkoma procesorami na jednej płycie głównej.

Komputery to maszyny wielozadaniowe

Typowy współczesny komputer wykonuje dziesiątki do setek zadań w dowolnym momencie; jednak każdy rdzeń pracuje tylko na jednym procesie naraz. Procesor nieustannie przeskakuje między różnymi „wątkami” przetwarzania lub „strumieniem instrukcji”, aby uruchamiać kilka współbieżnych programów w iluzji czasu rzeczywistego zwanej współbieżnością. Komputer marnuje cykle procesora podczas przełączania między zadaniami i nie działa z optymalną wydajnością podczas wielozadaniowości.

Wideo dnia

Wykonywanie zadań równolegle

Środowisko przetwarzania równoległego może przetwarzać zadania szybciej, gdy programy są zaprojektowane do korzystania z przetwarzania równoległego. Programy szeregowe ustawiają wszystkie instrukcje w układzie szeregowym i łączą się z procesorem za pomocą jednego wątku. Programy równoległe działają, dzieląc zadania na poszczególne części, które można podzielić między kilka rdzeni procesora i ponownie złożyć jako ukończone zadania. Procesory równoległe mogą zwielokrotniać moc obliczeniową procesorów szeregowych o podobnym taktowaniu z odpowiednio napisanym kodem. Jednak procesor szeregowy o wyższej szybkości zegara może przewyższać procesory równoległe podczas pracy z pojedynczym wątkiem.

Przetwarzanie seryjne w akcji

Programy napisane do przetwarzania szeregowego używają tylko jednego rdzenia na raz i przetwarzają zadania w kolejności sekwencyjnej. Procesor szeregowy działa podobnie do tuzina otwartych pasów kasowych w sklepie spożywczym, z jednym kasjerem biegającym między różnymi pasami, sprawdzającym wszystkich w tym samym czasie. Kasjer, inaczej procesor, przeskakuje z jednego toru na drugi, sprawdzając kilka pozycji naraz, zanim przejdzie do następnego, mając na celu sfinalizowanie wszystkich zamówień w tym samym czasie.

Przetwarzanie równoległe w działaniu

Ideą procesorów równoległych jest to, że większa liczba współpracujących rdzeni prowadzi do lepszej wydajności. Procesor równoległy zachowuje się tak, jakby miał więcej niż jednego kasjera obsługującego kilkanaście pasów kasowych. Jeśli program jest skonfigurowany do korzystania z przetwarzania równoległego, „klient” może podzielić swoje zamówienie na mniejsze grupy i korzystać z kilku pasów kasowych jednocześnie.

Procesory równoległe rozszerzają możliwości

W 2007 roku Nvidia po raz pierwszy zastosowała przetwarzanie równoległe do rozwoju technologii graficznej. Jednostki przetwarzania grafiki wykorzystują przetwarzanie równoległe na poziomie, który zaburza wydajność przetwarzania szeregowego podczas wykonywania małych obliczeń. Podczas gdy procesory mają zwykle łatwo policzalną liczbę rdzeni, procesory graficzne mogą mieć tysiące rdzeni o mniejszej mocy, które lepiej nadają się do wykonywania prostszych jednoczesnych obliczeń. Procesory graficzne są powszechnie używane w grafice, ale mogą wykonywać inne obliczenia, takie jak sortowanie i algebra macierzy.