Heterogena beräkningssystem är elektroniska system som använder olika typer av beräkningsenheter. Beräkningsenheterna i ett sådant system kan vara en generell processor (GPP), en specialprocessor (som en digital signalprocessor (DSP) eller en grafikprocessorenhet (GPU)), en samprocessor , accelerationslogik ( en specialiserad integrerad krets (ASIC), eller en fältprogrammerbar grindmatris (FPGA)).
I allmänhet omfattar en heterogen datorplattform processorer med olika instruktionsuppsättningar (ISA). Kravet på ökad heterogenitet i datorsystem härrör delvis från behovet av högpresterande, mycket lyhörda system som interagerar med andra miljöer (ljud/videosystem, kontrollsystem, nätverkstillämpningar, etc.).
Tidigare har tekniska framsteg och frekvensskalbarhet tillåtit de flesta datorapplikationer att öka prestandan utan strukturella förändringar eller hårdvaruacceleration. Även om dessa framsteg kvarstår, är deras inverkan på modern applikationsmjukvara inte lika betydande som effekten av vissa hinder som minnesväggen och kraftväggen [1] [2] [3] .
Nu, med dessa ytterligare begränsningar, är huvudmetoden för att erhålla ytterligare prestanda hos datorsystem införandet av ytterligare specialiserade resurser, som ett resultat av vilket datorsystemet blir heterogent [4] [5] . Detta gör att utvecklaren kan använda flera typer av beräkningselement, var och en kan utföra uppgifter som är bäst lämpade för den [6] .
Tillägget av ytterligare, oberoende datorresurser leder oundvikligen till det faktum att de flesta heterogena system betraktas som parallella datorsystem eller flerkärniga system.
En annan term som ibland används för denna typ av beräkningar är "hybrid beräkning" [7] . Hybrid-core computing är en form av heterogen beräkning där asymmetriska beräkningsenheter samexisterar på samma processor.