Hva er Intel Memory Latency Checker for?

Intel Memory Latency Checker er et lite program fra Intel for begge Windows og Linuz, som lar oss måle kommunikasjonsytelsen mellom de forskjellige kjernene i prosessor og RAM. I denne artikkelen tar vi en introduksjon til den og hvilke parametere den måler.

RAM er en av de viktigste komponentene på PC-en, siden uten den ville ikke CPU-en som utfører programmene kunne fungere. Derfor er verktøyene for å måle ytelsen mellom CPU og RAM, både når det gjelder måling av båndbredde og ventetid, velkomne. Intel Memory Latency Checker er en av dem, og den gjør begge deler.

Intel Memory Latency Checker

Hva er Intel Memory Latency Checker?

Intel Memory Checker er et lite program som har en versjon for begge Linux og Windows, i begge tilfeller er det ikke et program som fungerer fra et grafisk grensesnitt, så du må kjøre det fra en terminal hvis du er på Linux eller fra PowerShell eller ledeteksten fra Windows.

Intel Memory Latency Checker er et lite program som faktisk måler ventetiden mellom systemets CPU og RAM. Ikke bare det, men det måler ventetiden til andre elementer som kommuniserer med CPU og minne, da MLC kan brukes til følgende funksjoner:

  • For å måle ventetid mellom en bestemt minneadresse og en av CPU-kjernene.
  • Vi kan måle ventetiden til hvert av hurtigbuffernivåene med Memory Latency Checker, og til og med måle overføringsforsinkelsene mellom hurtigbufferen og prosessorbufferen.
  • Vi kan måle båndbredden for forskjellige forhold mellom lese- og skriveoperasjoner med RAM.
  • Mål ventetid for tilfeldig tilgang til RAM i stedet for sekvensielt. Det vil si at du ikke får tilgang til påfølgende minneadresser.
  • Vi kan variere størrelsen på minneblokken som vi ønsker å utføre referanseindeksen for, for å måle ventetid i henhold til størrelsen på datablokken.

Intel Memory Latency Checker benytter seg av CPU-tråder på følgende måte: alle kjernene unntatt en genererer minneforespørsler for å overbelaste tilgangen til RAM-en til den samme, mens den siste kjernen utfører telemetri av når de tar, det vil si, måler den faktiske ventetiden for hver overføring.

Hvordan installerer Intel Memory Latency Checker?

Intel MLC

Prosessen er veldig enkel, først og fremst, når vi først har lastet ned filen fra Intel-nettstedet, trenger vi bare å pakke den ut, Vi anbefaler at du har 7-Zip installert som dekompressor , siden det vil tillate deg å pakke ut filen direkte. Den opprinnelige filen er i utvidelsen tgz, når du pakke den ut, vil du få en annen fil, i tjæreformat, som du må pakke ut igjen for å få den endelige mappen, som skal vises som følger på din PC.

Hvis du dobbeltklikker på mappen Windows, får du tre filer, velg filene mlc.exe og mlcdrv.sys og kopier dem. For å installere MLC trenger du bare å kopiere filene i mappen du vil ha, siden det i utgangspunktet er et bærbart program som bare krever at disse to filene skal fungere. Vi har installert den i C: / Program Files (x86) / Intel MLC. Selv om vi har behov for dette for å opprette Intel MLC-mappen i Program Files (x86) -mappen.

Gjennom ledeteksten og ved hjelp av MS-DOS-kommandoer har vi navigert til mappen der vi har Intel MLC installert, og vi har skrevet MLC-kommandoen for å kjøre applikasjonen. Hvis installasjonen var vellykket, vil MLC kjøre med alle referanseverdiene etter hverandre.

Måling av ventetid med Memory Latency Checker

I motsetning til hva mange tror, ​​avhenger tilgang til RAM av mange faktorer, hvorav den ene er ventetid, som øker med påstanden. Med begrepet minnekonflikt menes hva som skjer når en CPU-kjerne eller annen komponent trenger tilgang til system-RAM, noe som skaper ekstra forsinkelse og derfor øker ventetiden.

Hvis vi vil måle ventetid når minnet er opptatt, må vi bare skrive mlc – lettforsinkelse på kommandolinjen. En annen måte å måle ventetid på er å be alle trådene i systemet bortsett fra en om å lage minneforespørsler. Dette kan gjøres ved å skrive mlc –loaded_latency på kommandolinjen.

Måle båndbredde med Intel MLC

Intel MLC brukes ikke bare til å måle minnelatens, men også minnebåndbredde. Den første kommandoen er mlc –maks_båndbredde som lar oss kjenne maksimal båndbredde for forskjellige minnetilgangsscenarier.

Den andre kommandoen for å måle båndbredden er mlc –peak_injection_bandwidth som det gjør er å generere forespørsler om minne fra hver av kjernene med maksimal hastighet.

Måling av hurtigbuffer med Intel MLC

Intel MLC

Intel MLC lar oss også måle ventetiden mellom kjernene og prosessorens L2-cache, eller, hvis ikke, med den siste nivåbufferen og derfor den før minnekontrolleren. For å gjøre dette må vi bare skrive inn kommandolinjen mlc –c2c_forsinkelse.

Multi-prosessor målinger

Dobbel stikkontakt på placa

Først og fremst må vi ikke forveksle multiprosessor med multicore, siden vi i dette tilfellet snakker om en måling mellom de forskjellige kontaktene med RAM. For eksempel hvis vi utfører mlc – latens_matrise kommando for å måle ventetid i en 8-kjerners CPU for en bærbar datamaskin, det vi får tak i er følgende:

Noe som indikerer at det bare er en prosessor i systemet, det samme skjer hvis vi bruker mlc – båndbredde_matrise kommando for å måle båndbredden.

Så disse alternativene fungerer bare hvis vi har et system med flere prosessorer og hver installert i sin egen stikkontakt, slik det er tilfellet med Intel Xeon eller AMD EPYC.

Deaktivering av Intel Hyper Threading

Disse kommandoene bruker alle tråder for utførelse av CPU, men hvis vi vil måle ventetiden med en enkelt kjøringstråd, må vi bruke parameteren -X på slutten av kommandolinjen, for eksempel hvis vi utfører all ytelsen tester må vi bare skrive mlc-X .

Hvor X er parameteren i Intel Memory Latency Checker som forteller deg at du skal bruke en enkelt kjøringstråd. Vi minner deg forbi at det er forskjell på små og store bokstaver, og at "X" i dette tilfellet er stor. Du kan utføre denne parameteren med hvilke som helst av kommandoene vi har beskrevet, slik at du kan vite hva ytelsen er mellom prosessor og minne når multitråding er deaktivert.