Il “mito” dei 64 bit

Sono trascorsi ormai diversi anni dell’introduzione sul mercato dei processori x86 a 64 bit (da non confondersi con la piattaforma Intel Itanium, primo progetto di processori a 64 bit da parte di Intel, ma con una serie di limitazioni). E da qualche anno si vedono già sistemi operativi (Windows Server 2008 R2 e Windows Server 2012) ed applicazioni (ad esempio Exchange dalla versione 2007 in poi) progettati espressamente per i 64 bit.

Ma nonostante i vantaggi di un’architettura a 64 bit (possibilità di gestire più di 4 GB di memoria per singolo processo, maggior numero di registri disponibili), molti software non sono in grado di sfruttare o non necessitano queste potenzialità e, compilati a 64 bit, occupano semplicemente più memoria.

Persino a livello di hypervisor i 64 bit spesso “costano”, in termini di risorse occupate, qualcosa più dei 32 bit (in realtà VMware vSphere 5.x ora ha lo stesso overhead di memoria in entrambi i casi).

In alcuni casi diviene interessante valutare se usare ancora piattaforme a 32 bit o trovare soluzioni per ottimizzare applicazioni ancora a 32 bit. Se per Windows questo problema non si pone più di tanto (sicuramente non nel segmento server, dove oramai è a 64 bit), per Linux vi posso essere varie opzioni.

Linux vanta un solido supporto per questa architettura e per la sua progenitrice (a 32 bit) e non solo (è stato uno dei primi sistemi operativi a supportare la piattaforma Itanium).

Alcuni sviluppatori hanno quindi deciso di creare una nuova ABI per il kernel Linux che unisca i vantaggi di entrambe le architetture: esecuzione in modalità nativa a 64 bit (con disponibilità di tutti i registri) con “gestione dei dati” a 32 bit (minor consumo di memoria).

x32, questo il nome della nuova ABI, dovrebbe quindi garantire le migliori prestazioni per i (tanti) programmi che non necessitano di allocare grandi quantità di memoria ma che possono trarre giovamento dall’esecuzione a 64 bit.

Attualmente gli sviluppatori di x32 (tutti coinvolti in Linux, GCC e librerie fondamentali come libc) sono al lavoro per far accettare e includere tutte le patch necessarie: una volta completato questa attività sarà poi necessario verificare che i risultati siano effettivamente superiori a quelli offerti da sistemi a 32 o 64 bit puri.

Questo post è stato visto 2923 volte!

Posted on Aprile 23, 2013 at 11:00 am by amauro · Permalink
In: Generale, OpenSource