CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: pumaro con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

[GUIDA]Processore: Governor, IO scheduler

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
    alexis77
    Guest
    Predefinito

    [GUIDA]Processore: Governor, IO scheduler

    GOVERNOR

    Il Governor è un driver presente nel kernel che permette di regolare la frequenza minima e massima della CPU e il tempo necessario ad essa per raggiungere il massimo o il minimo valore di frequenza di clock del processore, così facendo si vanno a modificare le prestazioni del proprio device nonchè il consumo di batteria.

    Purtroppo la scelta del Governor da utilizzare non è una scelta assoluta, ma relativa, infatti bisogna provarli.. e vedere quale funziona meglio sul nostro device, perchè ogni processore è diverso da un'altro (anche a parità di device) e presenta caratteristiche diverse, un governor non adatto può peggiorare le prestazioni..

    Nei vari kernel stock, ovvero quelli presenti nel proprio firmware di default (niente cooked o appunto kernel moddatti) i Governor presenti sono di solito sempre gli stessi, e sono:
    - Ondemand
    - Powersave
    - Userspace
    - Conservative
    -Performance
    sui kernel moddati invece i Governor sono molti, e variano di numero in base al lavoro dello sviluppatore, che decide quali inserire o eliminare sul proprio kernel....

    GOVERNOR AD OGGI CONOSCIUTI ED USATI:

    -- Ondemand --
    E' il governor di default in quasi tutti i kernel stock. Uno degli obiettivi principali del gover ondemand è quello di passare alla frequenza max non appena vi è una attività della CPU rilevata per garantire la capacità di risposta del sistema..
    ..è il più equilibrato, offre un buon compromesso tra consumi e prestazioni.


    -- Ondemandx --
    Lavora allo stesso modo dell'ondemand, ma con in più un profilo screen off integrato che imposta il clock del processore quando lo schermo è spento alla frequenza massima di 500 mhz.



    -- 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.



    -- Userspace --
    Userspace consente di impostare manualmente le frequenze. possiamo impostare a nostro piacimento la frequenza minima e massima di lavoro del processore.


    -- Intellidemand --
    Il nome deriva da "Intelligente Ondemand", questo governor di basa sull'ondemand ma si comporta appunto in maniera intelligente, non non salta mai alla massima frequenza quando lo schermo è spento, e si comporta in modo diverso in base all'utilizzo della GPU.


    -- Conservative --
    Lavora allo stesso modo dell'Ondemand ma in maniera più lenta e graduale..
    quindi Conservative è meno reattivo ma risparmia la batteria.


    -- Smartass --
    E' basato su Interactive, ma con miglioramenti sostanziali, come ad esempio il mantenimento delle frequenze minime quando il telefono è inattivo.


    -- SmartassV2 --
    E’ uno smartass modificato ed è uno dei governor più usati. 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.


    -- Performance --
    E' l'opposto di Powersave, e imposta la massima frequenza di clock del processore sia per la minima che per la massima..
    .. le prestazioni saranno sempre al massimo, ma la batteria ne risente fortemente... ragion per cui non è indicato per l’utilizzo quotidiano in quanto la batteria si consumerebbe in pochissimo tempo.


    -- Interactive --
    Lavora allo stesso modo dell'Ondemand ma se in maniera più veloce, quindi maggiori prestazioni , ma anche maggiori consumi di batteria.


    -- Interactivex --
    E' un Interactive modificato per diminuire il consumo di batteria.


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


    -- 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.


    -- BrazilianWax --
    E' è come lo Smartass ma ha un cambio di frequenza più rapido.


    -- SavagedZen --
    Altro governor basato sullo Smartass ma con alcune modifiche al fine di ottenere buone prestazioni ma con un consumo non eccessivo della batteria.

    --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 occupato (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.

    -- 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..


    -- Lulzactive --
    Anche questo viene considerato uno dei migliori Governor a disposizione..
    E' Basato su interactive e smartass, nel dettaglio il comportaemento del procesore è il seguente:
    Quando il carico di lavoro è maggiore o uguale al 60%, fa salire le frequenze della cpu immediatamente allo step successivo... invece quando il carico di lavoro è inferiore al 60%, abbassa immediatamente le frequenze della cpu allo step precedente... se lo schermo è spento, la frequenza è bloccata alla frequenza minima.
    utilizzando questo governor possiamo personalizzarne i vari parametri a nostro piacimento tramite l'App .


    -- Lazy --
    E' in realtà un Ondemand modificato, dove vi è aggiunto il parametro "min_time_state" il quale che stabilisce un tempo minimo in cui la cpu deve rimanere su una determinata frequenza prima di passare alle altre frequenze, base o alte che siano..
    ..questo per eliminare le instabilità causate dal rapido cambio di frequenza che si ha su ondemand.
    Oltre al parametro aggiuntivo "min_time_state" ha anche un parametro "screenoff_maxfreq", che se se attivato farà sì che il processore non superi una frequenza massima pre impostata quando schermo è spento.


    -- Lagfree --
    E' simile all'Ondemand, ma con la sostanziale differenza che garatisce l'aumento o la diminuizione delle frequenze in maniera graduale, non saltando le frequenze durante la salita o la discesa.


    -- Wheatley --
    In breve questo governor non è altro che un Ondemand modificato, per avere buone prestazioni ma senza un consumo eccessivo della batteria...
    Questo Governor è stato rilasciato da pochissimo tempo ed ancora non è molto diffuso.. se volete approfondire la lettura vi rimando al thread dello sviluppatore


    -- Lagfree --
    E' simile all'Ondemand, ma con la sostanziale differenza che garatisce l'aumento o la diminuizione delle frequenze in maniera graduale, non saltando le frequenze durante la salita o la discesa.
    Ultima modifica di alexis77; 03-08-13 alle 11:47 - Motivo: Aggiunto ringraziamento fonte, utente Androidiani cloudseth

  2. I seguenti 4 Utenti hanno ringraziato alexis77 per il post:

    africone (25-09-13),cicciocant (03-08-13),ultimo125 (03-08-13),Wahoo (13-09-13)

  3.  
  4. #2
    alexis77
    Guest
    Predefinito

    I/O SCHEDULER

    Lo Scheduler è un algoritmo che, dato un insieme di richieste di accesso ad una risorsa, stabilisce un ordinamento temporale per l'esecuzione di tali richieste, privilegiando quelle che rispettano determinati criteri in modo da ottimizzare l'accesso a tale risorsa.
    La differenza tra i vari scheduler è l'attenzione posta su alcuni criteri piuttosto che su altri.
    La scelta di un dato scheduler non produce cambiamenti così visibili come per la scelta dei governor, ma apporta comunque dei miglioramenti.
    Al solito gli scheduler vanno provati personalmente per trovare quello più adatto alle proprie esigenze.


    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
    E' 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
    E' 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. Galaxy s4 e galaxy note 3 hanno inserito su kernel stock lo scheduler ROW.
    IN AGGIORNAMENTO


    Ultima modifica di alexis77; 06-03-14 alle 14:59 - Motivo: AGGIUNTO ROW SCHEDULER 06-03-2014

  5. I seguenti 4 Utenti hanno ringraziato alexis77 per il post:

    cicciocant (03-08-13),DaveRock (25-09-13),davi95 (17-12-13),ultimo125 (03-08-13)

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