999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

溫度感知的MapReduce節能任務調度策略

2016-10-14 13:30:37廖彬張陶于炯劉繼尹路通郭剛
通信學報 2016年1期
關鍵詞:作業

廖彬,張陶,于炯,劉繼,尹路通,郭剛

?

溫度感知的MapReduce節能任務調度策略

廖彬1,張陶2,于炯3,劉繼1,尹路通3,郭剛3

(1. 新疆財經大學統計與信息學院,新疆烏魯木齊 830012; 2. 新疆醫科大學醫學工程技術學院,新疆烏魯木齊 830011;3. 新疆大學軟件學院,新疆烏魯木齊 830008)

現有的FIFO、Fair、Capacity、LATE及Deadline Constraint等MapReduce任務調度器的主要區別在于隊列與作業選擇策略的不同,而任務選擇策略基本相同,都是將數據的本地性(data-locality)作為選擇的主要因素,忽略了對TaskTracker當前溫度狀態的考慮。實驗表明,當TaskTracker處于高溫狀態時,一方面使CPU利用率變高,導致節點能耗增大,任務處理速度下降,導致任務完成時間增加;另一方面,易發的宕機現象將直接導致任務的失敗,推測執行(speculative execution)機制容易使運行時任務被迫中止。繼而提出溫度感知的節能任務調度策略,將節點CPU溫度納入任務調度的決策信息,以避免少數高溫任務執行節點對作業整體進度的影響。實驗結果表明,算法能夠避免任務分配到高溫節點,從而有效地縮短作業完成時間,減小作業執行能耗,提高系統穩定性。

綠色計算;MapReduce;任務調度;溫度感知

1 引言

大數據時代,數據從簡單的處理對象開始轉變為一種基礎性資源,如何更好地管理和利用大數據已經成為普遍關注的話題,大數據的規模效應給數據存儲、管理以及數據分析帶來了極大的挑戰[1]。據文獻[2]統計,2007年全球數據量達到281 EB,而2007年到2011年這5年時間內,全球數據量增長了10倍。數據量的高速增長伴隨而來的是存儲與處理系統規模不斷的擴大,這使運營成本不斷的提高,其成本不僅包括硬件、機房、冷卻設備等固定成本,還包括IT設備與冷卻設備的電能消耗等其他開銷。并且,系統的高能耗將導致過量溫室氣體的排放并引發環境問題。事實上,在能源價格上漲、數據中心存儲規模不斷擴大的今天,高能耗已逐漸成為制約云計算與大數據快速發展的一個主要瓶頸[1]。據文獻[3]統計,目前IT領域的二氧化碳排放量占全球的2%,而到2020年這一比例將翻番。2008年路由器、交換機、服務器、冷卻設備、數據中心等互聯網設備總共消耗8 680億度電,占全球總耗電量的5.3%。紐約時報與麥肯錫經過一年的聯合調查后,最終在《紐約時報》上發表了“Power,pollution and the Internet”[4],調查顯示Goolge數據中心年耗電量約300萬瓦,Facebook則達到了60萬瓦,但巨大的能耗中卻只有6%~12%的能耗被用于處理相應用戶的請求。與此同時,Barroso等[5]對Google內部5 000多臺服務器進行長達半年的調查統計結果表明,服務器在大部分時間里利用率都在10%~50%之間,服務器在負載很低(小于10%)的情況下電能消耗也超過了峰值能耗的50%。

Hadoop[6]作為新的分布式存儲與計算架構,參考Google的分布式存儲系統GFS[7]實現了分布式文件存儲HDFS;參考MapReduce[8]計算模型實現了自己的分布式計算框架;參考BigTable實現了分布式數據庫HBase。由于能夠部署在通用平臺上,并且具有可擴展性(scalable)、低成本(economical)、高效性(efficient)與可靠性(reliable)等優點使其在分布式計算領域得到了廣泛運用,并且已逐漸成為工業與學術屆事實上的海量數據并行處理標準[9]。雖然Hadoop擁有諸多優點,但是和Google服務器一樣,Hadoop集群內部服務器同樣存在嚴重的高能耗低利用率問題[10]。Hadoop主要由分布式存儲系統HDFS與分布式任務執行框架MapReduce這2部分組成,現有研究大多從分布式存儲系統HDFS入手解決Hadoop的能耗問題,針對MapReduce框架能耗優化方面的研究則相對較少。大量研究圍繞通過對存儲資源的有效調度,在不影響系統性能的前提條件下將部分存儲節點調整到低能耗模式,以達到節能的目的。為提高MapReduce的能耗利用效率,本文做了如下工作。

1)首先對MapReduce系統模型的含義進行了數學表達,并對現有的FIFO、Fair、Capacity、LATE及Deadline Constraint等MapReduce任務調度模型進行了深入的歸納分析,在此基礎上總結了現有調度策略存在的問題。

2) 提出了溫度感知的節能任務調度策略,將節點CPU溫度納入任務調度的決策信息,以避免少數高溫任務執行節點對作業整體進度的影響。算法實現方式上提出了基于心跳信息修改及基于健康監測腳本的2種實現方案。

3) 搭建真實的實驗環境,精確地測量了節點CPU溫度對任務運行時間及節點能耗的影響。證明了本文算法對不同類型作業任務完成時間及作業執行能耗兩方面的改進。

2 相關研究

傳統的IT系統一方面通過超額資源供給與冗余設計以保障QoS與系統可靠性[11],另一方面負載均衡算法專注于將用戶請求平均分發給集群中的所有服務器以提高系統的可用性,這些設計原則都沒有考慮到系統的能耗因素,這使IT系統的能量利用日益暴露出高能耗低效率的問題[12]。學術與工業界分別從硬件[13~15]、操作系統[16~18]、虛擬機[19~26]、數據中心[27~33]4個層次去解決IT系統的能耗問題。針對分布式計算系統的能耗問題的研究,通常以Hadoop作為研究對象,并且大多從分布式存儲系統HDFS入手解決其存在的能耗問題,針對任務執行框架MapReduce能耗優化方面的研究則相對較少。

