NPT і RVI
Таксама называецца NPT / RVI
NPT, Nested Page Tables, з'яўляецца сродкам другога этапу трансляцыі памяці гасцявой сістэмы ад AMD, які таксама асацыюецца з Rapid Virtualization Indexing, RVI. Па сваім прызначэнні гэта аналаг Intel EPT ад AMD.
Што вам трэба ведаць
NPT, Nested Page Tables, з'яўляецца сродкам другога этапу трансляцыі памяці гасцявой сістэмы ад AMD, які таксама асацыюецца з Rapid Virtualization Indexing, RVI. Па сваім прызначэнні гэта аналаг Intel EPT ад AMD.
Як гэта працуе
Гасцявыя табліцы старонак спачатку транслююць гасцявыя віртуальныя адрасы ў гасцявыя фізічныя. Укладзеныя табліцы старонак (nested page tables), якія кантралююцца гіпервізарам, транслююць гасцявыя фізічныя адрасы ў сістэмныя фізічныя адрасы. Абодва этапы трансляцыі і іх дазволы ўдзельнічаюць у звароце да памяці, з вызначанымі паводзінамі пры збоях і інвалідацыі.
Дзе гэта карысна
VM можа кіраваць уласнымі адраснымі прасторамі, у той час як хост адлюстроўвае гасцявую памяць у рэальныя фізічныя старонкі машыны. Гіпервізар павінен правільна апрацоўваць змены адлюстравання і кэшы трансляцыі, а не разглядаць укладзеную пагінацыю як фіксаваную статычную табліцу пошуку.
Як праверыць падтрымку і актыўнасць
Пералічыце ліст функцый AMD SVM для ўкладзенай пагінацыі пасля пацверджання дыяпазону пашыраных лістоў і падтрымкі SVM. Пераканайцеся, што гіпервізар сапраўды ўключае і падтрымлівае патрэбную канфігурацыю, уключаючы любыя патрабаванні да ўкладзеных гасцявых сістэм.
Віртуалізаванае разгортванне мае некалькі ўзроўняў: фізічныя магчымасці, дазвол мікрапраграмы, актыўны гіпервізар хоста, адкрытыя магчымасці для госця і падтрымка з боку гасцявой АС. Правярайце той узровень, дзе аперацыя фактычна выконваецца, уключаючы ўкладзеную віртуалізацыю, калі гэта актуальна.
Чаго гэта функцыя не гарантуе
NPT не прадугледжвае ізаляцыю прылад праз IOMMU, SEV або кожную опцыю вялікіх старонак і ўкладзенай віртуалізацыі. RVI не з'яўляецца дадатковай інструкцыяй, якую ўключаюць праграмы. Зніжэнне накладных выдаткаў на трансляцыю залежыць ад нагрузкі, а не з'яўляецца ўніверсальным памнажальнікам прадукцыйнасці.
Сумяшчальнасць і прадукцыйнасць на практыцы
Выкананне на CPU, трансляцыя гасцявой памяці і перапрызначэнне DMA прылад - гэта асобныя механізмы. Не рабіце высноў аб пракідзе або ізаляцыі на падставе аднаго толькі поля віртуалізацыі. Выкарыстоўвайце падтрымліваемыя гіпервізарам сродкі дыягностыкі і дакладныя патрабаванні да платформы і прылад.
Практычны чэк-ліст для праверкі
- Зафіксуйце дакладную мадэль працэсара або платформы, а таксама задзейнічаныя версіі праграмы, АС і асяроддзя выканання. Захавайце дакладную фармулёўку памылкі або патрабавання.
- Звярніцеся да дакументацыі вытворцы для гэтай канкрэтнай мадэлі, затым праверце фактычныя магчымасці і ўключаны стан у асяроддзі, дзе выконваецца праграма.
- Супастаўце кожнае патрабаванне выбранага выканальнага файла або бэкэнда. Аналагічнай назвы функцыі, псеўданіма або агульнай назвы тэхналогіі недастаткова.
- Пацвердзіце, што праграма выбрала патрэбную рэалізацыю. Выкарыстоўвайце яе задакументаваныя сродкі дыягностыкі і падтрымліваемы запасны варыянт, калі патрабаванні не выконваюцца.
- Уносьце па адным падтрымліваемым змяненні за раз і паўтарайце тую ж нагрузку. Захоўвайце зыходную канфігурацыю і магчымасць адкату.
Калі функцыя пазначана, але праграмнае забеспячэнне не можа яе выкарыстоўваць
Пачніце з канкрэтнага кампанента, які выклікае збой. Апаратная база даных апісвае зафіксаваныя магчымасці; аперацыйная сістэма або гіпервізар могуць прадастаўляць іншае фактычнае асяроддзе. Памылка недапушчальнай інструкцыі (illegal instruction) таксама патрабуе даследавання канкрэтнай інструкцыі, якая выклікала збой, і зборкі бінарнага файла, паколькі пашкоджанне даных або іншая непадтрымліваемая інструкцыя могуць выклікаць аналагічны сімптом.
Усталюйце версію праграмы, драйвера або асяроддзя выканання, якая падтрымліваецца для дадзенай платформы, і пры неабходнасці выкарыстоўвайце задакументаваную вытворцам базавую або запасную зборку. Абнаўленне ПЗ не можа стварыць інструкцыю, якой няма ў працэсары. Змяненні ў мікрапраграме (firmware) і палітыках бяспекі павінны адпавядаць працэдурам вытворцы сістэмы і плану аднаўлення, а не агульным рэцэптам аптымізацыі.
Крыніцы і межы прымянення гэтага тлумачэння
AMD CPUID Specification, публікацыя 25481 · AMD64 Architecture Programmer's Manual, Volume 2: System Programming
Гэтыя даведнікі вызначаюць архітэктурныя паводзіны і патрабаванні да праграмнага забеспячэння. Яны не пацвярджаюць незалежна кожнае значэнне функцыі на звязанай старонцы мадэлі абсталявання. Для праверкі падтрымкі мадэллю выкарыстоўвайце даныя вытворцы на адпаведнай старонцы і правярайце фактычную канфігурацыю сістэмы. Гэты артыкул не змяшчае вынікаў тэсціравання (benchmark), сертыфікацыі або даты незалежнага агляду.
Крыніцы і праверка
Рэдакцыйная прыналежнасць: Feex. Дата незалежнай праверкі не зафіксавана. Як мы даследуем.
- AMD CPUID Specification, публікацыя 25481 · Архіўны архітэктурны даведнік па базавых функцыях AMD CPUID і вызначэннях бітаў. Для больш позніх пашырэнняў канкрэтных пакаленняў выкарыстоўвайце бягучы даведнік па праграмаванні працэсараў.
- AMD64 Architecture Programmer's Manual, Volume 2: System Programming · Сістэмнае праграмаванне, SVM і ўкладзеная трансляцыя, рэдакцыя 3.46. Бягучы сродак прагляду дакументацыі патрабуе JavaScript; старыя URL-адрасы дакументаў могуць быць выведзены з ужытку.
Ці быў гэты артыкул карысным?
Дастаткова адказаць "так" або "не". Выберыце прычыну, калі хочаце, або дадайце кароткую нататку.
Дзякуй. Гэта дапамагае нам паляпшаць гэтую старонку.