Rekenkundige intensiteit en bandbreedte van RAM of VRAM

Rekenkundige intensiteit en bandbreedte van RAM of VRAM

De relatie tussen RAM en een processor is volledig symbiotisch, terwijl RAM zinloos is zonder de processor, het kan niet zonder, ongeacht waar het zich bevindt. Ze maken dus deel uit van een geheel dat elkaar voedt. Er is dus een relatie voor prestaties en dit is de rekenkundige intensiteit. We leggen uit waar het uit bestaat.

Een processor, ongeacht of het een CPU of GPU, doet niets anders dan data verwerken , wat leidt tot de behoefte aan geheugen om het te voeden. Helaas is met het verstrijken van de tijd de afstand tussen de snelheid van het geheugen en die van de CPU groter geworden, wat heeft geleid tot de implementatie van technieken zoals cachegeheugen. We kunnen ook de . niet vergeten latency tussen de processor en het geheugen, wat optreedt wanneer de interface tussen het RAM-geheugen en de processor de gegevens niet met voldoende snelheid kan verlenen of wijzigen.

We kunnen de prestaties echter niet op een algemene manier meten, aangezien elk programma, of beter gezegd, elk algoritme binnen elk programma een andere rekenbelasting heeft. En hier komt de term rekenkundige intensiteit om de hoek kijken. Maar laten we eens kijken wat het is en waaruit het bestaat, evenals andere elementen die te maken hebben met prestaties op een computer.

Wat is rekenkundige intensiteit?

Intensieve aritmética

Rekenkundige dichtheid is een prestatiemaatstaf, bestaande uit het meten van het aantal drijvende-kommabewerkingen dat een processor uitvoert op een specifiek codegedeelte. Om het te verkrijgen, wordt het aantal drijvende-kommabewerkingen gedeeld door het aantal bytes dat het algoritme gebruikt om uit te voeren.

Hoe nuttig is het? Welnu, het feit dat het in bepaalde computergebieden waar zeer krachtige computers nodig zijn voor specifieke taken, het best mogelijke hardwaresysteem kan hebben om de algoritmen onder de beste omstandigheden uit te voeren. Dit model wordt voornamelijk gebruikt in wetenschappelijke informatica. Hoewel het ook dient om de prestaties in gesloten systemen zoals videogameconsoles te optimaliseren.

Bij gebruikmaking van een sterk parallelle hardware-architectuur is een hoge rekenintensiteit vereist, dat wil zeggen een lage verhouding tussen bandbreedte en rekencapaciteit vanaf het moment dat de verhouding tussen de rekencapaciteit van genoemde processors en de beschikbare geheugenbandbreedte is hoog. Omdat het in veel toepassingen en vooral in grafische afbeeldingen vereist is dat een berekening meerdere keren wordt verwerkt en daarom is in vergelijking een grote rekenkracht vereist.

Algoritmeprestaties en relatie met rekenkundige intensiteit

Notación O Algoritmos

Bij het schrijven van een algoritme houden programmeurs rekening met de prestaties van de algoritmen die ze in hun programma's schrijven, die worden gemeten met de Big O-notatie, die het gemiddelde van bewerkingen met betrekking tot de gegevens meet. De Big O-notatie wordt niet gemeten met behulp van een benchmark, maar de programmeurs berekenen ze met de hand om een ​​globaal idee te krijgen van de werklast van de programma's

  • Of (1): de algoritme is niet afhankelijk van de grootte van de te verwerken gegevens. Een algoritme met een O (1) prestatie wordt beschouwd als een ideale prestatie en is onverslaanbaar.
  • Op): uitvoeringstijd is recht evenredig met de gegevensgrootte, de prestaties groeien lineair. Het kan ook zijn dat een
  • O (logboek n): komt voor in algoritmen die een probleem meestal opdelen en oplossen, zoals algoritmen voor het bestellen van gegevens of binaire zoekopdrachten.
  • O (n logboek n): het is een evolutie van de vorige, het gaat om het verder verdelen van de resolutie van de verschillende delen.
  • Aan 2 ): er zijn algoritmen die meerdere iteraties uitvoeren omdat ze de gegevens meerdere keren moeten opvragen. Daarom zijn het meestal zeer repetitieve algoritmen en hebben ze daarom een ​​exponentiële rekenbelasting.
  • Op!): Een algoritme dat deze complexiteit volgt, is een totaal gebrekkig algoritme in termen van prestaties en moet worden herschreven.

Niet alle algoritmen kunnen het complexiteitsniveau O (1) bereiken, en sommige presteren veel beter op het ene type hardware dan op het andere. Daarom zijn er de afgelopen jaren domeinspecifieke versnellers of processors ontwikkeld die het ene type algoritme versnellen boven het andere. Het algemene idee is om de algoritmen in delen te verdelen en elk van hen te behandelen met de meest geschikte verwerkingseenheid voor zijn rekenkundige intensiteit.

Verhouding tussen communicatie en computergebruik

CPU-RAM Placa PC

Het omgekeerde geval is de verhouding tussen communicatie en berekening, die omgekeerd wordt gemeten aan de rekenkundige intensiteit en daarom wordt bereikt door het aantal bytes te delen door het vermogen in drijvende-kommabewerkingen. Het wordt dus gebruikt om de bandbreedte te meten die nodig is om dat deel van de code uit te voeren. Het probleem bij het meten komt voort uit het feit dat de gegevens niet altijd op dezelfde plaats staan ​​en daarom wordt de RAM-bandbreedte als referentie gebruikt.

Er moet rekening mee worden gehouden dat het geen volledig betrouwbare maatregel is, niet alleen vanwege het feit dat het cachesysteem de gegevens dichter bij de processor brengt, maar ook vanwege het feit dat er het fenomeen van latentie is waarbij elk type geheugen Gebruikt RAM-geheugen heeft verschillende voor- en nadelen en het resultaat kan variëren afhankelijk van het type geheugen dat wordt gebruikt.

Tegenwoordig wordt bij het kiezen van geheugen in een systeem niet alleen rekening gehouden met bandbreedte, maar ook met energieverbruik, aangezien de energiekosten voor het verplaatsen van de gegevens de kosten voor het verwerken ervan overschrijden. U kiest dus voor bepaalde soorten specifiek geheugen in bepaalde toepassingen. Natuurlijk altijd binnen de kosten die gepaard gaan met het bouwen van een systeem en die zijn niet hetzelfde in een supercomputer als in een thuis-pc.