CCW: Kopēšanas uz rakstīšanas optimizēšana, ņemot vērā darba slodžu telpisko atrašanās vietu, 4. daļa
Apr 03, 2024
3.3. Izsekošanas piekļuve iepriekš kopētām lapām
CCoW ir paredzēts amortizēt pieskaitāmās izmaksas par biežu lapu kļūdu apstrādi. Tomēr, iepriekš kopējot lapas, rodas cita problēma: tiek izsekota piekļuve lapai pēc kopēšanas.
Pastāv cieša saikne starp kļūdu apstrādi un atmiņu. Lielākajai daļai cilvēku kļūdas bieži tiek uzskatītas par sliktu, taču tās var būt mums iespēja mācīties un augt. Pareizi rīkojoties ar kļūdām, mēs varam uzlabot savu atmiņu un palīdzēt mums labāk izprast līdzīgas situācijas un reaģēt uz tām.
Viens veids, kā tikt galā ar kļūdām, ir pārdomāt un analizēt. Kad pieļaujam kļūdu, mums vajadzētu veltīt laiku, lai pārdomātu, kā kļūda radās un ko mēs varam darīt, lai līdzīga kļūda neatkārtotos. Pārdomājot, mēs varam noteikt problēmu pamatcēloņus un izstrādāt pretpasākumus to risināšanai. Šāda veida analīze neattiecas tikai uz kļūdām, tā var mums palīdzēt pieņemt labākus lēmumus citās dzīves situācijās un palīdzēt uzlabot mūsu prasmes un iemaņas.
Vēl viens veids, kā tikt galā ar kļūdām, ir ļaut sev tās pieņemt un doties tālāk. Mēs nedrīkstam ļaut kļūdām mūs bremzēt vai nomākt. Tā vietā mums tās jāuztver kā izaugsmes iespējas, ļaujot sev mācīties no savām kļūdām un turpināt pilnveidoties. Ja spējam pieņemt kļūdas un tikt ar tām galā ar pozitīvu attieksmi, varam veidot spēcīgu domāšanu un ticību sev, kas ir ļoti svarīgi labas atmiņas uzturēšanai.
Visbeidzot, mēs varam stiprināt savu atmiņu, daloties savās kļūdās. Kad mēs stāstām citiem par kļūdām, ko esam pieļāvuši, mums ir tendence atcerēties šos notikumus dziļāk. Tas ir tāpēc, ka, stāstot citiem, mums lietas jāpaskaidro skaidrāk un jāatgādina katra kļūdas detaļa. Tādā veidā mēs varam labāk izprast šīs kļūdas un novērst to atkārtošanos.
Rezumējot, pastāv cieša saikne starp kļūdu apstrādi un atmiņu. Pareizi rīkojoties ar kļūdām, mēs varam stiprināt atmiņu, uzlabot prasmes un iemaņas un kļūt par labākiem cilvēkiem. Mums jāuztver kļūdas kā iespēja, aktīvi jāsastopas ar grūtībām, jāmācās un jāaug no tām. Var redzēt, ka mums ir jāuzlabo atmiņa, un Cistanche deserticola var ievērojami uzlabot atmiņu, jo Cistanche deserticola ir tradicionāls ķīniešu ārstniecības materiāls, kam ir daudz unikālu efektu, no kuriem viens ir atmiņas uzlabošana. Cistanche deserticola iedarbīgumu nodrošina vairākas tajā esošās aktīvās sastāvdaļas, tostarp miecskābe, polisaharīdi, flavonoīdu glikozīdi utt. Šīs sastāvdaļas var veicināt smadzeņu veselību, izmantojot dažādus ceļus.

