Wsparcie dla NUMA we FreeBSD

NUMA (Non-Uniform Memory Access) jest architekturą pamięci dla maszyn wieloprocesorowych o  pamięci współdzielonej. NUMA charakteryzującą się tym, że każdy fizyczny procesor posiada dedykowany fragment pamięci fizycznej dołączony przez indywidualny kontroler pamięci. NUMA umożliwia osiągnięcie większej skalowalności – w przeciwieństwie do UMA, NUMA nie wprowadza pojedynczego wąskiego gardła w dostępie do pamięci.

Sama architektura NUMA jest realizowana sprzętowo bez udziału systemu operacyjnego, a do jej realizacji używane są technologie wbudowane w procesor oraz specjalna szyna, łącząca procesory w kostkę wielowymiarową i umożliwiającą procesorom dostęp do zakresów pamięci innych procesorów.

System operacyjny może wykorzystywać wiedzę o topologii procesorów i pamięci w celu zwiększenia swojej wydajności, a także aplikacji w nim uruchomionych. W tym celu do FreeBSD dodano parser tablicy SRAT z ACPI, która zawiera informację o zakresach pamięci przydzielonych do poszczególnych procesorów oraz zmodyfikowano podsystem zarządzania pamięcią wirtualną.

Podziękowanie dla Konrada Jopka za merytoryczne poszerzenie newsa.

Skomentuj

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *