Nuovo linguaggio per la programmazione in parallelo

Un nuovo linguaggio di programmazione è stato progettato per ottenere il massimo dai più recenti processori per computer multicore. Se trova il favore dei programmatori, potrebbe fornire un software più potente per molti computer.





Negli ultimi anni, quando si sono scontrati con i limiti fisici della miniaturizzazione, i produttori di microchip sono passati dall'aumento della potenza dei core del processore, la parte di un chip che gestisce dati e istruzioni, all'aggiunta di più core a un singolo chip . Ad esempio, i processori Intel i3 e i7 hanno rispettivamente due e quattro core.

Questo rappresenta una sfida per i programmatori. Poiché la maggior parte dei linguaggi di programmazione sono stati progettati per chip single-core, può essere difficile suddividere le attività e inviarle a ciascun core in parallelo. Se un programmatore non sta attento, ciò può causare errori nel modo in cui ogni core del chip accede alle sezioni di memoria condivise.

Tucker Taft , chief technology officer e presidente della società di software con sede a Boston SofCheck , ha progettato il nuovo linguaggio, chiamato Specifica parallela e linguaggio di implementazione (ParaSail): specifico per la scrittura di software per processori multicore. Il linguaggio ha lo scopo di evitare le insidie ​​che in genere si verificano quando si lavora con chip multicore.



Per un programmatore, ParaSail sembra una forma modificata di Java o C#, due linguaggi principali. La differenza è che suddivide automaticamente un programma in migliaia di attività più piccole che possono quindi essere distribuite tra i core, un trucco chiamato pico-threading, che massimizza il numero di attività eseguite in parallelo, indipendentemente dal numero di core. ParaSail esegue anche il debug automaticamente, il che rende il codice più sicuro. Tutto viene fatto in parallelo per impostazione predefinita, a meno che tu non dica diversamente, dice Taft.

Nel prossimo decennio, si prevede che il numero di core sui chip dei computer aumenterà ulteriormente. Ci sono alcune macchine là fuori con dozzine o centinaia di core ora, dice Taft.

ParaSail utilizza una serie di altri trucchi, alcuni dei quali attingono ai linguaggi sviluppati alla fine degli anni '80 e all'inizio degli anni '90 per i supercomputer, macchine che eseguono molti chip di computer individuali collegati in rete insieme. Il design del linguaggio stesso è essenzialmente completo, afferma Taft, che mercoledì ha presentato i dettagli del linguaggio al Convenzione Open Source di O'Reilly . La prima versione del compilatore sarà rilasciata nel prossimo mese circa. La lingua funzionerà su computer Windows, Mac e Linux.



Microsoft e Intel stanno investendo 20 milioni di dollari per adattare le lingue esistenti per i processori multicore, quindi è difficile dire se ParaSail sarà ampiamente adottato. Ci sono molte persone che si occupano del problema, prendendo i linguaggi esistenti e cercando di migliorarli nella gestione dell'elaborazione parallela, afferma Taft.

Taft ha già una comprovata esperienza nel mondo dello sviluppo del linguaggio per computer, afferma Denis Nicole del Dependable Systems and Software Engineering Group della Southampton University. Ma aggiunge che di solito ci vogliono aziende delle dimensioni di Sun per spingere nuove lingue nella comunità.

nascondere