在分布式存儲系統節能方面,根據軟硬件角度進行劃分,可分為硬件節能與軟件節能兩方面[34]。硬件節能主要通過低能耗高效率的硬件設備或體系結構,對現有的高能耗存儲設備進行替換,從而達到節能的目的。硬件節能方法效果立竿見影,且不需要復雜的能耗管理組件;但是對于已經部署的大規模應用系統,大批量的硬件替換面臨成本過高的問題。軟件節能通過對存儲資源的有效調度,在不影響系統性能的前提條件下將部分存儲節點調整到低能耗模式,以達到節能的目的。由于不需要對現有硬件體系進行改變,軟件節能是目前云存儲節能技術的研究熱點。軟件節能研究主要集中在基于節點管理與數據管理兩方面。節點管理主要研究如何選擇存儲系統中的部分節點或磁盤為上層應用提供數據服務,并讓其他節點進入低能耗模式以達到降低能耗的目的。節點管理中被關閉節點的選擇與數據管理技術緊密相關,而目前已有的數據管理技術主要有基于靜態數據放置、動態數據放置與緩存預取3種。其中基于靜態數據放置的數據管理[35-39]根據固定的數據放置策略將數據存儲到系統中各節點上后,將不再改變其存儲結構。基于動態數據放置的數據管理[40~46]根據數據訪問頻度動態調整數據存放的位置,將訪問頻度高與頻度低的數據遷移到不同磁盤上,對存儲低頻度數據的磁盤進行節能處理以降低系統能耗?;诰彺骖A取的數據管理[47]借鑒內存中的數據緩存思想,將磁盤中的數據取到內存或其他低能耗輔助存儲設備并使原磁盤進入低能耗模式以此達到節能的目的。

研究分布式任務執行框架MapReduce能耗優化方面,少有的研究通過選擇部分節點執行任務[48]、任務完成后關閉節點[49]、配置參數優化[50]、DVFS調度[51]、作業調度[52]、虛擬機放置策略[53]及數據壓縮[54]等方法達到提高MapReduce能耗利用率的目的。與covering subset思想相反,文獻[49]提出all-in strategy(AIS),即將整個MapReduce集群作為整體用于任務的執行,當任務結束后將整個集群做節能處理(關閉節點)達到節能的目的。Chen等[50]發現MapReduce框架的參數配置對MapReduce能耗的利用具有較大影響,通過大量的實驗得到優化MapReduce能耗的配置參數,對提高MapReduce集群系統的能耗利用率具有指導意義。文獻[51]中利用DVFS(dynamic voltage and frequency scaling)技術,通過動態調整CPU頻率以適應當前的MapReduce任務負載狀態達到優化能耗利用的目的。文獻[52]提出Hadoop節能適應性框架GreenHadoop,通過合理的作業調度,在滿足作業截止時間約束的前提下通過配置與當前作業量相匹配的作業處理能力(活動節點數量),達到最小化Hadoop集群能耗的目的,實驗證明GreenHadoop與Hadoop相比提高了MapReduce的能耗利用率。宋杰等[55]對云數據管理系統(包括基于MapReduce的系統)的能耗進行了基準測試,并定義了能耗的度量模型與能耗測試方法,證明了不同系統在能耗方面存在著較大差異,需要進一步對系統進行能耗優化。

本文與已有工作的不同在于:已有的MapReduce節能任務調度研究是在滿足作業截止時間約束的前提下通過減小活動節點的數量,達到最小化集群能耗的目的,是從整個集群的層面進行節能,而本文則提出溫度感知的任務調度模型,將節點CPU溫度納入任務調度的決策信息,以避免少數高溫任務執行節點對作業整體進度的影響,達到縮短作業完成時間,減小作業執行能耗的目的。相比已有工作,本文是從任務調度的層面出發,實現MapReduce作業能耗效率的提高。

3 MapReduce及其調度模型

3.1 MapReduce系統模型

MapReduce運行環境通常由多個機架RACK組成,而一個RACK內部又由多個節點服務器組成。通常情況下,MapReudce集群由2個NameNode(或JobTracker)管理節點(主管理節點與從管理節點)與多個DataNode(或TaskTracker)節點構成。本文將MapReduce集群中所有的DataNode節點服務器用矩陣表示,MapReduce集群節點矩陣如定義1所示。

定義1 MapReduce集群模型。設MapReduce集群由個RACK組成,并且設所有RACK中都有個DataNode節點服務器,用表示DataNode節點服務器,將MapReduce集群中的所有DataNode節點表示為矩陣

定義2 作業的任務分解模型。如圖1所示, MapReduce框架將作業(job)分解為多個Map與Reduce任務并行地在集群中執行,可將這個過程定義為,其中,為映射函數,集合與分別表示job分解后的Map與Reduce任務,其任務分解模型可由式(2)表示。

式(2)表示作業被分解為個Map任務與個Reduce任務。其中,表示Map任務集合,表示任意Map任務;表示Reduce任務集合,表示任意Reduce任務。由于已有的FIFO、Fair、Capacity、LATE及Deadline Constraint等MapReduce作業調度算法已經實現作業到任務的分解。所以,作業的任務分解模型并不是本文的研究重點。作業的分解在作業的初始化階段完成,JobTracker根據作業輸入數據量與作業配置參數(用戶指定或系統默認)將作業分解成個Map任務及個Reduce任務,并將作業分解信息存儲到相關數據結構中(如XML作業分解描述文件),供后期調度系統執行。

圖1 MapReduce作業的任務分解

定義3 任務(task)資源(slot)映射模型。作業根據定義2被分解為Map與Reduce任務后,將由作業調度系統將任務映射到具有空閑資源槽的DataNode節點上執行。任務與資源映射過程可定義為映射,其中為映射函數,與分別表示Map與Reduce任務的集合,表示MapReudce集群中DataNode節點的集合。具體而言,映射模型可由式(3)描述。

在MapReduce計算模型中,任務與資源之間的映射本質上是任務調度問題。問題的核心是根據當前集群(或資源池)中各節點上的資源(如CPU、內存、磁盤與網絡等)的剩余情況與各用戶作業的服務質量(QoS)要求,在資源與作業(任務)之間作出最優的匹配。由于資源剩余與用戶作業QoS需求之間存在多樣化的特點,所以MapReduce中的任務資源映射模型是一個多目標優化問題,屬于典型的NP難問題。

3.2 MapReduce調度模式

Hadoop中引入資源槽(slot)的概念來抽象表示各節點(DataNode或TaskTracker)上的資源。Hadoop將各節點上的資源(如CPU、內存、磁盤與網絡等)進行等量的切分,將每一份資源稱作資源槽,同時將slot分成Map slot與Reduce slot這2種,對執行Map與Reduce任務時的資源使用差異進行了區分。Hadoop將任務對多維資源的需求抽象成slot,大大簡化了資源的表示及管理問題;規定一個task可根據實際情況占用一個或多個slot(大部分調度器(如FIFO、 Fair Scheduler)只支持一個task占用一個slot,而Capacity Scheduler可根據作業內存需求占用多個slot),大大簡化了任務與資源之間的映射問題。在實際運用環境中,需要根據節點硬件配置及作業特點對同節點上的Map slot(配置參數: mapred.tasktracker.map.tasks.maximum)及Reduce slot (配置參數:mapred.tasktracker.reduce. tasks.maximun)數進行設置。圖2所示為MapReduce作業調度模型,一個MapReduce作業從提交到執行的整個過程可分為7步。

