AndroidAddict
Merci de vous êtes inscrit sur notre forum , malheureusement , vous nous découvrez trop tard...

Nous avons pris la décision de mettre un terme à l'aventure de ce lieu de partage , mais vous pouvez nous rejoindre sur le forum AndroidMT puisque nous avons décider de nous unir avec cette équipe.

Cordialement, L’équipe d'AndroiDAddict

[TUTO] [SM-N9005] Apprendre à paramétrer facilement son Kernel Android

Voir le sujet précédent Voir le sujet suivant Aller en bas

[TUTO] [SM-N9005] Apprendre à paramétrer facilement son Kernel Android

Message par laulau42 le Ven 13 Sep - 11:22

Apprendre à paramétrer facilement son Kernel Android


Introduction
*****************************************************************************************
Je précise au préalable que le but de ce sujet est de comprendre les réglages de base du Kernel.
Les principaux Gouvernors ( gouverneurs ) et I/O Scheduler ( ordonnanceurs )
pour les Tweaks veuillez consulter les sujets correspondants.

Après l'installation d'un Kernel Custom, chacun se demande comment régler au mieux son Kernel.
La bonne question à se poser est : quels sont mes besoins ( ou désirs )?

Batterie Batterie/Performance Performance

Pour répondre a cette question, nous avons besoin de connaitre un peu mieux qui fait quoi.

Il est primordial d'intégrer que la vie de la batterie et/ou la performance du système a un rapport direct avec le choix du Gouverneur.

Le Kernel ( Noyau ) est un peu comme un Coeur Humain, voir même comme tout notre système Cardio-Vasculaire.

En effet ! Le Kernel gère le Flux d'information de chaque cycle ( artères ) et sa Fréquence ( battement, oscilliation )

Voici donc une description, succincte, des particularités de chaque Gouverneur, dans une première partie.

Images & Vidéos
*****************************************************************************************



Gouverneurs
*****************************************************************************************
à savoir :
Le gouverneur définit le mode de gestion du processeur et de ses 4 coeurs.
Il crée des règles prédéfinies permettant de gérer la Fréquence du CPU.

zzmoove


    il s'agit de la version portée SGS1 du célèbre gouverneur "Smoove" du vieux noyau de " midnight " avec la pirise en compte de la fonction hotplug modifiée du gouverneur ktoonservative .Ce gouverneur utilise plus souvent un seul processeur qui tourne au ralenti et en conséquence de cela, il a besoin de moins d'énergie. Selon la charge du système et les réglages du régulateur les 4 coeurs seront instantanément à nouveau disponible si cela est nécessaire.Attention : l'ayant testé moi même je peux vous dire qu'il s'adresse a un utilisateur averti .En effet, le CPU tourne littéralement au ralenti ! Cela nécessite une modification via Tweaks des réglages du réveil du CPU.Sinon la sortie de veille est aléatoire voir Chaotique d'origine ( ça peut faire peur ...  )


Ondemand


    Gouverneur d'origine dans presque tous les noyaux . L'objectif principal du gouverneur ondemand est de passer à la fréquence max dès qu'il solicité pour assurer la réactivité du système. Le Gouverneur Ondemand n'est pas très économe en énergie. Le gouverneur décide de la fréquence cible ( suivante ) par l'exigence instantanée pendant l'intervalle d'échantillonnage.


Conservative


    Il fonctionne comme gouverneur Ondemand en ajustant dynamiquement les fréquences en fonction de l'utilisation du processeur. Cependant, les augmentations de gouverneur conservative diminue la vitesse du CPU plus progressivement. Autrement dit, ce gouverneur augmente la fréquence pas à pas sur la charge CPU et des sauts à plus basse fréquence quand leCPU ralenti.Il est donc recommandé pour une bonne vie de la batterie


]Interactive


    Il peut être considéré comme un Ondemand rapide.Au lieu déchantillonner à chaque intervalle comme OnDemand, il détermine comment le CPU sort de veille.Une priorité plus élevée pour l'augmentation de la fréquence CPU, donnant ainsi les tâches restantes au profit de la performance du processeur.Interactive C'est un Ondemand intelligent Pourquoi?L'échantillonnage de la charge CPU (comme Ondemand) peut conduire à une sous-alimentation du CPU, ce qui conduit à des pertes d'images, le bégaiement UI, etc ... Au lieu que l'échantillonnage du CPU soit à une vitesse donnée, le gouverneur Interactive vérifie s'il ya lieu d'augmenter la fréquence du processeur en place dès après la sortie de veille


