曹卉
摘 ?要: 虛擬機(jī)分配策略是提高云數(shù)據(jù)中心的物理主機(jī)利用率和降低能源消耗的關(guān)鍵技術(shù)。文中提出云數(shù)據(jù)中心面向低能源消耗的虛擬機(jī)分配策略LEC?VM。LEC?VM包括2個(gè)組成部分:虛擬機(jī)放置策略和虛擬機(jī)遷移優(yōu)化策略。通過放置策略將云數(shù)據(jù)中心的虛擬機(jī)分配到最合適的物理節(jié)點(diǎn)之上,保證整個(gè)系統(tǒng)的CPU利用率低于一個(gè)給定的閾值; 通過遷移優(yōu)化策略,根據(jù)系統(tǒng)的當(dāng)前狀態(tài)動(dòng)態(tài)遷移虛擬機(jī),對(duì)物理主機(jī)的資源進(jìn)行優(yōu)化。利用CloudSim作為云數(shù)據(jù)中心的云端測(cè)試環(huán)境。 測(cè)試結(jié)果表明,LEC?VM可以減少云數(shù)據(jù)中心的SLA違規(guī),保證云計(jì)算的服務(wù)質(zhì)量, 與其他的虛擬機(jī)分配策略比較起來,可以降低能源消耗。
關(guān)鍵詞: 虛擬機(jī); 資源分配; 低能源消耗; 云數(shù)據(jù)中心; 虛擬化技術(shù); 云計(jì)算
中圖分類號(hào): TN245?34; TP393.093 ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2019)20?0128?05
Low energy consumption virtual machine allocation strategy in cloud data center
CAO Hui
(Credit Bank Management Center, Henan Radio & Television University, Zhengzhou 450000, China)
Abstract: Virtual machine allocation strategy is a key technology to reduce energy consumption and improve the utilization of physical hosts in cloud data center. A low energy consumption virtual machine (LEC?VM) allocation strategy in cloud data centers is proposed. The LEC?VM is composed of two components: virtual machine placement strategy and virtual machine migration optimization strategy. The virtual machines in the cloud data center is assigned to the most appropriate physical nodes by means of placement strategy to ensure the CPU utilization of the entire system is below a given threshold. The virtual machine is migrated dynamically according to the current state of the system by means of migration optimization strategy, and the resources of the physical host are optimized. CloudSim is taken as the cloud test environment of cloud data center. The test results show that LEC?VM can reduce SLA violations of cloud data centers, guarantee the service quality of cloud computing, and reduce energy consumption in comparison with other virtual machine allocation strategies.
Keywords: virtual machine; resource allocation; low energy consumption; cloud data center; virtualization technology; cloud computing
近年來隨著云計(jì)算、大數(shù)據(jù)等技術(shù)的快速發(fā)展,各類大型IT企業(yè)都已經(jīng)逐步建立了自己的基于云的大數(shù)據(jù)中心,其消耗的能源也與日俱增,政府與企業(yè)都在開始研究云數(shù)據(jù)中心的低能耗問題,倡導(dǎo)低碳環(huán)保生活與綠色云計(jì)算[1?2]。
云數(shù)據(jù)中心的虛擬機(jī)分配策略是目前提高云端資源利用效率和降低能量消耗的主要技術(shù),它能夠?qū)?yīng)用服務(wù)封裝在虛擬機(jī)之中,在服務(wù)請(qǐng)求減少的情況下,將云端的多個(gè)虛擬機(jī)遷移到一個(gè)物理服務(wù)器,關(guān)閉空閑服務(wù)器或者使空閑服務(wù)器進(jìn)入睡眠模式[3?6];當(dāng)服務(wù)請(qǐng)求增加時(shí),重新喚醒空閑服務(wù)器,并將超負(fù)載服務(wù)器中的虛擬機(jī)遷移到空閑服務(wù)器或者低負(fù)載服務(wù)器,以此來提高云數(shù)據(jù)中心資源利用的效率[7]。
在研究低能源消耗的虛擬機(jī)分配策略的時(shí)候,云數(shù)據(jù)中心的服務(wù)質(zhì)量(QoS)也是重要因素值得考慮,因?yàn)樵茢?shù)據(jù)中心的最主要的目標(biāo)是保證各類IT服務(wù)可以正常地提供給客戶端,如果QoS不能保證,將會(huì)出現(xiàn)SLA違規(guī)(SLA Violation)問題,這樣企業(yè)的云數(shù)據(jù)中心將會(huì)失去商業(yè)利潤(rùn)。如果使用過多的IT物理資源來保證QoS,這樣能源消耗就會(huì)增加,間接地提高了企業(yè)的成本,所以虛擬機(jī)分配策略要保證能源消耗和QoS之間的平衡。
1 ?相關(guān)工作
目前學(xué)術(shù)界利用云端的虛擬機(jī)動(dòng)態(tài)遷移的手段來節(jié)省云端的能源消耗,進(jìn)行了大量的研究。早期的技術(shù)有預(yù)復(fù)制Pre?copy[8]、后復(fù)制Post?copy、混合復(fù)制等, 這些主要是應(yīng)用在單虛擬機(jī)遷移領(lǐng)域(Single Virtual Machine Migration)或者非云端的虛擬機(jī)遷移。隨著云端服務(wù)規(guī)模的擴(kuò)大,目前都是多虛擬機(jī)遷移(Multiply Virtual Machine Migration)。
文獻(xiàn)[7]提出一種集群中多虛擬機(jī)的遷移策略,并評(píng)價(jià)了云端多虛擬機(jī)遷移的負(fù)載與性能變化。Luo等人同樣從CPU維度對(duì)虛擬機(jī)的動(dòng)態(tài)配置問題進(jìn)行建模,并利用改進(jìn)的蛙跳算法進(jìn)行求解[9]。Xu等人提出了PS?ABC算法,該方法能夠在長(zhǎng)期服務(wù)項(xiàng)目的局部時(shí)間段內(nèi)實(shí)現(xiàn)較好的節(jié)能效果,但是在服務(wù)項(xiàng)目全局的能耗優(yōu)化問題上,效果并不理想[10]。Zhao等人在此基礎(chǔ)上提出了PS?ES啟發(fā)式算法,不僅實(shí)現(xiàn)了當(dāng)前場(chǎng)景的能源優(yōu)化,而且也有效降低了長(zhǎng)期服務(wù)項(xiàng)目總體的能源消耗,但其考慮的維度較單一[11]。Cao等人在Beloglazov研究的基礎(chǔ)上提出SLA違規(guī)算法,引入最小能源最大利用率策略,進(jìn)一步優(yōu)化虛擬機(jī)配置方法[12]。上述這些方法的主要目的是應(yīng)用虛擬機(jī)動(dòng)態(tài)遷移技術(shù)實(shí)現(xiàn)云端服務(wù)的負(fù)載均衡,優(yōu)化服務(wù)器的電力能量管理等,最終是為了改善云端的服務(wù)質(zhì)量,減少SLA違規(guī)。
本文提出了云數(shù)據(jù)中心面向低能源消耗的虛擬機(jī)分配策略LEC?VM (Low Energy Consumption Oriented Virtual Machine Allocation Strategy)。LEC?VM主要面向低能量消耗,同時(shí)保證IT企業(yè)的Qos與低能源消耗相平衡。
本文最后通過CloudSim工具模擬了云數(shù)據(jù)中心虛擬機(jī)分配策略的LEC?VM的性能。實(shí)驗(yàn)結(jié)果表明,LEC?VM比常見的虛擬機(jī)分配策略要優(yōu)秀,能夠?qū)崿F(xiàn)低能源消耗和減少SLA違規(guī),保證IT云數(shù)據(jù)中心的QoS。
2 ?云數(shù)據(jù)中心虛擬機(jī)分配方法分析
云數(shù)據(jù)中心的虛擬機(jī)分配可以劃分為2個(gè)步驟:第一步是針對(duì)新的請(qǐng)求生成新的虛擬機(jī)(Virtual Machine)并將虛擬機(jī)放置到可用的物理節(jié)點(diǎn)Host;第二步是優(yōu)化物理主機(jī)上的虛擬機(jī)。根據(jù)已經(jīng)存在的虛擬機(jī)分配策略[13],第一步被認(rèn)為是一個(gè)多維裝箱的問題,即將物理主機(jī)Host抽象為箱子,箱子的容量是服務(wù)器資源的大小,包括CPU、內(nèi)存、硬盤和網(wǎng)絡(luò)帶寬;虛擬機(jī)抽象為裝入的物品,其所用的資源就是物品的大小;資源的種類被抽象為裝箱問題的維度[14]。此類問題是一個(gè)基于多約束的整數(shù)規(guī)劃問題,同時(shí)也是一個(gè)NP?hard問題,這種多約束的多目標(biāo)優(yōu)化問題,往往求其近似最優(yōu)解。云數(shù)據(jù)中心的虛擬機(jī)放置示意圖如圖1所示,應(yīng)用程序可表示為A={A1,A2,…,An},n臺(tái)同構(gòu)的主機(jī)PM={PM1,PM2,…,PMn}和m臺(tái)虛擬機(jī)VM={VM1,VM2,…,VMm},客戶請(qǐng)求為L(zhǎng)Q={LQ1,LQ2,…,LQm}。
第二步是遷移優(yōu)化問題。一個(gè)好的虛擬機(jī)分配策略,應(yīng)該根據(jù)應(yīng)用程序的狀態(tài)使虛擬機(jī)在遷移時(shí)能夠被部署在合適的物理服務(wù)器上,如果虛擬機(jī)并不需要所有的物理資源,那么他們應(yīng)該被透明地重新劃分尺寸,并使所需要的物理節(jié)點(diǎn)數(shù)目最小??臻e的物理節(jié)點(diǎn)應(yīng)該能夠轉(zhuǎn)入到睡眠模式,這樣使云數(shù)據(jù)中心的能源消耗最小。虛擬機(jī)分配及優(yōu)化應(yīng)該基于下面兩個(gè)標(biāo)準(zhǔn)考慮:
1) 設(shè)置物理主機(jī)的資源利用率閾值upper_utilization,保持整體的虛擬機(jī)的CPU利用率都要低于這個(gè)閾值;
2) 設(shè)置虛擬機(jī)的資源利用率閾值的上限upper_utilization和下限lower_utilization, 保證整體的虛擬機(jī)的CPU的利用率都要處于這個(gè)閾值下限和上限之間。
為了要達(dá)到低能源消耗和防止?jié)撛诘腟LA違規(guī),保證云數(shù)據(jù)中心的服務(wù)質(zhì)量, 目前常見的虛擬機(jī)分配策略包括下面四類:
1) 單一閾值策略 (Single Threshold,ST)。它是基于單純上限閾值(upper_utilization)的物理主機(jī)的利用率閾值策略,將虛擬機(jī)分配到那些能夠保證所有的CPU都是低于物理主機(jī)閾值的方法。ST策略目標(biāo)是保證資源的自由性,這樣可以保證IT服務(wù)的質(zhì)量,新的虛擬機(jī)分配通過虛擬機(jī)的在線遷移完成。
2) 最小遷移次數(shù)策略 (MM,Minimization of Migrations)。這個(gè)策略主要基于虛擬機(jī)選擇和遷移的次數(shù)最小標(biāo)準(zhǔn),對(duì)于那些超過了CPU利用率閾值上限情形并不考慮在內(nèi),也許并不遷移。
3) 最高潛在增加策略(HPG,Highest Potential Growth)。該策略在超過了物理資源的CPU利用率的閾值上限時(shí), 將通過虛擬機(jī)的參數(shù),遷移那些CPU利用率高虛擬機(jī),這樣可以降低和最小化物理主機(jī)的利用率,也可以防止SLA違規(guī)。
4) 隨機(jī)選擇策略(RC,Random Choice)。該策略對(duì)于那些超過最高閾值的物理主機(jī),隨機(jī)選擇一定數(shù)目的虛擬機(jī),從而降低該物理主機(jī)的CPU利用率。下一節(jié)將重點(diǎn)討論本文的LEC?VM虛擬機(jī)分配策略。
3 ?LEC?VM虛擬機(jī)分配策略
3.1 ?LEC?VM策略流程
LEC?VM虛擬機(jī)分配策略最直接的思路就是首先放置虛擬機(jī)到那些主機(jī)的CPU利用率低于最小閾值的那些物理節(jié)點(diǎn),然后優(yōu)化虛擬機(jī)的分配策略,使虛擬機(jī)動(dòng)態(tài)的遷移,保證所有的物理節(jié)點(diǎn)的CPU利用率一直是低于最小閾值,并且關(guān)閉那些空閑的物理節(jié)點(diǎn),使整個(gè)云數(shù)據(jù)中心的能源消耗最小。
但是通過前面的分析,如果整個(gè)系統(tǒng)中的虛擬機(jī)遷移數(shù)量比較大,容易造成大量SLA 違規(guī),從而影響云平臺(tái)的IT服務(wù)質(zhì)量QoS。 LEC?VM策略的設(shè)計(jì)目標(biāo)是在云數(shù)據(jù)中心可以正確地提供合適的物理資源之上,同時(shí)約束虛擬機(jī)遷移數(shù)量,這樣就可以最終減少SLA違規(guī)情況,同時(shí)使云數(shù)據(jù)中心的能源消耗最小。
圖2 描述了LEC?VM虛擬機(jī)分配策略的流程。該策略有兩個(gè)組成部分Algorithm 1和Algorithm 2。第一個(gè)部分Algorithm 1是利用虛擬機(jī)的放置來保證空閑資源的使用效率低于預(yù)定的最小閾值。當(dāng)虛擬機(jī)請(qǐng)求個(gè)數(shù)在不斷增加的情況下,系統(tǒng)對(duì)物理資源的需求也越大,這樣也可以在一定程度上防止SLA 違規(guī)。
第二個(gè)組成部分Algorithm 2是采用虛擬機(jī)在云數(shù)據(jù)中心中動(dòng)態(tài)的遷移,遷移到那些CPU利用率比較小、負(fù)載比較輕的物理節(jié)點(diǎn),如果物理資源大量空閑,就關(guān)閉空閑資源的電源,最終降低云數(shù)據(jù)中心的能源消耗。
3.2 ?LEC?VM算法描述
Algorithm 1的主要功能是完成虛擬機(jī)的放置。算法設(shè)置了一個(gè)物理主機(jī)使用效率(負(fù)載情況)的閾值上限UpperThresholdUtilization,然后每個(gè)虛擬機(jī)組成一個(gè)虛擬機(jī)列表,對(duì)列表中的每個(gè)虛擬機(jī)都重復(fù)地尋找物理主機(jī),判斷其整體的CPU使用效率(負(fù)載情況)是否低于預(yù)先設(shè)定的閾值上限。 這里CPU的整體的負(fù)載情況是該物理主機(jī)上所有虛擬機(jī)所消耗的CPU資源的累計(jì)之和。然后選擇一個(gè)物理主機(jī)設(shè)置為被分配的物理主機(jī),并且虛擬機(jī)就放置在該物理節(jié)點(diǎn)上。隨著該物理節(jié)點(diǎn)上虛擬機(jī)數(shù)量的增加,其消耗的能源情況也會(huì)逐漸的增加。該算法將虛擬機(jī)列表中的所有虛擬機(jī)都放置到合適的物理節(jié)點(diǎn)之后停止,該算法的復(fù)雜度與必須被放置的虛擬機(jī)的數(shù)量密切相關(guān),也與可用的物理節(jié)點(diǎn)數(shù)量有關(guān)系。
算法的第二部分Algorithm 2主要是虛擬機(jī)動(dòng)態(tài)遷移與優(yōu)化算法, 首先設(shè)置一個(gè)物理主機(jī)的列表,按照物理主機(jī)的負(fù)載情況(運(yùn)行在其上的虛擬機(jī))進(jìn)行排序,指定最低負(fù)載情況閾值,用來約束物理主機(jī)上的虛擬機(jī)遷移次數(shù)。
設(shè)置一個(gè)計(jì)數(shù)器counter, counter等于被排序的所有的物理主機(jī)數(shù)目, 此時(shí)開始整個(gè)虛擬機(jī)的優(yōu)化策略過程。首先對(duì)于主機(jī)列表中的每個(gè)主機(jī)i,如果主機(jī)的負(fù)載小于遷移閾值,表明主機(jī)是未充分利用(under?utilized),那么虛擬機(jī)就應(yīng)該遷移到該物理節(jié)點(diǎn)。虛擬機(jī)的遷移首先在主機(jī)j上進(jìn)行, 那些具有最高CPU利用率的主機(jī)一直持續(xù)在工作。
根據(jù)第一部分的思路,如果物理主機(jī)的整體CPU利用率低于某個(gè)預(yù)定的閾值下限,那么虛擬機(jī)將遷移到物理主機(jī)j。
如果主機(jī)j的整體CPU利用率超過了預(yù)定的閾值上限,那么那些處于未充分利用(under?utilized)的物理主機(jī)也不能遷移到該物理節(jié)點(diǎn),因此這時(shí)先前的那些列表中排序的物理節(jié)點(diǎn)將被進(jìn)行檢查用來遷移,此時(shí)計(jì)數(shù)器counter數(shù)目減1。該過程將一直執(zhí)行,直到主機(jī)i中的所有虛擬機(jī)都被遷移到主機(jī)j。
對(duì)于所有的那些處于under?utilized狀態(tài)的物理主機(jī),該過程重復(fù)執(zhí)行,直到物理主機(jī)的i值等于計(jì)數(shù)器counter的值。
通過這種方式,LEC?VM策略可以約束虛擬機(jī)的遷移次數(shù),這樣云數(shù)據(jù)中心的SLA違規(guī)情形也會(huì)減少,整個(gè)云平臺(tái)的服務(wù)質(zhì)量Qos也會(huì)提高。Algorithm 2的偽代碼如下:
4 ?仿真實(shí)驗(yàn)與性能分析
4.1 ?仿真環(huán)境
本節(jié)采用CloudSim軟件仿真IaaS環(huán)境。模擬的云數(shù)據(jù)中心具有200個(gè)物理主機(jī),每個(gè)主機(jī)具有雙核CPU, 其性能相當(dāng)于1 860 MIPS和2 660 MIPS,具有5 GB的內(nèi)存和1 TB的磁盤空間。
模擬客戶端的應(yīng)用程序提交310個(gè)虛擬機(jī),保證云數(shù)據(jù)中心的物理主機(jī)的基本負(fù)載。采用2種已經(jīng)的能量管理策略DVFS和NPA,還有另外的ST遷移策略和MM遷移策略。 DVFS是根據(jù)芯片所運(yùn)行的應(yīng)用程序?qū)τ?jì)算能力的不同需要,動(dòng)態(tài)調(diào)節(jié)芯片的運(yùn)行頻率和電壓。NPA(No Power Aware Policy)是一種無能量管理的隨機(jī)策略。ST是單一閾值策略, MM是最小遷移次數(shù)策略。
4.2 ?性能分析
表1中列出了通過單一閾值策略 (ST)和最小遷移次數(shù)策略(MM)的比較情況。表2中列出了通過使用LEC?VM完成虛擬機(jī)的分配后的能源消耗情況。幾次實(shí)驗(yàn)都在不同的物理主機(jī)CPU利用率閾值設(shè)置上限和下限情形下完成。
從表1和表2的模擬結(jié)果可以看出,本文的LEC?VM虛擬機(jī)遷移策略可以獲得比較低的能源消耗,具體體現(xiàn)在三個(gè)方面:
1) 在物理主機(jī)CPU利用率上限閾值設(shè)置為90%的情形下,對(duì)于NPA策略、DVFS策略、ST策略和MM策略來言,LEC?VM分別有67%,31%,7%和0.89%的能量消耗的降低,在物理主機(jī)CPU利用率下限閾值設(shè)置為30%的情形下,只有大約2.72%的SLA違規(guī)情況。
2) 在物理主機(jī)CPU利用率閾值設(shè)置為40%~90%的情形下,對(duì)于NPA策略、DVFS策略、ST策略和MM策略來言, LEC?VM分別有68%,34%,10%和4%的能量消耗的降低,有大約2.29%的SLA違規(guī)情況。
3) 在物理主機(jī)CPU利用率閾值設(shè)置為50%~90%的情形下,對(duì)于NPA策略、DVFS策略、ST策略和MM策略來言,分別有71%,40%,19%和13%的能量消耗的降低,有大約3.01%的SLA違規(guī)情況。
從表1和表2還可以看出,ST遷移策略的虛擬機(jī)遷移次數(shù)是本文的LEC?VM虛擬機(jī)分配策略的3倍;MM虛擬機(jī)遷移策略的虛擬機(jī)遷移次數(shù)是本文的LEC?VM虛擬機(jī)分配策略的2倍。這個(gè)結(jié)果可以證明LEC?VM策略可以很好地減少SLA違規(guī),SLA違規(guī)在2.29%時(shí),大約只有47.19 kW·h的能源消耗;SLA違規(guī)在3.01%時(shí),只有42.71 kW·h的能源消耗。
5 ?結(jié) ?論
本文針對(duì)云數(shù)據(jù)中心的低能源消耗和高服務(wù)質(zhì)量的要求,提出一種面向低能源消耗的虛擬機(jī)分配策略LEC?VM。LEC?VM通過虛擬機(jī)放置策略保證云數(shù)據(jù)中心有足夠的物理資源,保證Qos質(zhì)量,減少SLA的違規(guī)。通過虛擬機(jī)動(dòng)態(tài)遷移優(yōu)化策略保證虛擬機(jī)的遷移次數(shù)來減少云數(shù)據(jù)中心的能源消耗。仿真實(shí)驗(yàn)表明,LEC?VM能夠有效減少虛擬機(jī)的遷移次數(shù),比常見的遷移策略能更好地減少云數(shù)據(jù)中心的能源消耗。未來的工作在虛擬機(jī)遷移策略中將考慮物理主機(jī)的內(nèi)存大小、網(wǎng)絡(luò)帶寬和空余磁盤空間情況。
參考文獻(xiàn)
[1] LOVASZ G, NIEDERMEIER F, MEER H, et al. Performance tradeoffs of energy?aware virtual machine consolidation [J]. Cluster computing, 2013, 16(3): 481?496.
[2] 張玉清,王曉菲,劉雪峰,等.云計(jì)算環(huán)境安全綜述[J].軟件學(xué)報(bào),2016,27(6):1328?1348.
ZHANG Y Q, WANG X F, LIU X F, et al. Survey on cloud computing security [J]. Journal of software, 2016, 27(6): 1328?1348.
[3] LIU H K, HE B S. VMbuddies: coordinating live migration of multi?tier applications in cloud environments [J]. IEEE transactions on parallel and distributed systems, 2015, 26(4): 1192?1205.
[4] KELLA A, BELALEM G. A stable matching algorithm for vm migration to improve energy consumption and QOS in cloud infrastructures [J]. International journal of cloud applications and computing, 2014, 4(2): 15?33.
[5] HUANG J, WU K, MOH M. Dynamic virtual machine migration algorithms using enhanced energy consumption model for green cloud data centers [C]// 2014 International Conference on High Performance Computing & Simulation. Bologna: IEEE, 2014: 902?910.
[6] JIANG H P, WENG M L, CHEN W M. Dynamic consolidation of virtual machines in cloud datacenters [J]. IEICE transactions on information and systems, 2014, 97(7): 1727?1730.
[7] DAD D, YAGOUBI D E, BELALEM G. Energy efficient VM live migration and allocation at cloud data centers [J]. International journal of cloud applications and computing, 2014, 4(4): 55?63.
[8] AGARWAL A, RAINA S. Live migration of virtual machines in cloud [J]. International journal of scientific and research publications, 2012, 2(6): 1?5.
[9] LUO J P, LI X, CHEN M R. Hybrid shuffled frog leaping algorithm for energy?efficient dynamic consolidation of virtual machines in cloud data centers [J]. Expert systems with applications, 2014, 41(13): 5804?5816.
[10] XU G C, DING Y, ZHAO J. A novel artificial bee colony approach of live virtual machine migration policy using Bayes theorem [J]. Scientific world journal, 2013, 23: 11?18.
[11] ZHAO J, HU L, DING Y, et al. A heuristic placement selection of live virtual machine migration for energy?saving in cloud computing environment [J]. Plos one, 2014, 9(9): e108275.
[12] CAO Z, DONG S. Energy?aware heuristic framework for virtual machine consolidation in cloud computing [J]. Journal of supercomputing, 2014, 69(1): 1890?1895.
[13] BELOGLAZOV A, ABAWAJY J, BUYYA R. Energy?aware resource allocation heuristics for efficient management of data centers for cloud computing [J]. Future generation computer systems, 2012, 28: 755?768.
[14] BASU A. Energy aware resource allocation in cloud data center [J]. International journal of engineering & advanced technology, 2013(5): 277?281.