Step1 用戶通過調用作業提交函數將作業信息(包括作業數據及作業配置信息等)提交到JobTracker。

Step2 當JobTracker收到用戶新提交的作業后,JobTracker將通知任務調度器TaskScheduler對作業進行初始化操作。

Step3 某個具有空閑slot的TaskTracker向JobTracker發送心跳(heartbeat)信息,其中包含剩余的slot數目,資源狀態信息及能否接受新任務等信息。

Step4 如果某TaskTracker能夠接受新任務,則JobTracker調用TaskScheduler中的assignTasks方法為該TaskTracker分配新的任務。

Step5 TaskScheduler按照系統配置的調度策略(如 FIFO、Fair、Capacity、LATE及Deadline Constraint等)為該TaskTracker選擇出最合適的任務(或任務列表)。

Step6 JobTracker將Step5中確定的任務(或任務列表)通過心跳應答的方式返回給Step4中確定的TaskTracker。

Step7 當TaskTracker收到JobTracker發送的心跳信息后,如果發現心跳信息中包含需要執行的新任務,則立即啟動該任務的執行。

Hadoop中任務調度是一個可插拔的獨立模塊,Hadoop集群管理員可根據自己的實際應用需求設計任務調度器,可通過參數配置項mapred.jobtracker,taskScheduler對調度器進行配置。任務調度器TaskScheduler與JobTracker之間存在較為密切的功能互相調用關系,JobTracker需要調用TaskScheduler的assignTasks函數為具有空閑slot的TaskTracker分配新任務,而JobTracker中保存著整個集群中節點、作業及任務等相關元數據信息,而這些元數據信息是TaskScheduler進行調度決策時需要用到的。

3.3 MapReduce能耗模型

在3.2節對MapReduce及調度模式的分析基礎上,本節對MapRedcue能耗模型進行建模,理論上證明高溫節點對能耗的影響,其中,5.2節通過實驗數據證明了高溫對能耗的影響。

由于DataNode節點功耗由靜態功耗與動態功耗2部分組成[56],可進一步細化為與2部分,即可表示為

由于CPU是最主要的能耗部件,并且系統整體能耗通常與CPU利用率成正比[57]。同時,隨著節能技術在處理器應用上的不斷推廣,比如Intel的Speedstep與AMD的PowerNow技術,使處理器能夠根據負載動態調節性能,從而使能耗與負載之間具有較好的比例性[58]。那么,可將與分別用式(6)進行表示

(6)

從MapReduce能耗模型式(7)可以看出,計算MapReduce作業執行能耗的唯一前提條件是取得任務運行過程中的CPU利用率序列。從5.2節實驗數據表明,過高的節點溫度將加大作業運行時的CPU利用率。通過式(7)理論上證明了CPU利用率的升高將導致系統能耗的增加。

4 溫度感知的節能任務調度算法

4.1 現有調度策略存在的問題

從3.2節中對MapReduce調度模式的分解可以看出,現有的MapReduce均為3級調度模型(如圖2所示),即當一個TaskTracker出現空閑資源槽時,調度器會首先選擇一個作業隊列,再選擇作業隊列中的作業,最后選擇作業中的任務,并最終將選中的任務分配給這個空閑TaskTracker?,F有的MapReduce任務調度器的主要區別在于隊列選擇策略與作業選擇策略的不同,而任務選擇策略基本相同,都是將數據的本地性(data-locality)作為選擇的主要因素。

當某TaskTracker出現空閑資源槽時,會立即向JobTracker發送心跳信息,向JobTracker告知自己當前的資源狀態信息及能夠接受新任務的意愿。而JobTracker也將立即通過任務調度器TaskScheduler為TaskTracker所在的空閑資源槽分配新的任務。5.2節中實驗數據表明,當節點處于高溫狀態時,作業完成時間變長,作業運行時功耗增加,作業運行時CPU利用率變高,作業(數據)處理速度變慢。實際應用環境中,節點的高溫狀態可能由如下2種原因造成。

1) 節點散熱系統出現故障。節點散熱系統一方面包括節點機身內部的散熱系統,另一方面包括節點外部的,即數據中心(或機房)的散熱系統。當節點散熱系統出現故障時,節點產生的熱量得不到及時的驅散,加之節點在任務運行過程中將不斷產生新的熱量,當熱量累加到一定值時,將影響節點的運行狀態,直到引起導致宕機,機器自動關閉,甚至導致硬件的燒毀。

2) 節點長時間處于高負荷運行狀態。節點高負載運行時功耗達到峰值,散發出大量熱量。長時間的高負荷運行容易導致節點的高溫。

從上文中對已有的任務調度策略的分析可以發現調度系統并不關心擁有空閑資源槽節點當前的溫度狀態,一旦節點出現空閑資源槽,調度系統就盡最大努力為該節點分配合適的任務。此種調度策略最大程度上增加了系統資源利用率,使大多數作業能夠更快地被處理完畢。但是,當任務被分配到處于高溫狀態的節點時,任務的運行會出現以下2種情況。

1) 任務完成時間變長。雖然MapReduce任務執行過程中任務之間并不是完全按照并行的方式進行的,但Map與Reduce任務之間存在不同程度的執行順序與數據調用的制約關系(如只有當一個作業的Map任務成功完成的數量超過一定的閾值時,才能開始分配該作業的Reduce任務),這使慢任務將造成等待時延,并最終影響到作業的整體完成時間。實際上, Hadoop的推測執行(speculative execution)機制,容易使高溫節點的運行時任務被迫中止。推測執行機制是為了防止運行速度慢的任務影響作業的整體執行速度,根據推測算法推測出“拖后腿”的任務,并為該任務啟動一個備份任務,并最終選用最先成功運行完成任務的計算結果作為最終結果。推測執行機制很可能使在高溫節點上執行的任務“白忙活”。

2) 任務執行失敗。高溫節點出現宕機將導致任務的執行失敗,調度系統將對該任務重新啟動。造成資源浪費的同時延遲了作業的完成時間。

基于以上考慮,4.2節將提出溫度感知的任務調度算法2種實現方法,將節點當前溫度考慮到任務調度過程中,以此避免高溫對作業執行的影響,提高系統的穩定性。

4.2 算法實現方法

本節主要針對3.2節中MapReduce調度模式中的Step4進行改進,添加任務到資源映射(或任務調度)前對節點溫度的考慮,將節點當前溫度考慮到任務調度過程中,以此避免高溫對作業執行的影響,提高系統的穩定性。溫度感知的任務調度算法有以下2種實現機制。

