Nel keynote di apertura dell’ultima conferenza per sviluppatori, Apple ha evidenziato il guadagno in termini di durata della batteria che offrono i nuovi MacBook Air con CPU Haswell rispetto agli equivalenti modelli della generazione precedente. Il merito è dei nuovi processori e in particolare di ottimizzazioni specifiche sulle quali Intel ha molto lavorato negli ultimi anni. Sia il consumo in fase di attività che di inattività sono stati migliorati progettando nuovi stati del processore a bassissimo consumo, in cui la CPU consuma solo una frazione di energia rispetto alle modalità idle precedenti. Apple è da parte sua a lavoro su tecnologie che sul futuro OS X 10.9 “Mavericks” permetteranno di migliorare ancora la durata della batteria e altre che allo stesso tempo permetteranno di massimizzare le prestazioni.
Timer coalescing è il nome della prima tecnologia sotto il “cofano” di OS X 10.9 “Mavericks”, sfruttata quando i portatili funzionano con la sola energia della batteria. Applicazioni per OS X possono richiede costantemente l’esecuzione di alcune operazioni (es. verifica di aggiornamenti software, rinnovo ID client DHCP) e (in modo invisibile per l’utente) richiedere l’attivazione della CPU, l’accesso al disco o alla rete, anche quando non fondamentale.
Le applicazioni non coordinano l’esecuzione di queste operazioni e anche un Mac a riposo può spesso essere costantemente “stimolato”, accedendo al disco o richiedendo l’esecuzione di particolari operazioni alla CPU quando questa è a “riposo” vanificando lo stato idle impostato per ottimizzare la durata della batteria. Con il Timer coalescing di OS X 10.9, il sistema scansiona le richieste periodiche delle applicazioni, respingendo garbatamente “interpellanze” troppo vicine le une dall’altra. Dischi e CPU possono essere interpellate, eseguire simultaneamente operazioni per conto di più applicazioni e tornare allo stato di sleep o idle per un determinato tempo prima che i timer tornino “alla carica” con nuove richieste.
La seconda novità è la memoria compressa, un meccanismo trasparente (per l’utente) che comprime automaticamente gli elementi sfruttati recentemente in RAM, decomprimendoli all’istante quando sono nuovamente richiesti dalle applicazioni. Apple afferma che il ciclo di compressione e decompressione in memoria è più veloce di simili meccanismi che ricorrono o ai dischi rigidi o alle unità SSD, grazie a un algoritmo denominato WKdm. Il sistema permette di liberare costantemente memoria, aumenta la velocità del sistema, riduce la necessità di creare file di swap sui dischi e, di conseguenza, migliora la durata della batteria; e tutto questo nonostante il piccolo incremento in termini di uso della CPU necessario per l’attivazione “al volo” dei meccanismi di compressione/decompressione.
La terza tecnologia che consente di avere un sistema più efficiente è denominata App Nap. Con essa Apple tiene sotto controllo le applicazioni che non sono eseguite in primo piano; quando queste non sono utilizzate, OS X “frena” i program timer, limitando la loro frequenza con conseguenti migliorie negli intervalli di CPU idle in particolare con le applicazioni che frequentemente tendono a controllare l’arrivo di dati. Anche le costanti attività sul disco e sulla rete sono circoscritte rispetto a prima.
Le app “dormienti” hanno meno priorità relativamente ad attività che hanno a che fare con l’accesso ai dischi o al network, con conseguente risparmio in termini di consumi, dando alle applicazioni in primo piano maggiore priorità e rendendole più rapide. Con OS X 10.9 “Mavericks” diminuisce anche la priorità applicata dai processi UNIX alle app “dormienti”, assegnando a queste una frazione delle risorse della CPU. Questi cambiamenti permetteranno al sistema di gestire meglio le app in background tenendo sotto controllo i consumi di qualunque applicazione non ottimizzata (pensata per funzione a pieno regime in background).
Oltre alle tre tecnologie in questione, Apple ha integrato alcune migliorie nel kernel, modificando la modalità con la quale le risorse delle CPU sono usate. OS X 10.9 “Mavericks” usa meno core possibili, lasciando gli altri core totalmente in idle quando possibile. Questi nuovi meccanismi, uniti a funzionalità di risparmio energetico intrinseche di Haswell, renderanno OS X un sistema altamente ottimizzato per l’uso nei portatili.