Explicitly parallel instruction computing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 0 fonte/i e segnalazione di 1 link interrotto/i. #IABot (v1.6.1)
 
(15 versioni intermedie di 12 utenti non mostrate)
Riga 1:
'''Explicitly Parallelparallel Instructioninstruction Computingcomputing''' ('''EPIC''') è un paradigma di architettura per [[microprocessore|microprocessori]] sviluppata verso la fine degli [[anni 1990|novanta]]. Questo paradigma è statastato sviluppato da [[Intel]] e [[Hewlett -Packard|HP]] e ha portato allo sviluppo dell'architettura dell'Intel [[IA-64]] utilizzata nei processori [[Itanium]] e [[Itanium 2]]. L'obiettivo di EPIC è lo sviluppo di processori in grado di eseguire in modo nativo ed efficiente codice parallelo senza dover utilizzare complesse strutture hardware all'interno del processore ma demandando la maggior parte dei problemi di parallelizzazione al compilatore. Questo permette di ottenere un aumento regolare e costante delle prestazioni senza innalzare eccessivamente la frequenza di funzionamento dei processori evitando consumi eccessivi e problemi di dissipazione.
 
== Storia ==
L'architettura EPIC è un derivato dell'architettura [[Very long instruction word|VLIW]] e difatti lo sviluppo di questa architettura è inscindibilmente legato con lo sviluppo dell'architettura VLIW. Le principali innovazioni sono state<ref>linea del tempo estratta da [http://www.cs.clemson.edu/~mark/epic.html Historical background for HP/Intel EPIC and IA-64 -- Mark Smotherman]</ref>:
 
* 1981 - [[Bob Rau]] sviluppa il ''Polycyclic Architecture project at TRW/ESL''<ref>''Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing'' International Symposium on Microarchitecture archive
Proceedings of the 14th annual workshop on Microprogramming table of contents Chatham, Massachusetts, United States Pages: 183 - 198 anno: 1981 {{ISSN|1050-916X}}</ref>
* 1983 - [[Josh Fisher (informatico)|Josh Fisher]] descrive il progetto ELI-512 una macchina VLIW con compilatore che implementa il [[trace scheduling]]<ref>Very Long Instruction Word architectures and the ELI-512 IEEE-CS : Computer SoħĒēĕĊČÄÈăĂāĜciety, SIGARCH: ACM Special Interest Group on Computer Architecture Pages: 140 - 150 anno: 1983 ISBN 0-89791-101-6</ref>
* 1983-1988 - Rau alla [[Cydrome]] sviluppa il sistema Cydra-5, la compagnia chiuderàchiude nel 1998<ref>The Cydra 5 departmental supercomputer: design philosophies, decisions, and trade-offs Rau, B.R.; Yen, D.W.L.; Wei Yen; Towle, R.A.; Computer Volume 22, Issue 1, Jan. 1989 Page(s):12 - 35 Digital Object Identifier 10.1109/2.19820</ref>
* 1984-1990 - Fisher alla [[Multiflow]] sviluppa i sistemi Trace, la compagnia chiuderàchiude nel 1990
* 1988 - Dick Lampman presso la Hewlett Packard assume Bob Rau e Mike Schlansker dalla Cydrome e acquisisce i brevetti della Cydrome
*1989 - Rau e Schlansker avvionoavviano il progetto di ricerca FAST (Fine-grained Architecture and Software Technologies), in seguito svilupperanno l'architettura HP [[PlayDoh]]
*1990-1993 - Bill Worley sviluppa l'architettura PA-WW (Precision Architecture Wide-Word) presso i laboratori Hewlett Packard come architettura successore di quella utilizzata dai processori [[PA-RISC]], in seguito questa prenderà il nome SP-PA (Super-Parallel Processor Architecture) e produrrà il SWS (Super WorkStation)
*Hewlett Packard assume Josh Fisher e lo inserisce nel progetto PA-WW
Riga 18:
*1993 - Hewlett Packard inizia a sviluppare prodotti basati su PA-WW
*Dicembre 1993 - Hewlett Packard avvia contatti con Intel per una collaborazione
*Giugno 1994 - Hewlett Packard e Intel annunciano una collaborazione; il progetto PA-WW verrà usato come punto di partenza per lo sviluppo di prodotti comuni; John Crawford da Intel diventa direttore del progetto
*1997 - viene coniato il termine EPIC
*Ottobre 1997 - Presentazione di Interl e Hewlett Packard al Microprocessor Forum
*Giugno 1998 - Carole Dulong da parte Intel pubblica "The IA-64 Architecture at Work," IEEE Computer, pp.&nbsp;24–32.
*Febbraio 1999 - pubblicazione dei dettagli sull'ISA IA-64
*2001 - Intel rinomina per questioni di marketing l'IA-64 come Itanium Processor Family
*Maggio 2001 - Itanium (Merced)
Riga 28:
 
