Heterogene computersystemer er elektroniske systemer, der bruger forskellige typer computerenheder. Computerenhederne i et sådant system kan være en generel processor (GPP), en speciel processor (såsom en digital signalprocessor (DSP) eller en grafikprocessorenhed (GPU)), en coprocessor , accelerationslogik ( en specialiseret integreret kredsløb (ASIC) eller et feltprogrammerbart gatearray (FPGA)).
Generelt omfatter en heterogen computerplatform processorer med forskellige instruktionssæt (ISA'er). Kravet om øget heterogenitet i computersystemer stammer til dels fra behovet for højtydende, meget responsive systemer, der interagerer med andre miljøer (lyd-/videosystemer, kontrolsystemer, netværksapplikationer osv.).
Tidligere har teknologiske fremskridt og frekvensskalerbarhed gjort det muligt for de fleste computerapplikationer at øge ydeevnen uden strukturelle ændringer eller hardwareacceleration. Selvom disse fremskridt fortsætter, er deres indvirkning på moderne applikationssoftware ikke så stor som virkningen af nogle forhindringer, såsom hukommelsesvæggen og strømvæggen [1] [2] [3] .
Nu, med disse yderligere begrænsninger, er den vigtigste metode til at opnå yderligere ydeevne af computersystemer indførelsen af yderligere specialiserede ressourcer, som et resultat af hvilket computersystemet bliver heterogent [4] [5] . Dette giver udvikleren mulighed for at bruge flere typer beregningselementer, der hver især er i stand til at udføre opgaver, der er bedst egnede til det [6] .
Tilføjelsen af yderligere, uafhængige computerressourcer fører uundgåeligt til det faktum, at de fleste heterogene systemer betragtes som parallelle computersystemer eller multi-core systemer.
Et andet udtryk, der nogle gange bruges til denne type databehandling, er "hybrid computing" [7] . Hybrid-core computing er en form for heterogen databehandling, hvor asymmetriske computerenheder eksisterer side om side på den samme processor.