Lulzactive


    Le gouverneur Lulzactive est conçu par l'équipe de Tegrak (Thor), basé sur les gouverneurs Interactive et de Smartass, il est l'un des favoris.Nouvelle Version: Trois autres paramètres configurables par l'utilisateur: inc_cpu_load, pump_up_step, pump_down_step.Contrairement a l'ancienne version, celle-ci donne plus de contrôle pour l'utilisateur.Nous pouvons définir le seuil à partir duquel le gouverneur décide d'escalader le haut / bas. Nous pouvons également définir le nombre de pas de fréquence à sauter lors de l'interrogation de haut en bas.Lorsque la charge de travail supérieure ou égale à inc_cpu_load, gouverneur échelles CPU pump_up_step intensifie. Lorsque la charge de travail est inférieure à inc_cpu_load, le gouverneur échellonne le CPU vers le bas pump_down_step étapes vers le bas.Exemple:Considéronsinc_cpu_load = 70pump_up_step = 2pump_down_step = 1Si la fréquence actuelle = 200, chaque up_sampling_time-nous si la charge cpu> = 70%, cpu est agrandie 2 étapes - à 800.Si la fréquence actuelle = 1200, chaque down_sampling_time-nous dit si la charge CPU <70%, cpu est réduite 1 étape - à 1000.


Lulzactiveq


    Lulzactiveq vise à optimiser le gouverneur luzactive de Tegrak par la fourniture d'un paramètre supplémentaire (dec_cpu_load) Scalling Down plus sensible, et Incorporation logique hotplug au gouverneur. Luzactiveq est le premier gouverneur basé sur Interactive avec hotplugging intégré (du moins la première de son genre pour la plate-forme Exynos). Quand CPU sort d'une boucle d'inactivité ( idle loop ) et il prend une décision de mise à l'échelle ( Scalling ), si la charge> = inc_cpu_load CPU est augmentee (comme luzactiveq originale) et si la charge Donc un Gouverneur parfaitement adapté aux multi-cœurs.


Smartass


    Il s'agit d'un Interactive avec une vie de la batterie améliorée


