Czy Ubuntu jest zoptymalizowane pod kątem procesorów wielordzeniowych?

33

Czy Ubuntu korzysta z procesorów wielordzeniowych (tak jak mówi Windows 7)?

Innymi słowy, czy jest zoptymalizowany do wielozadaniowości, aby użytkownicy mogli korzystać z ponad 4 podstawowych procesorów?

Paweł
źródło
7
W tym przypadku słowo „zoptymalizowany” nie ma żadnego sensu lub ma niewielki sens. Jądro Linux obsługuje procesory wielordzeniowe, dlatego też Ubuntu również. „Optymalizacja” wynika z poziomu jakości tego „wsparcia”.
gd1,
2
Jeśli chcesz uzyskać najwyższą wydajność, możesz uruchomić 64-bitową wersję Ubuntu, która może być szybsza w niektórych zadaniach.
Anonimowy
@Anonimowy Czy nie byłoby tak, ponieważ może on wykorzystać więcej pamięci RAM? Wersja 32-bitowa może wykorzystywać tylko tyle GB pamięci RAM (w tym wszystkie karty graficzne itp.), Ale wymaga specjalnych procesorów i systemów operacyjnych.
Anonimowy pingwin

Odpowiedzi:

45

Tak, Ubuntu jest zoptymalizowany pod kątem procesorów wielordzeniowych i działa od wielu lat.

Trochę tła :

„Wersja 2.0 (jądra Linuksa) została wydana 9 czerwca 1996 r. W tej serii było 41 wydań. Główną cechą 2.0 była obsługa SMP (czyli symetryczne przetwarzanie wieloprocesorowe w jednym systemie) i obsługa większej liczby rodzajów procesorów . ”

imbaer
źródło
4
Zasadniczo Linux miał SMP przed liczydłem. Ma nawet obsługę SSMP2, ale nigdy się nie dowiemy, dopóki technologia nie dogoni Linuksa.
Luis Alvarado,
Oczywiście lepsze niż Windows! ;)
Paul,
2
@Michael K, dla przypomnienia, jądro systemu Windows NT ma dobrą obsługę SMP od naprawdę długiego czasu. To, czy aplikacje są wystarczająco inteligentne, aby właściwie wykorzystać wiele procesorów lub rdzeni, to zupełnie inna sprawa.
Mircea Chirea
25

Ubuntu to system operacyjny, dystrybucja Linuksa. System operacyjny składa się z kilku składników oprogramowania, takich jak jądro, biblioteki , usługi / demony, aplikacje itp.

Ubuntu używa jądra Linux, które wykorzystuje symetryczne przetwarzanie wieloprocesowe (SMP) i wiele rdzeni. Bardzo dobrze skaluje się od jedno-rdzeniowych systemów jednordzeniowych o niskiej wydajności do klastrów superkomputerów wysokiej klasy z tysiącami wielordzeniowych procesorów.

Ubuntu zawiera setki bibliotek, z których niektóre są wielowątkowe i bezpieczne dla wątków, a niektóre nie. W niektórych przypadkach sensowne jest, aby były wielowątkowe, w innych nie ma zastosowania, ogólnie jest możliwe lub nie ma większego sensu.

Ubuntu jest dostarczany z setkami aplikacji, niektóre są kodowane tak, aby korzystać z wielordzeniowych procesorów, niektóre nie. W niektórych przypadkach sensowne jest kodowanie aplikacji jako takiej, w innych przypadkach jest to niemożliwe. Nie wszystkie aplikacje, które mogłyby lub powinny korzystać z wielu rdzeni, robią to.

Przykład ma sens, aby gra używała wielordzeniowych kart graficznych, audio, sieci, fizyki itp. Ale nie ma sensu, aby kalkulator, narzędzie do zrzutów ekranu, suduko lub edytor menu były świadome wielu rdzeni.

Anonimowy
źródło
„bezpieczny w handlu”? Czy chodziło Ci o wątek bezpieczny?
Flimm
10

Jądro Ubuntu od dłuższego czasu obsługuje wiele procesorów, tak naprawdę nie ma znaczenia, czy jego wielordzeniowe lub wieloprocesorowe procesory w jednym systemie będą obsługiwane perfekcyjnie.

Jedną z rzeczy, o których musisz wiedzieć, tylko dlatego, że system obsługuje kilka procesorów / rdzeni, a te są obecne w systemie, nie oznacza to, że Twoje aplikacje będą działały automatycznie szybciej. W dzisiejszych czasach często mówi się coś wręcz przeciwnego, jest to kwestia marketingowa.

Aby aplikacja mogła korzystać z kilku procesorów / rdzeni jednocześnie, należy ją zbudować, aby dzielić obciążenie procesowe na te procesory / rdzenie.

To znaczy: załóżmy, że używasz czegoś tak prostego jak wordpadw Windows i otwierasz ogromny plik tekstowy, czas ładowania będzie taki sam, albo masz 1 procesor, albo 1 zillion procesorów (dla procesorów o tej samej szybkości magistrali i podobnej architekturze ofc).

To samo dotyczy jądra Linux i dystrybucji Ubuntu, jeśli aplikacja jest budowana dla jednego wątku, to nic więcej procesorów nie zrobi.

Jedną z rzeczy, które systemy operacyjne robią teraz kilka dni, aby zoptymalizować obciążenie aplikacji kilkoma procesorami / rdzeniami, jest możliwość uruchomienia procesu na rdzeniu, który nie jest tak obciążony jak inne, w ten sposób równoważąc obciążenie i upewniając się, że wiele rdzeni wykorzystanie jest optymalne. Trudne w praktyce wykorzystanie tej techniki przynosi jedynie niewielkie ulepszenia prędkości.

Jeśli naprawdę chcesz, aby rdzenie świeciły, musisz intensywnie wykorzystywać procesor za pomocą programów obsługujących symetryczne przetwarzanie wieloprocesowe , takich jak edycja wideo itp.

Bruno Pereira
źródło
1

Tak, działa idealnie dla mnie i mam wiele procesorów i hiperwątkowość, co zapomniałem, co to znaczy, ale jestem prawie pewien, że to oznacza, że ​​każdy procesor może wykonywać wiele wątków, co w połączeniu z faktem, że każdy procesor ma Wydaje się, że 2 rdzenie stanowią problem. Jedynym problemem, z jakim się zetknąłem do tej pory, jest to, że programy na Ubuntu często go zamrażają. Zrobiłem to rzadziej, zmniejszając swappiness, ponieważ mam 6 GB pamięci RAM.

boso138
źródło
Twój komentarz na temat zawieszania się programów można lepiej umieścić w pytaniu na ten temat. Jeśli nie możesz znaleźć odpowiednich pytań na temat wiszących programów, możesz zadać je samemu, a następnie odpowiedzieć - to jest w porządku w askubuntu. Ja nie sugeruję, że usunąć komentarze - wystarczy, że dzielić się wiedzą już nauczył się gdzieś, gdzie może być łatwiej znaleźć.
John S Gruber,