Hva er falsk deling?

Falsk deling er en situasjon som kan oppstå i et dataprogram når to applikasjoner som kjører samtidig prøver å få tilgang til informasjon i det samme logiske minneområdet som hvert program eller prosess har lagret i sin egen cache. Dataene i hver applikasjons cache kopieres fra en vanlig kilde, så å endre en cache får den andre til å lastes på nytt fra kilden. Det falske aspektet ved delingen oppstår når endringene som er gjort i cache -linjen av ett program, faktisk ikke påvirker dataene som det andre programmet bruker, i hvilket tilfelle å tvinge cachen til å lastes på nytt er bortkastet systemressurser og kan påvirke programmets ytelse negativt. Problemet med falsk deling er vanskelig å oppdage, fordi det ikke er et direkte resultat av noen kode som finnes i applikasjonene, selv om det er effektive måter å forhindre falsk deling, for eksempel å flytte data som er i en hurtigbufret linje til en egen linje.

En av de viktigste grunnene til at falsk deling kan oppstå, finnes i hvordan et operativsystem eller maskinvare håndterer lesing og skriving av data. Når informasjon fra en harddisk eller annen kilde blir lest eller skrevet av et program, blir den vanligvis lastet inn i en midlertidig cache, slik at den kan nås raskt. Mengden informasjon som er hurtigbufret fra kildeplassen, kalles en hurtigbufferlinje og er en logisk minneblokk som normalt kan være mellom 2 byte og 256 byte i lengde. Under noen operativsystemer eller systemarkitekturer er programmer i stand til å kjøre samtidig, for eksempel i parallell prosessering. Dette betyr at det er mulig for to separate programmer å prøve å få tilgang til informasjon i samme cache -linje, slik at hvert program vil ha sin egen kopi av kildedataene, og potensielt forårsake endringer i en cache til ikke å gjenspeiles i den andre cachen, og ugyldiggjør dataene den har.

Det er en rekke mekanismer som brukes til HANDLE situasjonen når to programmer prøver å få tilgang til den samme hurtigbufferen, men resultatet oftest er at det ene programmet blir tvunget til å laste inn hurtigbufferen med den oppdaterte informasjonen det andre programmet har endret. Denne typen hendelser er kjent som falsk deling når dataene i cache -linjen som hvert program får tilgang til ikke er relatert, så å tvinge ett program til å laste inn hurtigbufferen på nytt er sløsing med prosessorkraft og andre ressurser. Dette er oftest et problem for et program som aldri vil endre informasjonen i hurtigbufferen, så det er ingen risiko for at applikasjonsoverskrivende endringer den andre prosessen har gjort.

To utbredte måter eksisterer enten for å forhindre eller dempe effekten av falsk deling. Den første er å legge til tom informasjon før eller etter dataene i minnet, og i det vesentlige tvinge den til en egen hurtiglinje som ikke får tilgang til et annet program. Den andre metoden er å begrense frekvensen av lesing og skriving til hurtigbufferlinjen slik at den lastes på nytt som litte som mulig. Mer komplekse løsninger involverer cache-nivå styring eller til og med endringer i hvordan et operativsystem håndterer deling.

ANDRE SPRÅK