1) 將TaskTracker節點CPU溫度信息添加到心跳信息類TaskTrackerStatus中。當JobTracker接受到心跳信息后,進行任務調度前判斷該TaskTracker的CPU溫度是否超過設定的高溫閾值,如果低于高溫閾值,則進行正常的調度;否則,不給該TaskTracker分配任務。

2) 配置TaskTracker健康監測腳本。節點健康監控NodeHealthCheckerService線程允許Hadoop管理員配置特定的健康監測腳本,該腳本中可添加任何檢查語句作為節點是否健康運行的依據。

4.2.1 基于心跳信息修改的實現方法

基于心跳信息修改的實現方法主要需要修改心跳信息類TaskTrackerStatus及調度器任務分配策略。

1) JobTracker與TaskTracker采用基于pull的通信模型, JobTracker不會主動與TaskTracker進行通信,而是被動等待TaskTracker將當前節點運行時信息(如TaskTracker基本信息、節點資源使用情況、各任務運行狀態等)以心跳(heartbeat)的形式封裝起來。這些信息都被封裝到類TaskTrackerStatus中,該類是可序列化的,TaskTracker每次發送心跳時,必須重新構造一個TaskTrackerStatus對象。

2) Hadoop任務調度器是一個可插拔模塊,用戶可以自己的實際需求設計調度器,新的調度器需要繼承TaskScheduler類。溫度感知的調度器進行任務調度前需要從心跳信息中提取出TaskTracker溫度信息,判斷該TaskTracker的CPU溫度是否超過設定的高溫閾值,如果低于高溫閾值,則進行正常的調度;否則,不給該TaskTracker分配任務。該算法需要在新的調度器中實現,溫度感知的任務調度算法如下所示。

算法1 溫度感知的任務調度算法

Input:

TaskTrackerStatus/*修改后的心跳信息對象*/

TempThreshold/*高溫閾值*/

TaskTracker/*待調度TaskTracker*/

Output:

/*是否分配任務標識*/

Steps:

算法輸入參數包括心跳信息、高溫閾值與待調度TaskTracker。算法第8)行調用調度器TaskScheduler類中assignTasks函數為待調度的TaskTracker分配新任務。

4.2.2 基于健康監測腳本的實現方法

在Hadoop中,節點健康監控NodeHealthChecker Service線程允許Hadoop管理員配置特定的健康監測腳本,該腳本中可添加任何檢查語句作為節點是否健康運行的依據。腳本運行時如果檢測到該節點處于不健康狀態,將輸出以“ERROR”開頭的不健康信息。NodeHealthCheckerService線程一方面周期性調用健康監測腳本對節點進行健康檢查;另一方面對腳本的輸出進行檢查,一旦發現腳本輸出中出現“ERROR”關鍵字,此時便認為該節點處于不健康狀態,此時該節點將被標記為“unhealthy”并通過心跳告知JobTracker。當JobTracker收到節點“unhealthy”心跳后,將該節點節點加入黑名單中,不再為其分配新的任務。當然,只要該節點上的TaskTracker服務處于活動狀態,健康監測腳本則仍處于運行狀態,當發現節點重新進入“healthy”狀態后,JobTracker會立刻將節點從黑名單中移除,使節點重新進入工作狀態。腳本偽代碼如下所示。

算法2 健康監測算法

Input:

NodeStatus/*節點狀態信息*/

TempThreshold/*高溫閾值*/

Output:

/*節點健康狀態信息*/

Steps:

算法第2)行判斷節點實際溫度大于高溫閾值,輸出錯誤信息并設置節點健康狀態為“unhealthy”;當算法判斷出節點溫度低于高溫閾值后,輸出溫度正常信息,設置節點健康狀態為“healthy”,算法第10)行將節點健康狀態信息返回。特別地,需要考慮怎樣合理地確定高溫閾值(threshold)參數的值,需要考慮集群中每臺機器的硬件特點,對每個節點的高溫閾值進行個性化設定。一方面要考慮到高溫對作業執行的影響,另一方面也需要考慮到高溫對節點硬件的損壞可能性?;诮】当O測的腳步實現方法相比基于心跳信息修改的實現方法較為簡單,不需要修改MapReduce調度源代碼。

5 實驗評價與比較

5.1 實驗環境

項目組搭建了擁有22個同構節點的Hadoop集群實驗環境,其中,NameNode與SecondNameNode分別獨立為一個節點,其余20節點為DataNode (5RACK×4 DataNode),實驗環境拓撲結構如圖3所示。

為了控制實驗過程中的Map任務數量,達到控制實驗數據的統計與計算量的目的,特將數據塊分塊大小配置為512 MB,即dfs.block.size=512 MB。單個DataNode節點上Map與Reduce任務Slot資源槽數設置為1,即配置項mapred.tasktracker.map. tasks.maximum=1與mapred.tasktracker.reduce. tasks. maximum=1。能耗數據測量方面,實驗采用北電電力監測儀(USB智能版),數據采樣頻率設置為1秒/次,各節點能耗數據(包括瞬時功率、電流值、電壓值、能耗累加值等)可通過USB接口實時地傳輸到能耗數據監測機上,實現能耗數據的收集。實驗總體環境描述如表1所示。

5.2 高溫對任務及能耗的影響分析

為了精確地測量出節點CPU溫度對任務運行時間及節點能耗的影響,本實驗將WordCount、TeraSort、NuthIndex、-means、PageRank這5種作業調度到配置相同但溫度不同的節點上。本實驗中涉及到的5種作業參數配置如表2所示。

表1 總體實驗環境描述

表2 作業類型說明

按照表3所示配置,將作業所有任務調度到單節點上執行。實驗分為2組,一組節點散熱良好,CPU溫度控制在50℃~75℃之間;另一組節點具有散熱故障,CPU溫度控制在75℃~90℃之間。實驗進行10次后取平均值,分別關注CPU溫度對作業完成時間、節點功耗、CPU利用率以及任務的計算能力的影響。

5.2.1 高溫對CPU利用率及節點能耗的影響

如表3所示為高溫與常溫任務執行節點CPU利用率及功耗的對比。從表中對比數據可以看出,在執行相同作業的條件下,高溫節點的CPU利用率都高于常溫節點,并且,高溫節點任務的平均功率都高于常溫節點,證明了3.3節中提出的MapReduce能耗模型的正確性。

表3 高溫與常溫任務執行節點CPU利用率及功耗的對比

表4表明了高溫與常溫節點CPU利用率及能耗之間的靜態特征。為了測量CPU利用率與系統功耗的之間動態性關系,在原WordCount、TeraSort、NuthIndex、-means、PageRank這5種作業的基礎上,本實驗加入Bayes任務,并通過10臺能耗監測儀對作業運行中的所有DataNode節點功耗進行實驗采樣,利用時間戳關聯實時功耗數據與節點CPU利用率。

