CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 4eyes81 con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Pagina 1 di 3 123 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 23
Discussione:

[GUIDA] Governor e Scheduler: kernel settings

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Senior Droid L'avatar di varefaz


    Registrato dal
    Mar 2012
    Messaggi
    778
    Smartphone
    nexus s

    Ringraziamenti
    415
    Ringraziato 113 volte in 74 Posts
    Lightbulb

    [GUIDA] Governor e Scheduler: kernel settings

    Ciao foro,
    ho notato che molti utenti ignorano la potenza che possa avere un kernel modificato arricchito con tanto governor. Così mi è venuto in mente di creare questa guida per iniziare a spiegare cosa sia un governor e quali siano quelli esistenti. premetto che se qualcuno, oltre quelli che elencherò ne conosce altri può scrivere un post qui sotto con la descrizione del "suo" governor e io la inserirò nella lista. inoltre chiedo ai moderatori di mettere questa guida in primo piano perchè molto utile per tutto il foro grazie

    Il kernel è il vero motore del sistema operativo come lo è il bios per il computer. Esso impartisce degli schemi che poi il sistema deve rispettare. tra questi ordini o schemi abbiamo anche il funzionamento della cpu con il così detto scaling delle frequenze. Per scaling delle frequenze si intende il modo in cui il kernel( che per android è Linux) regola dinamicamente la frequenza della CPU in base all’utilizzo del nostro dispositivo. Questi schemi in questo caso vengono chiamati appunto governor,ovvero "governano" il variare delle frequenze della cpu e gpu.

    Ondemand
    E' il governor di default in quasi tutti i kernel stock. Uno dei suoi principali obiettivi è, passando rapidamente alla frequenza massima non appena la CPU rileva un attività, quello di garantire una buona reattività del sistema. Il suo funzionamento non prevede una valutazione del carico di lavoro quindi, appena sollecitato, tende a far salire la CPU in modo immediato alla massima frequenza per poi diminuire gradualmente in stato di inattività. Anche se viene considerato un governor equilibrato, non è particolarmente indicato per l'autonomia nel suo settaggio predefinito.
    Uno dei motivi principali per cui il governor ondemand non è parsimonioso di batteria, è il fatto che, decide il prossimo step di frequenza nell'istante di richiesta dell' intervallo di campionamento (detto sampling rate). Nell'istante di richiesta, può rispondere velocemente al cambiamento di carico di lavoro, senza calcolare la richiesta reale di utilizzo della CPU e quindi provocare frequenti passaggi dalla frequenza min-max e viceversa.


    Conservative
    è un ondemand rallentato, poichè scala le frequenze più lentamente risparmiando batteria. Si differenziadal precedente perchè, incrementa la frequenza in base al carico della CPU senza saltare direttamente alla frequenza massima, per poi decrementarla velocemente in caso di inattività.

    Interactive
    Può essere considerato un ondemand molto veloce, quindi più reattivo e di conseguenza meno parsimonioso di batteria. Questo governor è stato realizzato per avere maggiore reattività e prestazioni con i vari carichi di lavoro interattivi. A differenza dell'ondemand non varia le frequenze in base ad un intervallo di campionamento, ma le determina in modo continuativo fino a quando la CPU non smaltisce il suo carico di lavoro.
    I vantaggi di questo governor sono i seguenti: 1) Scala le frequenze in un modo più lineare. In genere, gli altri governor, gestiscono il carico della CPU in base al lavoro, interactive invece lo gestisce in base al tempo di richiesta, facendo lavorare la CPU in un modo più uniforme. 2) Ottima fluidità del sistema e dei contenuti multimediali. A differenza di un governor tipo l'ondemand, che potrebbe risentirne sul fatto di cercare continuamente (in base al intervallo di campionamento) di adeguarsi al carico di lavoro, l'interactive mantiene costantemente la frequenza necessaria fino alla fine del carico di lavoro, guadagnando un frame rate più lineare.

    Interactivex
    Si tratta di un interactive con l'aggiunta del profilo screen off, naturalmente l'obbiettivo è quello di ridurre i consumi della batteria durante i momenti di inutilizzo a schermo spento.

    Interactivex V2
    E' l'Interactivex e con lo schermo spento disattiva automaticamente la cpu1

    Smartass
    si basa su Interactive, ma con alcune modifiche che gli permettono di mantenere frequenze minime quando il telefono è inattivo.

    SmartassV2
    E’ uno smartass modificato ed è uno dei governor più usati. Questo governor scala verso il basso la cpu molto velocemente mentre lo schermo è spento, e scala rapidamente verso l’alto fino a 500 mhz quando lo schermo si accende. Non c'è un limite superiore per la frequenza mentre lo schermo è spento. Questo governor mira a una "frequenza ideale", per cui scala in maniera più aggressiva nei confronti di questa frequenza e in maniera meno aggressiva dopo. Esso utilizza diverse frequenze ideali per lo schermo acceso e per lo schermo spento, che sono awake_ideal_freq e sleep_ideal_freq, garantendo così un equilibrio tra prestazioni e durata batteria.

    BrazilianWax
    funzionalmente simile allo Smartass ma ha un cambio di frequenza più rapido.

    SavagedZen
    è come lo Smartass ma con alcune modifiche apportate che gli consentono di ottenere sia buone prestazioni sia un consumo non eccessivo della batteria.

    Userspace
    consente di impostare manualmente le frequenze, di solito poco usato.

    Powersave
    Con Powersave viene impostata sia la frequenza massima che quella minima al minimo valore possibile, anche se è ottimo per i consumi, non è consigliato per l’uso quotidiano, in quanto il processore non riuscirà a raggiungere le frequenze richieste e necessarie per un giusto e godibile uso del vostro device.

    Performance
    è l’opposto di Powersave. Imposta la frequenza minima uguale a quella massima in modo che il telefono risulti sempre alla massima potenza. Per ovvie ragioni non può essere utilizzato nell’uso quotidiano, la batteria ne risentirebbe troppo, di solito è usato quando il telefono è in carica o è collegato al pc.

    Lulzactive
    Basato sui governor interactive e smartass, tende ad essere il governor preferito da molti.
    Quando il carico di lavoro è maggiore o uguale al 60%, fa salire le frequenze della cpu immediatamente allo step successivo. Quando il carico di lavoro è inferiore al 60%, abbassa immediatamente le frequenze della cpu allo step precedente. Quando lo schermo è spento, la frequenza è bloccata alla frequenza minima. Nella nuova versione sono stati aggiunti dei paramentri modificabili ma il funzionamento è lo stesso

    Lazy
    Fondamentalmente un ondemand con il parametro aggiuntivo min_time_state che stabilisce un tempo minimo in cui la cpu permane su una determinata frequenza prima di passare a frequenze più basse o più alte. L’idea è quella di eliminare le instabilità causate dalla rapida commutazione di frequenza di ondemand. Ha anche un parametro screenoff_maxfreq che può essere configurato per specificare la max frequenza mentre lo schermo è spento.

    Lagfree
    Simile a ondemand. La differenza è l'ottimizzazione che lo rende maggiormente battery friendly. La frequenza diminuisce o aumenta gradatamente, a differenza di ondemand che salta al 100% troppo spesso. Lagfree non salta le frequenze durante lo scaling verso l'alto o verso il basso.

    Ondemandx
    Sostanzialmente è un ondemand con l'aggiunta del profilo screen off. Questo governor nasce con l'obbiettivo di avere le caratteristiche dell' ondemand ma con un occhio di riguardo per la batteria, grazie alla limitazione della frequenza massima di 500mhz che viene applicata a schermo spento.

    Intellidemand
    (alias intelligente Ondemand) e un governor che si basa su ondemand e che non salta mai alla massima frequenza quando lo schermo è spento. L’intellidemand originale si comporta in modo diverso in base all'utilizzo della GPU. Quando la GPU è veramente occupata (giochi, mappe, benchmarking, ecc) intellidemand si comporta come ondemand per offrire buone prestazioni. Quando la GPU è a riposo o moderatamente occupata, intellidemand entra in “browsing mode” (modalità di navigazione) e limita la frequenza massima per risparmiare la batteria.

    Lionheart
    E’ un Conservative pesantemente modificato: ha un’up-threshold bassa (circa 60) e una sampling_rate (frequenza di campionamento) più bassa possibile . Il motto di Lionheart è la reattività estrema, le prestazioni e la scorrevolezza, anche a costo di un maggiore dispendio della batteria.

    Smoothass
    Si basa sullo Smartass ma con alcune modifiche, infatti presenta una rampa di salita e discesa più pendente (alta), quindi più prestazioni subito ma un minore cosumo di batteria.

    Scary
    Basato sul Conservative (il quale ha rampa più lenta di Ondemand), ma ha poi in sè alcuno elementi di Smartass che gli permettono di avere una rampa molto veloce.
    E' in pratica un misto tra Conservative e Smartass.

    Minmax
    Basato sul Conservative, viene considerato uno dei migliori, prestazioni e la reattività sono molto elevate.

    Wheatley
    Questo governor non è altro che un Ondemand modificato, per avere buone prestazioni ma senza un consumo eccessivo della batteria.

    Hotplug
    E' simile all'ondemand, ma scala le frequenze della CPU in base al carico. A schermo spento dovrebbe disattivare un processore. Prestazioni eccellenti e consumo di batteria davvero basso.

    Hotplugx
    E' un Hotplug modificato e ottimizzato per la sospensione in screen-off

    AbyssPlug
    E' un Governor derivato dall'Hotplug, funziona alla stessa stregua, ma con all'interno delle modifiche per un miglior risparmio della batteria.

    Pegasusq/Pegasusd
    Questo governor è stato creato appositamente da samsung per il suo Galaxy S3, poi adattato e modificato anche per funzionare su altri smartphone grazie ad alcuni utenti di XDA. Questo governor è adatto solo per i terminali multi-core (dual-core, quad-core, octa-core...) e permette di far lavorare ogni core in modalità asincrona. Ad esempio, un processore può lavorare ad una frequenza di 1300 Mhz mentre l'altro a 600 Mhz,tutto in base ovviamente al carico di lavoro che deve supportare il telefono. Immaginate i benefici in termini di prestazioni e di durata di batteria.

    Slp
    è una versione ottimizzata di PegasusQ che, quando sono attivi entrambi i core, lavora con frequenze sincrone.
    NeoX
    è un'altra versione ottimizzata di PegasusQ, proveniente dal Note 2.
    Ultima modifica di varefaz; 20-08-14 alle 01:03
    Nexus 5
    kernel: stock | uber kernel
    rom: PA|Pure White|LS|Pulse|Hazy.4

    [GUIDA] Governor e Scheduler: kernel settings

    <- ti sono stato utile ?? ringraziarmi con il tasto Thanks qui in basso

  2. I seguenti 13 Utenti hanno ringraziato varefaz per il post:

    1Dan (21-08-14),alone13 (20-08-14),bix66 (21-08-14),BrokenEyes (31-08-14),Cicciocap94 (21-08-14),crazyuby (20-08-14),dadenet (20-08-14),erbode (21-08-14),housepabldroid (07-05-15),Miciox (21-08-14),pado11 (20-08-14),visterne (20-08-14)

  3.  
  4. #2
    Senior Droid L'avatar di varefaz


    Registrato dal
    Mar 2012
    Messaggi
    778
    Smartphone
    nexus s

    Ringraziamenti
    415
    Ringraziato 113 volte in 74 Posts
    Predefinito

    BadAss
    limita l’uso delle alte frequenze, più si alza la frequenza più aumentano i tempi e l’assorbimento necessari per passare al gradino successivo, in questo modo è difficile avere la CPU che lavora a pieno regime. Questo gevernor tiene anche in considerazione l’utilizzo della GPU per decidere se aumentare o meno la frequenza.

    MSM DCVS
    governor estremamente avanzato e disponibile per processori con architettura Krait, infatti MSM è il prefisso del nome del processore e DCVS è l’acronimi dell’orologio dinamico e del voltage scaling che lo caratterizzano, consente un’ottimizzazione delle pretazioni e dei tempi di risposta sfruttando le caratteristiche specifiche di questa architettura

    IntelliActive
    si basa sul modello dell’interctive di Google ma con alcune migliorie come un auto-boost in caso di necessità (senza l’intervento del PowerHAL), due fasi di scheduling a seconda della situazione, controlli multipli su CPU e processi per migliorare l’esecuzione del codice

    Adaptive
    questo governor aggiunge una funzione dinamica alla gestione del processore atta a diminuire sensibilmente la latenza per i processi che lo richiedono ma limita anche il pieno utilizzo della CPU per ridurre i consumi.

    Hyper
    L'Hyper (precedentemente noto come Kenobi) è un aggressivo intelligente e fluido governor ed è basato sull’ Ondemand ed è stato dotato di diverse caratteristiche dell’ Ondemandx. ha il comportamento del Ondemand. Ha però anche un veloce deep_sleep. Inoltre, la frequenza massima è in modalità di sospensione 500Mhz.

    Nightmare
    Un PegasusQ modificato ,ma meno aggressivo (cio significa che non ha buone performance ) e di solito non ha l’hotplug. questo governor è molto buono per un elevato equilibrio tra performance e consumi. Potrebbe prevenire molto bene “lo schermo della morte” ( ahaahah )anche se non ha l’hotplug.

    Sakuractive
    Un governor basato solamente su hotplug e ondemand. Il telefono con la pacth hotplug, quando può, quando lo schermo è attivo si comporta come un ibrido tra hotplug e ondemand.

    OnDemandPlus
    Un governor basato solo su ondemand e interactive. Esso provvede ad un buon bilanciamento tra performance e consumi.

    DynInteractive
    Un dinamico interactive governor. Questo schema informatico dinamicamente si adatta alla frequanza di cpu con la quale il sistema è stato settato.

    Governor dedicati ai kernel
    ho notato che molti kernel hanno governor che hanno il nome del kernel. ho notato girando nel web che sono dei particolari governor che sono stati modificati in qualche modo dal creatore del kernel. esempi di questi governor sono:
    elementalx: non sono ancora riuscito a trovare informazioni sulla base del kernel
    uberdemand: penso che questo si basi su ondemand


    SMARTMAX

    L’idea base e come quella dello smartass(V2). La spiegherò in vari step:

    1) Se il carico è al di sopra della soglia massima e la frequenza corrente è inferiore alla freq ideale allora il gov. va alla frequenza ideale in un solo passaggio
    2) Se il carico è al di sopra della soglia massima e la frequenza corrente è pari o superiore alla freq ideale allora il gov. farà salire tutti i gradini alla cpu passando tutte le frequenze per una specifica
    quantità di tempo - così rispetto al OnDemand non salterà alla frequenza max
    3) se il carico è al di sotto della soglia minima e la frequenza corrente è inferiore alla freq ideale allora abbassa la frequanza
    4) se il carico è al di sotto della soglia minima e la frequenza corrente è al di sopra freq ideale allora Salta giù alla frequenza ideale in un solo passaggio.





    SCHEDULER


    Lo Scheduler è un algoritmo che ordina al sistema di avviare un processo di ordinamento di richieste (input) e di dati(media e quindi immagini, musica video ma anche installazione applicazioni ed altro) in modo tale da permettere la loro risoluzione nel miglior modo possibile incrementando cosi le performance e diminuendo i consumi. La differenza tra i vari scheduler è dato dal vario tipo di "attenzione" o priorità che viene dato ad alcune richieste meno che ad altre.
    La scelta di un dato scheduler non produce cambiamenti così visibili come per la scelta dei governor, ma apporta comunque dei miglioramenti. Essi lavorano in sinergia con i governor; perciò ogni combinazione è bene provarla; recensitela se volete

    Ecco i più conosciuti:

    Deadline
    si prefigge lo scopo di garantire un termine, una scadenza a tutte le richieste in modo da evitare fenomeni indesiderati come lo "starvation" ovvero l'eterna attesa di alcune richieste che si verifica quando uno o più processi di priorità bassa vengono lasciati indefinitamente nella coda dei processi pronti, perchè vi è sempre almeno un processo pronto di priorità più alta.

    V(r)
    la richiesta successiva viene eseguita in base alla distanza dall'ultima richiesta. In rete girano buoni pareri riguardo questo scheduler.

    No-op
    inserisce tutte le richieste in un’unica coda semplicemente in base al loro ordine di arrivo, raggruppando insieme quelle contigue.

    SIO
    è lo scheduler più semplice, non fa alcun tipo di ordinamento, si prefigge solo lo scopo di ottenere una bassa latenza, di ridurre cioè il lasso di tempo che intercorre tra l'istante in cui la richiesta è generata e quello in cui la richiesta è soddisfatta.

    CFQ
    ordina le richieste dei processi in code distinte per tipologia e assegna a ciascuna coda uno specifico intervallo di tempo la cui durata dipende dalla priorità assegnata ai processi. Può essere considerato l'Ondemand degli scheduler, è infatti lo scheduler più equilibrato, svolgendo il suo compito in maniera onesta.

    BFQ
    è basato sul CFQ ma, invece degli intervalli di tempo, assegna una parte della larghezza di banda del disco a ogni processo in esecuzione in modo proporzionale.

    Anticipatory
    ordina le richieste in base a criteri predittivi, mette cioè in pausa le richieste per un brevissimo periodo di tempo in previsione che arrivino altre richieste simili in modo da aggregarle

    ROW
    “read over write” ovvero fornisce la priorità a tutte le richieste di lettura piuttosto che scrittura. Questo scheduler è stato progettato appositamente per i dispositivi mobili ed è quello che offre una “migliore gestione dei processi” ed influisce molto positivamente sulla durata della batteria.
    Ultima modifica di varefaz; 22-08-14 alle 23:17
    Nexus 5
    kernel: stock | uber kernel
    rom: PA|Pure White|LS|Pulse|Hazy.4

    [GUIDA] Governor e Scheduler: kernel settings

    <- ti sono stato utile ?? ringraziarmi con il tasto Thanks qui in basso

  5. I seguenti 11 Utenti hanno ringraziato varefaz per il post:

    1Dan (21-08-14),BrokenEyes (31-08-14),Cicciocap94 (21-08-14),crazyuby (20-08-14),Dema1995 (20-08-14),erbode (21-08-14),junki (02-09-14),Miciox (21-08-14),nisby (27-09-14),visterne (20-08-14)

  6. #3
    Senior Droid L'avatar di varefaz


    Registrato dal
    Mar 2012
    Messaggi
    778
    Smartphone
    nexus s

    Ringraziamenti
    415
    Ringraziato 113 volte in 74 Posts
    Predefinito

    reserved 2....
    Nexus 5
    kernel: stock | uber kernel
    rom: PA|Pure White|LS|Pulse|Hazy.4

    [GUIDA] Governor e Scheduler: kernel settings

    <- ti sono stato utile ?? ringraziarmi con il tasto Thanks qui in basso

  7. #4
    Senior Droid L'avatar di varefaz


    Registrato dal
    Mar 2012
    Messaggi
    778
    Smartphone
    nexus s

    Ringraziamenti
    415
    Ringraziato 113 volte in 74 Posts
    Predefinito

    reserved 3.....
    Nexus 5
    kernel: stock | uber kernel
    rom: PA|Pure White|LS|Pulse|Hazy.4

    [GUIDA] Governor e Scheduler: kernel settings

    <- ti sono stato utile ?? ringraziarmi con il tasto Thanks qui in basso

  8. #5
    Androidiano L'avatar di crazyuby


    Registrato dal
    Jul 2012
    Messaggi
    105
    Smartphone
    LG NEXUS5

    Ringraziamenti
    122
    Ringraziato 12 volte in 12 Posts
    Predefinito

    Ciao varefaz ,premesso che come kernel uso elementalx ,tra i vari settaggi del governor trovo anche la voce elementalx.
    Se conosci il settaggio e vuoi aggiungilo.


    Avrei una domanda:tra i vari settaggi che ho disponibili quale mi consiglieresti per le massime prestazioni disinteressandomi del consumo batteria.

  9. Il seguente Utente ha ringraziato crazyuby per il post:

    varefaz (20-08-14)

  10. #6
    Senior Droid L'avatar di varefaz


    Registrato dal
    Mar 2012
    Messaggi
    778
    Smartphone
    nexus s

    Ringraziamenti
    415
    Ringraziato 113 volte in 74 Posts
    Predefinito

    Crazyubi grazie per la segnalazione tra i tuoi governor ti consiglio performance ma fai molta attenzione questo governor imposta la frequenza minima vicina alla frequenza massima potrebbe scaldare un po
    Nexus 5
    kernel: stock | uber kernel
    rom: PA|Pure White|LS|Pulse|Hazy.4

    [GUIDA] Governor e Scheduler: kernel settings

    <- ti sono stato utile ?? ringraziarmi con il tasto Thanks qui in basso

  11. Il seguente Utente ha ringraziato varefaz per il post:

    crazyuby (20-08-14)

  12. #7
    Cru0r
    Guest
    Predefinito

    Bella guida, ho scoperto che ci sono miliardi di Governor

  13. Il seguente Utente ha ringraziato Cru0r per il post:

    varefaz (20-08-14)

  14. #8
    Androidiano L'avatar di 1Dan


    Registrato dal
    Feb 2012
    Messaggi
    128
    Smartphone
    Nexus 5 32 GB

    Ringraziamenti
    23
    Ringraziato 15 volte in 15 Posts
    Predefinito

    Davvero interessante, ci voleva
    Quale app consigliate per la gestione? Io in passato ho provato Kernel Tweaker ma non mi ha entusiasmato troppo

  15. Il seguente Utente ha ringraziato 1Dan per il post:

    varefaz (21-08-14)

  16. #9
    Cercatore di GnaGna L'avatar di Miciox


    Registrato dal
    Jul 2013
    Località
    Fantabosco
    Messaggi
    4,467
    Smartphone
    Gio, G3, RN3P, iPhone 7

    Ringraziamenti
    965
    Ringraziato 2,182 volte in 1,548 Posts
    Predefinito

    Bel lavoro, bravo!
    Chi ti vede ti definisce solare, perché la foschia lieve della malinconia la vede solo chi si ferma un po’ a viverti.

  17. Il seguente Utente ha ringraziato Miciox per il post:

    varefaz (21-08-14)

  18. #10
    Senior Droid L'avatar di varefaz


    Registrato dal
    Mar 2012
    Messaggi
    778
    Smartphone
    nexus s

    Ringraziamenti
    415
    Ringraziato 113 volte in 74 Posts
    Predefinito

    Quote Originariamente inviato da 1Dan Visualizza il messaggio
    Davvero interessante, ci voleva
    Quale app consigliate per la gestione? Io in passato ho provato Kernel Tweaker ma non mi ha entusiasmato troppo
    Io uso trickster mod va benissimo forse la versione pro e meglio però... Non sempre infatti mi salva le impostazioni quando riavvio
    Nexus 5
    kernel: stock | uber kernel
    rom: PA|Pure White|LS|Pulse|Hazy.4

    [GUIDA] Governor e Scheduler: kernel settings

    <- ti sono stato utile ?? ringraziarmi con il tasto Thanks qui in basso

Pagina 1 di 3 123 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy