From a7e9e5fa5fcded00e0608e89380295f3b27727e1 Mon Sep 17 00:00:00 2001 From: Thomas Kuschel Date: Fri, 1 Dec 2023 14:06:49 +0100 Subject: [PATCH] UPD memory placement aware NUMA scheduler --- documentation/linux_configuration.pdf | Bin 174313 -> 182630 bytes documentation/linux_configuration.tex | 103 ++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) diff --git a/documentation/linux_configuration.pdf b/documentation/linux_configuration.pdf index 4a391c6f4cc1ad287d1a7e8b986ab7ddf4017ae0..82227aca91102841a8b8ef0ccb488c74367da385 100644 GIT binary patch delta 45561 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 delta 37350 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®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 diff --git a/documentation/linux_configuration.tex b/documentation/linux_configuration.tex index fa4129a..019bbe6 100644 --- a/documentation/linux_configuration.tex +++ b/documentation/linux_configuration.tex @@ -745,5 +745,108 @@ eBPF-Tracing-Programme oder ähnliche Programme zu erstellen. Wenn Sie die Heade als Modul erstellen, wird ein Modul namens kheaders.ko erstellt, das bei Bedarf geladen werden kann, um Zugriff auf die Header zu erhalten. +\subsection{Kernel log buffer size (16 $\Rightarrow$ 64KB, 17 $\Rightarrow$ 128KB)} +CONFIG\_LOG\_BUF\_SHIFT [=17] \textbf{[17]}\\ +Wählen Sie die minimale Größe des Kernel-Protokollpuffers als eine Potenz von 2 aus. +Die endgültige Größe wird durch den Konfigurationsparameter LOG\_CPU\_MAX\_BUF\_SHIFT +beeinflusst, siehe unten. Eine höhere Größe kann auch durch den Boot-Parameter +\glqq log\_buf\_len\grqq{} erzwungen werden.\\ +Beispiele:\\ +\indent 17 $\Rightarrow$ 128 KB\\ +\indent 16 $\Rightarrow$ 64 KB\\ +\indent 15 $\Rightarrow$ 32 KB\\ +\indent 14 $\Rightarrow$ 16 KB\\ +\indent 13 $\Rightarrow$ 8 KB\\ +\indent 12 $\Rightarrow$ 4 KB\\ +Symbol: LOG\_BUF\_SHIFT\\ +Type: Integer (Ganzzahl)\\ +Range: [12 25] +\subsection{CPU kernel log buffer size contribution (13 $\Rightarrow$ 8 KB, 17 $\Rightarrow$ 128KB)} +CONFIG\_LOG\_BUF\_SHIFT [=12] \textbf{[12]}\\ +Diese Option ermöglicht es, die Standardgröße des Ringpuffers entsprechend der Anzahl +der CPUs zu erhöhen. Der Wert definiert den Beitrag jeder CPU als eine Potenz von 2. +Der beanspruchte Speicherplatz beträgt in der Regel nur wenige Zeilen, kann aber viel +mehr sein, wenn Probleme gemeldet werden, z. B. bei Rückverfolgungen. +Die erhöhte Größe bedeutet, dass ein neuer Puffer zugewiesen werden muss und der +ursprüngliche statische Puffer ungenutzt ist. Dies ist nur auf Systemen mit mehr CPUs +sinnvoll. Daher wird dieser Wert nur verwendet, wenn die Summe der Beiträge größer ist +als die Hälfte des Standard-Kernel-Ringpuffers, wie durch LOG\_BUF\_SHIFT definiert. +Die Standardwerte sind so eingestellt, dass mehr als 16 CPUs erforderlich sind, um die +Zuweisung auszulösen. Diese Option wird auch ignoriert, wenn der Kernelparameter +\glqq log\_buf\_len\grqq{} verwendet wird, da er eine exakte (Zweierpotenz) Größe des +Ringpuffers erzwingt. Die Anzahl der möglichen CPUs wird für diese Berechnung verwendet, +wobei Hotplugging ignoriert wird, so dass die Berechnung für das Worst-Case-Szenario +optimal ist und gleichzeitig ein einfacher Algorithmus ab dem Hochfahren verwendet +werden kann. Beispiele für Verschiebungswerte und ihre Bedeutung: +\indent 17 $\Rightarrow$ 128 KB für jede CPU\\ +\indent 16 $\Rightarrow$ 64 KB für jede CPU\\ +\indent 15 $\Rightarrow$ 32 KB für jede CPU\\ +\indent 14 $\Rightarrow$ 16 KB für jede CPU\\ +\indent 13 $\Rightarrow$ 8 KB für jede CPU\\ +\indent 12 $\Rightarrow$ 4 KB für jede CPU\\ +Symbol: LOG\_CPU\_MAX\_BUF\_SHIFT\\ +Type: Integer (Ganzzahl)\\ +Range: [0 21] + +\subsection{Printk indexing debugfs interface)} +CONFIG\_PRINTK\_INDEX [=y] \textbf{[Y]}\\ +Unterstützung für die Indizierung aller zur Kompilierzeit bekannten +printk-Formate unter\\ +$<$debugfs$>$/printk/index/$<$module$>$ hinzufügen. +Dies kann als Teil der Wartung von Daemonen, die /dev/kmsg überwachen, +verwendet werden, da es die Überprüfung der in einem Kernel vorhandenen +printk-Formate erlaubt, was die Erkennung von Fällen ermöglicht, +in denen überwachte printks geändert oder nicht mehr vorhanden sind.\\ +Es gibt keine zusätzlichen Laufzeitkosten für printk, wenn dies aktiviert ist. + +\subsection{Scheduler features \texorpdfstring{$\rightarrow$}{->}} +Scheduler-Funktionen + +\subsubsection{Enable utilization clamping for RT/FAIR tasks} +CONFIG\_UCLAMP\_TASK [=y] \textbf{[Y]}\\ +Diese Funktion ermöglicht es dem Scheduler, die geklemmte Auslastung jeder CPU +auf der Grundlage der auf dieser CPU geplanten RUNNABLE-Tasks zu verfolgen. +Mit dieser Option kann der Benutzer die minimale und maximale CPU-Auslastung +angeben, die für RUNNABLE-Aufgaben zulässig ist. Die maximale Auslastung +definiert die maximale Häufigkeit, mit der ein Task laufen soll, während die +minimale Auslastung die minimale Häufigkeit definiert, mit der er laufen soll.\\ +Sowohl die Minimal- als auch die Maximalwerte für die Auslastung sind Hinweise +für den Scheduler, um seine Frequenzauswahl zu verbessern, aber sie erzwingen +oder gewähren keine bestimmte Bandbreite für Tasks.\\ +Im Zweifelsfall sagen Sie N für Nein. + +\paragraph{Number of supported utilization clamp buckets}$~$\\ +CONFIG\_UCLAMP\_BUCKETS\_COUNT [=5] \textbf{[5]}\\ +Legt die Anzahl der zu verwendenden Klammerbereiche fest. Der Bereich der +einzelnen Buckets ist SCHED\_CAPACITY\_SCALE/UCLAMP\_BUCKETS\_COUNT. +Je höher die Anzahl der Clamp-Buckets, desto feiner die Granularität und +desto höher die Präzision der Clamp-Aggregation und -Verfolgung während der +Laufzeit. +Mit dem minimalen Konfigurationswert haben wir beispielsweise 5 Clamp-Buckets, +die jeweils 20 \% Auslastung verfolgen. Eine um 25 \% gesteigerte Aufgabe +wird im Bucket [20..39]\% gezählt und setzt den effektiven Wert der +Bucketklemme auf 25 \%. +Wenn eine zweite, um 30 \% erhöhte Aufgabe auf derselben CPU eingeplant wird, +wird diese Aufgabe im selben Bucket wie die erste Aufgabe gezählt und erhöht +den effektiven Bucket-Clamp-Wert auf 30 \%. +Der effektive Klemmwert eines Bereichs wird auf seinen Nennwert (20 \% im +obigen Beispiel) zurückgesetzt, wenn keine weiteren Aufgaben mehr in diesem +Bereich gezählt werden. Bei einigen Aufgaben kann eine zusätzliche +Verstärkungs-/Kappungsmarge hinzugefügt werden. Im obigen Beispiel wird +die 25 \%-Aufgabe auf 30 \% angehoben, bis sie die CPU verlässt. +Sollte dies auf bestimmten Systemen nicht akzeptabel sein, ist es immer +möglich, den Spielraum zu verringern, indem die Anzahl der Clamp-Buckets +erhöht wird, um den verbrauchten Speicher gegen die Genauigkeit der +Laufzeitverfolgung einzutauschen.\\ +Im Zweifelsfall sollten Sie den Standardwert verwenden. + +\subsection{Memory placement aware NUMA scheduler} +CONFIG\_NUMA\_BALANCING [=y] \textbf{[Y]}\\ +Diese Option fügt Unterstützung für automatische NUMA-bewusste +Speicher-/Task-Platzierung hinzu. +Der Mechanismus ist recht primitiv und basiert darauf, dass Speicher +migriert wird, wenn er Referenzen auf den Knoten hat, auf dem die Aufgabe läuft.\\ +Dieses System ist auf UMA-Systemen inaktiv. + \end{document}