通過圖4可以看出6種作業實時功耗與CPU利用率之間聯系緊密;當CPU利用率上升時,能耗上升;當CPU利用率下降時,能耗下降;CPU變化趨勢與能耗變化趨勢基本一致。事實上,通過圖4表明了3.3節中提出的MapReduce能耗模型的可行性。

通過大量的能耗數據分析得出常溫與高溫條件下的節點功耗與CPU利用率之間的關系(包括理論值與實驗值)如圖4所示。其中圖4(a)表示散熱良好的節點,圖4(b)表示高溫節點,即具有散熱故障的節點。實驗值取大量測試數據的平均值,如CPU利用率在50%時功耗測試數據為{83.1,85.7,88.4,87.5,89.2,84.7,90.3,83.5,82.4,87.2,82.6, 85.8,86.9,85.1,84.3,88.2,86.1,83.2,88.8, 86.8},取其平均值85.99為其實驗值。實驗中本文發現散熱良好(常溫)的與出現散熱故障(高溫)的節點功耗存在較大的差異,散熱良好的節點靜態功耗為[64,65] W,運行時CPU溫度穩定在50℃~75℃;而出現散熱故障的節點靜態功耗為[70,72] W,運行時CPU在75℃~90℃?;贑PU利用率估算的能耗模型的計算方法(式(5)與式(6)),可得出散熱良好節點CPU利用率與功耗之間的理論函數為

其中,表示CPU利用率,()表示CPU利用率為時節點的功耗。節點靜態功耗為64 W,峰值功耗為110 W,由式(6)得出參數。同樣方法可得到出現散熱故障的節點CPU利用率與功耗之間的理論函數

(9)

當節點出現散熱故障時,節點靜態功耗為70 W,峰值功耗為135 W,參數。式(8)、式(9)及圖4中所示的CPU與功耗關系曲線與文獻[57]中的結論一致,表明本文結論的正確性。

5.2.2 高溫對任務計算能力及作業完成時間的影響

如表5所示為高溫與常溫任務執行節點任務完成時間及計算能力的對比。如表5數據所示,當節點處于高溫狀態時,5種作業Map階段與Reduce階段計算能力都比常溫狀態時慢,表明過高的節點溫度減慢任務的處理速度。高溫使節點計算能力下降,會增加作業完成時間。所以,當節點處于高溫狀態時,5種作業運行時間都不同程度的比常溫狀態時耗時長。

另外,實驗過程中本文發現,當節點CPU溫度高于90℃并持續一段時間后,大量節點出現宕機的現象,并且溫度越高,宕機的現象越嚴重。

5.3 算法對作業運行時間及能耗的影響

本實驗選取了FIFO和Capacity這2種原作業調度策略(簡稱Org-FIFO和Org-Capacity),并在FIFO和Capacity作業調度策略基礎上添加了溫度感知的功能(簡稱TempA-FIFO和TempA-Capacity),在此基礎上對本文提出的溫度感知的任務調度模型進行實驗分析。

本節實驗從22節點構成的集群中分離出2組子集群進行對比實驗。2組子集群都分別擁有10個節點,并由8個散熱良好和2個具有散熱故障的節點組成(節點CPU溫度始終高于高溫閾值)。不同的是,子集群1利用TempA-FIFO及TempA-Capacity調度策略執行表6中的作業 (設置高溫閾值為80℃),而子集群2則采用Org-FIFO及Org-Capacity執行表6中的作業。實驗中采用的作業及參數配置如表6所示。

表5 高溫與常溫任務執行節點任務完成時間及計算能力的對比

表6 作業類型說明

實驗分別將表6中作業在2個子集群中運行10次,記錄作業運行時間及能耗,取平均值后得到表7中的數據。其中,作業總能耗為各節點在作業運行過程中能耗的總和。實驗過程中,算法設置節點CPU溫度超過閾值80℃時,該節點將不接受任何任務。在任務分配過程中,集群1中的任務全部分配到CPU溫度低于高溫閾值的節點上,高于高溫閾值的節點始終處于空閑狀態。而集群2中,任務則隨機分布到集群各節點中。如表7所示為實驗作業完成時間及能耗對比數據總表。

圖5所示為Org-FIFO與TempA-FIFO調度下的作業完成時間對比,TempA-FIFO較Org-FIFO分別提高作業WordCount、TeraSort、NuthIndex、-means、PageRank及Bayes完成時間30 s、22 s、50 s、17 s、82 s、77 s;提升率分別為3.257%、3.509%、5.995%、3.786%、13.099%、13.775%,作業之間的差異性使各作業的提升率不同。

如圖6所示為Org-Capacity與TempA-Capacity調度下的作業完成時間對比。Org-Capacity較TempA-Capacity分別提高作業WordCount、TeraSort、NuthIndex、-means、PageRank及Bayes完成時間51 s、18 s、48 s、19 s、61 s、78 s;提升率分別為5.849%、3.025%、5.79%、4.481%、9.967%、14.773%。

表7 作業完成時間及能耗對比

如圖7所示為Org-FIFO與TempA-FIFO作業完成能耗對比。TempA-FIFO相比Org-FIFO (WordCount、TeraSort、NuthIndex、-means、PageRank及Bayes 6種作業)分別節能28 690 J、29 348 J、40 720 J、17 591 J、44 086 J、60 374 J;節能率分別為4.072%、5.633%、6.314%、5.194%、9.413%、13.918%。

如圖8所示為Org-Capacity與TempA-Capacity作業完成能耗對比。TempA-Capacity相比Org-Capacity (WordCount、TeraSort、NuthIndex、-means、PageRank及Bayes 6種作業)分別節能58 693 J、41 817 J、89 838 J、19 855 J、34 669 J、70 602 J;節能率分別為8.741%、8.242%、14.106%、5.9%、7.895%、16.978%。

從實驗數據可以發現,本文算法對WordCount、TeraSort、NuthIndex及-means 4種作業完成時間及節能效率提升并不明顯,而PageRank及Bayes 2種作業有較為明顯的提升。實驗過程中,發現PageRank及Bayes 2種作業在運行過程中出現高溫節點觸發推測執行機制概率較其他4種作業高,由此造成作業完成時間及節能效率提升較其他4種作業更為明顯。

6 結束語

大數據時代,數據量的高速增長伴隨而來的是存儲與處理系統規模不斷的擴大,使云計算中心的能耗成本不斷的提高。節能的分布式任務調度系統成為研究熱點。本文通過對已有的MapReduce任務調度模型的深入研究,發現調度系統并不關心擁有空閑資源槽節點當前的溫度狀態,一旦節點出現空閑資源槽,調度系統就盡最大努力為該節點分配合適的任務。此種調度策略最大程度上增加了系統資源利用率,使大多數作業能夠更快地被處理完畢。但實驗表明當TaskTracker處于高溫狀態時,一方面使CPU利用率變高,導致節點能耗增大,任務處理速度下降,導致任務完成時間增加;另一方面,易發的宕機現象將直接導致任務的失敗,推測執行機制容易使運行時任務被迫中止。所以本文提出溫度感知的節能任務調度策略,將節點CPU溫度納入任務調度的決策信息,以避免少數高溫任務執行節點對作業整體進度的影響。算法實現方式上提出了基于心跳信息修改及基于健康監測腳本的2種實現方案。最后,通過搭建真實的實驗環境,精確的測量了節點CPU溫度對任務運行時間及節點能耗的影響,證明了本文算法對不同類型作業任務完成時間及作業執行能耗兩方面的改進。

下一步工作主要是對MapReduce執行能耗進行建模。 MapReduce能耗模型是將來開發Hadoop作業能耗監控及優化軟件的理論基礎,能耗模型能夠實現在作業執行前對能耗進行預測,執行過程中為節能調度系統提供調度依據,執行后對作業進行能耗計算。

[1] 孟小峰, 慈祥. 大數據管理: 概念、技術與挑戰[J]. 計算機研究與發展,2013,50(1):146-149. MENG X F, CI X. Big data management: concepts, techniques and challenges[J]. Journal of Computer Research and Development, 2013, 50(1): 146-149.

[2] GANTZ J, CHUTE C, MANFREDIZ A, et al. The diverse and exploding digital universe: an updated forecast of worldwide information growth through[EB/OL]. http://www.ifap.ru/library/ book268.pdf.

[3] Global action plan, an inefficient truth[R/OL]. Global action plan report, 2007. http://globalactionplan.org.uk.

[4] TIMES N Y. Power, pollution and the Internet [EB/OL]. http://www.nytimes.com/2012/09/23/technology/ data-ceneters-waste- vast-amounts-of-energy-belying-industry-image.html.

[5] BARROSO L A, HLZLE U. The datacenter as a computer: an introduction to the design of warehouse-scale machines [R]. Morgan: Synthesis Lectures on Computer Architecture, Morgan & Claypool Publishers, 2009.

[6] BORTHAKU D. The hadoop distributed file system: architecture and design[J]. Hadoop Project Website, 2007, 11(11):1-10.

[7] GHEMAWAT S, GOBIOFF H, LEUNG S T. The google gile system[C]//19th ACM Symposium on Operating System Principles. New York, ACM, c2003: 29-43.

[8] DEAN J, GHEMAWAT S. MapReduce: simplifed data processing on large clusters[C]//The Conference on Operating System Design and Implementation (OSDI). New York, ACM, c2004: 137-150.

[9] 王鵬, 孟丹, 詹劍鋒, 等. 數據密集型計算編程模型研究進展[J]. 計算機研究與發展,2010,47(11):1993-2002. WANG P, MENG D, ZHAN JF, et al. Review of programming models for data-Intensive computing[J]. Journal of Computer Research and Development, 2010, 47(11): 1993-2002.

[10] LI D, WANG J E. Energy efficient redundant and inexpensive disk array[C]//The ACM SIGOPS European Workshop. New York, ACM, c2004: 29-35.

[11] 林闖, 田源, 姚敏. 綠色網絡和綠色評價: 節能機制、模型和評價[J].計算機學報,2011,34(4):593-612. LIN C, TIAN Y, YAO M. Green network and green evaluation: Mechanism, modeling and evaluation [J]. Chinese Journal of Computers, 2011, 34(4): 593-612.

[12] 廖彬, 于炯, 張陶, 等. 基于分布式文件系統HDFS的節能算法[J]. 計算機學報, 2013, 36(5):1047-1064. LIAO B, YU J, ZHANG T, et al. Energy-efficient algorithms for distributed file system HDFS[J]. Chinese Journal of Computers, 2013, 36(5): 1047-1064.

[13] ALBERS S. Energy-efficient algorithms [J]. Communications of the ACM, 2010, 53(5): 86-96.

[14] WIERMAN A, ANDREW L L, TANG A. Power-aware speed scaling in processor sharing systems[C]//The 28th Conference on Computer Communications (INFOCOM 2009). Piscataway, NJ, c2009: 2007-2015.

[15] ANDREW L L, LIN M, WIERMAN A. Optimality, fairness, and robustness in speed scaling designs[C]//ACM International Conference on Measurement and Modeling of International Computer Systems (SIGMETRICS 2010). New York, ACM, c2010: 37-48.

[16] NEUGEBAUER R, MCAULEY D. Energy is just another resource: energy accounting and energy pricing in the nemesis OS[C]//The 8th IEEE Workshop on Hot Topics in Operating Systems. Piscataway, NJ, c2001: 59-64.

[17] FLINN J, SATYANARAYANAN M. Managing battery lifetime with energy-aware adaptation [J]. ACM Transactions on Computer Systems (TOCS), 2004, 22(2): 179-182.

[18] MEISNER D, GOLD B T, WENISCH T F. PowerNap: eliminating server idle power [J]. ACM SIGPLAN Notices, 2009, 44(3): 205-216.

[19] YE K, JIANG X, YE D, et al. Two optimization mechanisms to improve the isolation property of server consolidation in virtualized multi-core server[C]//The 12th IEEE International Conference on High Performance Computing and Communications. Melbourne, Australia, c2010: 281-288.

[20] CHOI J, GOVINDAN S, JEONG J, et al. Power consumption prediction and power-aware packing in consolidated environments[J]. IEEE Transactions on Computers, c2010, 59(12):1640-1654.

[21] YE K, JIANG X, HUANG D, et al. Live migration of multiple virtual machines with resource reservation in cloud computing environments[C]//The 4th IEEE International Conference on Cloud Computing. Washington, USA, c2011: 267-274.

[22] LIAO X, JIN H, LIU H. Towards a green cluster through dynamic remapping of virtual machines[J]. Future Generation Computer Systems, 2012, 28(2):469-477.

[23] JANG J W, JEON M, KIM H S, et al. Energy reduction in consolidated servers through memory-aware virtual machine scheduling[J]. IEEE Transactions on Computers, 2011, 99(1): 552-564.

[24] WANG X, WANG Y. Coordinating power control and performance management for virtualized server cluster[J]. IEEE Transactions on Parallel and Distributed Systems, 2011, 22(2):245-259.

[25] WANG Y, WNAG X, CHEN M, et al. Partic: power-aware response time control for virtualized web servers[J]. IEEE Transactions on Parallel and Distributed Systems, 2011, 22(2):323-336.

[26] DASGUPTA G, SHARMA A, VERMA A, et al. Workload management for power efficiency in virtualized data-centers[J]. Communications of the ACM, 2011, 54(7): 131-141.

