I linguaggi funzionali presentano parallelismo implicito ed i ricercatori hanno provato per molti anni ad usare questa proprieta per ottenere une esecuzione efficiente su architetture parallele: di fatto l'attenzione e estata focalizzata sopra tutto su quello che viene definito parallelismo orientato ai processi, lasciando pra- ticamente inesplorato il campo del parallelismo orientato ai dati sebbene sembri piuttosto promettente. Per sviluppare opportunamente il parallelismo orientato ai dati e necessario utilizzare una opportuna "collezione" ma numerosi sono i limiti che le piu comuni strutture dati usate in programmazione funzionale pongono per una implemen- tazione parallela: in questo documentazio essi vengono evidenziati e si definiscono alcune caratteristiche che una ipotetica struttura dati ideale dovrebbe avere per poter essere gestita semplicemente facilmente parallelizzata e ben strutturata per un ambiente distribuito. Viene allora introdotta una struttura alternativa il bag, che cerca di soddisfare detti principi e di questa si danno una spiegazione intuitiva, una definizione formale ed aleuni esempi: nell'ambito della definizione si evidenziano gli aspetti non deterministiei del bag e si discute il loro impatto sulla implementazione su architetture parallele. Quindi vengono presentale aleune giustificazioni pratiche dell'uso del bag: si discutono alune applicazioni in problemi usuali nella programmazione e si analizzano le prove di efficienza che sono state fatte. In fine si discutono i risultati sperimentali che si stanno ottenendo e che sono abbastanza incoraggianti e si trae la conclusione che il bag non solo e ben strutturato per una implementazione distribuita ma anche presenta caratteristiche che ne fanno un ottimo candidato per una implementazione du architetture SIMD come la Connection Machine.
Marino G, Succi G (1992). Una Metodologia Alternativa per l'Implementazione Parallela di Linguaggi Funzionali.
Una Metodologia Alternativa per l'Implementazione Parallela di Linguaggi Funzionali
Succi G
1992
Abstract
I linguaggi funzionali presentano parallelismo implicito ed i ricercatori hanno provato per molti anni ad usare questa proprieta per ottenere une esecuzione efficiente su architetture parallele: di fatto l'attenzione e estata focalizzata sopra tutto su quello che viene definito parallelismo orientato ai processi, lasciando pra- ticamente inesplorato il campo del parallelismo orientato ai dati sebbene sembri piuttosto promettente. Per sviluppare opportunamente il parallelismo orientato ai dati e necessario utilizzare una opportuna "collezione" ma numerosi sono i limiti che le piu comuni strutture dati usate in programmazione funzionale pongono per una implemen- tazione parallela: in questo documentazio essi vengono evidenziati e si definiscono alcune caratteristiche che una ipotetica struttura dati ideale dovrebbe avere per poter essere gestita semplicemente facilmente parallelizzata e ben strutturata per un ambiente distribuito. Viene allora introdotta una struttura alternativa il bag, che cerca di soddisfare detti principi e di questa si danno una spiegazione intuitiva, una definizione formale ed aleuni esempi: nell'ambito della definizione si evidenziano gli aspetti non deterministiei del bag e si discute il loro impatto sulla implementazione su architetture parallele. Quindi vengono presentale aleune giustificazioni pratiche dell'uso del bag: si discutono alune applicazioni in problemi usuali nella programmazione e si analizzano le prove di efficienza che sono state fatte. In fine si discutono i risultati sperimentali che si stanno ottenendo e che sono abbastanza incoraggianti e si trae la conclusione che il bag non solo e ben strutturato per una implementazione distribuita ma anche presenta caratteristiche che ne fanno un ottimo candidato per una implementazione du architetture SIMD come la Connection Machine.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.