Оценка размера рабочего набора виртуальной машины исходя из гостевых показателей производительности (1187411), страница 2
Текст из файла (страница 2)
 2006 ãîäó äàòà-öåíòðû ïîòðåáëÿëè 61 ìèëëèàðä êèëîâàòò-÷àñîâ ýëåêòðîýíåðãèè, ÷òî ñîñòàâëÿëî1.5% ïîòðåáëåíèÿ ýëåêòðîýíåðãèè â ÑØÀ [4].  2014 ãîäó ïîòðåáëåíèå ýëåêòðîýíåðãèè âûðîñëî äî 91 ìèëëèàðäà êèëîâàòò-÷àñîâ, à â2020 ïðîãíîçèðóåòñÿ 139 ìèëëèàðäîâ êèëîâàòò-÷àñîâ [5]. Ïðè ýòîìðîñò ñòîèìîñòè ýëåêòðîýíåðãèè ñîñòàâèò ïðèìåðíî 4.7$. Ïîýòîìó,÷åì áîëüøå âèðòóàëüíûõ ìàøèí ìîæåò áûòü çàïóùåííî íà îäíîéõîñò-ìàøèíå áåç ïîòåðè ïðîèçâîäèòåëüíîñòè, òåì äåøåâëå äàòà-öåíòðûáóäóò îáõîäèòüñÿ âëàäåëüöó. Íàïðèìåð â [6] ðàññìàòðèâàåòñÿ àëãîðèòì Green Scheduling Algorithm â êîîïåðàöèè ñ íåéðîííîé ñåòüþ. Íåéðîííàÿ ñåòü ïðåäñêàçûâàåò âîçìîæíûå íàãðóçêè èGreenScheduling Algorithm âêëþ÷àåò èëè âûêëþ÷àåò íîäû îáëàêà â çàâèñèìîñòè îò íàãðóçêè.