Pegasusq


    Le Pegasusq est un multi-core basé sur le gouverneur Ondemand avec intégré le HotpluggingProcessus en cours dans la file d'attente, plusieurs processus peuvent s'exécuter simultanément . Ces processus sont actifs dans un tableau, qui est un champ appelé "Run Queue" ( file d'attente ) avec leurs valeurs prioritaires organisées (la priorité sera utilisée par le planificateur de tâches, qui décide alors quel processus suivant il fera fonctionner ).Afin de s'assurer que chaque processus a sa juste part des ressources pendant un certain temps et finira par arrêter, puis de nouveau placé dans la file d'attente jusqu'à ce qu'il soit à nouveau son tour. Si un programme est terminé, alors que d'autres peuvent s'exécuter, le programme avec la plus haute priorité dans la file d'attente actuelle est exécuté.


Userspace


    Ce gouverneur permet à tout programme exécuté par l'utilisateur de régler la fréquence de fonctionnement du processeur. Ce gouverneur est plus fréquente chez les serveurs ou les ordinateurs de bureau où une application (comme une application du profil de puissance) doit disposer de privilèges pour régler le CPU clockspeed.Donc parfaitement adapté aux tweaks


Performance


    Le gouverneur performance bloque le processeur à la fréquence maximale. Même si cela peut sembler être une drôle d'idée, certains suggérent que l'exécution d'un processeur à sa fréquence maximale en tout temps permettrait un retour rapiude au ralenti. " Race to idle " est le processus par lequel un processeur effectue une tâche donnée, comme la synchronisation des e-mail, et renvoie le cpu à l'état de faible puissance extrêmement efficacement. Cela nécessite encore des tests approfondis, et un noyau qui implémente une donnée CPU C-Unis (bas états d'alimentation) correctement.


Powersave


    Le contraire du gouverneur Performance, le gouverneur Powersave verrouille la fréquence du CPU à l'ensemble de la fréquence la plus basse par l'utilisateur.


Hotplug


    Le gouverneur Hotplug est très similaire au gouverneur OnDemand, avec l'avantage supplémentaire d'être plus précis sur la façon dont il se retire à travers la table de fréquence du noyau comme de mesurer la charge CPU de l'utilisateur. Cependant, la caractéristique déterminante de Hotplug est sa capacité à tourner en OFF le nombre de coeurs non utilisés pendant les périodes de faible utilisation du CPU. Ceci est connu comme "hotplugging."


Ordonnanceurs
*****************************************************************************************

A savoir:
L'ordonnanceur sert à :
- Réduire les temps de latence du disque dur ( temps écoulé entre le moment où le disque trouve la piste et le moment où il trouve les données. )
- Définir les priorités des processus
- garanti de faire passer avant la " deadline " certaines requêtes

Noop


    Noop insert toutes les demandes comme première en file d'attente du gouverneur.Super avec les mémoires tampon, non physique ( lecteur flash ).Avantage ici est que les lecteurs flash ne nécessite pas de réorganisation de plusieurs demandes I/O contrairement aux disques durs normaux.avantagesInsert requêtes I/O avec moins de cycles CPU. (Positif pour la Batterie ?)Idéal pour les lecteurs flash car il n'y a pas de pénalité recherche.Bon débit des réseaux dB.inconvénientsLa réduction du nombre de cycles CPU utilisée proportionnelle à sa performance.


Deadline


    L'objectif est de minimiser la latence ou les " Starvation " ( problème de processus en " multi-tasking " avec accès refusé perpétuellement ) . Cinq files d'attente sont activement utilisées pour réorganiser les requêtes entrantes.Ces files d'attentes fonctionnent sur un principe de " table tournante.avantages:un ordonnanceur temps réel.Excellent dans la réduction de la latence de toute donnée I / O.Meilleur ordonnanceur pour l'accès de base de données et les requêtes.exigence de la bande passante d'un processus - calcule le pourcentage de CPU dont il a besoinComme noop, lecteurs flash solides.inconvénientsLorsque le système est surchargé, un ensemble de processus qui peut manquer la " Deadline " d'une façon imprévisible.


Cfq


    CFQ = Completly Fair Queuing ( équitable pour toutes les demandes )une tranche de temps allouée à chaque file d'attente et dépend de la priorité du processus "mère".avantagesdélivre une performance équilibréeLe plus facile à accorder.Excelle sur les systèmes multiprocesseurs.Meilleure performance du système de base de données après la " dead line "inconvénientsLa numérisation prendrait plus de temps.Pendant le démarrage, la numérisation des médias ne bénéficie d'aucune priorité spéciale.Le problème de " rater " la " deadline" peut être a cause des processus en attente


Bfq


    Au lieu des tranches de temps répartition comme CFQ, BFQ offre un budgets de la bande passante.Il accorde à un processus actif jusqu'à ce la limite du budget (nombre de secteurs) soit atteinte.BFQ assigne un budget élevé aux tâches non-lus. Le budget affecté à un processus est variable dans le temps en fonction de son comportement.avantagesEst très bon pour les transferts de données via USBSuper Ordonnanceurs pour l'enregistrement vidéo HD et vidéo en streamingConsidéré comme un Ordonnanceur précis.environ 30% plus rapide que le CFQ sur la plupart des charges de travail.inconvénientsPas le meilleur pour benchmarking.Augmentation du budget affecté à un processus peut influer sur l'interactivité et la latence accrue.


[size=150]Sio[/size]


    Simple Ordonnanceur, il vise à maintenir les frais généraux minimum pour atteindre une faible latence pour répondre aux requêtes I/0. Aucune priorité, seulement les marges basiques.Sio est un mélange entre Noop & Deadline. Aucune modification sur les demandes.avantagesSimple, très fiable." Starvation " minimiséinconvénientsVitesse de lecture aléatoire, lent sur les lecteurs flash, par rapport à d'autres ordonnanceurs.Vitesses séquentielle de lecture sur les lecteurs flash pas très bonne.


Vr


    Contrairement aux autres ordonnanceurs, les demandes synchrones et asynchrones ne sont pas traités séparément, au lieu qu'une " deadline " ne soit imposée pour l'équité.Le traitement de la demande dépend de la dernière requêteavantagesPeut être le meilleur pour le Benchmarking.Schedulers I / Oinconvénientsfluctuation des performances inférieures à la moyenne ( bizarrement )Moins fiable / plus instable


Zen


    Il s'agit d'une base Vr où a été rajouté les fonctionnalités de Sio.C'est un FIFO First In, first Out (premier arrivé, premier servi).Il utilise des délais pour l'équité, et traite des demandes synchrones avec priorité sur ceux asynchrones. En dehors de cela, à peu près le même que NoopavantagesTrès Performant ( Vr ), stable ( sio )inconvénientsJe suis en train de chercher ...


Row


    Row = Read Over Writable.Il s'agit de l'ordonnanceur monté généralement d'origine sur les mobiles qui " Réclament " comme le GN2.Il y a 6 listes d'attentesavantagesTrès réactif,super avec 4 cœursinconvénients6 listes d'attentes = consommation d'énergie


Paramétrages
*****************************************************************************************
Essayons maintenant de faire une sorte de tableau, il est évident qu'il est à corriger !
Mais pour cela il faut un Maximum de retours.

Prenons, dans un premier temps les données d'une manière théorique.

Voici comment je classerais les Gouverneurs et Ordonnanceurs :
D'un Kernel axé sur la Batterie ( Haut - Gauche ) à un Kernel axé sur la Performance ( Bas - Droite )

Attention : Notez bien que ce tableau n'est pas Statique !
Vous pouvez avoir une bonne vie de batterie avec Pegasusq . Sio, tout Comme vous pouvez avoir d'excellentes Performances avec Conservative - Row.

Cela dépend de Vous ! De la combinaison qui vous semble la mieux adaptée a votre Utilisation !

Sources
Schedulers
Governors

Merci a NorthLight pour le paratage  :super:
avatar
laulau42
Déterminé
Déterminé

Féminin Age : 46
Date d'inscription : 13/09/2013
Localisation : loire 42
Messages : 256

http://www.st-chamond-meteo.fr/

Revenir en haut Aller en bas

Re: [TUTO] [SM-N9005] Apprendre à paramétrer facilement son Kernel Android

Message par Alexisa22 le Ven 13 Sep - 21:42

Cool, Merci Laulau...
avatar
Alexisa22
Administrateur
Administrateur

Masculin Age : 52
Date d'inscription : 11/09/2013
Localisation : Saint-Brieuc
Humeur : Coooooool....
Messages : 4179

http://www.androidaddict.org

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum