Processador Multinucli

De Viquipèdia
Salta a la navegació Salta a la cerca

Un processador multinucli es aquell que combina dos o mes unitats de processament independents anomenats cores, on cadascun llegeix i executa instruccions com si l’ordinador tingues diferents processadors. Les instruccions son instruccions CPU com podria ser add, move o brach però aquest processador únic podria executar múltiples instruccions en nuclis separats al mateix temps, augmentant així la velocitat dels programes que suporten multithreading o altres tècniques de computació en paral·lel.

Els fabricants generalment integren els nuclis en un únic circuit integrat (conegut com a chip multiprocessador) y actualment son utilitzats en la majoria d’equips personals. Un processador multi nucli implementa multiprocessament en un sol paquet físic. Els dissenyadors poden acollar els nuclis en un dispositiu multi nucli lliurement, per exemple, els nuclis poden o no compartir memòria cache, implementar mètodes de comunicació entre nuclis de pas de missatges o memòria compartida.

Normalment els diferents cores estan connectats per topologies de xarxes comunes com podrien ser busos, anells, malles o crossbars. Els sistemes multi core homogenis estan formats només per cores idèntic mentre que els sistemes multi core heterogenis estan formats per cores no idèntics. (p.e big.LITTLE te cores heterogenis que comparteixen el mateix repertori d'instruccions mentre que AMD Accelerated tenen cores que no comparteixen el mateix repertori d'instruccions). Exactament igual que els processadors d'un únic core, els processadors multi nucli també poden implementar arquitectures com VLIW, superscalar, vector o multithreading com hem comentat anteriorment. Els processadors multinucli s'utilitzen àmpliament en molts dominis d'aplicacions, inclosos els d'ús general, integrats, en xarxa, DSP i GPU.

La millora en el rendiment obtinguda a partir de la utilització d'un processador multi nucli depèn en gran manera dels algoritmes software utilitzats i la seva implementació. Com descriu la llei d'Ambdahl, les guanys possibles estan limitades per la fracció de software que es pot executar en paral·lel simultàniament en múltiples nuclis del processador. Veient això podem concloure que la majoria d'aplicacions no s'acceleren tant a causa de no estar implementades per treure el màxim rendiment d'aquest tipus de processadors. Actualment la paralització software és un important tema d'investigació en procés.

Aparició Processador Multinucli[modifica]

Incentius comercials

Fins al començament del segle XXI, la manera d'incrementar el rendiment dels processadors d'un sol core era augmentar la densitat de transistors. Tanmateix, encara que la velocitat del transistor incrementava, el seu consum també ho feia. La major part d'aquesta potència es dissipa com a calor provocant així un augment de la capacitat dels ventiladors de refrigeració i per tant un augment dels costos. Per aquest motiu, els fabricants de processadors van iniciar una investigació per trobar una alternativa de processament diferent.

En la cerca d'una potència de processament addicional per ordinadors personals, la millora en l'àmbit dels supercomputadors va generar una bona pregunta: en lloc d'experimentar únicament el rendiment d'un sol nucli de processament, per què no posar més d'un en un ordinador personal? D'aquesta manera, els ordinadors personals podrien continuar millorant el rendiment sense necessitat d'augmentar la velocitat del rellotge del processador. En 2005 a causa de l'augment del mercat competitiu i les poques alternatives, els principals fabricants de CPUs van començar a oferir processadors amb dues cores en comptes d'un sol core. Durant els anys següents, van seguir aquest desenvolupament amb l'alliberament de tres, quatre, sis i vuit nuclis de processador central. A vegades es coneix com a revolució multicèntrica, aquesta tendència ha marcat un gran canvi en l'evolució del mercat de la informàtica de consum.

Avui, seria relativament difícil comprar un ordinador de sobretaula amb una CPU que contingui un únic nucli. Fins i tot els processadors centrals de baix nivell i de baixa potència tenen dos o més nuclis. L'any 2008, Intel va llançar dos processadors verds de quatre nuclis (L5420, L5410) per a servidors i estacions de treball que corrien més ràpid que els processadors anteriors de quatre nuclis sense consumir més potència. Aquests tipus de processadors són molt recomanables per al desenvolupament sostenible.


Factors tècnics

Atès que els fabricants d'ordinadors han implementat durant molt de temps dissenys de multiprocessament simètric (SMP) utilitzant CPUs discretes, els problemes relacionats amb la implementació de l'arquitectura de processadors multi-nucli i el seu suport amb programari són ben coneguts. A més:

• L'ús d'un disseny de nucli de processament provat sense canvis arquitectònics redueix significativament el risc del disseny.

• Per a processadors d'usos generals, gran part de la motivació per als processadors de múltiples nuclis prové d'un gran nombre de millores en el rendiment del processador a partir de l'augment de la freqüència de funcionament. Això es deu a tres factors principals:

1. La paret de memòria; la creixent bretxa entre processadors i velocitats de memòria. Això, de fet, empeny a què les mides de memòria cau siguin més grans per emmascarar la latència de la memòria. Això només ajuda en la mesura que l'amplada de banda de la memòria no és el coll d'ampolla en el rendiment.

2. La paret de l'ILP; la creixent dificultat de trobar suficient paral·lelisme en un sol flux d'instruccions per mantenir un processador d'un sol nucli d'alt rendiment.

3. La paret elèctrica; la tendència de consumir una potència creixent exponencialment (i generar així un augment de calor exponencialment) amb cada increment factorial de freqüència de funcionament. Aquest increment es pot mitigar "reduint" el processador mitjançant empremtes més petites per a la mateixa lògica. La paret elèctrica planteja problemes de fabricació, disseny de sistemes i desplegament que no s'han justificat davant la disminució dels guanys de rendiment a causa de la paret de memòria i la paret ILP.

Per tal de continuar oferint millores regulars en el rendiment per a processadors de propòsit general, els fabricants com Intel i AMD han recorregut a dissenys multi-nucli, sacrificant els costos de fabricació més baixos per a un major rendiment en algunes aplicacions i sistemes. S'estan desenvolupant arquitectures multicentriques, però també ho són les alternatives. Un candidat especialment fort per als mercats establerts és la major integració de funcions perifèriques al xip.

Avantatges[modifica]

Els processadors multinucli ofereixen avantatges com els següents:

Eficiència energètica: L'ús de processadors multinucli redueix el consum d'energia (es perd menys energia com a calor), la qual cosa augmenta la durada de la bateria.

Concurrencia: Al assignar aplicacions a diferents nuclis el processament multinucli augmenta el suport intrínsec per al processament en paralel dins de les aplicacions software individuals a través de múltiples aplicacions.

Rendiment: El processament multicore pot augmentar el rendiment executant diverses aplicacions simultàniament. La disminució de la distància entre nuclis d'un xip integrat perment una latència d'accés als recursos més curta i majors velocitats de caché. No obstant això, l'augment de rendiment depèn del nombre de nuclis, el nivell de concurrencia real i l'ús de recursos compartits.

Aïllament: Els processadors multinucle poden millorar (però no garantir) l'aïllament espacial i temporal(segregació) en comparació amb les arquitectures d'un sol nucli. El programari(software) que s'executa en un nucli té menys probabilitats d'afectar al proramari d'un altre nucli que si s'executen amb el mateix únic nucli. Això es deu tant a l'aïllament espacial com al temporal. ja que els fils(threads) d'un nucli no son retrassats per als fils d'un altre nucli.

Costos Hardware: Mitjançant l'ús de processadors multinucli, els arquitectes poden produir sistemes amb menys ordinadors i processadors.

Desavantatges[modifica]

A més del suport del sistema operatiu (SO), calen ajustaments al programari existent per maximitzar la utilització dels recursos informàtics proporcionats pels processadors multi-nucli. A més, la capacitat dels processadors multi-nucli per augmentar el rendiment de les aplicacions depèn de l'ús de múltiples subprocessos dins de les aplicacions.

La integració d’un xip multicèntric redueix els rendiments de la producció i és més difícil gestionar tèrmicament que els dissenys d’un xip de baixa densitat. Intel ha contrarestat parcialment aquest primer problema mitjançant la creació dels seus dissenys de quatre nuclis combinant dos de doble nucli en un únic xip amb una memòria cau unificada, per la qual cosa es poden utilitzar dos matrius de doble nucli de treball, en lloc de produir quatre nuclis en un únic xip i requereix que els quatre treballin per produir un quad-core. Des del punt de vista arquitectònic, en definitiva, els dissenys de CPU individuals poden utilitzar millor la superfície de silici que els nuclis multiprocessadors, de manera que un compromís de desenvolupament amb aquesta arquitectura pot comportar el risc d’obsolescència. Finalment, el poder de processament en brut no és l’única restricció del rendiment del sistema. Dos nuclis de processament que comparteixen el mateix bus de sistema i amplada de banda de memòria limiten l'avantatge del rendiment del món real. Seria possible que una aplicació que utilitzava dues CPU acabés funcionant amb més rapidesa en un nucli dual si la comunicació entre les CPU era el factor limitant, que suposaria una millora de més del 100%.

Desafiaments multinucli[modifica]

El fet de tenir múltiples nuclis en un sol xip dóna lloc a alguns desafiaments. Potència i la gestió de la temperatura són dues desafiaments que poden augmentar exponencialment amb l'addició de nuclis. La coherència de memòria cau és un altre desafiament, ja que la distribució de memòria cau porta a problemes de coordinació.

Si els programadors no escriuen aplicacions que aprofiten els múltiples nuclis no hi ha guany, i en alguns casos hi ha una pèrdua d'actuació. L'aplicació ha d'escriure perquè es puguin executar diferents parts alhora en diferents nuclis.

Potència i temperatura[modifica]

Si es col·locaran dos nuclis en un sol xip sense cap modificació, el xip, en teoria, consumeix el doble d'energia i genera una gran quantitat de calor. En el cas extrem, si un el processador es sobreescalfa i l'ordinador pot fins i tot cremar-se. Per donar compte d'això, cada disseny de dalt executa els múltiples nuclis a una freqüència més baixa per reduir el consum d'energia.

Per combatre el consum innecessari d'energia, molts dissenys també incorporen una unitat de control d'energia. que té l'autoritat per apagar els nuclis no utilitzats o limitar la quantitat d'energia.

Coherència de memòria cau[modifica]

La coherència de la memòria cau és una preocupació en un entorn multicore a causa de L1 i L2 distribuïts memòria cau. Com que cada nucli té la seva memòria cau, és possible que la còpia de les dades en aquesta memòria cau no sigui sempre la versió més actualitzada.

Per exemple, un processador de doble nucli on cada nucli es va portar un bloc de memòria a la seva memòria cau privada. Un nucli escriu un valor a una ubicació específica, quan el segon nucli intenta llegir aquest valor des de la seva memòria cau no tindrà la còpia actualitzada tret que la seva entrada de memòria cau no estigui invalidada i que es produeixi un error de memòria cau. Aquesta memòria cau falla la segona l’entrada de la memòria cau del nucli per a ser actualitzada. Si aquesta política de coherència no estigués al seu lloc, es tracta de dades sobre les escombraries es produirien resultats de lectura i no vàlids, possiblement estalviant el programa o l’ordinador sencer.

En general hi ha dos esquemes per a la coherència de la memòria cau, un protocol de snooping i un directori basat en protocol. El protocol de snooping només funciona amb un sistema basat en busos i utilitza diversos estats per determinar si necessita o no actualitzar entrades de memòria cau i si té control sobre l’escriptura al bloc.

El protocol basat en directoris es pot utilitzar en una xarxa arbitrària i, per tant, és escalable per a molts processadors o nuclis, a diferència del snooping que no és escalable. En aquest es fa servir un directori que conté informació sobre les ubicacions de memòria compartits en múltiples cachés i que s’utilitzen exclusivament per la memòria cau d’un nucli. El directori sap quan s'ha d’actualitzar o invalidar un bloc.

