\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{dim. déc. 20 19:30:39 CET 2015}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={numad},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Service en userspace qui fournis des conseils de placement et de gestion de processus pour utiliser efficacement les CPU et la mémoire dans le système avec une topologie NUMA},
CreationDate={D:20151220193039},
ModDate={D:20151220193039},
Keywords={numa;GNU/Linux;configuration}
}}
\begin{document}
 
\begin{center}
{\Huge numad }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Service en userspace qui fournis des conseils de placement et de gestion de processus pour utiliser efficacement les CPU et la mémoire dans le système avec une topologie NUMA}
 
\vspace{10mm}
 
\hspace{1mm}  numad est un service qui monitor la topologie NUMA et l'utilisation des ressources. Il tente de localiser les processus pour la localité NUMA, l'affinité, en ajustant dynamiquement pour changer les conditions système. numad fournis également un guide pour assister la gestion des applications avec une liaison manelle des ressources CPU et mémoire.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -C 0|1]{Cette option contrôle si numad traite le cache de fichier inactif comme mémoire disponible. Par défaut, il peut compter le cache de fichier inactif comme mémoire libre.}
\item[\hspace{1mm} -d]{mode debug}
\item[\hspace{1mm} -H <THP\_scan\_sleep\_ms>]{Définis l'intervalle de scan transparent hugepage en milliseconde. /sys/kernel/mm/tranparent\_hugepage/khugepaged/scan\_sleep\_millisecs est généralement de 10000ms par l'os. Le défaut est changé par numad à 1000ms vu que çà aide le service hugepage à être plus agressif quand il déplace la mémoire entre les nœuds. à 0, numad laisse la valeur du système. 100ms peut améliorer les performances des processus à forte charge qui utilisent de nombreuses transparent\_hugepages.}
\item[\hspace{1mm} -i <\texttt{[}min\_interval:\texttt{]}max\_interval>]{Interval de temps d'attente entre les scans système. Défaut: 5 (min) et 15 (max) secondes. max\_interval à 0 cause le service à quitter. Une valeur plus grande diminue la charge de numad, mais diminue la réponse les charges changeantes.}
\item[\hspace{1mm} -K 0|1]{Cette options contrôle si numad conserve entrelacement de la propagation de mémoire au travers des nœuds NUMA, ou tente de fusionner la mémoire entrelacée dans les nœuds NUMA locaux. Le mode par défaut est de fusionner la mémoire entrelacée C'est approprié pour localiser les processus dans un sous-jeu des nœuds NUMA du système. Si vous lancez une grosse application simple instance que alloue de la mémoire entrelacée parce que la charge aura des motifs d'accès mémoire imprédictibles, les résultats seront meilleur avec -K 1 pour instruire numad de conserver la mémoire entrelacée distribuée.}
\item[\hspace{1mm} -l <log\_level>]{Définis le niveau de log. défaut: 5}
\item[\hspace{1mm} -m <target\_memory\_locality>]{Définis le seuil de localité mémoire désiré pour stopper le déplacement de mémoire. numad peut arrêter de traiter la mémoire quand plus de ce pourcentage de mémoire du processus est déjà localisé dans le ou les nœuds cible. le défaut est 90\%. numad localise fréquemment ce seuil mais ne le fait pas nécessairement. à 100\%, numad tente en permanence de déplacer la mémoire que le kernel n'arrivera jamais à déplacer.}
\item[\hspace{1mm} -p <PID>]{ajoute le pid à la liste d'inclusion des processus à considérer pour la gestion, si le processus utilise déjà des ressources significative. Peut être spécifié plusieurs fois au démarrage, mais une fois lancé, un seul pid peut être ajouté à la liste d'inclusion par invocation de numad. Utilisé avec -S pour contrôler précisemment le périmètre des processus que numad peut gérer. Noter que ce processus spécifié ne sera pas nécessairement géré activement sauf s'il rencontre le seuil de numad, qui est actuellement de 300Mo et 1/2 CPU.}
\item[\hspace{1mm} -r <PID>]{Supprime le pid des liste d'inclusion et d'exclusion des processus. une foir le service démarré, seul un PID peut être supprimé par invocation de numad. Avec -S, -p et -x pour contrôler précisemment le périmètre des processus que numad peut gérer.}
\item[\hspace{1mm} -R <CPU\_LIST>]{Spécifie une liste de cpu que numad devrait considérer comme réservé pour une utilisation non numad. Aucun processus ne sera lié aux CPU spécifiés par numad. Cette option est seulement effective quand numad démarre.}
\item[\hspace{1mm} -S 0|1]{Cette option contrôle si numad scanne tous les processus système ou seulement les processus dans la liste d'inclusion PID. Scan tous les processus par défaut. -S 0 scanne seulement la liste d'inclusion PID . numad -S 0 -p <PID-1> -p <PID-2> -p <PID-3> limit le scan, et donc la gestion automatique NUMA, à seulement 3 processus.}
\item[\hspace{1mm} -t <logical\_CPU\_percent>]{Spécifie la valeur de ressource des CPU logique. Les threads hardware partagent généralement pluse de ressources, et ces CPU logiques ajoutent seulement une fraction de puissance CPU. Par défaut numad considère les CPU logiques à seulement 20\% d'un cœur hardware dédié.}
\item[\hspace{1mm} -u <target\_utilization>]{Définis le pourcentage de consommation d'un nœud. Défaut: 85\%. Diminuer cette valeur pour maintenir plus de ressource disponible dans chaque nœud. à 100, les performances systèmes sont améliorée. Il est possible d'aller jusqu'à 130 pour surcharger les CPU dans les nœuds, mais l'utilisation mémoire est toujours plafonnée à 100\%.}
\item[\hspace{1mm} -v]{mode verbeux}
\item[\hspace{1mm} -w <NCPUS\texttt{[}:MB\texttt{]}>]{demande à numad les meilleurs nœuds NUMA pour lier une entité qui nécessite <NCPUS>. La quantité de mémoire est optionnelle, mais devrait normallement être spécifiée pour que numad recommande les nœuds NUMA avec la capacité CPU disponible et la mémoire disponible. La sortie de cette option est une chaîne qui contient une liste de nœud NUMA. Cette liste devrait être placé dans une variable (ex:NODES), et utilisé comme paramètre dans numactl -m \$NODES -N \$MODES ...}
\item[\hspace{1mm} -x <PID>]{Ajoute le PID à la liste d'exclusion de processus à blacklister de la gestion. Peut être spécifié plusieurs fois au démarrage, mais une seul fois ensuite par invocation de numad. avec -S permet de contrôle précisemment le périmètre des processus que numad peut gérer.}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} numad peut être lancé comme service système: \\
\hspace{1mm} \textbf{/usr/bin/numad} \\
\hspace{1mm} les autres invocation de numad peuvent être utilisé pour changer dynamiquement les options à chaud: \\
\hspace{1mm} \textbf{/usr/bin/numad -i0} \\
\end{flushleft}
\end{document}
