Firefox, Mozilla vuole sfruttare le CPU multi-core

Mozilla lavora per renderizzare la pagine web con più thread. Intanto la fondazione fa sapere di essere al lavoro su una soluzione che consentirà di leggere PDF dal browser.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Mozilla ha intenzione di trovare un modo per realizzare un'interfaccia DOM (Document Object Model) multi-threaded per Firefox, in modo che una singola pagina web possa essere renderizzata sfruttando i diversi core dei processori

Da diversi anni i processori di Intel e AMD hanno iniziato a integrare non uno, ma più core, che possono essere usati per portare a compimento operazioni nel minor tempo possibile. Il problema riguarda l'ottimizzazione del software, che non sempre sfrutta a dovere le capacità dell'hardware.

"Pensiamo sia possibile. Questa è un'area di ricerca attiva e invitiamo chiunque a unirsi a noi", ha dichiarato Chris Blizzard, Mozilla open source evangelist. Il progetto è ancora allo stadio iniziale, ma coinvolge Rust, un nuovo linguaggio di programmazione a basso livello realizzato da Mozilla. Rust, sviluppato da Graydon Hoare, è nato nel 2006 come progetto parallelo, ma ora è portato avanti full-time. "È come un linguaggio C++ progettato per permettervi di creare parallelismo e sicurezza", ha dichiarato Blizzard a The Register.

Nel corso degli anni i browser hanno cercato di sfruttare i molteplici core di una CPU. Schede separate possono funzionare su thread diversi, anche se condividono alcuni processi. I plug-in funzionano su processi separati e aspetti come le transazioni http e la decodifica audio/video sono multi-threaded. 

L'interfaccia DOM, usata per renderizzare aspetti come HTML e JavaScript, sfrutta un singolo thread. "È molto difficile realizzare un'interfaccia DOM multi-core", ha dichiarato Blizzard. Con un sempre maggior numero di applicazioni che si stanno spostando verso il browser, ha senso cercare di progettare un DOM capace di usare più core, sia su desktop che su mobile.

"L'idea è quella di prendere pezzi del DOM, del rendering e suddividere i compiti in modo da essere in grado di sfruttare i sistemi multi-core per una singola pagina web". Al momento non ci sono date per la messa in pratica del progetto. "A questo punto è fondamentalmente una ricerca".

Qualcosa di più concreto è invece l'integrazione in Firefox di un visualizzatore di PDF usando HTML5 e JavaScript, in modo da eliminare la necessità di un plug-in Adobe. Secondo il ricercatore di Mozilla Andreas Gal, Firefox potrebbe essere dotato di un lettore di PDF entro i prossimi tre mesi. La funzione è già presente in Google Chrome, ma il browser di Google si basa su un'API, mentre Mozilla userà esclusivamente HTML 5 e JavaScript, che ritiene una soluzione più sicura.

"L'approccio tradizionale per renderizzare PDF in un browser è quello di usare un plug-in per adottare il codice nativo, sia con il PDF Reader di Adobe che altre soluzioni di rendering commerciali, o alcune alternative open source. Tutto questo aumenta il codice di base da mettere in sicurezza, e per questo, il browser Chrome di Google passa attraverso l'uso di una sandbox per evitare attacchi code injection. Un'implementazione basata sull'HTML5 è completamente immune a questa serie di problemi".

Mozilla inizierà a offrire il lettore di PDF con un'estensione per Firefox, ma l'obiettivo finale è quello d'integrare tutto nel pacchetto d'installazione. Il progetto open source è stato etichettato "pdf.js" e Mozilla ha pubblicato piani dettagliati sul proprio sito, così come il codice sorgente

Secondo Gal altri browser possono visualizzare documenti PDF usando pdf.js. "Ci piacerebbe vederlo integrato in altri browser o applicazioni Web. È scritto con tecnologie conformi agli standard del Web, e perciò il codice sarà eseguito da qualsiasi browser compatibile".