Heterogen computing - Heterogeneous computing

Heterogen computing refererer til systemer, der bruger mere end én slags processor eller kerner . Disse systemer opnår ydeevne eller energieffektivitet ikke bare ved at tilføje den samme type processorer, men ved at tilføje forskellige coprocessorer , der normalt indeholder specialiserede behandlingsevner til at håndtere bestemte opgaver.

Heterogenitet

Normalt henviste heterogenitet i computerkonteksten til forskellige instruktionssætarkitekturer (ISA), hvor hovedprocessoren har en og andre processorer har en anden - normalt en meget anden - arkitektur (måske mere end en), ikke bare en anden mikroarkitektur ( flydende behandling af punktnumre er et specielt tilfælde af dette - normalt ikke omtalt som heterogent).

Tidligere betød heterogen computing, at forskellige ISA'er skulle håndteres forskelligt, mens Heterogene System Architecture (HSA) -systemer i et moderne eksempel eliminerer forskellen (for brugeren), mens der bruges flere processortyper (typisk CPU'er og GPU'er ), normalt på samme integrerede kredsløb , for at give det bedste fra begge verdener: generel GPU-behandling (bortset fra GPU'ens velkendte 3D-grafiske gengivelsesfunktioner kan den også udføre matematisk intensive beregninger på meget store datasæt), mens CPU'er kan køre operativsystemet og udføre traditionelle serieopgaver.

Niveauet for heterogenitet i moderne computersystemer stiger gradvist, efterhånden som yderligere skalering af fabrikationsteknologier gør det muligt for tidligere diskrete komponenter at blive integrerede dele af en system-on-chip eller SoC. For eksempel indeholder mange nye processorer nu indbygget logik til grænseflade med andre enheder ( SATA , PCI , Ethernet , USB , RFID , radioer , UART'er og hukommelsescontrollere ) samt programmerbare funktionelle enheder og hardware acceleratorer ( GPU'er , kryptografi co-processorer , programmerbare netværksprocessorer, A/V-encodere/dekodere osv.).

Nylige resultater viser, at en heterogen-ISA-chip-multiprocessor, der udnytter mangfoldighed, der tilbydes af flere ISA'er, kan udkonkurrere den bedste homogene ISA-homogene arkitektur med hele 21% med 23% energibesparelser og en reduktion på 32% i Energy Delay Product (EDP) . AMDs meddelelse fra 2014 om sin pin-kompatible ARM og x86 SoC'er, kodenavnet Project Skybridge, foreslog en heterogen-ISA (ARM+x86) chip-multiprocessor under udarbejdelse.

Heterogen CPU -topologi

Et system med heterogen CPU -topologi er et system, hvor den samme ISA bruges, men selve kernerne er forskellige i hastighed. Opsætningen ligner mere en symmetrisk multiprocessor . (Selvom sådanne systemer er teknisk asymmetriske multiprocessorer , adskiller kernerne sig ikke i roller eller enhedsadgang.) Der er typisk to typer kerner: en kerne med højere ydeevne, normalt kendt som den "store" eller P-kerne og en mere energieffektiv kerne normalt kendt som den "lille" eller E-kerne.

En almindelig anvendelse af en sådan topologi er at levere bedre strømeffektivitet i mobile SoC'er.

  • ARM big.LITTLE (efterfulgt af DynamIQ) er det prototypiske tilfælde, hvor hurtigere højeffektkerner kombineres med langsommere laveffektkerner.
  • Apple har produceret Apple silicium ARM -kerner med lignende organisation.
  • Intel har også produceret hybrid x86-64 kerner kodenavnet Lakefield , dog ikke uden større begrænsninger i understøttelse af instruktionssæt. Den nyere Alder Lake reducerer offeret ved at tilføje mere instruktionssætstøtte til den "lille" kerne.

Udfordringer

Heterogene computingsystemer præsenterer nye udfordringer, der ikke findes i typiske homogene systemer. Tilstedeværelsen af ​​flere behandlingselementer rejser alle de spørgsmål, der er forbundet med homogene parallelle behandlingssystemer, mens niveauet for heterogenitet i systemet kan indføre uensartethed i systemudvikling, programmeringspraksis og overordnet systemkapacitet. Områder med heterogenitet kan omfatte:

ISA eller instruktionssæt arkitektur
Compute -elementer kan have forskellige instruktionssætarkitekturer, hvilket fører til binær inkompatibilitet.
ABI eller applikations binær grænseflade
Computere kan fortolke hukommelse på forskellige måder. Dette kan omfatte både endianness , opkaldskonvention og hukommelseslayout og afhænger af, at både arkitekturen og kompilatoren bruges.
API eller applikationsprogrammeringsinterface
Bibliotek og OS -tjenester er muligvis ikke ensartet tilgængelige for alle beregningselementer.
Lav implementering af sprogfunktioner
Sprogfunktioner som funktioner og tråde implementeres ofte ved hjælp af funktionspegere , en mekanisme, der kræver yderligere oversættelse eller abstraktion, når den bruges i heterogene miljøer.
Hukommelsesgrænseflade og hierarki
Compute-elementer kan have forskellige cachestrukturer , cache-kohærensprotokoller og hukommelsesadgang kan være ensartet eller ikke-ensartet hukommelsesadgang ( NUMA ). Der kan også findes forskelle i muligheden for at læse vilkårlige datalængder, da nogle processorer/enheder kun kan udføre byte-, ord- eller burst-adgang.
Sammenkobling
Compute -elementer kan have forskellige typer af forbindelser bortset fra grundlæggende hukommelses-/busgrænseflader. Dette kan omfatte dedikerede netværksgrænseflader, direkte hukommelsesadgang ( DMA ) -enheder, postkasser, FIFO'er og scratchpad-hukommelser osv. Endvidere kan visse dele af et heterogent system være cache-sammenhængende, mens andre kan kræve eksplicit softwareinddragelse for at opretholde konsistens og sammenhæng.
Ydeevne
Et heterogent system kan have CPU'er, der er identiske med hensyn til arkitektur, men har underliggende mikro-arkitektoniske forskelle, der fører til forskellige niveauer af ydelse og strømforbrug. Asymmetri i kapaciteter parret med uigennemsigtige programmeringsmodeller og operativsystemabstraktioner kan undertiden føre til forudsigelige præstationsproblemer, især med blandede arbejdsbyrder.
Datadeling
Selvom opdeling af data på homogene platforme ofte er trivielt, er det blevet vist, at for den generelle heterogene sag er problemet NP-Complete. For et lille antal partitioner har der vist sig at eksistere optimale partitioner, der perfekt balancerer belastning og minimerer kommunikationsvolumen.

Eksempel hardware

Heterogen computerhardware findes i alle computingområder-fra avancerede servere og højtydende computermaskiner helt ned til integrerede enheder med lav effekt, herunder mobiltelefoner og tablets.

Se også

Referencer