== VLIW ==
L'[[esecuzione fuori ordine]] e l'[[esecuzione speculativa]] ha permesso negli anni passati di incrementare significativamente le prestazioni dei processori. Tuttavia queste tecniche hanno presto mostrato i loro limiti, richiedono unità funzionali sempre più costose e complesse per ottenere aumenti prestazionali sempre più ridotti. Nella metametà degli anni 901990 si svilupparono diverse ricerche per arginare o eliminare il problema e le ricerche portarono allo sviluppo di [[set di istruzioni]] ove il parallelismo delle singole istruzioni fosse dichiarato in modo esplicito in modo da eliminare le unità di esecuzione fuori ordine e di analisi speculativa del codice. Questi set di istruzioni portarono alle architetture [[Very long instruction word|VLIW]].
 
Nelle architetture VLIW le istruzioni sono impacchettate in gruppi che vengono eseguiti in parallelo. In ogni gruppo la dipendenza tra le varie istruzioni è già stata analizzata e risolta dal compilatore e quindi il processore deve solo prendere il gruppo di istruzioni, separare le singole operazioni ed eseguile in parallelo senza dover utilizzare complesse unità di analisi del codice. Tutta l'analisi del codice per ottenerne ununa versione parallela è stata effettuata dal compilatore che avendo molto più tempo del microprocessore effettua analisi molto più approfondite e performanti.
 
Le architetture VLIW però hanno diversi difetti che attualmente ne limitano la diffusione, le principali sono:
Riga 36:
*Le moderne architetture basate su [[DRAM]] e [[CPU cache|cache]] rendono il tempo di accesso alla memoria non predicibile e quindi molte delle ottimizzazioni applicate dal compilatore vengono vanificate.
 
== Superare i limitelimiti del VLIW ==
L'architettura EPIC al fine di risolvere i principali problemi segue sei principi base:
#Caricamenti anticipati delle istruzioni
Riga 61:
==Ricerca e sviluppo continuo ==
Il progetto EPIC si basa su ricerche prodotte da molti gruppi, tra le più influenti si segnalano:
*IMPAC, un progetto dalla [[Università dell'Illinois a- Urbana-Champaign]] gestito da Wen-mei Hwu che ha prodotto molte idee e tecniche utilizzate da EPIC.
*L'architettura [[PlayDoh]] prodotta da HP nei suoi laboratori.
*Gelato.org un progetto open source che mira a sviluppare una comunità di aziende e università per creare compilatori ad alte prestazioni per i processori Itanium su piattaforma Linux
 
==EPIC nel mercato==
L'architettura EPIC dopo un avvio molto stentato ha raggiunto un certo successo in alcuni segmenti di mercato, dove i server ad alte prestazioni la fanno da padrona. Secondo un'analisi di IDC del 2007 i server basati su Itanium hanno generatogeneravano un giro d'affari di 2.,2 miliardi di dollari statunitensi e losi studio stimastimava che il giro d'affari raggiungaavrebbe raggiunto i 7 miliardi di dollari nel 2010.<ref>{{collegamento interrotto|1=[http://www.manufacturing-insights.com/MI/getdoc.jsp?containerId=202865 Intel Brings Dual-Core Capabilities to Itanium 2 with Montecito Processor] {{Webarchive|dateurl=dicembre 2017https://web.archive.org/web/20070927014729/http://www.manufacturing-insights.com/MI/getdoc.jsp?containerId=202865 |botdata=InternetArchiveBot27 settembre 2007 }}</ref> L'architettura EPIC si sta diffondendo ma se questa architettura dominerà il futuro è tutto da vedere.
 
== Note ==
Riga 79:
 
== Collegamenti esterni ==
* {{cita web | 1 = http://www.lithium.it/articolo0018p1.htm | 2 = Articolo tecnico | accesso = 10 settembre 2006 | urlarchivio = https://web.archive.org/web/20060909090522/http://www.lithium.it/articolo0018p1.htm | dataarchivio = 9 settembre 2006 | urlmorto = sì }}
 
{{Portale|informatica}}
 
[[Categoria:Microprocessore]]
[[Categoria:Instruction Processingprocessing]]
[[Categoria:Calcolo parallelo]]
[[Categoria:Intel]]