Noklikšķiniet uz Zināt īstermiņa atmiņu, kā uzlabot
Sākotnējā kopēšanas un rakstīšanas shēmā pirmo ierakstu katrā lapā tver lapas kļūdu apstrādātājs.
Tiek kopēta tikai bojātā lapa, un sistēma var precīzi izsekot katras lapas piekļuvei, izmantojot lapas kļūdu apstrādātāju. No otras puses, kad sistēma kopē visu reģionu, visas reģiona lapas tiek kartētas uz procesu ar rakstisku atļauju.
Tādējādi turpmākās rakstīšanas uz šīm kopētajām lapām var notikt, neaktivizējot lapas kļūdu apstrādes mehānismu, tāpēc sistēma nevar izsekot piekļuves kopētajām lapām. Tas var būt problemātiski, ja process atkārtoti veic dakšas. Pieņemsim, ka apgabalam ir augsta telpiskā atrašanās vieta un laikmets tiek definēts kā periods starp divām dakšām.
Augsto vietu var fiksēt, saskaitot lappuses kļūdas, kas notikušas reģionā. Tad pieņemsim, ka process izveido jaunu procesu ar dakšiņu. Kad ar dakšiņu tiek sākts jauns laikmets, pirmā rakstīšanas piekļuve vienai no reģiona lapām aktivizēs CCoW, kopējot visas lapas šajā reģionā. Tagad procesam ir visas lapas ar rakstīšanas atļauju, un līdz laikmeta beigām no reģiona netiek ģenerēti turpmāki lapu defekti.
Kad atkal tiek sākts jauns laikmets, tiek uzskatīts, ka reģionam ir zems pārklājums šajā laikmetā, ņemot vērā, ka reģionā ir tikai viena kopēšanas un rakstīšanas lapa. Tādējādi katrs ieraksts reģionā tiek apstrādāts, izmantojot oriģinālo kopēšanas-uzrakstīšanas mehānismu, tādējādi apdraudot veiktspējas optimizācijas iespēju pat tad, ja reģionam ir augsta atrašanās vieta.
Ņemiet vērā, ka nākamajā laikmetā tiek uzskatīts, ka reģionam atkal ir augsta atrašanās vieta, un process tiek atkārtots, lai mainītu situāciju. Lai atrisinātu šo problēmu, mums ir nepieciešams mehānisms, kas izseko piekļuvi lapai pēc kopēšanas.
Šis pētījums ierosina izmantot netīro bitu lapas tabulas ierakstā (PTE). Kopumā modernās arhitektūras katrai lapai PTE uztur dažādu informāciju, un netīrais bits ir viens no laukiem, ko atbalsta lielākā daļa arhitektūru.
Kad MMU apstrādā rakstīšanas atmiņas piekļuvi, tas automātiski iestata atbilstošās lapas netīro bitu. Tas savukārt nozīmē, ka tad, kad lapai ir iestatīts netīrais bits, lapa ir atjaunināta ar rakstīšanas pieejām.
Pamatojoties uz šo ideju, mēs mainījām seguma aprēķināšanas mehānismu. Sākotnēji visi reģioni tiek uzskatīti par normāliem reģioniem. Dakšas laikā pārklājums parastajiem reģioniem tiek aprēķināts ar kopēšanas un rakstīšanas reižu skaitu, izmantojot vienādojumu (1).

Apstrādājot lapas defektu augstas lokācijas reģionam, visas reģiona lapas tiek kopētas ar notīrītu netīrumu. Turklāt reģions ir atzīmēts kā iepriekš kopēts reģions. Dakšas laikā kopētā reģiona pārklājums tiek aprēķināts, ņemot vērā netīro lapu skaitu tajā:
![]()
Katra reģiona aprēķinātais pārklājums tiek pārnests cauri dakšai un tiek izmantots kā reģiona telpiskās atrašanās vietas metrika. Ja reģionā rodas rakstīšanas lapas kļūme, sistēma pārbauda reģiona pārklājumu un var iepriekš kopēt lapas lielas atrašanās vietas reģioniem.
2. attēlā parādīta situācija, kad segums tiek aprēķināts pēc priekškopijām. Pieņemsim, ka abi reģioni ir kopēti (iekrāsoti sarkanā krāsā) un visām lapām 0, 2, 3, 4 un 11 ir iestatīts netīrais bits.
Lai aprēķinātu pārklājumu dakšas apstrādes laikā, sistēma izmanto netīro bitu, nevis kopēšanas un rakstīšanas skaitu, jo reģioni tiek kopēti pašreizējā laikmetā. Tādējādi reģionam 0 ir 66%.
Savukārt 1. reģiona pārklājums ir 15%. Lai apstrādātu 3. lappuses lapas kļūdu, reģions 0 tiek kopēts vēlreiz, savukārt 9. lappuses lapas kļūda tiek apstrādāta ar sākotnējo mehānismu. Tādā veidā mēs varam novērst, ka reģioni ar augstu atrašanās vietu izslīd no fokusa.