Òàêèì îáðàçîì ìèíèìèçèðóåòñÿ êîëè÷åñòâî çàïóùåííûõ íîä â îáëàêå.Òàê æå ïîìèìî òàêèõ ãëîáàëüíûõ ìåòîäîâ îïòèìèçàöèè êàê âêëþ÷åíèå èëè îòêëþ÷åíèå íîäîâ ñóùåñòâóþò ìåòîäû îïòèìèçàöèè îòäåëüíûõ âèäîâ ðåñóðñîâ, òàêèõ êàê CPU, îïåðàòèâíàÿ ïàìÿòü, õðàíèëèùà äàííûõ è ò.ä. Ñòîèò îòìåòèòü, ÷òî CPU è îïåðàòèâíàÿ ïàìÿòü ÿâëÿþòñÿ íàèáîëåå àêòèâíî ïîòðåáëÿåìûìè ðåñóðñàìè õîñòîâîé ìàøèíû [3, 7].9 [7] îïèñàí ìåòîä îïòèìèçàöèè ïîòðåáëåíèÿ CPU, ðàáîòàþùåãîíà àðõèòåêòóðå Intel x86.
CPU idle state - ñîñòîÿíèå CPU ïðè êîòîðîì äëÿ íåãî íåò çàäà÷.  òàêîì ñîñòîÿíèè îïåðàöèîííàÿ ñèñòåìàïîñûëàåò êîìàíäó halt ïðîöåññîðó äëÿ ñíèæåíèÿ ýíåðãîïîòðåáëåíèÿ.Ýòà êîìàíäà çíà÷èò, ÷òî íà äàííîé âèðòóàëüíîé ìàøèíå â äàííûéìîìåíò î÷åíü íèçêàÿ íàãðóçêà íà CPU. Ìîíèòîð âèðòóàëüíîé ìàøèíû ïåðåõâàòûâàåò ýòî ñîáûòèå, è ñîîáùàåò ñèñòåìå, îòâå÷àþùåéçà ïåðåðàñïðåäåëåíèå ðåñóðñîâ î òîì, ÷òî íà äàííîé âèðòóàëüíîéìàøèíå íèçêàÿ íàãðóçêà íà CPU, à ñëåäîâàòåëüíî, ðåñóðñ ìîæíî÷àñòè÷íî èçúÿòü è ïåðåðàñïðåäåëèòü ìåæäó äðóãèìè âèðòóàëüíûìè ìàøèíàìè íà ýòîì õîñòå. Ê ñîæàëåíèþ, ñòîëü ÿâíîãî ïðèçíàêàíèçêîé íàãðóçêè äëÿ îïåðàòèâíîé ïàìÿòè íå ñóùåñòâóåò. ðàáîòå [8] îòìå÷àåòñÿ ñóùåñòâåííîå îòëè÷èå â ïîâåäåíèè gridñèñòåì è îáëà÷íûõ ñèñòåì.
Îñíîâíûì îòëè÷èåì îáëà÷íûõ ñèñòåì ÿâëÿþòñÿ áîëåå ñèëüíûå è ÷àñòûå êîëåáàíèÿ â ïîòðåáëåíèè ïàìÿòè,÷åì ó grid-ñèñòåì.Äëÿ îïòèìèçàöèè èñïîëüçîâàíèÿ îïåðàòèâíîé ïàìÿòè èñïîëüçóþòñÿ ðàçëè÷íûå ìåòîäû, òàêèå êàê:1. Page Replacement [8];2. Ballooning [8, 3, 9];3. Demand Paging[8];4. Sharing Memory[8, 3];5.
Reclaim Idle Memory[8];106. Ðàçëè÷íûå òåõíèêè ïðåäñêàçàíèÿ ðàçìåðà ðàáî÷åãî íàáîðà âèðòóàëüíîé ìàøèíû [4, 7, 10, 11, 12];Page Replacement - èäåÿ äàííîãî ìåòîäà çàêëþ÷àåòñÿ â ïåðå-ìåùåíèè ãèïåðâèçîðîì íåêîòîðûõ ñòðàíèö âèðòóàëüíîé ìàøèíû âñâàï-ôàéë[13]. Íî êàê ïîêàçàííî â [8] âîçíèêàåò ïðîáëåìà îïðåäåëåíèÿ ñòðàíèö, êîòîðûå íàäî îòîçâàòü. Ïî-ôàêòó êàêèå ñòðàíèöû âàæíû, à êàêèå íåò çíàåò òîëüêî âèðòóàëüíàÿ ìàøèíà è ýòà èíôîðìàöèÿ íåäîñòóïíà ãèïåðâèçîðó. Áîëåå òîãî, â ñëó÷àå ñëîæíûõ ïîëèòèêîòçûâà ñòðàíèö ìîãóò âîçíèêíóòü òàê íàçûâàåìûå àíîìàëèè ïðîèçâîäèòåëüíîñòè (performance anomaly) [8].
Ýòè àíîìàëèè ñâÿçàííûñ òåì, ÷òî íåêîòîðûå ÎÑ ÿâëÿþòñÿ çàêðûòûìè(Windows, Mac OS)è àëãîðèòìû ìåíåäæìåíòà ïàìÿòè èçâåñòíû íå äî êîíöà èëè ñ òåì,÷òî ïî÷òè âñå îïåðàöèîííûå ñèñòåìû èìåþò íåäîêóìåíòèðîâàííûåôóíêöèè(Windows, Mac OS, Linux), êîòîðûå àêòèâíî èñïîëüçóþòñÿ ÿäðîì ñèñòåìû[14, 15]. Òàê æå, êàê ïîêàçàííî â [8] ñòðåìëåíèåê èçîëèðîâàííîñòè âèðòóàëüíîé ìàøèíû è ýôôåêòèâíîñòè èñïîëüçîâàíèÿ ïàìÿòè êîíôëèêòóþò äðóã ñ äðóãîì. Ïðè èñïîëüçîâàíèèPage Replacement ìîæåò âîçíèêíóòü ïðîáëåìà double paging problem.double paging problem çàêëþ÷àåòñÿ â ñëåäóþùåì: ãèïåðâèçîð âûáèðàåò ñòðàíèöó äëÿ çàãðóçêè åå îáðàòíî â îïåðàòèâíóþ ïàìÿòü.  òîæå âðåìÿ ãîñòåâàÿ îïåðàöèîííàÿ ñèñòåìà ïðèíèìàåò ðåøåíèå âûãðó-çèòü òóò æå ñòðàíèöó â ñâàï-ôàéë. Òàêèì îáðàçîì ñòðàíèöà áóäåòçàãðóæåííà â îïåðàòèâíóþ ïàìÿòü è òóò æå âûãðóæåííà.Ballooning.
 äàííîé òåõíèêå èñïîëüçóåòñÿ ñïåöèàëüíûé äðàé-âåð balloon driver, êîòîðûé çàãðóæàåòñÿ â ãîñòåâóþ ÎÑ è èìååò èíòåðôåéñ äëÿ îáùåíèÿ ñ ìîíèòîðîì âèðòóàëüíîé ìàøèíû. Êîãäà ìî11íèòîð õî÷åò èçúÿòü ïàìÿòü â âèðòóàëüíîé ìàøèíû, îí äàåò ÷åðåç èíòåðôåéñ äðàéâåðó êîìàíäó íàäóòüñÿ.
