CCoW: Оптимизиране на копиране при запис, като се има предвид пространствената локализация при работни натоварвания, част 4

Apr 03, 2024

3.3. Проследяване на достъпа до предварително копирани страници

Предполага се, че CCoW амортизира режийните разходи за чести режийни разходи за обработка на грешки в страницата. Предварителното копиране на страници обаче води до друг проблем: проследяване на достъпите до страници след копирането.

Има силна връзка между обработката на грешки и паметта. За повечето хора грешките често се разглеждат като нещо лошо, но те могат да бъдат възможности за нас да се учим и да растем. Като обработваме грешките правилно, можем да подобрим паметта си и да ни помогне да разберем по-добре и да реагираме на подобни ситуации.

Един от начините да се справите с грешките е да разсъждавате и анализирате. Когато направим грешка, трябва да отделим време, за да помислим как се е случила грешката и какво можем да направим, за да предотвратим повторното повторение на подобна грешка. Чрез размисъл можем да идентифицираме основните причини за проблемите и да разработим контрамерки за разрешаването им. Този вид анализ не е само за грешки, той може да ни помогне да вземем по-добри решения в други житейски ситуации и да ни помогне да подобрим нашите умения и способности.

Друг начин да се справите с грешките е да си позволите да ги приемете и да продължите напред. Не трябва да позволяваме на грешките да ни забавят или разочароват. Вместо това трябва да ги разглеждаме като възможности за растеж, позволявайки си да се учим от грешките си и да продължаваме да се подобряваме. Ако можем да приемем грешките и да се справим с тях с положителна нагласа, можем да изградим силно мислене и вяра в себе си, което е много важно за поддържането на добра памет.

И накрая, можем да укрепим паметта си, като споделяме грешките си. Когато разказваме на другите за грешките, които сме направили, ние сме склонни да си спомняме тези събития по-дълбоко. Това е така, защото когато казваме на другите, трябва да направим нещата по-ясни и да си припомним всеки детайл от грешката. По този начин можем да разберем по-добре тези грешки и да предотвратим повторната им поява.

В обобщение, има силна връзка между обработката на грешки и паметта. Като се справяме с грешките правилно, можем да укрепим паметта си, да подобрим уменията и способностите си и да станем по-добри хора. Трябва да гледаме на грешките като на възможност, активно да се изправяме пред трудностите и да се учим и да растем от тях. Вижда се, че трябва да подобрим паметта и Cistanche deserticola може значително да подобри паметта, тъй като Cistanche deserticola е традиционен китайски лекарствен материал, който има много уникални ефекти, един от които е да подобрява паметта. Ефикасността на Cistanche deserticola идва от множеството активни съставки, които съдържа, включително танинова киселина, полизахариди, флавоноидни гликозиди и др. Тези съставки могат да насърчат здравето на мозъка чрез различни пътища.

10 ways to improve memory

Кликнете върху Познаване на краткосрочната памет как да се подобри

В оригиналната схема за копиране при запис, първият запис на всяка страница се улавя от манипулатора на грешка на страницата.

Копира се само дефектната страница и системата може прецизно да проследи достъпа до всяка страница чрез манипулатора на грешка на страницата. От друга страна, когато системата копира целия регион, всички страници в региона се картографират към процеса с писмено разрешение.

По този начин последващи записи в тези копирани страници могат да се извършват, без да се задейства механизмът за обработка на грешки в страницата, така че системата не може да проследи достъпите до копираните страници. Това може да бъде проблематично, когато процесът извършва разклонения многократно. Да предположим, че регионът има висока пространствена локалност и една епоха се определя като период между две разклонения.

Високата локалност може да бъде уловена чрез преброяване на грешките в страницата, които са се случили в региона. Тогава да предположим, че процесът създава нов процес с разклонение. Когато се започне нова епоха с разклонението, първият достъп за запис до една от страниците в региона ще инициира CCoW, копирайки всички страници в региона. Сега процесът има всички страници с разрешение за запис и не се генерират допълнителни грешки в страницата от региона до края на епохата.

Когато нова епоха се стартира отново, се счита, че регионът има ниско покритие в епохата, като се има предвид, че регионът има само една страница за копиране при запис. По този начин всяко писане в региона се обработва чрез оригиналния механизъм за копиране при запис на страница, като по този начин компрометира възможността за оптимизиране на производителността, дори ако регионът има висока локалност.

Имайте предвид, че се счита, че регионът отново има висока локалност в следващата епоха и процесът се повтаря, за да се промени ситуацията. За да разрешим този проблем, се нуждаем от механизъм за проследяване на достъпа до страница след копиране.

