Оценка размера рабочего набора виртуальной машины исходя из гостевых показателей производительности (1187411), страница 3
Текст из файла (страница 3)
Âèðòóàëèçàöèîííûå ñîáûòèÿ - ñîáûòèÿ â ãîñòåâîé ÎÑ,äëÿ îáðàáîòêè êîòîðûõ íåîáõîäèìî ïåðåêëþ÷åíèå â ìîíèòîðâèðòóàëüíîé ìàøèíû. Ò.å. îïåðàöèîííàÿ ñèñòåìà îñòàíàâëèâàåòñÿ, ïðîèñõîäèò ïåðåêëþ÷åíèå â ãèïåðâèçîð, êîòîðûé îáðàáàòûâàåò ñîáûòèå(íàïðèìåð, çàïðîñ â PCI øèíå), ïîñëå ÷åãî16óïðàâëåíèå âîçâðàùàåòñÿ îáðàòíî îïåðàöèîííîé ñèñòåìå ãîñòåâîé ìàøèíû.2. Âíóòðåííèå ñîáûòèÿ - ñîáûòèÿ êîòîðûå îáðàáàòûâàþòñÿñàìîé ãîñòåâîé ÎÑ áåç ïåðåêëþ÷åíèÿ â ãèïåðâèçîð.Ðàññìîòðèì, ÷òî ïðåäñòàâëÿþò ñîáîéâèðòóàëèçàöèîííûå ñîáûòèÿ.Ãëàâíàÿ çàäà÷à âèðòóàëèçàöèè ñ òî÷êè çðåíèÿ ïðîèçâîäèòåëüíîñòè ìèíèìèçèðîâàòü íàêëàäíûå ðàñõîäû, ïîðîæäàåìûå òåõíîëîãèåé.×åì äîëüøå âèðòóàëüíûé ïðîöåññîð áóäåò ðàáîòàòü â ðåæèìå íåïîñðåäñòâåííîãî èñïîëíåíèÿ, ÷åì ìåíüøå ïåðåêëþ÷åíèé â ãèïåðâèçîðáóäåò ñîâåðøåíî, òåì ëó÷øå. Îäíàêî, íåêîòîðûå èíñòðóêöèè è ñîáûòèÿ âèðòóàëüíîãî ïðîöåññîðà íå ìîãóò áûòü èñïîëíåíû áåç ïåðåêëþ÷åíèÿ â ãèïåðâèçîð, è ïîýòîìó èõ íåîáõîäèìî âèðòóàëèçîâàòü(îáðàáîòàòü ïðè ïîìîùè ãèïåðâèçîðà è âåðíóòü ðåçóëüòàò ãîñòåâîéñèñòåìå.
Ýìóëèðóÿ òåì ñàìûì ðàáîòó ñ ðåàëüíûì hardware äëÿ ãîñòåâîé ÎÑ). Ýòè ñîáûòèÿ áóäåì çäåñü è äàëåå íàçûâàòü âèðòóàëèçàöèîííûìè ñîáûòèÿìè[24].Áîëüøàÿ ÷àñòü âèðòóàëèçàöèîííûõ ñîáûòèé ñâÿçàíà ñ îïåðàöèÿìè, èñïîëíÿåìûìè ÿäðîì ÎÑ. Áîëåå òîãî, ÷àñòü èç îïåðàöèé îäíîçíà÷íî êîððåëèðóåò ñî ñëó÷èâøèìèñÿ ñîáûòèÿìè. Íàïðèìåð, èçêîëè÷åñòâà ðàçëè÷íûõ çíà÷åíèé CR3 ðåãèñòðà ìîæíî óçíàòü êîëè÷åñòâî ïðîöåññîâ íà ñèñòåìå.
Äåéñòâèòåëüíî, êàæäûé ïðîöåññ â ñîâðåìåííîé îïåðàöèîííîé ñèñòåìå èìååò îòäåëüíîå àäðåñíîå ïðîñòðàíñòâî, à çíà÷èò, ñâîåñòðàíè÷íîå ïðåîáðàçîâàíèå.  àðõèòåêòóðå Intelx86 êîðåíü äåðåâà ñòðàíè÷íûõ ïðåîáðàçîâàíèé õðàíèòñÿ â ðåãèñòðåCR3[25]. Ñîîòâåòñòâåííî, èçìåíåíèå CR3 ãîâîðèò î òîì, ÷òî íîâûéïðîöåññ áûë ïîñòàâëåí íà èñïîëíåíèå. Äðóãèì ïðèìåðîì ÿâëÿåòñÿ17ðåãèñòð IA32_FSBASE_MSR, çàïèñü â êîòîðîì ñâèäåòåëüñòâóåò îïåðåêëþ÷åíèè ìåæäó kernel è user óðîâíåì â Microsoft Windows x64.Âíóòðåííèå ñîáûòèÿ - ñîáûòèÿ, êîòîðûå îáðàáàòûâàþòñÿ ñàìîéãîñòåâîé ÎÑ áåç ïåðåêëþ÷åíèÿ â ãèïåðâèçîð. Ê òàêèì ñîáûòèÿììîæíî îòíåñòè ïåðåêëþ÷åíèÿ îêîí â ãðàôè÷åñêîì èíòåðôåéñå îïåðàöèîííîé ñèñòåìû, çàïðîñû ê API îïåðàöèîííîé ñèñòåìû è ò.ä. Âäàííîé ðàáîòå ìû àêòèâíî ðàáîòàåì ñ performance counters (ñ÷åò÷èêèïðîèçâîäèòåëüíîñòè) îïåðàöèîííîé ñèñòåìû Windows[26].Performance counters îïåðàöèîííîé ñèñòåìû Windows OS - ýòîíàáîð ñ÷åò÷èêîâ îïåðàöèîííîé ñèñòåìû, ïîêàçûâàþùèõ êàê õîðîøî îïåðàöèîííàÿ ñèñòåìà, ïðèëîæåíèå, ñåðâèñ èëè äðàéâåð ñïðàâëÿþòñÿ ñî ñâîåé çàäà÷åé(íàñêîëüêî âûñîêà ïðîèçâîäèòåëüíîñòü).
Ýòèñ÷åò÷èêè ïîìîãàþò îöåíèòü íàãðóçêó íà ñèñòåìó è íàéòè óçêèå ìå-ñòà(bottleneck) â ñèñòåìå, íà êîòîðûõ òåðÿåòñÿ áîëüøàÿ ÷àñòü ïðîèçâîäèòåëüíîñòè[2 òàáëèöå 3.1 îïèñàííû èñïîëüçóåìûå äëÿ ïðåäñêàçàíèÿ íàãðóçêèperformance counters.Èìÿ ñ÷åò÷èêàÎïèñàíèåUse phys memoryÊîëè÷åñòâî èñïîëüçóåìîé îïåðàòèâíîé ïàìÿ-CommitTotalòè â äàííûé ìîìåíò âðåìåíè â ñòðàíèöàõ.Êîëè÷åñòâî èñïîëüçóåìûõ ñòðàíèö â îïåðà-CommitLimitòèâíîé ïàìÿòè è ñâàï-ôàéëàõ.Ìàêñèìàëüíîå êîëè÷åñòâî ñòðàíèö â ñèñòåìå,êîòîðîå ìîæåò áûòü èñïîëüçîâàíî â ñèñòåìåáåç äîïîëíèòåëüíûõ äåéñòâèé. Ò.å. áåç ïîäêëþ÷åíèÿ äîïîëíèòåëüíîãî ñâàï-ôàéëà.
Ýòîíå æåñòêèé ëèìèò, îí ìîæåò èçìåíÿòüñÿ.18CommitPeakÌàêñèìàëüíîå êîëè÷åñòâî ñòðàíèö êîòîðîåèñïîëüçîâàëîñü ñèñòåìîé ñ ìîìåíòà åå ñòàð-PhysicalTotalPhysicalAvailableòà.Ðàçìåð îïåðàòèâíîé ïàìÿòè â ñòðàíèöàõ.Ðàçìåð ñâîáîäíîé îïåðàòèâíîé ïàìÿòè âñòðàíèöàõ. Âêëþ÷àåò â ñåáÿ, â òîì ÷èñëå ñè-SystemCacheKernelNonpagedñòåìíûé êåø.Ðàçìåð êåøà ñèñòåìû â ñòðàíèöàõ.Êîëè÷åñòâî íåâûòåñíÿåìûõ (íå ìîãóò áûòüâûãðóæåííû â ñâàï-ôàéë) ïóëîâ îïåðàöèîí-KernelPagedíîé ñèñòåìû â ñòðàíèöàõ.Êîëè÷åñòâî âûòåñíÿåìûõ ïóëîâ îïåðàöèîí-KernelTotalíîé ñèñòåìû â ñòðàíèöàõ.Ñóììà KernelNonpaged è KernelPaged.PageSizeÐàçìåð ñòðàíèöà ïàìÿòè.
Îáû÷íî 4096 áàéò.HandleCountÊîëè÷åñòâî îòêðûòûõ äåñêðèïòîðîâ â äàí-ProcessCountíûé ìîìåíò âðåìåíè.Êîëè÷åñòâî çàïóùåííûõ â äàííûé ìîìåíòThreadCountïðîöåññîâ.Êîëè÷åñòâî çàïóùåííûõ â äàííûé ìîìåíò ïî-Number of processorsòîêîâ.Êîëè÷åñòâî CPU êîìïüþòåðà.PageFileSizeÐàçìåð ñâàï-ôàéëà(ôàéëà ïîäêà÷êè).PageFileUseÊîëè÷åñòâî èñïîëüçóåìîãî ïðîñòðàíñòâà âPageFaultCountñâàï-ôàéëå â ñòðàíèöàõ.Êîëè÷åñòâî Page Faults c ìîìåíòà ïîñëåäíåãî÷òåíèÿ PageFaultCount.19Processors utilizationÑòåïåíü çàãðóæåííîñòè ïðîöåññîðîâ â äàí-IoReadTransferCountíûé ìîìåíò âðåìåíè â ïðîöåíòàõ.Êîëè÷åñòâî áàéò ïðî÷èòàííûõ ïðè ïîìîùèâûçîâà ZwReadFile, ñ ìîìåíòà ïîñëåäíåãîIoWriteTransferCount÷òåíèÿ IoReadTransferCount.Êîëè÷åñòâî áàéò çàïèñàííûõ ïðè ïîìîùè âûçîâà ZwWriteFile ñ ìîìåíòà ïîñëåäíåãî ÷òå-IoOtherTransferCountíèÿ IoWriteTransferCount.Êîëè÷åñòâî áàéò, êîòîðûå áûëè èñïîëüçîâàííû â îñòàëüíûõ îïåðàöèÿõ I/O, òàêèõ êàêZwDeviceIoControlFile ñ ìîìåíòà ïîñëåäíåãîIoReadOperationCount÷òåíèÿ IoOtherTransferCount.Êîëè÷åñòâî âûçîâîâ ZwReadFile, ñ ìîìåíòàïîñëåäíåãî ÷òåíèÿ IoReadOperationCount.IoWriteOperationCount Êîëè÷åñòâî âûçîâîâ ZwWriteFile, ñ ìîìåíòàïîñëåäíåãî ÷òåíèÿ IoWriteOperationCount.IoOtherOperationCount Êîëè÷åñòâî âûçîâîâ äðóãèõ îïåðàöèé I/O, òàêèõ êàê ZwDeviceIoControlFile, ñ ìîìåíòà ïîSystemCallsñëåäíåãî ÷òåíèÿ IoOtherOperationCount.Êîëè÷åñòâîâûïîëíåííûõñèñòåìíûõâûçîâîâ,ñìîìåíòàïîñëåäíåãî÷òåíèÿContextSwitchesSystemCalls.Êîëè÷åñòâî ïåðåêëþ÷åíèé êîíòåêñòà, ñ ìî-CopyOnWriteCountìåíòà ïîñëåäíåãî ÷òåíèÿ ContextSwitches.Êîëè÷åñòâî page faults âûçâàííûõ ïîïûòêîéçàïèñè â copy-on-write ïàìÿòü, c ìîìåíòà ïîñëåäíåãî ÷òåíèÿ CopyOnWriteCount.20TransitionCountÊîëè÷åñòâî soft page faults, ñ ìîìåíòà ïîñëåä-DemandZeroCountíåãî ÷òåíèÿ TransitionCount.Êîëè÷åñòâî demand zero faults, ñ ìîìåíòà ïî-PageReadCountñëåäíåãî ÷òåíèÿ DemandZeroCount.Êîëè÷åñòâî ïðî÷èòàííûõ ñòðàíèö, ñ ìîìåíòàPageReadIoCountïîñëåäíåãî ÷òåíèÿ PageReadCount.Êîëè÷åñòâî îïåðàöèé ÷òåíèÿ, âûçâàííûõpage fault, ñ ìîìåíòà ïîñëåäíåãî ÷òåíèÿCacheReadCountPageReadIoCount.Êîëè÷åñòâî îïåðàöèé ÷òåíèÿ êåøà ñ äèñêà,âûçâàííûõ page fault, ñ ìîìåíòà ïîñëåäíåãîCacheIoCount÷òåíèÿ CacheReadCount.Êîëè÷åñòâî îïåðàöèé ÷òåíèÿ êåøà, âûçâàííûõ page fault, ñ ìîìåíòà ïîñëåäíåãî ÷òåíèÿPagedPoolAllocsCacheIoCount.Îáúåì âûäåëåííîé ïàìÿòè èç ïóëà îïåðàöè-PagedPoolFreesîííîé ñèñòåìû.Êîëè÷åñòâî ïàìÿòè âîçâðàùåííîé â ïóë.Òàáëèöà 3.1: Ñïèñîê èñïîëüçóåìûõ â ðàáîòåperformance counters.Íåêîòîðûå èç ïðèâåäåííûõ â òàáëèöå 3.1 ñ÷åò÷èêîâ íà ïðÿìóþ óêà-çûâàþò íà òåêóùóþ íàãðóçêó íà ñèñòåìó, íàïðèìåð Processors utilization.Òàê æå â ãëàâå 5 áóäåò ðàññìîòðåííî âëèÿíèå çíà÷åíèÿ ñ÷åò÷èêîâ âäàííûé ìîìåíò âðåìåíè íà ðàçìåð ðàáî÷åãî íàáîðà â ñëåäóþùèéìîìåíò âðåìåíè.21Íåêîòîðûé èç ïàðàìåòðîâ ÿâíî çàâèñÿò äðóã äðóãà.
Íàïðèìåð,Kernel TotalKernelNonpaged è KernelPaged. Òàê æå âîçìîæíà ñèòóàöèÿ ïðè êîòîðîé performance counters èìåþò íåòðèâèçàâèñèò îòàëüíóþ ëèíåéíóþ çàâèñèìîñòü. ñåêöèè 3.2.6 ðàññìàòðèâàåòñÿ ïðîáëåìà ìóëüòèêîëëèíåàðíîñòè(íåòðèâèàëüíîé ëèíåéíîé çàâèñèìîñòè ïàðàìåòðîâ ðåãðåññèè äðóã îòäðóãà) è ñïîñîáû îáõîäà ýòîé ïðîáëåìû ïðè ïîìîùè ìåòîäà ãëàâíûõêîìïîíåíò èç ðàçäåëà 3.2.7.3.2Àíàëèç âðåìåííûõ ðÿäîâ3.2.1Ëèíåéíàÿ ðåãðåññèÿÐåãðåññèÿ - çàâèñèìîñòü âåëè÷èíû X (çàâèñèìîé ïåðåìåííîé) îòTîäíîé èëè íåñêîëüêèõ ïåðåìåííûé Y = (y1 , y2 , · · · , ym ) (ðåãðåññîð). îòëè÷èè îò ÷èñòî ôóíêöèîíàëüíîé çàâèñèìîñòè y = f (x), êîãäàêàæäîìó çíà÷åíèþ íåçàâèñèìîé ïåðåìåííîé x ñîîòâåòñòâóåò îäíîîïðåäåëåííîå çíà÷åíèå y , ïðè ðåãðåññèîíîé ñâÿçè îäíîìó è òîìó æåçíà÷åíèþ x ìîãóò ñîîòâåòñòâîâàòü â çàâèñèìîñòè îò ñëó÷àÿ ðàçëè÷íûå çíà÷åíèÿ âåëè÷èíû y [19].Ìíîãîìåðíàÿ ëèíåéíàÿ ðåãðåññèÿ èìååò âèä:Y =β·X +(3.1)Y - âåêòîð çíà÷åíèé çàâèñèìîé ïåðåìåííîé â ìîìåíòû âðåìåíèîò 0 äî k.β = (β0 , β1 , β2 , · · · βk ) - âåêòîð êîýôôèöèåíòîâ ïðè ðåãðåññîðàõ.22X - ìàòðèöà ðàçìåðîì (n × k), ìàòðèöà íàáëþäåíèé (ñòðîêè ìàòðèöû âåêòîðû çíà÷åíèé ôàêòîðîâ â äàííîì íàáëþäåíèè, ïî ñòîëáöàì âåêòîð çíà÷åíèé äàííîãî ôàêòîðà âî âñåõ íàáëþäåíèÿõ).
- îøèáêà ìîäåëè.3.2.2Ìåòîä íàèìåíüøèõ êâàäðàòîâ (Ordinary Least Squares)Îáû÷íî îáó÷åíèå ìîäåëè ëèíåéíîé ìíîãîìåðíîé ðåãðåññèè âûïîëíÿåòñÿ ïðè ïîìîùè ìåòîäà íàèìåíüøèõ êâàäðàòîâ (ÌÍÊ,Ordinary Least Squares, OLS).Îáó÷åíèå ìîäåëè ñîñòîèò â ïîäáîðå êîýôôèöèåíòîâ β̂ = (β0 , β1 , · · · , βk ).Òåîðèÿ äàííîãî ìåòîäà ïðåäñòàâëåííà íèæå.Èç óðàâíåíèÿ 3.1 ñëåäóåò ÷òî, âåêòîð çàâèñèìîé ïåðåìåííîé èâåêòîð îøèáêè áóäóò èìåòü çàâèñèìîñòü:Ŷ = βX, e = Y − Ŷ = Y − βX, i = 0 · · · n(3.2)Ñîîòâåòñòâåííî ñóììà ñóììà êâàäðàòîâ îñòàòêîâ ðåãðåññèè(residualsum of squares) â ìàòðè÷íîì âèæå áóäåò ðàâíà:RSS = eT e = (Y − βX)T (Y − βX)(3.3)Äèôôåðåíöèðóÿ ýòó ôóíêöèþ ïî âåêòîðó ïàðàìåòðîâ β è ïðèðàâíÿâ ïðîèçâîäíûå ê íóëþ, ïîëó÷èì ñèñòåìó óðàâíåíèé (â ìàòðè÷íîéôîðìå):XT X b − XT Y = 0XT X b = XT Y23(3.4)(3.5)Ðåøåíèì óðàâíåíèå 3.5 îòíîñèòåëüíî β :β̂OLS = X T X−1(3.6)XT YÄëÿ âîçìîæíîñòè îöåíêè ìåòîäîì OLS äîëæíû áûòü âûïîëíåííû ñëåäóþùèå ïðåäïîñûëêè:1.
Èñòèííàÿ çàâèñèìîñòü èìååò âèä:(3.7)yi = β0 + β1 x1 + β2 x2 + · · · + βk xk2. Íàáëþäåíèé áîëüøå ÷åì îöåíèâàåìûõ êîýôôèöèåíòîâ β :n>k(3.8)E (i |X) = 0(3.9)3. Ñòðîãàÿ ýêçîãåííîñòü:4. Óñëîâíàÿ ãîìîñêåäàñòè÷íîñòü:E 2i |X = σ 2(3.10)5. Óñëîâíàÿ íåêîððåëèðîâàííîñòü:Cov (i j |X) = 0, i 6= j(3.11)6. Íåò ëèíåéíîé çàâèñèìîñòè ìåæäó ðåãðåññîðàìè7. Âåêòîðû îòäåëüíûõ íàáëþäåíèé íåçàâèñèìû è îäèíàêîâî ðàñïðåäåëåííû24Êàê ïîêàçàíî â [19] îöåíêè êîýôôèöèåíòîâ ìåòîäîì OLS îáëàäàþò öåëûì ðÿäîì ïîëåçíûõ ñâîéñòâ:1.
Áàçîâûå ñâîéñòâà - ñâîéñòâà âåðíûå äàæå áåç ïðåäïîëîæåíèè î íîðìàëüíîñòè ðàñïðåäåëåíèÿ i è íå çàâèñÿò îò ðàçìåðàâûáîðêè.(a) Îöåíêè βj ëèíåéíû ïî Y:βj = c0 y0 + c1 y1 + · · · + cn yn(3.12)(b) Îöåíêè íåñìåùåíû óñëîâíî:ˆE βj |X = βj(3.13)(c) Îöåíêè íåñìåùåíû áåçóñëîâíî: E βˆj = βj(3.14)(d) Îöåíêè ÿâëÿþòñÿ íåñìåùåííûìè ñðåäè ëèíåéíûõ è íåñìåùåííûõ îöåíîê, ò.å.