Äðàéâåð íà÷èíàåò âûäåëåíèÿïàìÿòè âíóòðè ãîñòåâîé ìàøèíû èñïîëüçóÿ API çàïóùåííîé íà âèðòóàëüíîé ìàøèíå ÎÑ. Ñòîèò îòìåòèòü, ÷òî íàäóòûé balloon driverìîæåò ñïðîâîöèðîâàòü âíóòðåííèõ àëãîðèòìîâ óïðàâëåíèÿ ïàìÿòüþâ ÎÑ. Ò.ê. åñëè ïàìÿòè äîñòàòî÷íî, òî ïðè íàäóòûé ñòðàíèöû èçûìàþòñÿ èç áóôåðà ñâîáîäíûõ ñòðàíèö. Åñëè ïàìÿòè ìàëî, òî â ÎÑçàïóñêàþòñÿ àëãîðèòìû îñâîáîæäåíèÿ ñòðàíèö â îïåðàòèâíîé ïàìÿòè, òàêèå êàê: çàïèñü ôàéëîâîãî êýøà íà äèñê, ñâàïèíã, êîòîðûå òàêæå ìîãóò ïðèâåñòè ê àíîìàëèÿì ïðîèçâîäèòåëüíîñòè.Demand Paging - ñëó÷àéíîå ïåðåìåùåíèå ñòðàíèö âèðòóàëü-íîé ìàøèíû íà äèñê. Èñïîëüçóåòñÿ ÷òîáû èçáåãàòü àíîìàëèé ïðîèçâîäèòåëüíîñòè, âûçâàííûõ çàïóñêîì âíóòðåííèõ àëãîðèòìîâ ÎÑóïðàâëåíèÿ ïàìÿòè.Sharing Memory - åñëè íà îäíîé õîñòîâîé ìàøèíå çàïóùåííîíåñêîëüêî êîïèé îäíîé è òîé æå ÎÑ.
Î÷åâèäíî, ÷òî áîëüøàÿ ÷àñòüñòðàíèö ïàìÿòè, êîòîðàÿ ïðèíàäëåæèò ÿäðó îïåðàöèîííîé ñèñòåìû,ó ýòèõ äâóõ âèðòóàëüíûõ ìàøèí ñîâïàäåò.  òàêîì ñëó÷àå ðåçîííîñäåëàòü òàê, ÷òîáû äóáëèðóþùèåñÿ ñòðàíèöû áûëè óäàëåíû è çàìåíåíû íà ññûëêè òåõ ìåñò ïàìÿòè, ãäå ýòà ñòðàíèöà âñòðå÷àåòñÿâïåðâûå.Share-Based Allocation - âûäåëÿåìûå âèðòóàëüíîé ìàøèíå ðå-ñóðñû ïðîïîðöèîíàëüíû óæå ïîòðåáëåííûì. Êàê ïîêàçàííî â [8] òàêîé ïðèíöèï ïëîõî ðàáîòàåò ïðè áîëüøèõ íàãðóçêàõ. Äëÿ ðåøåíèèýòîé ïðîáëåìû ñóùåñòâóþò àëãîðèòìû, ïðåäëîæåííûå â [16, 17].Reclaiming Idle Memory - íåäîñòàòîêShare-Based Allocationçàêëþ÷àåòñÿ â òîì, ÷òî îí íå ó÷èòûâàåò íàñêîëüêî àêòèâíî âèðòó12àëüíàÿ ìàøèíà èñïîëüçóåò âûäåëåííóþ ïàìÿòü. Èäåÿ Reclaiming IdleMemory çàêëþ÷àåòñÿ â òîì, ÷òîáû áðàòü â ðàñ÷åò ïðè ðàñïðåäåëåíèèðåñóðñîâ íàñêîëüêî âèðòóàëüíàÿ ìàøèíà àêòèâíî èñïîëüçóåò âûäåëåííóþ ïàìÿòü. ðàáîòàõ [4, 7, 10, 11, 12] ðàññìàòðèâàþòñÿ ðàçëè÷íûå ìåòîäûîöåíêè ðàçìåðà ðàáî÷åãî íàáîðà ñ ïîìîùüþ ðàçëè÷íûõ ñòàòèñòè÷åñêèõ ìåòîäîâ. ðàáîòå [7, 10] ðàññìàòðèâàþòñÿ âîçìîæíîñòè èñïîëüçîâàíèÿôèëüòðà Êàëìàíà[18] è àâòîðåãðåññèè[19] äëÿ ïðåäñêàçàíèÿ ðàçìåðà ðàáî÷åãî íàáîðà â ñëåäóþùèé ìîìåíò âðåìåíè.
Ôèëüòð Êàëìàíàïðåäïîëàãàåò íàëè÷èå øóìà èñêëþ÷èòåëüíî ñ ãàóññîâûì ðàñïðåäåëåíèåì[19]. äîáàâîê êî âñåìó ñ íåñòàöèîíàðíûìè ðÿäàìè íè ôèëüòð Êàëìàíàíè àâòîðåãðåññèÿ íå ìîãóò ðàáîòàòü êîððåêòíî[20, 19], ò.ê. íàðóøàåòñÿ èõ îñíîâíîå ïðåäïîëîæåíèå î ñòàöèîíàðíîñòè ðÿäà (íåèçìåííîñòè äèñïåðñèè, ñðåäíåãî è êîâàðèàöèè ìåæäó ëàãàìè ñ òå÷åíèåìâðåìåíè). Òàê æå â ðàáîòå [10] îòìå÷àåòñÿ, ÷òî èñïîëüçîâàíèå ôèëüòðà Êàëìàíà äëÿ äîëãîñðî÷íûõ ïðåäñêàçàíèé êðàéíå íåóäîáíî.
Ò.ê.â ñëó÷àå ïðåäñêàçàíèÿ íà 16 ÷àñîâ âïåðåä êîððåêòèðîâêà íàñòðîåêôèëüòðà Êàëìàíà ïðîèçîéäåò òîëêî ÷åðåç 16 ÷àñîâ. ðàáîòå [10] òàê æå ïåðå÷èñëÿåòñÿ ðÿä ñòàíäàðòíûõ ìîäåëåé äëÿîöåíêè ðàçìåðà ðàáî÷åãî íàáîðà:1. Last-state based method - ñëåäóþùåå çíà÷åíèå ðàçìåðà ðàáî÷åãî íàáîðà ðàâíî òåêóùåìó;2.
Mean-average - óñðåäíåííîå çíà÷åíèå çà ïîñëåäíèå n ìîìåíòîâ âðåìåíè ÿâëÿåòñÿ ïðåäèêòîðîì çíà÷åíèÿ ðàçìåðà ðàáî÷åãîíàáîðà â ñëåäóþùèé ìîìåíò âðåìåíè;133. Linear weighted moving average method - çíà÷åíèå â ñëåäóþùèé ìîìåíò âðåìåíè ðàâíî âçâåøåííîé ñóììå çíà÷åíèé ðàçìåðà ðàáî÷åãî íàáîðà â ïðåäûäóùèå ìîìåíòû âðåìåíè;4. Exponential moving average :S (t) = α · e1 + (1 − α) · S (t − 1)(2.1)Ãäå S (t) - ðàçìåð ðàáî÷åãî íàáîðà â ìîìåíò âðåìåíè t, α ýìïèðè÷åñêè ïîäîáðàííûé ïàðàìåòð;5.
Prior probability-based method - âûáèðàåòñÿ íàèáîëåå âåðîÿòíûé ðàçìåð ðàáî÷åãî íàáîðà, îïèðàÿñü íà ðàçìåð ðàáî÷åãîìîìåíòà â òåêóùèé ìîìåíò âðåìåíè;6. Auto-regression modelS (t) =nXai · S (t − i) + t(2.2)i=1Ãäå S (t) - ðàçìåð ðàáî÷åãî íàáîðà â ìîìåíò âðåìåíè t, ai - êîýôôèöèåíòû ïðè ñîîòâåòñòâóþùèõ ëàãàõ, t - ñëó÷àéíûé êîìïîíåíò;7. Hybrid model - ýòîò ìåòîä èñïîëüçóåò ôèëüòð Êàëìàíà â êîìáèíàöèè ñ Savitzky-Golay ôèëüòð ñãëàæèâàíèÿ è àâòîðåãðåññèåé.Îñíîâíîé òåìîé [10] îïèñàíèå ìîäåëè ïðåäñêàçàíèÿ íàãðóçîê, îñíîâàííûé íà áàéåñîâñêîì ïîäõîäå.
Ñóòü ìîäåëè ñîñòîèò â ñëåäóþùåì:141. Îïðåäåëèòü âåêòîð èíòåðåñóþùèõ ñîñòîÿíèé, êîòîðûå ìû õîTòèì ïðåäñêàçûâàòü W = (w1 , w2 , · · · , wm ) ;2. Îïðåäåëèòü âåêòîð ïðèçíàêîâ îò êîòîðûõ çàâèñèò ïðåäñêàçûTâàåìîå ñîñòîÿíèå. X = (x1 , x2 , · · · , xn ) ;3. Ðàñ÷èòàòü àïðèîðíûå âåðîÿòíîñòè P (wi );4. Ðàñ÷èòàòü ñîâìåñòíóþ âåðîÿòíîñòü P (xj |wi ) , ∀i, j ;5. Ðàññ÷èòàòü àïîñòåðèîðíóþ âåðîÿòíîñòü ïî ïðàâèëó Áàéåñà äëÿêàæäîãî wi èç W :P (xj |wi ) · P (wi )P (wi |xj ) = Pmk=1 P (xj |wk ) · P (wk )(2.3)6.
Âûáðàòü òîò wi ó êîòîðîãî P (wi |xj ) íàèáîëüøåå â êà÷åñòâåïðåäñêàçàííîãî ñîñòîÿíèÿ.Ïîñëå ïðîâåäåíèÿ òåñòèðîâàíèÿ â [10] áûëî ïîêàçàííî, ÷òî áàéåñîâñêèé ïîäõîä ÿâëÿåòñÿ áîëåå òî÷íûì, ÷åì âûøåïåðå÷èñëåííûå ìåòîäû. Íåäîñòàòêîì äàííîãî ìåòîäà ÿâëÿåòñÿ òî, ÷òî åñëè ïîÿâëÿåòñÿñèëüíî îòëè÷àþùååñÿ îò òðåíèðîâî÷íîé âûáîðêè ïîâåäåíèå, êëàññèôèêàòîð íà÷èíàåò ñèëüíî îøèáàòüñÿ. ðàáîòå [21] ïðåäëîæåí ìåòîä ïðåäñêàçàíèÿ íàãðóçîê íà îïåðàòèâíóþ ïàìÿòü ïðè ïîìîùè íåéðîííûõ ñåòåé, ïîçâîëÿþùèé äîñòè÷ü48% óëó÷øåíèÿ ýôôåêòèâíîñòè èñïîëüçîâàíèÿ îïåðàòèâíîé ïàìÿòè. ðàáîòå [4] ïîêàçàííî ÷òî ëèíåéíàÿ ðåãðåññèîííàÿ ìîäåëü ïîêàçûâàåò ëó÷øèé ðåçóëüòàò ïðè ïðåäñêàçàíèè íàãðóçîê íà ïàìÿòü,÷åì íåéðîííàÿ ñåòü.15ÃËÀÂÀ 3Òåîðèÿ äàííîé ãëàâå ðàññìàòðèâàþòñÿ òåîðåòè÷åñêèå àñïåêòû, êîòîðûå áûëè èñïîëüçîâàííû â äàííîé ðàáîòå. ïàðàãðàôå 3.1 îïèñûâàåòñÿ ïîíÿòèåñîáûòèÿ äëÿ ñèñòåì âèð-òóàëèçàöèè.
 ÷àñòíîñòè ñîáûòèÿ Windows OS. ïàðàãðàôå 3.2 ðàññìàòðèâàþòñÿ îñíîâíûå ìîìåíòû òåîðèè âðåìåííûõ ðÿäîâ, êîòîðàÿ áóäåò ïðèìåíåíà â ïîñëåäñòâèè äëÿ âûáîðàïîäõîäÿùèõ ìåòîäîâ è îöåíêè ðàçìåðà ðàáî÷åãî íàáîðà âèðòóàëüíîéìàøèíû. ïàðàãðàôå 3.3 ðàññìàòðèâàþòñÿ àëãîðèòìû êëàñòåðèçàöèè èðàçëè÷íûå ìåòðèêè, èñïîëüçóåìûå â äàííîé ðàáîòå.3.1Âíóòðåííèå ñîáûòèÿ OS (Events)Èäåÿ ñîáûòèé (events) àêòèâíî èñïîëüçóåòñÿ â äàííîé ðàáîòå. Èíôîðìàöèÿ î ïðîèñõîäÿùåé ñîáûòèÿõ íà âèðòóàëüíîé ìàøèíå àíàëèçèðóåòñÿ äëÿ îöåíêè íàãðóçêè íà ñèñòåìó â äàííûé ìîìåíò âðåìåíèè ïðåäñêàçàíèÿ áóäóùèõ íàãðóçîê. ðàáîòaõ[7, 22, 9, 23] îïèñàíà èäåÿ ñîáûòèé(events). Ñóùåñòâóåòäâà òèïà ñîáûòèé:1.