Ile to może obsłużyć? lub ile to poradzi, zanim stracisz jakieś korzyści? także jakie jądro? Podejrzewam, że ta odpowiedź nieco się zmienia w przypadku komputera załatanego do obsługi superkomputera. Wydaje mi się, że pamiętam o jednym wystąpieniu z procesorami 4096 ...
Xenoterracide
jaki zestaw łatek, normalny zestaw łatek nie obsługuje procesorów 4096, ale Linux został załatany, aby to zrobić. (IIRC wydaje się sugerować, że niektóre odpowiedzi mogą)
ksenoterracid
@xeno Myślę, że fakt, że istnieje nawet zestaw łatek, który obsługuje 4096 procesorów, jest rzeczą, o której należy wspomnieć w odpowiedzi.
tshepang
Nie pamiętam nic więcej, w przeciwnym razie dałbym odpowiedź, ja również jej wydajność zyskała 16? rdzenie były ograniczone ... i że niektóre części jądra wymagały przepisania, które już się rozpoczęło. ale tak naprawdę nie mam żadnych cytatów i nie jestem w 100% dlatego nie odpowiadam.
Co najmniej 2048 w praktyce. Jako konkretny przykład, SGI sprzedaje swój system UV , który może wykorzystywać 256 gniazd (2048 rdzeni) i 16 TB pamięci współdzielonej, wszystkie działające pod jednym jądrem. Wiem, że w tej konfiguracji sprzedano co najmniej kilka systemów.
Według SGI:
Altix UV działa całkowicie niezmodyfikowany Linux, w tym standardowe dystrybucje zarówno Novell, jak i Red Hat.
oto, co Launchpad ma do powiedzenia na temat Ubuntu, więc myślę, że dotyczy to innych:
1.Intel x86:
Maximum CPUs: 32 (including logical CPUs)
Maximum memory: 64GB
Maximum filesize: 8TB
Maximum filesystem size (ext3) 16TB
Maximum per-process virtual address space: 4GB
2.AMD64/EM64T:
Maximum CPUs: 64
Maximum memory: 128GB
Maximum filesize: 8TB
Maximum filesystem size (ext3): 16TB
Maximum per-process virtual address space: N/A
These are standard max limitations whereas Linux cluster systems can scale up to 1024 CPU's.
To jest 32 lub 64 procesory odpowiednio dla x86 i x86_64.
Redhat mówi to samo, ale w przyjaznym dla zarządu stole . Redhat EL6 może wykonać 32 dla rdzeni x86 lub 128 lub 4096 rdzeni dla x86_64.
arch / x86 / Kconfig mówi, że CONFIG_NR_CPUSlimity te można zwiększyć, jeśli CONFIG_MAXSMPjest włączone.
ephemient
6
Jądro Linux x86_64 może obsłużyć maksymalnie 4096 wątków procesora w jednym obrazie systemowym. Oznacza to, że przy włączonej hiperwątkowości maksymalna liczba rdzeni procesora wynosi 2048. Tak, są komputery z więcej niż 2048 rdzeniami procesorów; ale działają one jako klastry, w których współpracuje kilka jąder Linuksa, połączone szybkim interkonektem, zazwyczaj tkaniną Infiniband.
z najnowszego jądra 3.13 w ~ / arch / x86 / Kconfig:
config NR_CPUS
---help---
This allows you to specify the maximum number of CPUs which this
kernel will support. If CPUMASK_OFFSTACK is enabled, the maximum
supported value is 4096, otherwise the maximum value is 512. The
minimum value which makes sense is 2.
This is purely to save memory - each supported CPU adds
approximately eight kilobytes to the kernel image.
Wiem, że to stary post, ale łączysz się z komputerem w klastrze. Pytanie dotyczy uruchomienia pojedynczej instancji jądra.
frodeborli
1
Wątki są subiektywne dla modelu wielozadaniowości i schematu zarządzania wątkami. Gdt systemów opartych na inteligencji jest używany w systemie Linux, o ile dobrze pamiętam. Chodzi o to, że ma możliwość 8192 wątków w maksymalnym rozmiarze. Zakładając, że system używa gdt do zarządzania wątkami. Na komputerach 32-bitowych przełączanie zadań jest zarządzane, a na komputerach 32- i 64-bitowych wektory przerwań muszą mieć wpisy gdt. Nie jestem pewien, jak robi to ramię, ale należy osiągnąć tę samą artykulację. Koncepcje przełączania zadań powtarzają GDT w modelach zadań.
Jeśli wyjdziesz ze schematu gdt, prawdopodobnie osiągniesz to, co masz w pamięci, kiedy masz, dla każdego wątku, ramkę stosu stron, bazę kodu strony dla wątku i stronę przestrzeni sterty. Nie możesz założyć, że masz stronę kodu lub sterty, która jest zmiennymi losowymi. Zasadniczo istnieją dwie ramki stosu dla każdego wątku, jedna obsługiwana przez wątek, a druga obsługiwana przez jądro Linuksa. Dodajesz koncepcje pamięci wirtualnej dla przestrzeni wymiany, a model jest wydmuchiwany z wody, ale chodzi o priorytet wątku.
Jeśli używasz Linuksa jako Kontroli na SGI UV i używasz z nim Bladecenters na własnym jądrze 4.15, możesz użyć na chwilę:
4096 Stojaki na ostrza. 1 stojak z wykorzystaniem 1024 rdzeni x 4096 rdzeni. Ta konfiguracja będzie w chwili najwyższej rdzenia używanego pod Linuksem. Możesz kontrolować wszystkie rdzenie w Red Hat.
Odpowiedzi:
Co najmniej 2048 w praktyce. Jako konkretny przykład, SGI sprzedaje swój system UV , który może wykorzystywać 256 gniazd (2048 rdzeni) i 16 TB pamięci współdzielonej, wszystkie działające pod jednym jądrem. Wiem, że w tej konfiguracji sprzedano co najmniej kilka systemów.
Według SGI:
źródło
oto, co Launchpad ma do powiedzenia na temat Ubuntu, więc myślę, że dotyczy to innych:
To jest 32 lub 64 procesory odpowiednio dla x86 i x86_64.
Redhat mówi to samo, ale w przyjaznym dla zarządu stole . Redhat EL6 może wykonać 32 dla rdzeni x86 lub 128 lub 4096 rdzeni dla x86_64.
źródło
CONFIG_NR_CPUS
limity te można zwiększyć, jeśliCONFIG_MAXSMP
jest włączone.Jądro Linux x86_64 może obsłużyć maksymalnie 4096 wątków procesora w jednym obrazie systemowym. Oznacza to, że przy włączonej hiperwątkowości maksymalna liczba rdzeni procesora wynosi 2048. Tak, są komputery z więcej niż 2048 rdzeniami procesorów; ale działają one jako klastry, w których współpracuje kilka jąder Linuksa, połączone szybkim interkonektem, zazwyczaj tkaniną Infiniband.
z najnowszego jądra 3.13 w ~ / arch / x86 / Kconfig:
config NR_CPUS
Aktualizacja: w nowszych jądrach jest to specyficzne dla architektury - na przykład 4.15 x86_64 pozwala ustawić NR_CPUS na 8192 w odpowiednich okolicznościach, podczas gdy 32-bitowe ramię zatrzymuje się na 32 .
źródło
To dziecko ma 10 368 punktów!
źródło
Wątki są subiektywne dla modelu wielozadaniowości i schematu zarządzania wątkami. Gdt systemów opartych na inteligencji jest używany w systemie Linux, o ile dobrze pamiętam. Chodzi o to, że ma możliwość 8192 wątków w maksymalnym rozmiarze. Zakładając, że system używa gdt do zarządzania wątkami. Na komputerach 32-bitowych przełączanie zadań jest zarządzane, a na komputerach 32- i 64-bitowych wektory przerwań muszą mieć wpisy gdt. Nie jestem pewien, jak robi to ramię, ale należy osiągnąć tę samą artykulację. Koncepcje przełączania zadań powtarzają GDT w modelach zadań.
Jeśli wyjdziesz ze schematu gdt, prawdopodobnie osiągniesz to, co masz w pamięci, kiedy masz, dla każdego wątku, ramkę stosu stron, bazę kodu strony dla wątku i stronę przestrzeni sterty. Nie możesz założyć, że masz stronę kodu lub sterty, która jest zmiennymi losowymi. Zasadniczo istnieją dwie ramki stosu dla każdego wątku, jedna obsługiwana przez wątek, a druga obsługiwana przez jądro Linuksa. Dodajesz koncepcje pamięci wirtualnej dla przestrzeni wymiany, a model jest wydmuchiwany z wody, ale chodzi o priorytet wątku.
źródło
Również:
Jeśli używasz Linuksa jako Kontroli na SGI UV i używasz z nim Bladecenters na własnym jądrze 4.15, możesz użyć na chwilę:
4096 Stojaki na ostrza. 1 stojak z wykorzystaniem 1024 rdzeni x 4096 rdzeni. Ta konfiguracja będzie w chwili najwyższej rdzenia używanego pod Linuksem. Możesz kontrolować wszystkie rdzenie w Red Hat.
źródło