Това проучване предлага използването на мръсния бит в записа в таблицата на страниците (PTE). Като цяло модерните архитектури поддържат различна информация в PTE за всяка страница и мръсният бит е едно от полетата, поддържани от повечето архитектури.

Когато MMU обработва достъп до памет за запис, той автоматично задава мръсния бит на съответната страница. Това обратно означава, че когато мръсният бит за страница е зададен, страницата е актуализирана с достъп за запис.

Въз основа на тази идея модифицирахме механизма за изчисляване на покритието. Първоначално всички региони се считат за нормални региони. По време на разклонението покритието за нормални региони се изчислява с броя на копирането при записване, като се използва уравнение (1).

ways to improve memory

Докато се обработва грешката на страницата за регион с висока локалност, всички страници в региона се копират с изчистен мръсен бит. Освен това регионът е маркиран като предварително копиран регион. По време на разклонението покритието за копирания регион се изчислява с броя на мръсните страници в него, както следва:

improve memory

Изчисленото покритие за всеки регион се пренася през разклонението и се използва като метрика за пространственото местоположение на региона. Когато възникне грешка при запис на страница в даден регион, системата проверява покритието на региона и може предварително да копира страници за регионите с висока локалност.

Фигура 2 илюстрира ситуация, при която покритието се изчислява след предварителни копия. Да предположим, че и двата региона са копирани (защриховани в червено) и всички страници 0, 2, 3, 4 и 11 имат набора dirtybit.

За да изчисли покритието, докато обработва разклонението, системата използва мръсните битове вместо броя копиране при запис, тъй като регионите се копират в текущата епоха. По този начин регионът 0 има покритие от 66%.
Докато покритието на регион 1 е 15%. За да се справи с грешката на страницата за страница 3, регионът 0 се копира отново, докато грешката на страницата за страница 9 се обработва с оригиналния механизъм. По този начин можем да предпазим регионите с висока локализация да не се изплъзват от фокуса.

boost memory

3.4. Улавяне на местността

Тъй като манипулаторът на грешки в страницата се намира на критичния за производителността път в операционната система, трябва да минимизираме режийните разходи за внедряването на предложената схема.
По принцип CCoW изисква механизъм за изчисляване на покритието и най-простият начин за прилагане на тази функция е проследяване на страниците, задействащи грешки на страницата, с растерна карта, както описахме в раздел 3.2.

Докато обработва страница с грешка, системата задава бита, съответстващ на страницата с грешка. По време на разклонението системата сканира растерното изображение, за да преброи броя на дефектните страници за всеки регион и изчислява покритието. Растерното изображение се нулира след изчислението.

Този подход е прост, но налага големи пространствени и времеви ограничения. Системата трябва да поддържа еднобитово растерно изображение за всяка страница от 4 KB и да проверява цялото растерно изображение по време на разклонението. Като се има предвид огромният отпечатък от паметта на приложенията с интензивно използване на паметта, тези операции ще предизвикат голямо натоварване по време на разклонението, компенсирайки предимството на производителността на CCoW. Ние оптимизираме това внедряване, като използваме характеристиките на грешката на страницата.

Ако възникне грешка на страница от страница, страницата не поражда допълнителни грешки на страницата, докато процесът не създаде нов процес. По този начин всяка страница може да задейства най-много грешка на една страница, а за регион с n страници грешките на страницата могат да се появят само до n пъти. Това означава, че преброяването на броя грешки на страницата за регион е достатъчно за изчисляване на покритието, вместо да се поддържа растерната карта за отделни страници.

По този начин заместваме растерното изображение с броячи на грешки. Всеки регион е свързан с двойка броячи, както следва: един за преброяване на грешките на страниците в последната епоха и друг за преброяване на грешките на страниците в текущата епоха.

Първият се използва за определяне на пространственото местоположение на регионите, докато вторият се използва за наблюдение на пространственото местоположение на текущата епоха. По време на разклонението текущият брояч на грешки се копира върху предишния брояч на грешки.

Ако регион се копира в тази епоха, броят на мръсните страници в региона се записва вместо това в предишния брояч на грешки. Броячите се попълват, докато се създава нова област на виртуална памет (VMA) и се възстановяват, когато съответстващата им VMA е свита или некартографирана. Тази оптимизация намалява служебното пространство на CCoW от един бит на страница до няколко байта на регион.

memory enhancement


For more information:1950477648nn@gmail.com

Може да харесаш също