• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    大規(guī)模異構(gòu)計算集群的雙層作業(yè)調(diào)度系統(tǒng)

    2020-01-16 07:32:24孫震宇石京燕孫功星姜曉巍鄒佳恒譚宏楠
    計算機(jī)工程 2020年1期
    關(guān)鍵詞:執(zhí)行層計算資源管理器

    孫震宇,石京燕,孫功星,杜 然,姜曉巍,鄒佳恒,譚宏楠

    (1.中國科學(xué)院高能物理研究所,北京 100049; 2.中國科學(xué)院大學(xué) 物理科學(xué)學(xué)院,北京 100049)

    0 概述

    高能物理是研究微觀物質(zhì)世界的基本粒子組成及其相互作用的學(xué)科?,F(xiàn)代高能物理實(shí)驗(yàn)產(chǎn)生海量實(shí)驗(yàn)數(shù)據(jù),巨大的實(shí)驗(yàn)數(shù)據(jù)量可以提高物理結(jié)果的統(tǒng)計精度,有助于尋找稀有反應(yīng)過程。高能物理數(shù)據(jù)處理主要通過在計算集群上運(yùn)行大量作業(yè),每個作業(yè)分析處理一個或一批數(shù)據(jù)文件。目前高能物理計算軟件框架仍以串行計算為主,通過同時運(yùn)行大量作業(yè),分別處理不同數(shù)據(jù)文件達(dá)到并行處理的效果。高能物理計算集群管理及作業(yè)調(diào)度軟件以集中式作業(yè)調(diào)度系統(tǒng)為主,其中常用的開源作業(yè)調(diào)度軟件包括PBS[1]、SLURM[2]和HTCondor[3]等。

    中國科學(xué)院高能物理研究所計算中心運(yùn)行并管理著一套本地高通量計算(High Throughput Computing,HTC)集群,以及一套高性能計算(High Performance Computing,HPC)集群。HTC集群具有13 000個CPU核心,通過HTCondor實(shí)現(xiàn)資源管理以及作業(yè)調(diào)度,主要用于處理北京譜儀[4]、大亞灣中微子實(shí)驗(yàn)[5]、羊八井宇宙線實(shí)驗(yàn)[6]、江門中微子實(shí)驗(yàn)[7]、高海拔宇宙線觀測站[8]等大型高能物理實(shí)驗(yàn)的串行計算作業(yè)。HPC集群具有4 000個CPU核心、80塊Tesla V100 GPU卡,采用SLURM實(shí)現(xiàn)資源管理以及作業(yè)調(diào)度,主要用于處理BES分波分析、JUNO、格點(diǎn)量子色動力學(xué)、環(huán)形正負(fù)電子對撞機(jī)、高能同步輻射光源等實(shí)驗(yàn)的并行計算作業(yè)。

    由于各個并行作業(yè)的并行度大小不一,目前計算中心的HPC集群的整體資源利用率僅為50%左右,而HTC集群利用率長期處于飽和狀態(tài)且有大量作業(yè)排隊(duì)等待,因此在不影響并行作業(yè)正常調(diào)度的前提下,遷移HTC作業(yè)到HPC集群上運(yùn)行是計算中心需要解決的一個重要問題。

    本文設(shè)計并開發(fā)雙層作業(yè)調(diào)度系統(tǒng)以及配套的用戶作業(yè)管理工具包。雙層調(diào)度系統(tǒng)可以快速接收海量的串行或并行作業(yè),以插件形式支持多種調(diào)度策略,實(shí)現(xiàn)對資源和作業(yè)的細(xì)粒度管理,并且通過多個作業(yè)隊(duì)列和特定作業(yè)調(diào)度算法保證各實(shí)驗(yàn)組對計算資源的公平使用。

    1 相關(guān)研究

    高能所計算中心自2001年開始一直使用開源軟件TORQUE[9]管理集群資源,并借助Maui[10]實(shí)現(xiàn)作業(yè)調(diào)度。高能所TORQUE計算集群中的計算節(jié)點(diǎn)分屬于不同高能物理實(shí)驗(yàn),隸屬于各實(shí)驗(yàn)的計算節(jié)點(diǎn)僅運(yùn)行本實(shí)驗(yàn)的計算作業(yè),各實(shí)驗(yàn)有自己的專用作業(yè)隊(duì)列。為保證實(shí)驗(yàn)內(nèi)各用戶之間的公平性,調(diào)度器還對單用戶可以同時運(yùn)行的最大作業(yè)數(shù)進(jìn)行限制。然而在實(shí)際運(yùn)行過程中,由于各實(shí)驗(yàn)對計算需求的峰谷時段不同,計算集群的整體資源利用率僅為50%~60%。此外,TORQUE/Maui還存在對GPU計算的支持不足、作業(yè)數(shù)量過大時調(diào)度性能下降等問題。

    高能所計算中心自2015年開始逐步將計算資源從TORQUE/Maui集群向HTCondor集群遷移。HTCondor[3]基于分類廣告(ClassAd)及匹配操作的調(diào)度模式[11]使其可以高效地調(diào)度大量高通量計算作業(yè)。文獻(xiàn)[12]展示了其調(diào)度管理16 000個作業(yè)同時運(yùn)行的能力。因此,HTCondor被廣泛應(yīng)用于高能物理計算[13]、地理信息系統(tǒng)[14]、遙感數(shù)據(jù)處理[15-17]等領(lǐng)域。高能所計算中心將所有實(shí)驗(yàn)計算資源組成共享資源池,供各個實(shí)驗(yàn)錯峰共享使用,這使得計算集群的整體資源利用率提高到90%以上。然而,HTCondor調(diào)度算法單一,且沒有作業(yè)隊(duì)列的概念,難以提供類似PBS的資源細(xì)粒度分配和高級作業(yè)管理功能。此外,HTCondor架構(gòu)不具備中心管理功能,難以做到對計算節(jié)點(diǎn)的統(tǒng)一管理。另外,HTCondor對MPI并行作業(yè)的調(diào)度效率較低,在串并行作業(yè)混合排隊(duì)時,該問題表現(xiàn)得更加突出。

    隨著科學(xué)技術(shù)的發(fā)展,高能物理數(shù)據(jù)處理正在由單進(jìn)程處理向并行計算模式轉(zhuǎn)換。為此,計算中心建立了HPC計算集群,采用SLURM實(shí)現(xiàn)資源管理以及作業(yè)調(diào)度。SLURM具有大量的調(diào)度算法,對于并行作業(yè)的資源分配有較高的效率,因此被應(yīng)用于天河2[18]超級計算機(jī)以及深度學(xué)習(xí)[19]、計算機(jī)輔助工程[20]等典型的高性能計算場景中。但經(jīng)測試SLURM在處理大量HTC短作業(yè)時調(diào)度效率下降嚴(yán)重,無法應(yīng)對萬級CPU核計算集群上的萬級串行作業(yè)資源分配。因此,計算中心無法借助單一的開源作業(yè)調(diào)度軟件來管理整個計算集群,形成了HTC及HPC作業(yè)各有一個計算集群的現(xiàn)狀。

    文獻(xiàn)[21]著手解決將HTC作業(yè)遷移到HPC集群上運(yùn)行的問題,但其提出的解決方案需要用戶設(shè)置作業(yè)屬性以允許作業(yè)遷移,對用戶不完全透明。文獻(xiàn)[22]中的CMS實(shí)驗(yàn)選用GlideinWMS[22]作為其計算資源供應(yīng)層,將分布在世界各地的多級站點(diǎn)組成一個計算資源池。CMS預(yù)計其Run 2期間需要約20萬CPU核的計算規(guī)模[23],并通過調(diào)度器并行化、單核作業(yè)轉(zhuǎn)換為多核作業(yè)等手段實(shí)現(xiàn)了對20萬CPU核的有效管理[24]。然而上述工作并未涉及到基于計算資源擁有份額的公平性問題以及對計算節(jié)點(diǎn)的統(tǒng)一管理問題。文獻(xiàn)[25]實(shí)現(xiàn)了類似GlideinWMS的作業(yè)排隊(duì)、Agent分發(fā)以及作業(yè)拉取機(jī)制。文獻(xiàn)[26]使站點(diǎn)通過Mesos[27]提供計算資源給HTCondor集群,但兩者同樣側(cè)重于對異地計算資源的利用。

    2 雙層作業(yè)調(diào)度系統(tǒng)架構(gòu)設(shè)計

    高能所計算平臺對計算作業(yè)調(diào)度的需求為:

    1)提供用戶單一作業(yè)管理功能,即用戶通過單一作業(yè)工具提交、查詢、管理自己的串并行作業(yè)。

    2)保證大并行度作業(yè)的資源有效分配,同時實(shí)現(xiàn)對大規(guī)模HTC作業(yè)的高效調(diào)度。

    3)提供多種作業(yè)隊(duì)列,以滿足不同實(shí)驗(yàn)用戶的多種計算需求。

    4)保證實(shí)驗(yàn)組間資源使用公平性,即各個實(shí)驗(yàn)組使用的資源數(shù)量與其擁有的資源數(shù)量比例相當(dāng)。

    5)充分利用空閑計算資源,提高整體資源利用率,降低作業(yè)排隊(duì)時間。

    本文設(shè)計的雙層作業(yè)調(diào)度系統(tǒng)采用分治的思想,將本地的大規(guī)模異構(gòu)計算集群拆分為一個或多個同構(gòu)或異構(gòu)子集群,每個子集群分別由HTCondor或SLURM等作業(yè)調(diào)度軟件管理。同時,本文在子集群的基礎(chǔ)上增加了一個作業(yè)管理層,用來實(shí)現(xiàn)作業(yè)隊(duì)列設(shè)置以及調(diào)度算法的擴(kuò)展,同時可兼顧用戶和隊(duì)列的優(yōu)先級,以及HPC作業(yè)對計算資源的特殊需求。雙層作業(yè)調(diào)度系統(tǒng)充分利用HTCondor自有的高效調(diào)度性能以及SLURM對于并行作業(yè)管理的優(yōu)勢,彌補(bǔ)了HTCondor調(diào)度算法簡單、功能不全以及SLURM面對大量排隊(duì)作業(yè)性能下降的問題。

    雙層作業(yè)調(diào)度系統(tǒng)整體架構(gòu)如圖1所示,由作業(yè)管理層和作業(yè)執(zhí)行層組成。上層為作業(yè)管理層,包括作業(yè)管理器、資源狀態(tài)收集模塊、作業(yè)調(diào)度器、作業(yè)提交模塊、作業(yè)監(jiān)視模塊等,負(fù)責(zé)向用戶提供統(tǒng)一作業(yè)管理接口,建立作業(yè)調(diào)度隊(duì)列以及實(shí)現(xiàn)作業(yè)一級調(diào)度。作業(yè)管理器接收用戶提交的計算作業(yè),并維護(hù)作業(yè)隊(duì)列。作業(yè)調(diào)度器根據(jù)系統(tǒng)管理員指定的調(diào)度算法,將用戶作業(yè)在合適的時間提交到作業(yè)執(zhí)行層。作業(yè)調(diào)度算法保證作業(yè)一旦被提交到作業(yè)執(zhí)行層,將被立即執(zhí)行。作業(yè)執(zhí)行層上長期保持沒有或只有少量作業(yè)排隊(duì)的狀態(tài)。

    圖1 雙層作業(yè)調(diào)度系統(tǒng)整體架構(gòu)Fig.1 Overall architecture of the dual layer job scheduling system

    下層為作業(yè)執(zhí)行層,由一個或多個HTCondor、SLURM等作業(yè)調(diào)度軟件構(gòu)成,分別管理計算集群內(nèi)的一部分計算資源,相當(dāng)于在邏輯上將整個計算集群分割為一個或多個子集群。作業(yè)執(zhí)行層主要負(fù)責(zé)作業(yè)在計算節(jié)點(diǎn)上的啟動、狀態(tài)監(jiān)視、文件輸入/輸出等工作。

    用戶提交作業(yè)到作業(yè)管理器,作業(yè)信息被存儲到作業(yè)管理器的數(shù)據(jù)庫中。資源狀態(tài)收集模塊定期采集作業(yè)執(zhí)行層的各個子集群的資源信息,并存儲于資源狀態(tài)數(shù)據(jù)庫。作業(yè)調(diào)度器根據(jù)設(shè)定的作業(yè)調(diào)度算法,為排隊(duì)作業(yè)計算優(yōu)先級,再按優(yōu)先級為作業(yè)指定當(dāng)前可用計算資源。作業(yè)管理器根據(jù)作業(yè)調(diào)度器的指令調(diào)用作業(yè)提交模塊,向作業(yè)執(zhí)行層提交作業(yè)。作業(yè)監(jiān)視模塊監(jiān)視每個作業(yè)的運(yùn)行狀態(tài),并反饋給作業(yè)管理器。

    作業(yè)管理器按統(tǒng)一標(biāo)準(zhǔn)格式接收各種不同類型的計算作業(yè),再根據(jù)作業(yè)需求分別提交到作業(yè)執(zhí)行層的不同子集群。這樣的設(shè)計使得雙層作業(yè)調(diào)度系統(tǒng)可以在作業(yè)執(zhí)行層靈活增加不同的作業(yè)子集群,并對用戶透明,用戶作業(yè)腳本及提交作業(yè)命令保持不變。資源狀態(tài)收集、作業(yè)提交、作業(yè)監(jiān)視等模塊通過調(diào)用各個子計算集群自有的API或命令行接口實(shí)現(xiàn),但它們與作業(yè)調(diào)度器的API接口格式定義固定不變。這樣的設(shè)計方案保證了作業(yè)管理層與作業(yè)執(zhí)行層之間的松耦合性。

    3 作業(yè)管理層設(shè)計及實(shí)現(xiàn)

    3.1 各模塊對外提供的接口

    高能物理計算領(lǐng)域的通常作法是用戶通過命令行接口實(shí)現(xiàn)作業(yè)提交查詢等操作,因此本文開發(fā)了基于命令行的作業(yè)管理工具包。例如,用戶somebody向作業(yè)管理器提交作業(yè)的命令如下:

    job_submit_client/path/test.sh

    該命令的第一個參數(shù)指定了作業(yè)腳本的位置,即/path/test.sh。在作業(yè)成功提交后,命令行接口向用戶返回的信息如下:

    Successfully submitted 1 job(s):44071

    其中,44071是服務(wù)端為該作業(yè)分配的ID編號。

    作業(yè)管理層的各模塊對外提供形似RESTful API的TCP接口,上述命令行接口是對TCP接口的封裝??蛻舳送ㄟ^TCP接口向服務(wù)器發(fā)出的查詢請求和收到的回復(fù)都是JSON格式的字典類型變量,請求包含method、path等鍵值對,而回復(fù)包含status、content等鍵值對。上述somebody用戶通過命令行向作業(yè)管理器提交作業(yè)時,客戶端實(shí)際發(fā)出的內(nèi)容如下:

    {"method":"POST",

    "path":"/jobs",

    "user":"somebody",

    "user_group":"somebody",

    "body":[{"input_path":"/path/test.sh",

    "exp_group":"somebody",

    "req_cpu":1,

    "req_preempt":0}]}

    其中,body中的input_path指定了作業(yè)腳本的位置,即/path/test.sh,而服務(wù)端回復(fù)給客戶端的內(nèi)容如下:

    {′status′:202,

    ′comment′:′Accepted′,

    ′content′:[44071]}

    其中,44071是服務(wù)端為該作業(yè)分配的ID編號。

    3.2 基于Eventlet的基本框架

    為達(dá)到快速高效的作業(yè)調(diào)度目標(biāo),本文將圖1中的隊(duì)列數(shù)據(jù)庫和資源狀態(tài)數(shù)據(jù)庫均存放在內(nèi)存中。計算作業(yè)和計算資源的信息均為高度結(jié)構(gòu)化信息,如果使用Redis等NoSQL內(nèi)存數(shù)據(jù)庫在信息匹配時性能較差,則選用SQLite內(nèi)存數(shù)據(jù)庫存儲作業(yè)信息和資源狀態(tài)。SQLite是一種嵌入式SQL數(shù)據(jù)庫,可以像傳統(tǒng)數(shù)據(jù)庫一樣將數(shù)據(jù)完全存儲在磁盤上,還可以將整個數(shù)據(jù)庫建立在內(nèi)存中?;趦?nèi)存的SQLite數(shù)據(jù)庫能夠提供優(yōu)于傳統(tǒng)磁盤數(shù)據(jù)庫的訪問性能,同時兼顧SQL數(shù)據(jù)庫結(jié)構(gòu)化數(shù)據(jù)表的特點(diǎn),更易于開發(fā)及管理。

    選用SQLite內(nèi)存數(shù)據(jù)庫要求作業(yè)管理層中的每個組件都需在同一進(jìn)程中具備以下功能:

    1)維護(hù)一個SQLite嵌入式內(nèi)存數(shù)據(jù)庫。

    2)對外提供服務(wù)接口,響應(yīng)系統(tǒng)管理員、用戶、作業(yè)調(diào)度器及作業(yè)監(jiān)視模塊的請求,并對數(shù)據(jù)庫進(jìn)行相應(yīng)的插入、刪除、修改、查詢等操作。例如,查詢數(shù)據(jù)庫中某個用戶的排隊(duì)信息,或者更新某個作業(yè)的運(yùn)行狀態(tài)等。

    3)作為作業(yè)執(zhí)行層或作業(yè)管理層內(nèi)其他組件的客戶端,定期采集作業(yè)執(zhí)行層中資源及作業(yè)狀態(tài)信息并實(shí)時更新相應(yīng)數(shù)據(jù)庫,以保證數(shù)據(jù)庫內(nèi)數(shù)據(jù)的實(shí)時性。例如查詢SLURM集群的空閑資源信息,或者查詢HTCondor集群的歷史作業(yè)信息等。

    本文采用協(xié)程(coroutine)模型實(shí)現(xiàn)上述功能,將請求響應(yīng)部分和客戶端操作部分分別編寫為同一進(jìn)程中的不同協(xié)程,使兩者運(yùn)行時互不阻塞,同時SQLite數(shù)據(jù)庫以全局對象的形式供上述協(xié)程訪問。

    本文為作業(yè)管理層的各模塊設(shè)計如圖2所示的基本框架。Python具有海量的第三方擴(kuò)展包(Package),且易于編碼,系統(tǒng)選擇Python作為編程語言。Eventlet是Python下實(shí)現(xiàn)協(xié)程模型的框架,被應(yīng)用于Openstack等大型開源項(xiàng)目的開發(fā),其性能與Gevent、Twisted等類似框架基本相同,因此選用Eventlet軟件包實(shí)現(xiàn)各協(xié)程之間的并發(fā)。SQLAlchemy是Python下訪問SQL數(shù)據(jù)庫的框架,用來訪問包含MySQL、SQLite在內(nèi)的多種SQL數(shù)據(jù)庫,同時實(shí)現(xiàn)了對象關(guān)系映射(Object Relational Mapping,ORM),將對SQL數(shù)據(jù)行的操作轉(zhuǎn)化為對Python對象的操作,避免手工書寫SQL語句帶來的兼容性問題及安全隱患,因此選用SQLAlchemy包作為SQLite數(shù)據(jù)庫的訪問接口。

    圖2 作業(yè)管理層的模塊設(shè)計

    3.3 作業(yè)管理器

    作業(yè)管理器為用戶及作業(yè)調(diào)度器模塊提供作業(yè)信息保存及作業(yè)隊(duì)列管理功能。用戶向作業(yè)管理器提交大量作業(yè)后,作業(yè)信息首先被存放于作業(yè)管理器中,只有作業(yè)調(diào)度器才能決定作業(yè)被提交到作業(yè)執(zhí)行層中的指定子集群。一旦作業(yè)執(zhí)行層中沒有可用于某一作業(yè)運(yùn)行的計算資源,則該作業(yè)會在作業(yè)管理器中排隊(duì)等待。該設(shè)計可以繞過作業(yè)執(zhí)行層各子集群自有的作業(yè)調(diào)度算法對作業(yè)的管理,將作業(yè)管理上移至作業(yè)管理層完成。作業(yè)管理層松耦合的架構(gòu)還可以綜合不同作業(yè)子集群的情況,提供諸如多隊(duì)列、隊(duì)列間公平性等更豐富的作業(yè)管理功能及作業(yè)調(diào)度策略。作業(yè)管理器的主要組成部分包括:

    1)SQLite內(nèi)存數(shù)據(jù)庫:通過SQLAlchemy提供訪問,用來存儲作業(yè)信息。作業(yè)數(shù)據(jù)庫中存儲的作業(yè)信息及相應(yīng)數(shù)據(jù)表格式(部分)如表1所示,其中作業(yè)ID為該數(shù)據(jù)表的主鍵且為自增類型。

    表1 作業(yè)信息及相應(yīng)的數(shù)據(jù)表格式

    2)SocketServer服務(wù)端:對用戶提供形似RESTful API的TCP接口,響應(yīng)用戶的作業(yè)提交、查詢、刪除請求,作業(yè)調(diào)度器的作業(yè)批量查詢、調(diào)度請求,以及作業(yè)監(jiān)視模塊的作業(yè)運(yùn)行狀況更新請求。

    3)作業(yè)ID生成器:作業(yè)管理器包含一個全局單例對象,用來為新作業(yè)分配遞增的ID信息,并將當(dāng)前作業(yè)ID最大值同步至指定文件中。若作業(yè)管理器進(jìn)程被意外中止并恢復(fù),可從該文件中讀出最近作業(yè)ID最大值,確保作業(yè)管理器內(nèi)不存在重復(fù)作業(yè)ID,以保證作業(yè)運(yùn)行狀態(tài)和記賬進(jìn)程的正常運(yùn)行。

    3.4 資源狀態(tài)收集模塊

    資源狀態(tài)收集模塊負(fù)責(zé)收集作業(yè)執(zhí)行層的可用計算資源信息,并暫存在內(nèi)存數(shù)據(jù)庫中。這提高了作業(yè)調(diào)度效率,尤其當(dāng)作業(yè)執(zhí)行層中存在異地計算子集群時,該模塊會預(yù)先將異地計算資源的信息同步到本地,避免了異地站點(diǎn)間的高通信延遲。資源狀態(tài)收集模塊的主要組成部分包括:

    1)SQLite內(nèi)存數(shù)據(jù)庫:通過SQLAlchemy提供訪問,用來存儲計算資源的各項(xiàng)信息。資源狀態(tài)數(shù)據(jù)庫存儲的計算資源信息及相應(yīng)的數(shù)據(jù)表格式(部分)如表2所示,其中計算節(jié)點(diǎn)名稱為該數(shù)據(jù)表的主鍵。

    表2 計算資源信息及相應(yīng)的數(shù)據(jù)表格式

    2)SocketServer服務(wù)端:對用戶提供形如RESTful API的TCP接口,可響應(yīng)批量查詢請求。

    3)數(shù)據(jù)采集部分:根據(jù)配置文件,通過API定期查詢各子集群的可用計算資源。

    3.5 作業(yè)調(diào)度器

    作業(yè)調(diào)度器是作業(yè)管理層的核心組件,負(fù)責(zé)根據(jù)作業(yè)調(diào)度策略,為用戶作業(yè)設(shè)定執(zhí)行的先后順序及其應(yīng)被提交到的子集群。作業(yè)調(diào)度器是一個獨(dú)立模塊,可以靈活添加多種調(diào)度算法。作業(yè)調(diào)度器在一個調(diào)度周期內(nèi)完成的工作包括:

    1)向作業(yè)管理器查詢當(dāng)前排隊(duì)作業(yè),向資源狀態(tài)收集模塊查詢當(dāng)前可用計算資源。

    2)計算每個作業(yè)的優(yōu)先級,并將作業(yè)按優(yōu)先級排序。目前的作業(yè)調(diào)度器將作業(yè)的排隊(duì)時間作為作業(yè)優(yōu)先級,即job_prio=cur_time-time_submit,時間越長,優(yōu)先級越高,等價于先來先服務(wù)(First Come First Service,FCFS)算法。

    3)按優(yōu)先級順序遍歷作業(yè)。為每個作業(yè)尋找適合該作業(yè)的計算資源,并將該資源分配給該作業(yè)。如果某個計算集群或計算節(jié)點(diǎn)的全部資源已經(jīng)被分配完,則將該集群或該節(jié)點(diǎn)從資源列表中刪除,以加快其他資源的分配速度。作業(yè)調(diào)度器用一個列表記錄成功分配到計算資源的作業(yè)以及每個作業(yè)相應(yīng)的計算資源。

    4)將上述計算資源分配列表發(fā)送至作業(yè)管理器,作業(yè)管理器調(diào)用作業(yè)提交模塊,向指定計算集群提交指定作業(yè)。

    作業(yè)調(diào)度器支持對機(jī)會計算作業(yè)的調(diào)度。機(jī)會計算作業(yè)由用戶在提交作業(yè)時指定,可運(yùn)行在任何一個子集群的任何可用資源上,以盡量減少排隊(duì)時間;但如果這類作業(yè)運(yùn)行期間,有更高優(yōu)先級的作業(yè)需要計算資源,子集群的調(diào)度器有權(quán)中斷機(jī)會計算作業(yè)的運(yùn)行,將作業(yè)送回作業(yè)管理層中繼續(xù)排隊(duì)。為此,作業(yè)調(diào)度器在為作業(yè)分配計算資源時會執(zhí)行如圖3所示的算法,該算法具體步驟如下:

    1)判斷作業(yè)類型。若用戶設(shè)置了機(jī)會計算作業(yè)標(biāo)志,則認(rèn)為作業(yè)為機(jī)會計算作業(yè);若作業(yè)需要使用通用計算資源(GRES)或至少兩個CPU核心,則認(rèn)為作業(yè)為并行計算作業(yè);否則認(rèn)為作業(yè)為串行計算作業(yè)。

    2)對于串行計算作業(yè),嘗試在HTC子集群的計算資源中為該作業(yè)分配資源。目前的作業(yè)調(diào)度器可將HTCondor及TORQUE計算集群作為HTC子集群。

    3)若分配失敗,則無論作業(yè)類型如何,嘗試在HPC子集群中為該作業(yè)分配計算資源。目前的作業(yè)調(diào)度器可以將SLURM計算集群作為HPC子集群。

    4)若分配失敗且作業(yè)類型為并行計算作業(yè),則先假設(shè)HPC子集群中的機(jī)會計算作業(yè)全部被清空,其占用的計算資源全部被釋放,然后再次嘗試為該作業(yè)分配計算資源。

    5)若有作業(yè)通過步驟4分配到計算資源,則在步驟4假設(shè)的計算集群中,為在步驟3、步驟4中已分配到資源的所有并行計算作業(yè)重新分配資源,并撤銷步驟3、步驟4對其他類型作業(yè)的資源分配。

    圖3 支持機(jī)會計算作業(yè)的資源分配算法

    Fig.3 Resource allocation algorithm supporting opportunity computing jobs

    綜上所述,當(dāng)前的作業(yè)調(diào)度器具備以下3類調(diào)度策略:

    1)作業(yè)優(yōu)先級策略:作業(yè)調(diào)度器根據(jù)作業(yè)屬性計算各個作業(yè)的優(yōu)先級并進(jìn)行排序。

    2)每個作業(yè)的資源選擇策略:為高優(yōu)先級的作業(yè)選取合適的計算資源,并將作業(yè)提交到該資源所在的計算集群。

    3)全局作業(yè)調(diào)度策略:當(dāng)計算集群暫時沒有與某一作業(yè)完全匹配的計算資源,且作業(yè)無法被立即執(zhí)行時,作業(yè)調(diào)度器在當(dāng)前作業(yè)、當(dāng)前計算資源以及其他正在排隊(duì)的作業(yè)之間實(shí)現(xiàn)協(xié)調(diào)。

    3.6 作業(yè)提交模塊

    作業(yè)提交模塊負(fù)責(zé)將作業(yè)提交到各子集群。作業(yè)調(diào)度器為作業(yè)選定計算集群后,由作業(yè)管理器以子進(jìn)程的形式啟動作業(yè)提交模塊。作業(yè)提交模塊進(jìn)程以作業(yè)屬主的身份向相應(yīng)的子集群發(fā)送作業(yè)提交請求。系統(tǒng)中的作業(yè)提交模塊可以將作業(yè)提交到下列類型的計算集群:

    1)HTCondor集群:通過HTCondor的Python API提交作業(yè)。作業(yè)提交模塊將作業(yè)的腳本、輸入/輸出路徑、資源需求等內(nèi)容打包成一個Python字典,調(diào)用HTCondor的classad包生成相應(yīng)的作業(yè)ClassAd,調(diào)用htcondor包將ClassAd發(fā)送給HTCondor SchedD進(jìn)程。

    2)SLURM集群:通過SLURM的sbatch命令行接口提交作業(yè)。作業(yè)提交模塊將作業(yè)的腳本、輸入/輸出路徑、資源需求等內(nèi)容作為該命令的參數(shù)發(fā)送給SLURM集群。

    3)TORQUE集群:通過TORQUE的qsub命令行接口提交作業(yè)。作業(yè)提交模塊將作業(yè)的腳本、輸入/輸出路徑、資源需求等內(nèi)容作為該命令的參數(shù)發(fā)送給TORQUE集群。

    作業(yè)提交模塊不僅是作業(yè)管理器與作業(yè)執(zhí)行層解耦的必要條件,而且可避免作業(yè)管理器在作業(yè)提交期間的屬主切換問題及不必要的等待,增強(qiáng)作業(yè)管理器的穩(wěn)定性及作業(yè)調(diào)度器的運(yùn)行效率。

    3.7 作業(yè)監(jiān)視模塊

    作業(yè)監(jiān)視模塊負(fù)責(zé)監(jiān)視作業(yè)在作業(yè)執(zhí)行層上的運(yùn)行及完成情況。對于每個子計算集群,作業(yè)監(jiān)視模塊會為其創(chuàng)建協(xié)程,完成下列數(shù)據(jù)采集工作:

    1)作業(yè)運(yùn)行狀態(tài)監(jiān)視:通過API或命令行定期查詢子集群上的作業(yè)運(yùn)行情況,從中篩選出由作業(yè)管理層提交的作業(yè),并通知作業(yè)管理器更新相應(yīng)作業(yè)的狀態(tài)。

    2)作業(yè)完成情況監(jiān)視:以定期增量查詢的方式查詢子集群的作業(yè)日志文件或作業(yè)數(shù)據(jù)庫,包括但不限于HTCondor的history文件以及SLURM的job_completions.txt文件。從讀取的數(shù)據(jù)中篩選出由作業(yè)管理層提交的作業(yè),并通知作業(yè)管理器更新相應(yīng)作業(yè)的狀態(tài),存檔或刪除相應(yīng)的作業(yè)記錄。

    4 系統(tǒng)運(yùn)行性能測試

    4.1 作業(yè)管理器的作業(yè)接收性能測試

    高能物理數(shù)據(jù)處理需要讀寫大量數(shù)據(jù)文件,通用方法是通過提交大量作業(yè)分別處理不同的數(shù)據(jù)文件達(dá)到快速處理數(shù)據(jù)的目的。因此,作業(yè)調(diào)度系統(tǒng)接收用戶大批量作業(yè)的速率直接關(guān)系到用戶的交互體驗(yàn),這要求作業(yè)管理層具備快速接收用戶大批量作業(yè)的能力。本文對系統(tǒng)大批量接收作業(yè)的性能進(jìn)行測試,并與用戶直接向HTCondor集群接收同樣數(shù)量作業(yè)的性能進(jìn)行比較。

    測試環(huán)境包括運(yùn)行作業(yè)接收服務(wù)端程序和作業(yè)提交客戶端程序的兩臺服務(wù)器。這樣既可模擬用戶從專用登錄節(jié)點(diǎn)提交作業(yè)的過程,又便于觀察兩類程序各自的CPU及內(nèi)存使用情況。兩臺服務(wù)器均為雙路E5-2620 v3,16 GB內(nèi)存,Scientific Linux 6.5操作系統(tǒng)。在該測試環(huán)境上部署Python 2.6.6,并以此運(yùn)行本文所述的作業(yè)管理器組件,作為該測試的實(shí)驗(yàn)組。同時在該測試環(huán)境上部署HTCondor 8.4.11,使用HTCondor的SchedD組件和原生作業(yè)提交命令作為該測試的對照組。

    在作業(yè)管理器組件和HTCondor上,分別測試了兩種提交作業(yè)的方式:1)一次提交一個作業(yè),逐個提交500個、1 000個、1 500個、2 000個不同的作業(yè),用時結(jié)果如圖4所示。2)批量提交500個、1 000個、1 500個、2 000個作業(yè),用時結(jié)果如圖5所示。

    圖4 逐個提交大量作業(yè)用時對比結(jié)果

    Fig.4 Comparison of time consumed by the individual submission of massive jobs

    圖5 批量提交作業(yè)用時對比結(jié)果

    Fig.5 Comparison of time consumed by the batch submission of jobs

    由圖4可以看出,在逐個提交作業(yè)的性能測試中,作業(yè)管理器組件與HTCondor之間存在1.64倍~1.68倍的性能差距。本文的作業(yè)管理器組件是Python程序,作業(yè)提交客戶端也同樣是Python腳本,而HTCondor的SchedD端與客戶端都是C程序,兩者的執(zhí)行效率之間有一定的差距。本文在測試時直接通過bash執(zhí)行for循環(huán)調(diào)用了實(shí)驗(yàn)組和對照組的客戶端各1 000次,每次只提交一個作業(yè),這就放大了上文所述的執(zhí)行效率差距。每個作業(yè)提交成功后,在交互終端上對用戶有一個成功提示信息,對于用戶來說,提交1 000個作業(yè)是等待44 s還是73 s的差別并不明顯。

    由圖4還可以發(fā)現(xiàn),無論是本文中的作業(yè)管理器組件還是HTCondor,逐個提交作業(yè)時的效率都不高,即使是性能較好的HTCondor,其接收用戶作業(yè)的速率也只有22.4個/s。因此,在第2個批量提交的性能測試中,通過兩者的客戶端分別批量提交500個、1 000個、1 500個、2 000個作業(yè)。由圖5可見,對于作業(yè)管理器,批量提交作業(yè)同通過循環(huán)提交等量的作業(yè)相比,約有19.8倍~22.6倍的速度提升。在批量提交作業(yè)的情況下,作業(yè)管理器與HTCondor之間仍然存在2.38倍~2.69倍的性能差距。然而,就絕對時間而言,兩者批量提交1 000個作業(yè)的時間只相差2.34 s,對于用戶交互體驗(yàn)的影響并不明顯。

    4.2 作業(yè)管理器的作業(yè)轉(zhuǎn)發(fā)性能測試

    作業(yè)啟動速率即作業(yè)從排隊(duì)狀態(tài)轉(zhuǎn)入運(yùn)行狀態(tài)的速率,決定了一個HTC作業(yè)調(diào)度系統(tǒng)可以支持的計算集群的最大規(guī)模。在有足量作業(yè)排隊(duì)的情況下,如果作業(yè)啟動速率過慢而作業(yè)結(jié)束速率過快,則會導(dǎo)致計算資源被閑置。對于本文所述的雙層作業(yè)調(diào)度系統(tǒng),作業(yè)管理層的作業(yè)調(diào)度器承擔(dān)了大部分作業(yè)調(diào)度算法的執(zhí)行工作,最可能成為整個系統(tǒng)的性能瓶頸。同時,將大量作業(yè)逐個提交到作業(yè)執(zhí)行層的各個子集群上也需要一定的時間。為探究作業(yè)管理層的作業(yè)轉(zhuǎn)發(fā)性能及其對計算集群整體資源利用率的影響,本文對作業(yè)管理層接收并運(yùn)行大量作業(yè)的完整流程進(jìn)行測試,并與單獨(dú)的HTCondor和SLURM調(diào)度系統(tǒng)進(jìn)行比較。

    測試環(huán)境為同一臺服務(wù)器上的3臺相同規(guī)格的虛擬機(jī),其中一臺為作業(yè)提交及調(diào)度節(jié)點(diǎn),另外兩臺為計算節(jié)點(diǎn)。測試環(huán)境的宿主機(jī)使用E5-2665 CPU,每臺虛擬機(jī)擁有1個CPU核心和4 GB內(nèi)存,宿主機(jī)和虛擬機(jī)均使用Scientific Linux 6.9操作系統(tǒng)。本文在該測試環(huán)境上分別部署Python 2.6.6、HTCondor 8.5.6、SLURM 15.08.1以及本文所述的作業(yè)管理器組件,并配置HTCondor使每個計算節(jié)點(diǎn)提供24個作業(yè)槽,配置SLURM使每個節(jié)點(diǎn)提供24個虛擬CPU核,因此每個實(shí)驗(yàn)組和對照組都可以同時運(yùn)行48個單核作業(yè)。如表3所示,兩個實(shí)驗(yàn)組將作業(yè)管理器組件分別與HTCondor及SLURM搭配使用,而兩個對照組不使用作業(yè)管理器組件,僅分別使用HTCondor及SLURM進(jìn)行作業(yè)調(diào)度。HTCondor及SLURM上使用的調(diào)度算法為兩者的默認(rèn)算法。對于兩個實(shí)驗(yàn)組,在作業(yè)管理層的作業(yè)調(diào)度器中,以作業(yè)排隊(duì)時間作為優(yōu)先級,實(shí)現(xiàn)了簡單的先進(jìn)先出(First In First Out,FIFO)調(diào)度算法。

    表3 測試環(huán)境內(nèi)實(shí)驗(yàn)組與對照組的軟件配置

    Table 3 Software configuration of the experimental group and the control group in the test environment

    比較項(xiàng)目實(shí)驗(yàn)組對照組1212作業(yè)管理層有有無無作業(yè)執(zhí)行層HTCondorSLURMHTCondorSLURM計算資源總量48個作業(yè)槽48個虛擬核48個作業(yè)槽48個虛擬核

    本文分別向上述4組軟件環(huán)境提交500個、1 000個、1 500個、2 000個計算作業(yè),統(tǒng)計從第一個作業(yè)開始運(yùn)行到最后一個作業(yè)完成所消耗的時間。提交的每個計算作業(yè)均為sleep 1 000 s,占用HTCondor的1個作業(yè)槽或SLURM的1個虛擬CPU核,因此測試資源的實(shí)際數(shù)量不會對測試結(jié)果造成影響。該測試環(huán)境內(nèi)的每個實(shí)驗(yàn)組和對照組都可以同時運(yùn)行48個sleep作業(yè),在不考慮作業(yè)調(diào)度、轉(zhuǎn)發(fā)、I/O等開銷的情況下,理論上運(yùn)行完x個作業(yè)需要的最短時間為「x÷48?×1 000 s。當(dāng)x=1 000時,作業(yè)運(yùn)行用時約21 000 s,實(shí)際測試結(jié)果如圖6所示。

    圖6 大批量提交作業(yè)用時對比結(jié)果

    Fig.6 Comparison of time consumed by the massive batch submission of jobs

    由圖6可以看出,雙層作業(yè)調(diào)度模式與單一的HTCondor或SLURM等作業(yè)調(diào)度系統(tǒng)相比,作業(yè)執(zhí)行用時分別增加了4.8%~5.9%和1.5%~2.0%,這是多隊(duì)列、自定義調(diào)度算法等功能的必要開銷。因此,筆者認(rèn)為作業(yè)管理層的作業(yè)調(diào)度、作業(yè)轉(zhuǎn)發(fā)過程都較高效,基本能夠滿足HTC計算集群滿負(fù)荷運(yùn)行的需求。

    5 結(jié)束語

    目前高能物理計算任務(wù)以單核串行作業(yè)為主,通過在計算集群上同時運(yùn)行大量互不相關(guān)的計算作業(yè)來提高數(shù)據(jù)處理速度。隨著計算集群規(guī)模的擴(kuò)大,傳統(tǒng)的PBS、HTCondor等集中式作業(yè)調(diào)度系統(tǒng)逐漸出現(xiàn)性能或功能方面的不足。本文提出雙層作業(yè)調(diào)度系統(tǒng)的概念及基本框架,使系統(tǒng)管理員可以在作業(yè)管理層靈活配置多種調(diào)度算法,同時整個系統(tǒng)具有更好的伸縮性。在此基礎(chǔ)上,本文實(shí)現(xiàn)了作業(yè)管理層的原型系統(tǒng),并將其與HTCondor及SLURM進(jìn)行整合。針對高能所計算平臺的實(shí)際需求,本文對作業(yè)管理器的批量作業(yè)接收性能以及作業(yè)轉(zhuǎn)發(fā)性能進(jìn)行測試,結(jié)果表明作業(yè)管理器的性能對雙層作業(yè)調(diào)度系統(tǒng)的效率基本沒有影響,可滿足高能物理計算集群高負(fù)荷運(yùn)行的需求。

    雙層作業(yè)調(diào)度系統(tǒng)的核心是通過作業(yè)調(diào)度器實(shí)現(xiàn)的調(diào)度算法,但本文只實(shí)現(xiàn)了最基本的先進(jìn)先出算法,后續(xù)工作將針對高能物理數(shù)據(jù)處理的特性提供一些更為復(fù)雜的調(diào)度算法,以保證多個用戶組及作業(yè)隊(duì)列之間的調(diào)度公平性。另外,為兼顧HTC和HPC作業(yè)在同一計算集群內(nèi)的運(yùn)行效果,計算資源在作業(yè)執(zhí)行層的多個子集群之間的動態(tài)調(diào)配也是需要進(jìn)一步研究的內(nèi)容。

    猜你喜歡
    執(zhí)行層計算資源管理器
    基于模糊規(guī)劃理論的云計算資源調(diào)度研究
    應(yīng)急狀態(tài)啟動磁盤管理器
    基于PowerLink的計算機(jī)聯(lián)鎖系統(tǒng)執(zhí)行層設(shè)計
    改進(jìn)快速稀疏算法的云計算資源負(fù)載均衡
    內(nèi)控時間背景下的中小學(xué)內(nèi)部控制建設(shè)路徑構(gòu)建
    財訊(2019年24期)2019-09-03 05:37:05
    公司執(zhí)行層的“苦惱”
    Windows文件緩沖處理技術(shù)概述
    基于Wi-Fi與Web的云計算資源調(diào)度算法研究
    耦合分布式系統(tǒng)多任務(wù)動態(tài)調(diào)度算法
    高集成度2.5A備份電源管理器簡化鋰離子電池備份系統(tǒng)
    国产aⅴ精品一区二区三区波| 男女床上黄色一级片免费看| 男女边摸边吃奶| 一本—道久久a久久精品蜜桃钙片| 久久影院123| 激情在线观看视频在线高清 | 少妇精品久久久久久久| 极品教师在线免费播放| 亚洲国产av影院在线观看| 亚洲精品久久午夜乱码| 热re99久久精品国产66热6| 国产高清激情床上av| 欧美激情高清一区二区三区| 色婷婷av一区二区三区视频| 欧美乱码精品一区二区三区| 欧美av亚洲av综合av国产av| 亚洲欧美一区二区三区黑人| 老司机午夜福利在线观看视频 | 中文字幕人妻丝袜一区二区| 国产精品偷伦视频观看了| 免费av中文字幕在线| 美女国产高潮福利片在线看| 午夜福利一区二区在线看| 欧美在线一区亚洲| 在线播放国产精品三级| 黑人巨大精品欧美一区二区mp4| 成年动漫av网址| 黑丝袜美女国产一区| 国产精品美女特级片免费视频播放器 | 极品少妇高潮喷水抽搐| 日韩欧美免费精品| 欧美成人免费av一区二区三区 | 女同久久另类99精品国产91| a级片在线免费高清观看视频| 男女边摸边吃奶| 色尼玛亚洲综合影院| 下体分泌物呈黄色| 他把我摸到了高潮在线观看 | 欧美日韩亚洲高清精品| 性高湖久久久久久久久免费观看| aaaaa片日本免费| 免费一级毛片在线播放高清视频 | 777米奇影视久久| 精品久久久精品久久久| 精品一区二区三卡| 欧美精品人与动牲交sv欧美| 成人18禁高潮啪啪吃奶动态图| 国产精品1区2区在线观看. | 99精国产麻豆久久婷婷| 国产一区二区在线观看av| 中文字幕高清在线视频| 午夜免费成人在线视频| 国产精品一区二区在线观看99| 18禁黄网站禁片午夜丰满| 啦啦啦视频在线资源免费观看| 欧美 日韩 精品 国产| 亚洲熟妇熟女久久| 国产精品美女特级片免费视频播放器 | 啪啪无遮挡十八禁网站| 成人国产av品久久久| 午夜福利,免费看| 亚洲人成电影观看| 久久青草综合色| 老司机靠b影院| 国产在线视频一区二区| 性少妇av在线| 免费日韩欧美在线观看| 午夜福利一区二区在线看| 男女边摸边吃奶| 欧美精品av麻豆av| 亚洲国产成人一精品久久久| 露出奶头的视频| 菩萨蛮人人尽说江南好唐韦庄| 久久精品国产综合久久久| 免费看a级黄色片| 久久中文字幕一级| 亚洲精品国产一区二区精华液| 国产精品国产高清国产av | 夜夜爽天天搞| 一级毛片电影观看| 黑人巨大精品欧美一区二区mp4| 国产不卡av网站在线观看| 久久久久国内视频| 国产av国产精品国产| 不卡一级毛片| 丝袜美腿诱惑在线| 可以免费在线观看a视频的电影网站| 老司机深夜福利视频在线观看| 欧美精品高潮呻吟av久久| 国产亚洲精品久久久久5区| 亚洲精品乱久久久久久| 在线观看免费视频日本深夜| 欧美激情极品国产一区二区三区| 在线av久久热| 亚洲精品成人av观看孕妇| 国产精品免费一区二区三区在线 | 最新在线观看一区二区三区| 一级a爱视频在线免费观看| 久久久欧美国产精品| 桃红色精品国产亚洲av| 亚洲色图综合在线观看| 欧美av亚洲av综合av国产av| 国产精品 国内视频| 亚洲精品国产色婷婷电影| 成人特级黄色片久久久久久久 | www.熟女人妻精品国产| 日韩免费av在线播放| 成在线人永久免费视频| 国产精品 欧美亚洲| 一边摸一边做爽爽视频免费| 国产三级黄色录像| 精品久久蜜臀av无| 激情视频va一区二区三区| 成年人免费黄色播放视频| 国产极品粉嫩免费观看在线| 女性被躁到高潮视频| 久久久精品免费免费高清| 国产成人影院久久av| 久久久久久久久免费视频了| 大型黄色视频在线免费观看| cao死你这个sao货| 久久青草综合色| 乱人伦中国视频| 男女之事视频高清在线观看| 成人影院久久| 好男人电影高清在线观看| 天天添夜夜摸| 777米奇影视久久| 亚洲专区国产一区二区| 性高湖久久久久久久久免费观看| 大片电影免费在线观看免费| 欧美日韩亚洲高清精品| 69av精品久久久久久 | 露出奶头的视频| 日韩中文字幕视频在线看片| 一边摸一边做爽爽视频免费| 精品国产一区二区三区久久久樱花| 婷婷丁香在线五月| 久久婷婷成人综合色麻豆| 免费高清在线观看日韩| 国产高清国产精品国产三级| 午夜视频精品福利| 亚洲av电影在线进入| 欧美一级毛片孕妇| 老汉色∧v一级毛片| 精品久久久久久久毛片微露脸| 91麻豆av在线| 成人av一区二区三区在线看| 天天操日日干夜夜撸| 久久ye,这里只有精品| 成人av一区二区三区在线看| 交换朋友夫妻互换小说| 亚洲 欧美一区二区三区| 精品亚洲成国产av| 青草久久国产| 色婷婷久久久亚洲欧美| 美女高潮喷水抽搐中文字幕| 可以免费在线观看a视频的电影网站| 变态另类成人亚洲欧美熟女 | 免费日韩欧美在线观看| 黄色视频不卡| 久久久久视频综合| 欧美 日韩 精品 国产| 日韩欧美免费精品| 91大片在线观看| 黑人巨大精品欧美一区二区蜜桃| 视频在线观看一区二区三区| 国产在视频线精品| 少妇被粗大的猛进出69影院| 国产一区二区在线观看av| 中文字幕精品免费在线观看视频| 好男人电影高清在线观看| 欧美成人午夜精品| av不卡在线播放| 国产男靠女视频免费网站| 国产精品av久久久久免费| 久久久精品国产亚洲av高清涩受| 免费在线观看日本一区| 亚洲精品成人av观看孕妇| 国产免费av片在线观看野外av| 高清黄色对白视频在线免费看| 午夜激情久久久久久久| 热99国产精品久久久久久7| videos熟女内射| 精品少妇黑人巨大在线播放| a级毛片在线看网站| 亚洲免费av在线视频| 高潮久久久久久久久久久不卡| 亚洲少妇的诱惑av| 久久午夜亚洲精品久久| av电影中文网址| 久久天堂一区二区三区四区| 亚洲精品乱久久久久久| 三上悠亚av全集在线观看| 免费女性裸体啪啪无遮挡网站| 久久午夜综合久久蜜桃| 国产成人系列免费观看| 夜夜骑夜夜射夜夜干| 久热这里只有精品99| 欧美人与性动交α欧美精品济南到| 一本久久精品| 亚洲精品粉嫩美女一区| 一级片'在线观看视频| 久久婷婷成人综合色麻豆| 国产免费福利视频在线观看| 精品高清国产在线一区| 欧美激情 高清一区二区三区| 极品人妻少妇av视频| 亚洲五月色婷婷综合| 国产一区二区三区在线臀色熟女 | 久久久久久久精品吃奶| 热re99久久国产66热| 一区福利在线观看| 99热网站在线观看| 日韩一区二区三区影片| 欧美在线一区亚洲| 国产成+人综合+亚洲专区| 日韩欧美三级三区| www.精华液| 天天躁夜夜躁狠狠躁躁| 免费人妻精品一区二区三区视频| a级毛片黄视频| 女人久久www免费人成看片| 亚洲精品国产一区二区精华液| 18禁观看日本| 老鸭窝网址在线观看| 色综合婷婷激情| 久久久欧美国产精品| 夜夜夜夜夜久久久久| 中文亚洲av片在线观看爽 | 久久精品国产99精品国产亚洲性色 | 国产欧美日韩一区二区三| 日本wwww免费看| 少妇 在线观看| 99精国产麻豆久久婷婷| 在线观看免费高清a一片| 精品人妻在线不人妻| 日韩一卡2卡3卡4卡2021年| 亚洲欧美日韩另类电影网站| 国产免费福利视频在线观看| 9191精品国产免费久久| 午夜福利一区二区在线看| 操美女的视频在线观看| 三上悠亚av全集在线观看| 久久精品91无色码中文字幕| 我要看黄色一级片免费的| 精品少妇黑人巨大在线播放| 夫妻午夜视频| 国产xxxxx性猛交| 在线观看免费午夜福利视频| 精品一区二区三区视频在线观看免费 | 一级黄色大片毛片| 纵有疾风起免费观看全集完整版| 少妇猛男粗大的猛烈进出视频| av视频免费观看在线观看| 人人妻人人澡人人看| 麻豆乱淫一区二区| 纵有疾风起免费观看全集完整版| 王馨瑶露胸无遮挡在线观看| 黄色视频不卡| 人人妻人人添人人爽欧美一区卜| 91麻豆精品激情在线观看国产 | 精品久久久久久电影网| 飞空精品影院首页| 香蕉国产在线看| 成年版毛片免费区| 满18在线观看网站| 超碰成人久久| 叶爱在线成人免费视频播放| 精品卡一卡二卡四卡免费| 欧美激情 高清一区二区三区| 欧美成人免费av一区二区三区 | 在线观看免费视频网站a站| 精品一区二区三区四区五区乱码| 999久久久精品免费观看国产| 69av精品久久久久久 | 免费看十八禁软件| 老熟妇乱子伦视频在线观看| 久久99一区二区三区| 亚洲午夜理论影院| 五月开心婷婷网| 久久影院123| 国产不卡一卡二| 久久久精品国产亚洲av高清涩受| 国产欧美日韩一区二区三区在线| 麻豆国产av国片精品| 亚洲精品一卡2卡三卡4卡5卡| 免费观看av网站的网址| 精品少妇内射三级| 亚洲av美国av| 欧美久久黑人一区二区| 另类亚洲欧美激情| 欧美国产精品一级二级三级| 成年动漫av网址| 首页视频小说图片口味搜索| 免费看a级黄色片| 日韩有码中文字幕| 国产成人欧美| 丝袜人妻中文字幕| 在线观看66精品国产| 51午夜福利影视在线观看| 真人做人爱边吃奶动态| 日韩三级视频一区二区三区| 亚洲欧美日韩高清在线视频 | 男男h啪啪无遮挡| 99re6热这里在线精品视频| 久久久精品94久久精品| 国产av一区二区精品久久| 婷婷丁香在线五月| 午夜福利视频在线观看免费| 久久久久久亚洲精品国产蜜桃av| 极品少妇高潮喷水抽搐| 夜夜夜夜夜久久久久| 亚洲全国av大片| 男人操女人黄网站| 999精品在线视频| 又大又爽又粗| 亚洲三区欧美一区| 91国产中文字幕| 少妇 在线观看| 欧美精品一区二区大全| 色老头精品视频在线观看| 极品教师在线免费播放| 一本久久精品| 国产亚洲精品久久久久5区| 99久久99久久久精品蜜桃| 亚洲中文av在线| 精品国内亚洲2022精品成人 | 99精国产麻豆久久婷婷| 一区二区三区乱码不卡18| 国产精品.久久久| 99精品在免费线老司机午夜| 日韩三级视频一区二区三区| 啦啦啦中文免费视频观看日本| 欧美激情 高清一区二区三区| 黑人猛操日本美女一级片| 一区福利在线观看| 色尼玛亚洲综合影院| 日韩精品免费视频一区二区三区| 欧美中文综合在线视频| 国产高清激情床上av| 亚洲精品国产一区二区精华液| 天天影视国产精品| 婷婷丁香在线五月| av欧美777| av网站在线播放免费| 少妇精品久久久久久久| 欧美成人免费av一区二区三区 | 亚洲久久久国产精品| 丰满迷人的少妇在线观看| 亚洲视频免费观看视频| 色尼玛亚洲综合影院| 国产高清激情床上av| 亚洲国产中文字幕在线视频| 国产主播在线观看一区二区| 黄色丝袜av网址大全| 久久精品国产亚洲av香蕉五月 | 一级a爱视频在线免费观看| av网站免费在线观看视频| 男女边摸边吃奶| 久久久久网色| 午夜福利在线观看吧| 成年版毛片免费区| 久久精品成人免费网站| 亚洲三区欧美一区| 波多野结衣一区麻豆| 久久婷婷成人综合色麻豆| 两性夫妻黄色片| 另类精品久久| 国产欧美日韩综合在线一区二区| 好男人电影高清在线观看| 18禁黄网站禁片午夜丰满| 男人舔女人的私密视频| 极品人妻少妇av视频| 极品少妇高潮喷水抽搐| 欧美一级毛片孕妇| 人妻 亚洲 视频| 国产成人啪精品午夜网站| 国产淫语在线视频| 免费av中文字幕在线| 另类亚洲欧美激情| 淫妇啪啪啪对白视频| 人妻一区二区av| 久久久久久久久免费视频了| 国产午夜精品久久久久久| 青青草视频在线视频观看| 99国产精品免费福利视频| 脱女人内裤的视频| 一个人免费在线观看的高清视频| 一本久久精品| 亚洲黑人精品在线| 国产精品亚洲一级av第二区| 如日韩欧美国产精品一区二区三区| 动漫黄色视频在线观看| 日韩有码中文字幕| 91成人精品电影| av又黄又爽大尺度在线免费看| 精品国产一区二区三区四区第35| www.熟女人妻精品国产| 亚洲久久久国产精品| 脱女人内裤的视频| 老司机影院毛片| 一本大道久久a久久精品| 日本a在线网址| 岛国在线观看网站| 视频在线观看一区二区三区| 欧美亚洲日本最大视频资源| 三级毛片av免费| 免费看a级黄色片| 久久精品国产99精品国产亚洲性色 | 亚洲精品中文字幕一二三四区 | 99精品久久久久人妻精品| 自线自在国产av| av片东京热男人的天堂| 免费看a级黄色片| 日韩中文字幕视频在线看片| 少妇被粗大的猛进出69影院| 怎么达到女性高潮| 日韩视频一区二区在线观看| 国产老妇伦熟女老妇高清| 久久久久久久久久久久大奶| 亚洲精品在线美女| 午夜老司机福利片| 亚洲国产毛片av蜜桃av| www.精华液| 久久中文看片网| 久久99热这里只频精品6学生| 五月开心婷婷网| 国产亚洲精品一区二区www | 国产高清videossex| 午夜福利,免费看| 啦啦啦在线免费观看视频4| 露出奶头的视频| 老司机深夜福利视频在线观看| 天天操日日干夜夜撸| 日韩一区二区三区影片| 一进一出抽搐动态| 丁香欧美五月| 亚洲精品国产色婷婷电影| 91精品三级在线观看| 精品少妇内射三级| 高清黄色对白视频在线免费看| 亚洲一区中文字幕在线| 99国产综合亚洲精品| 老鸭窝网址在线观看| 一二三四社区在线视频社区8| 91麻豆av在线| 天天影视国产精品| 操出白浆在线播放| 老司机在亚洲福利影院| 精品国产一区二区三区久久久樱花| 一级毛片女人18水好多| 国产高清激情床上av| 亚洲第一欧美日韩一区二区三区 | 国产成人影院久久av| 每晚都被弄得嗷嗷叫到高潮| 极品人妻少妇av视频| 国产xxxxx性猛交| 国产人伦9x9x在线观看| 成人免费观看视频高清| 女性被躁到高潮视频| 高清毛片免费观看视频网站 | 9191精品国产免费久久| 交换朋友夫妻互换小说| 婷婷成人精品国产| 久久久久久亚洲精品国产蜜桃av| 国产精品久久久人人做人人爽| 人人澡人人妻人| 国产精品一区二区在线观看99| 在线 av 中文字幕| 欧美精品一区二区免费开放| 国产欧美日韩一区二区三区在线| 中文字幕色久视频| 国产一卡二卡三卡精品| 国产1区2区3区精品| 18禁美女被吸乳视频| 亚洲欧美日韩另类电影网站| 一进一出抽搐动态| av在线播放免费不卡| 久久久久久久久免费视频了| 久久中文字幕人妻熟女| 一级黄色大片毛片| 国产成人av教育| 国产xxxxx性猛交| 9色porny在线观看| 俄罗斯特黄特色一大片| 精品少妇一区二区三区视频日本电影| 99香蕉大伊视频| 丝袜喷水一区| 国产aⅴ精品一区二区三区波| 亚洲av日韩精品久久久久久密| 不卡av一区二区三区| 国产黄色免费在线视频| av线在线观看网站| 一级毛片电影观看| 久久精品人人爽人人爽视色| 激情在线观看视频在线高清 | 一级毛片精品| 国产成人精品无人区| 精品一区二区三区视频在线观看免费 | 国产日韩欧美在线精品| 久久影院123| 老司机影院毛片| 97人妻天天添夜夜摸| 99香蕉大伊视频| 久久国产精品男人的天堂亚洲| 久久热在线av| 久久中文字幕一级| 亚洲成人免费电影在线观看| 老司机午夜十八禁免费视频| 热99久久久久精品小说推荐| 丝袜美足系列| a级毛片在线看网站| 18禁观看日本| 午夜成年电影在线免费观看| 欧美日韩中文字幕国产精品一区二区三区 | 国产xxxxx性猛交| 色视频在线一区二区三区| 亚洲九九香蕉| 丰满饥渴人妻一区二区三| 国产一区二区在线观看av| 国产免费av片在线观看野外av| 真人做人爱边吃奶动态| 久久免费观看电影| 老熟女久久久| 国产高清国产精品国产三级| 黄色视频,在线免费观看| av免费在线观看网站| 视频区图区小说| 一区二区日韩欧美中文字幕| 91精品国产国语对白视频| 满18在线观看网站| 久久久久久久大尺度免费视频| 精品久久蜜臀av无| 午夜福利,免费看| 夜夜骑夜夜射夜夜干| 久久九九热精品免费| 国产野战对白在线观看| 最近最新中文字幕大全电影3 | 大香蕉久久成人网| 丁香六月天网| 国产成人av激情在线播放| 精品国产乱码久久久久久男人| 黄网站色视频无遮挡免费观看| 久久久久久亚洲精品国产蜜桃av| 亚洲男人天堂网一区| 超碰成人久久| 中文字幕人妻熟女乱码| 日韩欧美一区视频在线观看| 亚洲av成人一区二区三| 亚洲一区二区三区欧美精品| 精品人妻1区二区| 91大片在线观看| 高清av免费在线| av有码第一页| 又紧又爽又黄一区二区| 老司机午夜十八禁免费视频| 日韩欧美三级三区| 久久精品亚洲熟妇少妇任你| 最黄视频免费看| 一区二区日韩欧美中文字幕| 99久久99久久久精品蜜桃| 十八禁人妻一区二区| tube8黄色片| 脱女人内裤的视频| 母亲3免费完整高清在线观看| 丝瓜视频免费看黄片| 国产精品一区二区在线不卡| 欧美激情高清一区二区三区| 老司机靠b影院| 国产精品免费大片| 免费高清在线观看日韩| 精品国产超薄肉色丝袜足j| 久久久久国产一级毛片高清牌| 国产午夜精品久久久久久| 国产精品免费视频内射| 国产区一区二久久| 99re6热这里在线精品视频| 美女国产高潮福利片在线看| 久久久精品国产亚洲av高清涩受| 欧美老熟妇乱子伦牲交| 超碰成人久久| 99热国产这里只有精品6| 国产免费av片在线观看野外av| 香蕉久久夜色| 亚洲色图 男人天堂 中文字幕| avwww免费| 精品卡一卡二卡四卡免费| 国产精品成人在线| 国产又色又爽无遮挡免费看| 亚洲国产欧美网| 欧美乱妇无乱码| av在线播放免费不卡| 亚洲av片天天在线观看| 欧美成狂野欧美在线观看| 亚洲国产看品久久| 国产成人精品久久二区二区免费| 黄片大片在线免费观看| 国产xxxxx性猛交| 亚洲成人手机| 黄片大片在线免费观看| 午夜福利欧美成人| 99久久99久久久精品蜜桃| 国产av又大| 一区福利在线观看| 香蕉久久夜色| 中文字幕人妻熟女乱码| kizo精华| 色老头精品视频在线观看| 性少妇av在线| 亚洲精品美女久久av网站| 欧美精品亚洲一区二区| 女人精品久久久久毛片| 欧美激情极品国产一区二区三区| 女同久久另类99精品国产91|