Multifil[modifica]

L'ús de subprocessos múltiples o altres tècniques de processament paral·lel per obtenir el màxim rendiment del processador multinucli. La reconstrucció d'aplicacions per a ser multiprocés significa un retreball complet per part dels programadors en la majoria dels casos.

Els programadors han d'escriure aplicacions amb subrutines capaços de executar-se en diferents nuclis, el que significa que les dependències de les dades s'han de resoldre o comptabilitzar (per exemple, latència en la comunicació o mitjançant l'ús d'un cau compartit).

Les aplicacions han de ser equilibrades. Si un nuclins s'està utilitzant molt més que un altre, el programador no està aprofitant al màxim el sistema multinucli.

Tendències de futur[modifica]

En el futur, els ordinadors contindran milers d'unitats d'execució per xip, homogènies o especialitzades per a propòsits particulars. La paral·lelització de la càrrega de treball de l'aplicació està a punt de convertir-se en la més significativa estratègia d'acceleració i ampliació en qualsevol mena d'aplicació. La futura investigació per a múltiples nuclis habilita que les aplicacions s'han de determinar a partir de dos costats: una millor expressió de maquinari i un millor disseny de programari.

La creixent varietat d'arquitectures de processadors de múltiples nivells ha d'ésser extreta en millors models per tal de permetre-la un disseny de programari adequat. El programari de l'altre costat ha de ser analitzable i dissenyable segons el treball paral·lel que produeix. Això inclou la formulació de patrons de disseny i algoritmes equipats per a execució paral·lela. Algunes aplicacions seran escalables per defecte, gràfics en 3D, computació científica o informàtica de servidors d'alta potència.

Exemples Hardware[modifica]

Comercial[modifica]

Free[modifica]

Academic[modifica]

  1. «Sempron™ 3850 APU with Radeon™ R3 Series | AMD».
  2. «Intel® Atom™ Processor C Series Product Specifications» (en anglès).
  3. «Intel® Atom™ Processor Z Series Product Specifications» (en anglès).
  4. «Intel Preps Dual-Core Celeron Processors». , 11-10-2007 [Consulta: 12 novembre 2007].
  5. «Intel® Celeron® Processor J Series Product Specifications» (en anglès).
  6. «Products formerly Yonah».
  7. «Products formerly Conroe».
  8. «Products formerly Kentsfield».
  9. «Intel® Core™ X-series Processors Product Specifications» (en anglès).
  10. «Intel® Itanium® Processor Product Specifications» (en anglès).
  11. «Intel® Pentium® Processor D Series Product Specifications» (en anglès).
  12. Zazaian, Mike. «Intel: 80 Cores by 2011», 26-09-2006.
  13. Kowaliski, Cyril. «Intel releases 15-core Xeon E7 v2 processor», 18-02-2014.
  14. «Intel Xeon Processor E7 v3 Family». Intel. Arxivat de l'original el 2015-07-07.
  15. «Intel Xeon Processor E7 v2 Family». Intel. Arxivat de l'original el 2015-07-07.
  16. «Intel Xeon Processor E3 v2 Family». Intel. Arxivat de l'original el 2015-07-07.
  17. «Intel shows off Xeon Platinum CPU with up to 56 cores and 112 threads» (en anglès).
  18. PDF, Download. «2nd Gen Intel® Xeon® Scalable Processors Brief» (en anglès).
  19. «Intel® Xeon Phi™ x100 Product Family Product Specifications» (en anglès).
  20. «Intel® Xeon Phi™ 72x5 Processor Family Product Specifications» (en anglès).
  21. Cole, Bernard. «40-core processor with Forth-based IDE tools unveiled», 24-09-2008.
  22. Chacos, Brad. «Meet KiloCore, a 1,000-core processor so efficient it could run on a AA battery», 20-06-2016. Arxivat de l'original el 23 juny 2016.

Referències[modifica]

  1. Multicore Processors – A Necessity By Bryan Schauer
  2. Evolution of Multi-core Processors
  3. Multi-Core Processor - Assignment Point