[27] SRIKANTAIAH S, KANSAL A, ZHAO F. Energy aware consolidation for cloud computing [J]. Cluster Computing, 2009, 12(1): 1-15.

[28] GARG S K, YEO C S, ANANDASIVAM A, et al. Environment-conscious scheduling of HPC applications on distributed cloud-oriented data centers [J]. Journal of Parallel and Distributed Computing, 2010, 71(6): 732-749.

[29] KUSIC D, KEPHART J O, HANSON J E, et al. Power and performance management of virtualized computing environments via lookahead control [J]. Cluster Computing, 2009, 12(1): 1-15.

[30] SONG Y, WANG H, LI Y,et alMulti-tiered on-demand resource scheduling for VM-based data center[C]//Proceedings of the 9th IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGrid 2009). Piscataway, NJ, c2009: 148-155.

[31] GMACH D, ROLIA J, CHERKASOVA L, et al. resource pool management: Reactive versus proactive or let’s be friends [J]. Computer Networks, 2009, 53(17): 2905-2922.

[32] BUYYA R, BELOGLAZOV A, ABAWAJY J. Energy-efficient management of data center resources for cloud computing: a vision, architectural elements, and open challenges[J]. Eprint Arxiv, 2010,12(4): 6-17.

[33] KIM K H, BELOGLAZOV A, BUYYA R. Power-aware provisioning of cloud resources for real-time services[C]//The 7th International Workshop on Middleware for Grids. New York, c2009: 1-6.

[34] 王意潔, 孫偉東, 周松, 等. 云計算環境下分布存儲關鍵技術[J].軟件學報,2012,23(4):962-986.

WANG Y J, SUN W D, ZHOU S, et al. Key technologies of distributed storage for cloud computing[J]. Journal of Software, 2012,23(4): 962-986.

[35] GREENAN K M, LONG D D E, MILLER E L, et al. A spin-up saved is energy earned: achieving power-efficient, erasure-coded storage[C]//The HotDep 2008. Berkeley: USENIX Association, c2008:4.

[36] WEDDLE C, OLDHAM M, QIAN J, et al. A gear-shifting power-aware raid[J]. ACM Transactions on Storage, 2007, 3(3): 1553-1569.

[37] LI D, WANG J. Conserving energy in conventional disk based RAID systems[C]//The 3rd Int Workshop on Storage Network Architecture and Parallel I/Os (SNAPI 2005). Piscataway, NJ, c2005: 65-72.

[38] YAO X, WANG J. Rimac: a novel redundancy-based hierarchical cache architecture for energy efficient, high performance storage systems[C]//The EuroSys. New York, ACM, c2006: 249-262.

[39] PINHEIRO E, BIANCHINI R, DUBNICKI C. Exploiting redundancy to conserve energy in storage systems[C]//The SIGMetrics Performance 2006. New York, ACM, c2006: 15-26.

[40] NARAYANAN D, DONNELLY A, ROWSTRON A. Write off-loading: practical power management for enterprise storage[J]. ACM Transactions on Storage (TOS), 2008, 4(3):253-267.

[41] STORER M, GREENAN K, MILLER E, et al. Replacing tape with energy efficient, reliable, disk-based archival storage[C]//The FAST 2008. New York, ACM, c2008: 1-16.

[42] ZHU Q, CHEN Z, TAN L, et al. Hibernator: Helping disk arrays sleep through the winter[C]//The 20th ACM Symposium on Operating Systems Principles (SOSP). New York, ACM, c2005: 177-190.

[43] VASIC N, BARISITS M, SALZGEBER V. Making cluster applications energy-aware[C]//The ACDC 2009. New York, ACM, c2009: 37-42.

[44] 廖彬, 于炯, 孫華, 等. 基于存儲結構重配置的分布式存儲系統節能算法[J].計算機研究與發展, 2013, 50(1): 3-18. LIAO B, YU J, SUN H, et al. Energy-efficient algorithms for distributed storage system based on data storage structure reconfiguration[J]. Journal of Computer Research and Development, 2013, 50(1): 3-18.

[45] LIAO B, YU J, SUN H, et al. A QoS-aware dynamic data replica deletion strategy for distributed storage systems under cloud computing environments[C]//Cloud and Green Computing (CGC), 2012 Second International Conference. IEEE, c2012: 219-225.

[46] 廖彬, 于炯, 錢育蓉, 等. 基于可用性度量的分布式文件系統節點失效恢復算法[J].計算機科學, 2013, 40(1):144-149.

LIAO B, YU J, QIAN Y R, et al. The node failure recovery algorithm for distributed file system based on measurement of data availability[J].Computer Sicence, 2013, 40(1): 144-149.

[47] ZHU Q, DAVID F M, DEVARAJ C F, et al. Reducing energy consumption of disk storage using power-aware cache management[C]//The HPCA 2004. Piscataway, NJ, c2004: 118-129.

[48] LEVERICH J, KOZYRAKIS C. On the energy (in)efficiency of hadoop clusters [J]. ACM SIGOPS Operating Systems Review, 2010, 44 (1): 61-65.

[49] LANG W, PATEL J M. Energy management for mapreduce clusters[J]. Proceedings of the VLDB Endowment, 2010, 3(1-2): 129-139.

[50] CHEN Y, KEYS L, KATZ R H. Towards energy effcient mapreduce [R]. Berkeley: EECS Department, University of California, 2009-10-9.

[51] WIRTZ T, GE R. Improving MapReduce energy efficiency for computation intensive workloads[C]//Green Computing Conference and Workshops (IGCC). IEEE, c2011: 1-8.

[52] GOIRI í, LE K, NGUYEN T D, et al. GreenHadoop: leveraging green energy in data-processing frameworks[C]//The 7th ACM european conference on Computer Systems. ACM, c2012: 57-70.

[53] CARDOSA M, SINGH A, PUCHA H, et al. Exploiting Spatio-Temporal Tradeoffs for Energy Efficient MapReduce in the Cloud[D]. Department of Computer Science and Engineering, University of Minnesota, 2010.

[54] CHEN Y, GANAPATHI A, KATZ R H. To compress or not to compress-compute vs. IO tradeoffs for mapreduce energy efficiency[C]//The First ACM SIGCOMM Workshop on Green Networking. New Delhi, India, c2010: 23-28.

[55] 宋杰, 李甜甜, 朱志良, 等. 云數據管理系統能耗基準測試與分析[J]. 計算機學報,2013,36(7):1485-1499.

SONG J, LI T T, ZHU Z L, et al. Benchmarking and analyzing the energy consumption of cloud data management system [J]. Chinese Journal of Computers, 2013, 36(7): 1485-1492.

