CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

[Huawei Ascend P1][Guida] Governor e 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
    Androidiano


    Registrato dal
    Jan 2013
    Messaggi
    175

    Ringraziamenti
    112
    Ringraziato 71 volte in 15 Posts
    Predefinito

    [Huawei Ascend P1][Guida] Governor e Scheduler

    Salve a tutti, oggi vorrei aprire un thread in cui descriverò in modo esaustivo i governor e gli scheduler presenti sulle varie ROM che ho avuto modo di provare su questo e altri telefoni; e perchè no, anche le mie preferenze su ognuno
    Innanzitutto iniziamo con la parte teorica.

    Cos'è un governor?
    Chiamasi 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, modificando le prestazioni del proprio device nonchè il consumo di batteria.

    Cos'è lo scheduler?
    chiamasi scheduler l'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.

    Ora passiamo alla spiegazione di ogni singolo governor e scheduler. Buona lettura!



    GOVERNOR:


    -- 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. Per chi si accontenta

    -- 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. Per chi si accontentaX

    -- 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. Di solito lo impostavo quando dovevo lasciare il dispositivo parecchie ore inattivo (ad esempio la notte quando dormivo)

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

    -- Intellidemand --
    Il nome deriva da "Intelligente Ondemand", questo governor si 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. Uno dei miei preferiti

    -- Conservative --
    Lavora allo stesso modo dell'Ondemand ma in maniera più lenta e graduale..
    quindi Conservative è meno reattivo ma risparmia la batteria. Non adatto ad un uso quotidiano, direi.

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

    -- 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. A me sinceramente, questo governor fa abbastanza schifo xD
    Il telefono risultava molto rallentato, le frequenze venivano scalate molto lentamente, checcè se ne dica.

    -- 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. Lo usavo specialmente quando giocavo pesante o per fare qualche test benchmark.

    -- Interactive --
    Lavora allo stesso modo dell'Ondemand ma se in maniera più veloce, quindi maggiori prestazioni , ma anche maggiori consumi di batteria. Governor molto buono per un uso quotidiano

    -- Interactivex --
    E' un Interactive modificato per diminuire il consumo di batteria. Questo è ancora meglio

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

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

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

    -- Hotplug --
    E' simile all'ondemand, ma scala le frequenze della CPU in base al carico. A schermo spento dovrebbe disattivare un processore. Ho usato questo governor per moltissimo tempo e devo dire che mi sono trovato benissimo. 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 --
    Questo governor è stato creato appositamente da samsung per il suo Galaxy S3, poi adattato e modificato anche per funzionare con il Galaxy S2 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 1200 Mhz mentre l'altro a 350 Mhz, in base naturalmente al carico di lavoro. Vi lascio immaginare i benefici in termini di prestazioni e di durata di batteria. Questo attualmente è il mio governor è devo dire che ho riscontrato una fluidità del sistema che prima non avevo, e i consumi della batteria sono molto bassi



    SCHEDULER:


    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. In rete ho trovato molti pareri positivi anche riguardo questo scheduler; pare sia il più efficiente in termini di prestazioni (Infatti è quello che ho sempre usato io )

    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.



    Detto questo, credo di essere stato abbastanza chiaro ed esaustivo. Naturalmente, sia per quanto riguarda i Governor sia per quanto riguarda gli Scheduler ogni parere o giudizio può essere soltanto soggettivo, dato che ognuno di noi fa un uso diverso del proprio terminale. Comunque, se avete bisogno di ulteriori chiarimenti, consigli ecc.. non dovete fare altro che chiedere. Chiedete e vi sarà detto!
    Buon proseguimento a tutti!

    P.S: Un "Thanks" è sempre ben accetto

  2. I seguenti 56 Utenti hanno ringraziato alexthedrummer per il post:

    19puma83 (24-07-13),aaaa00 (28-03-13),alberisca75 (21-09-13),Albertino93 (15-04-14),alessio89g (27-05-14),andron00b (17-05-14),Antonio97Lgl7 (05-03-14),Bender1 (28-03-13),blaskix (07-08-13),BrokenEyes (13-09-13),buttons (10-10-13),Cadence (03-03-14),CasperCrasher (27-09-13),ClaudìoS3 (27-03-13),danydany (17-10-13),dariett (31-10-13),darkfelix1 (20-10-13),davbasta (07-09-13),DavideHuawei (28-03-13),EaglesGPC (09-12-13),enzoxxx86 (22-08-13),ergattone (08-07-15),francy1095 (11-10-13),freakreed (23-11-13),GalaxyValerio (09-02-14),Gmx81 (08-02-14),iko14iron (02-08-13),Kylua (23-07-13),Lanfree (09-09-13),lgone (08-01-14),MarcoMaxim (29-01-14),Massibaugigi (19-10-13),matteo1980 (01-10-14),MaxTuccia (12-06-13),nfsmichele (10-03-15),nikoroxy (25-08-13),niub44 (30-09-14),Ombra (30-12-14),page64 (05-04-14),paperino67 (29-03-13),pigifed (09-10-13),Richy (19-01-14),RickDeckard84 (27-03-13),RockStepp (07-05-13),samulomba96 (07-03-14),SGNext (17-03-14),sh4nk (22-11-13),silvano90 (09-05-14),Terfysgol (14-05-14),tonkio82 (05-02-14),user43 (21-09-13),venticello91 (22-12-13),xjasonxl10l (26-09-14),xOrion (27-03-13),Xperia-S-Tony (12-04-14),zxbreak (01-07-14)

  3.  
  4. #2
    Androidiano


    Registrato dal
    May 2013
    Messaggi
    66

    Ringraziamenti
    10
    Ringraziato 1 volta in 1 Post
    Predefinito

    Grazie!!!!!!

  5. #3
    Androidiano L'avatar di danydany


    Registrato dal
    Oct 2012
    Messaggi
    230
    Smartphone
    LG G2; Nexus 7 (2012) Lollipop

    Ringraziamenti
    18
    Ringraziato 15 volte in 14 Posts
    Predefinito

    Grazie mille. Ne hanno aggiunti altri, puoi spiegarceli per favore

  6. #4
    Androidiano


    Registrato dal
    Jan 2014
    Messaggi
    169

    Ringraziamenti
    56
    Ringraziato 13 volte in 12 Posts
    Predefinito

    riesumo questo post per chiedervi quale sono i settaggi secondo voi migliori per avere un giusto compromesso tra prestazioni e batteria

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