3.4. Vietnes sagrābšana
Tā kā lapas kļūdu apstrādātājs operētājsistēmā atrodas uz veiktspējai kritiskā ceļa, piedāvātās shēmas ieviešanai ir jāsamazina pieskaitāmās izmaksas.
Būtībā CCoWnepieciešams mehānisms pārklājuma aprēķināšanai, un vienkāršākais veids, kā ieviest šo līdzekli, ir izsekošana lapām, kas aktivizē lapas kļūdas, izmantojot bitkarti, kā mēs aprakstījām 3.2. sadaļā.
Apstrādājot lapas kļūdu, sistēma iestata bitu, kas atbilst bojātajai lapai. Dakšas laikā sistēma skenē bitkarti, lai saskaitītu katra reģiona bojāto lapu skaitu un aprēķina pārklājumu. Pēc aprēķina bitkarte tiek atiestatīta.
Šī pieeja ir vienkārša, taču tai ir lieli telpas un laika ierobežojumi. Sistēmai ir jāsaglabā viena bita bitkartes ieraksts katrai 4 KB lapai un jāpārbauda visa bitkarte dakšas laikā. Ņemot vērā to, ka lietojumprogrammām, kurām ir liela atmiņa, ir milzīgs atmiņas apjoms, šīs operācijas radīs lielu slodzi dakšas laikā, kompensējot CCoW veiktspējas ieguvumus. Mēs optimizējam šo ieviešanu, izmantojot lapas kļūdas īpašības.
Ja lapas kļūme notiek no lapas, lapa neradīs papildu lapas kļūdas, līdz process izveido jaunu procesu. Tādējādi katra lapa var izraisīt ne vairāk kā vienas lapas kļūdu, un reģionā ar n lapām lapas kļūdas var notikt tikai līdz n reizēm. Tas nozīmē, ka, lai aprēķinātu pārklājumu, pietiek ar lappušu kļūdu skaita saskaitīšanu katrā reģionā, nevis atsevišķu lapu bitkartes saglabāšanu.
Tādējādi mēs aizstājam bitkarti ar kļūdu skaitītājiem. Katrs apgabals ir saistīts ar skaitītāju pāri šādi: viens lappušu kļūdu skaitīšanai pēdējā laikmetā un otrs lappušu kļūdu skaitīšanai pašreizējā laikmetā.
Pirmo izmanto, lai noteiktu reģionu telpisko atrašanās vietu, savukārt otro izmanto, lai uzraudzītu pašreizējā laikmeta telpisko atrašanās vietu. Dakšas laikā pašreizējais kļūdu skaitītājs tiek kopēts uz iepriekšējo kļūdu skaitītāju.
Ja reģions tiek kopēts šajā laikmetā, netīro lapu skaits reģionā tiek ierakstīts iepriekšējā kļūdu skaitītājā. Skaitītāji tiek aizpildīti, veidojot jaunu virtuālās atmiņas apgabalu (VMA), un tiek atjaunoti, kad atbilstošā VMA tiek samazināta vai nav kartēta. Šī optimizācija samazina CCoW vietu virs viena bita vienā lapā līdz dažiem baitiem vienā reģionā.

For more information:1950477648nn@gmail.com