[56] ANDREWS M, ANTA A F, ZHANG L, et al. Routing for energy minimization in the speed scaling model[C]//The 29th IEEE Conference on Computer Communications (INFOCOM’10). San Diego, USA, c2010: 1-9.

[57] BARROSO L A, HOLZLE U. The case for energy-proportional computing[J]. Computer, 2007, 40(12): 33-37.

[58] 林闖,田源,姚敏.綠色網絡和綠色評價:節能機制、模型和評價[J].計算機學報,2011,34(4):593-612.

LIN C, TIAN Y, YAO M. Green network and green evaluation: Mechanism, modeling and evaluation [J]. Chinese Journal of Computers, 2011, 34(4): 593-612.

Temperature aware energy-efficient task scheduling strategies for mapreduce

LIAO Bin1,ZHANG Tao2,YU Jiong3, LIU Ji1,YIN Lu-tong3, GUO Gang3

(1. College of Statistics and Information, Xinjiang University of Finance and Economics, Urumqi 830012, China; 2. Department of Medical Engineering and Technology, Xinjiang Medical University, Urumqi 830011, China; 3. School of Software, Xinjiang University, Urumqi 830008, China)

The main difference among the existing MapReduce task schedulers such as FIFO, Fair, Capacity, LATE and Deadline Constraint is their choice of operation strategy of the queue and job. On the count of the task selection strategies of these task schedulers are basically the same, taking the data-locality as the key factor of selection, they all ignore the current state of the temperature of the TaskTracker. The experiments show that when the TaskTracker is in a state of high temperature it will cause some negative results. On one hand, utilization of the CPU becomes higher, which means more energy is consumed at each node. And as a result of task processing speed dropping off, more time will be needed to complete the same task. On the other hand, the prone downtime phenomenon will directly lead to the failure of the task, and speculative execution mechanism is easy to make the runtime task suspend. Temperature aware energy-efficient task scheduling strategy is put forward to solve the problem. CPU temperature of the node was put into the task scheduling decision-making information to avoid bad impact on the overall progress of the job form the task execution nodes with a high temperature. The experimental results show that the algorithm can avoid allocating task to high temperature nodes, which effectively shorten the job completion time, reduce energy consumption of job execution and improve system stability.

green computing, MapReduce, task scheduling, temperature aware

TP393.09

A

10.11959/j.issn.1000-436x.2016008

2014-10-14;

2015-01-07

國家自然科學基金資助項目(No.61562078, No.61262088, No.71261025); 新疆財經大學博士科研啟動基金資助項目(No.2015BS007)

The National Natural Science Foundation of China (No.61562078, No.61262088, No.71261025), The Doctoral Research Foundation of Xinjiang University of Finance and Economics(No.2015BS007)

廖彬(1986-),男,四川內江人,博士,新疆財經大學副教授,主要研究方向為綠色計算、數據庫系統理論及數據挖掘等。

張陶(1986-),女,新疆烏魯木齊人,新疆醫科大學講師,主要研究方向為云計算、醫學大數據分析等。

于炯(1964-),男,北京人,博士,新疆大學教授、博士生導師,主要研究方向為網格計算、大數據與云計算等。

劉繼(1974-),男,新疆烏魯木齊人,博士,新疆財經大學教授,主要研究方向為信息管理及數據挖掘。

尹路通(1992-),男,河南信陽人,新疆大學碩士生,主要研究方向為節能計算、大數據計算模式等。

郭剛(1990-),男,新疆烏魯木齊人,新疆大學碩士生,主要研究方向為節能計算、大數據計算模式等。

猜你喜歡
作業
作業,我終于打敗你了!
小主人報(2022年1期)2022-08-10 08:28:44
讓人羨慕嫉妒恨的“作業人”
作業聯盟
學生天地(2020年17期)2020-08-25 09:28:54
我愿作業少一點
快來寫作業
一次特殊的作業
誰沒交作業
趣味(數學)(2018年12期)2018-12-29 11:24:10
修改“作業”
跟一群抄作業的講垂直進步?
能源(2016年2期)2016-12-01 05:10:46
作業
故事大王(2016年7期)2016-09-22 17:30:08
主站蜘蛛池模板: 国产日韩欧美一区二区三区在线| 婷婷色一二三区波多野衣| 国产乱视频网站| 国产精品永久久久久| 亚洲成人一区二区| 99免费在线观看视频| 久久不卡国产精品无码| 久久青草精品一区二区三区| 亚洲视频无码| 国产成人91精品免费网址在线| 青青青国产视频手机| 一级香蕉视频在线观看| 一级毛片免费不卡在线| 成人在线亚洲| 狼友视频国产精品首页| 亚洲精品国产日韩无码AV永久免费网| 亚洲国产第一区二区香蕉| 日韩a级片视频| 欧美一级99在线观看国产| 午夜国产理论| 亚洲天堂.com| 欧美A级V片在线观看| 日韩精品免费一线在线观看| 久久精品91麻豆| 精品伊人久久久久7777人| 四虎亚洲精品| 成人一级黄色毛片| 久久99国产乱子伦精品免| 国产精品大尺度尺度视频| 色综合中文| 国产综合欧美| 婷婷亚洲最大| 亚洲精品无码日韩国产不卡| 午夜福利无码一区二区| 97狠狠操| 国产成人亚洲毛片| 中文字幕日韩欧美| 国产91蝌蚪窝| 国内黄色精品| 中文字幕亚洲电影| 香蕉色综合| 久久久久青草线综合超碰| 91在线视频福利| 欧美综合在线观看| 亚洲精品国产综合99| 无码精品国产VA在线观看DVD| 一区二区三区国产精品视频| 蜜桃视频一区二区| 四虎在线观看视频高清无码 | 波多野结衣亚洲一区| 亚洲不卡影院| 国产资源免费观看| 国产午夜无码片在线观看网站| 熟女成人国产精品视频| 91在线国内在线播放老师| 直接黄91麻豆网站| 高清国产va日韩亚洲免费午夜电影| 国产人人射| 国产成人免费观看在线视频| 一本二本三本不卡无码| 99青青青精品视频在线| 无码网站免费观看| 国产午夜福利在线小视频| 毛片一级在线| 日韩精品无码免费专网站| 日韩一二三区视频精品| 国产精品一线天| 韩日午夜在线资源一区二区| 中国一级毛片免费观看| 国产乱人伦AV在线A| 高清无码手机在线观看| 欧美日本在线播放| 黄色网在线| 高清无码手机在线观看| 99精品伊人久久久大香线蕉| 婷婷色在线视频| 久久精品只有这里有| 久久久久久久久久国产精品| 欧美在线精品一区二区三区| 日韩无码黄色| 国产91小视频在线观看| 尤物特级无码毛片免费|