Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicit� Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Ateji PX, supporto per Java parallelo
Scritto da Paolo Raviola il 12-07-2010 ore 12:25
Intel System Studio
La programmazione parallela per le architetture multicore e many-core rivolta per la maggior parte al linguaggio C++ (Threaded Building Blocks (TBB) di Intel, Parallel Studio, Rapidmind, Cilk++) o ai linguaggi funzionali (Erlang, Haskell, Scala). Un'importante assenza Java.

Naturalmente non si vuol dire che non si possa programmare in parallelo in Java; questo linguaggio fu progettato per la programmazione concorrente, con un supporto di base nel linguaggio e nelle librerie. A partire dalla versione 5.0, sono state introdotte API ad alto livello, come il pacchetto java.util.concurrent, socket, Remote Method Invocation, le Thread API, e il message passing.

Esistono inoltre strumenti di terze parti, come Parallel Java Library di Alan Kaminsky, HPJava, Javelin, Titanium, e altri. Il supporto quindi non difetta, ma il problema, come anche in altri linguaggi, continua a essere la complessit e la mancanza di astrazione. Nel mondo C++, Intel ha affrontato il problema con i suoi TBB.

Ora per la Ateji ha rilasciato Ateji PX for Java, un'estensione che concerne solo gli aspetti legati al parallelismo, pi un paio di costruzioni sintattiche, e che fornisce compatibilit con il codice sequenziale e con i tool gi esistenti. Il metodo utilizzato quello del source-to-source translation. Ateji PX costruisce le sue primitive parallele basandosi sul linguaggio sottostante; questa tecnica d'aiuto nel mantenere il linguaggio di base chiaro e standard.

Stando alla compagnia, il prodotto opera con tecniche message-passing a livello di linguaggio. Questo consente al compilatore di mappare i programmi su diverse architetture e di scrivere codice indipendente da qualunque libreria. Con questa tecnica i programmi possono girare senza modifiche su cluster di computer, sui supercomputer basati su MPI, attraverso una rete e nel cloud. in preparazione una versione distribuita di Ateji PX, dove i rami paralleli possono girare su postazioni remote.
Precedente: Come analizzare il codice C per il parallel processing
Successiva: La nuova beta di MobileMe implementa il protocollo CalDAV
Copyright Programmazione.it™ 1999-2015. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.22 secondi.