Sistemele de calcul eterogene sunt sisteme electronice care folosesc diferite tipuri de unități de calcul. Unitățile de calcul ale unui astfel de sistem pot fi un procesor de uz general (GPP), un procesor cu scop special (cum ar fi un procesor de semnal digital (DSP) sau o unitate de procesare grafică (GPU)), un coprocesor , logica de accelerare ( un sistem integrat specializat ). circuit (ASIC) sau o matrice de poartă programabilă în câmp (FPGA)).
În general, o platformă de calcul eterogenă cuprinde procesoare cu seturi de instrucțiuni diferite (ISA). Cererea de eterogenitate crescută în sistemele de calcul provine în parte din nevoia de sisteme de înaltă performanță, foarte receptive, care interacționează cu alte medii (sisteme audio/video, sisteme de control, aplicații de rețea etc.).
În trecut, progresele tehnologice și scalabilitatea frecvenței au permis majorității aplicațiilor computerizate să crească performanța fără modificări structurale sau accelerare hardware. Deși aceste progrese persistă, impactul lor asupra aplicațiilor software moderne nu este la fel de semnificativ ca impactul unor obstacole precum peretele de memorie și peretele de putere [1] [2] [3] .
Acum, cu aceste restricții suplimentare, principala metodă de obținere a performanțelor suplimentare ale sistemelor de calcul este introducerea de resurse suplimentare specializate, în urma cărora sistemul de calcul devine eterogen [4] [5] . Acest lucru permite dezvoltatorului să utilizeze mai multe tipuri de elemente de calcul, fiecare capabil să execute sarcini care sunt cel mai potrivite pentru el [6] .
Adăugarea de resurse de calcul suplimentare, independente duce inevitabil la faptul că majoritatea sistemelor eterogene sunt considerate sisteme de calcul paralele sau sisteme multi-core.
Un alt termen care se folosește uneori pentru acest tip de calcul este „computing hibrid” [7] . Hybrid-core computing este o formă de calcul eterogen în care dispozitivele de calcul asimetrice coexistă pe același procesor.