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

    一種基于序列模式挖掘的trace探測(cè)方法

    2018-07-25 11:21:20廖湖聲
    關(guān)鍵詞:基本塊服務(wù)器端程序

    潘 龍 廖湖聲 蘇 航

    1(北京工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 北京 100124) 2(北京工業(yè)大學(xué)軟件學(xué)院 北京 100124)

    0 引 言

    即時(shí)編譯技術(shù)JIT compilation(just in-time compilation)是一種在程序運(yùn)行時(shí)刻識(shí)別出其中頻繁運(yùn)行的程序片段,并將其編譯為目標(biāo)代碼然后執(zhí)行的程序優(yōu)化技術(shù),可以有效地提升程序執(zhí)行效率,最早可追溯至20世紀(jì)60年代McCarthy提出的在運(yùn)行時(shí)刻翻譯的函數(shù)。即時(shí)編譯技術(shù)可以分為基于方法和基于蹤跡(trace)兩種,其中基于方法的即時(shí)編譯對(duì)頻繁執(zhí)行的整個(gè)方法進(jìn)行編譯,粒度較大;基于trace的即時(shí)編譯在運(yùn)行時(shí)動(dòng)態(tài)地識(shí)別出頻繁執(zhí)行的代碼序列,并將其作為編譯的基本單元,粒度較小,可以減少整體編譯時(shí)間并提高目標(biāo)代碼質(zhì)量。

    數(shù)據(jù)挖掘是從大量數(shù)據(jù)中挖掘有價(jià)值的模式的核心過(guò)程,旨在提取有效的、新穎的、潛在有用的、易被理解的知識(shí)。序列模式挖掘作為數(shù)據(jù)挖掘的一個(gè)重要研究方向,是一種在序列數(shù)據(jù)庫(kù)中挖掘頻繁出現(xiàn)的子序列作為模式的知識(shí)發(fā)現(xiàn)過(guò)程。序列模式挖掘在基因序列分析、購(gòu)物行為分析,商業(yè)分析等實(shí)際領(lǐng)域得到了廣泛應(yīng)用。應(yīng)用序列模式挖掘,能夠發(fā)現(xiàn)潛在的知識(shí),幫助決策者進(jìn)行更好的決策和規(guī)劃,從而獲得巨大的經(jīng)濟(jì)效益與社會(huì)效益。程序解釋執(zhí)行過(guò)程中,按順序執(zhí)行的基本塊便可以看作是序列數(shù)據(jù)。

    服務(wù)器端程序運(yùn)行于網(wǎng)絡(luò)環(huán)境下,服務(wù)器響應(yīng)用戶請(qǐng)求的解釋型語(yǔ)言程序通常是動(dòng)態(tài)生成或用戶提交的,無(wú)法事先進(jìn)行編譯優(yōu)化處理,可以使用即時(shí)編譯技術(shù)提高程序執(zhí)行效率。同時(shí),服務(wù)器端程序具有并發(fā)執(zhí)行的特點(diǎn),并發(fā)執(zhí)行的解釋型程序可以看作是多個(gè)基本塊序列,通過(guò)對(duì)這些基本塊序列應(yīng)用序列模式挖掘,可以識(shí)別服務(wù)端程序中的熱點(diǎn)代碼序列,即熱點(diǎn)trace。服務(wù)器端的trace探測(cè)能夠利用服務(wù)器端并發(fā)的特點(diǎn),更為高效地識(shí)別trace,從而提升程序執(zhí)行效率,提高用戶請(qǐng)求的響應(yīng)速度。

    為了更好地識(shí)別服務(wù)器端程序中的熱點(diǎn)trace,提高服務(wù)器端程序的請(qǐng)求處理速度,本文提出了一種基于序列模式挖掘的trace探測(cè)方法,將并發(fā)執(zhí)行的服務(wù)器端程序產(chǎn)生的多個(gè)基本塊序列作為序列數(shù)據(jù)庫(kù),通過(guò)識(shí)別其中的序列模式來(lái)發(fā)現(xiàn)程序中的熱點(diǎn)trace,解決了現(xiàn)有的trace探測(cè)方法無(wú)法針對(duì)服務(wù)器端程序進(jìn)行高效探測(cè)的問(wèn)題。該方法主要分為基本塊數(shù)據(jù)準(zhǔn)備、序列模式挖掘和序列模式去重與合并三個(gè)部分,在序列模式挖掘部分設(shè)計(jì)并提出了Pisat算法,用于識(shí)別熱點(diǎn)trace。實(shí)驗(yàn)結(jié)果表明這種方法有效地提高了熱點(diǎn)trace的探測(cè)效率。

    1 相關(guān)工作

    1.1 基于trace的即時(shí)編譯

    基于trace的即時(shí)編譯是一種在運(yùn)行時(shí)動(dòng)態(tài)地識(shí)別出頻繁執(zhí)行的代碼序列,并將其作為編譯的基本單元的技術(shù)。第一個(gè)實(shí)現(xiàn)基于trace的即時(shí)編譯系統(tǒng)是Dynamo[1],它是一個(gè)能提高指令流執(zhí)行效率的動(dòng)態(tài)優(yōu)化系統(tǒng)。DynamoRIO[2]對(duì)Dynamo進(jìn)行了擴(kuò)展,它能夠動(dòng)態(tài)地減少解釋過(guò)程中的開銷,然而DynamoRIO的trace仍然在機(jī)器指令層面,沒有包含解釋器層面的高級(jí)信息,一些編譯優(yōu)化在這一層面也無(wú)法進(jìn)行。

    2006年,Gal等[3]開發(fā)了第一個(gè)針對(duì)高級(jí)語(yǔ)言的基于trace的虛擬機(jī)HotpathVM,它將字節(jié)碼作為探測(cè)對(duì)象。該虛擬機(jī)動(dòng)態(tài)地探測(cè)頻繁運(yùn)行的字節(jié)碼,將這些字節(jié)碼編譯為SSA(Static Single Assignment)作為中間表示,并將其翻譯為機(jī)器碼。

    H?ubl等[4]基于HotSpot虛擬機(jī),開發(fā)基于trace的即時(shí)編譯系統(tǒng)。但該解決方案不能跨越函數(shù),trace都很短小,節(jié)約了探測(cè)和編譯的時(shí)間,但增大了環(huán)境切換的開銷。

    2015年,陶勝召等[5]提出了基于trace的CMinus語(yǔ)言即時(shí)編譯技術(shù),在該技術(shù)中,CMinus程序經(jīng)過(guò)詞法分析和語(yǔ)法分析之后得到抽象語(yǔ)法樹,并按照一定的規(guī)則將其轉(zhuǎn)換為基本塊流圖。解釋執(zhí)行將針對(duì)基本塊流圖進(jìn)行,在解釋執(zhí)行過(guò)程中,采用基于計(jì)數(shù)的熱點(diǎn)trace探測(cè)策略。雖然該研究較好地實(shí)現(xiàn)了基于trace的即時(shí)編譯技術(shù),但是對(duì)于trace的探測(cè)是針對(duì)程序的單次執(zhí)行,無(wú)法利用服務(wù)器端程序的運(yùn)行特點(diǎn)來(lái)高效進(jìn)行trace探測(cè)。

    1.2 序列模式挖掘

    設(shè)I={x1,x2,…,xn}為所有數(shù)據(jù)項(xiàng)的集合。元素e是由各種數(shù)據(jù)項(xiàng)組成的數(shù)據(jù)項(xiàng)集。序列s=就是若干元素的有序列表,元素之間是有順序的,但元素內(nèi)的數(shù)據(jù)項(xiàng)是無(wú)序的。設(shè)有兩個(gè)序列α=,β=,如果存在一組正整數(shù)1≤i1

    序列模式挖掘最早由R.Agrawal和R.Srikant在1995年提出,是數(shù)據(jù)挖掘一個(gè)重要的研究領(lǐng)域。經(jīng)典的靜態(tài)序列數(shù)據(jù)庫(kù)的序列模式挖掘算法主要有兩種類型。第一種是類apriori算法,例如:R.Agrawal和R.Srikant提出的AprioriAll算法、GSP算法[6];F.Masseglia等[7]提出的PSP算法;Zaki[8]提出的SPADE算法和J.Ayres[9]提出的SPAM算法,都需要?jiǎng)?chuàng)建候選集并多次掃描整個(gè)序列數(shù)據(jù)庫(kù)以得到序列模式。第二種是基于模式增長(zhǎng)的方法,例如FreeSpan算法[10]、PrefixSpan算法[11]等,這些算法在挖掘過(guò)程中不產(chǎn)生候選序列,通過(guò)分而治之的思想把搜索空間劃分成更小的空間,通過(guò)連接實(shí)現(xiàn)序列模式的增長(zhǎng)。

    在許多實(shí)際應(yīng)用中,數(shù)據(jù)通常是動(dòng)態(tài)變化的,傳統(tǒng)的靜態(tài)序列數(shù)據(jù)庫(kù)的序列模式挖掘算法難以適用于這種情況。Huang等[12]提出了漸進(jìn)式序列模式挖掘算法Pisa,支持在挖掘過(guò)程中對(duì)序列數(shù)據(jù)庫(kù)進(jìn)行增加和刪除。Pisa算法的基本思想是構(gòu)造一棵PS-tree,來(lái)保存滑動(dòng)窗口內(nèi)的序列信息。在PS-tree中,節(jié)點(diǎn)代表了序列中的元素,其數(shù)據(jù)結(jié)構(gòu)如圖1所示。Pisa算法根據(jù)序列數(shù)據(jù)庫(kù)中新到來(lái)的數(shù)據(jù)和PS-tree中記錄的序列id和時(shí)間戳,逐步地更新PS-tree節(jié)點(diǎn)。同一序列中先后出現(xiàn)的元素,在PS-Tree中表現(xiàn)為父子節(jié)點(diǎn)關(guān)系,作為候選序列模式。PS-tree不僅存儲(chǔ)了序列中的元素和時(shí)間戳,而且有效地計(jì)算了每個(gè)候選序列模式的發(fā)生頻率。雖然Pisa算法解決了數(shù)據(jù)動(dòng)態(tài)變化的問(wèn)題,但該算法在識(shí)別序列模式的過(guò)程中忽略了同一序列中的頻繁子序列,并且在序列數(shù)據(jù)庫(kù)Db只包含一條序列時(shí)無(wú)法正常工作。

    圖1 PS-Tree一般節(jié)點(diǎn)

    2 基于序列模式挖掘的trace探測(cè)

    設(shè)所有的基本塊對(duì)象的集合為I={x1,x2,…,xn},數(shù)據(jù)項(xiàng)xi(1≤i≤n)為基本塊ID。元素e代表某一時(shí)刻執(zhí)行的基本塊集合。程序執(zhí)行產(chǎn)生的序列s=是一系列不斷到來(lái)的基本塊的集合。設(shè)有兩個(gè)序列α=、β=,如果存在一組正整數(shù)1≤i1

    在解釋執(zhí)行每個(gè)基本塊時(shí)都會(huì)觸發(fā)如圖2所示的trace探測(cè)執(zhí)行過(guò)程,如果解釋執(zhí)行遇到的基本塊已經(jīng)編譯,直接執(zhí)行已編譯版本。如果解釋執(zhí)行遇到的基本塊未被編譯,則進(jìn)行解釋執(zhí)行并收集基本塊(數(shù)據(jù)準(zhǔn)備)。收集一定數(shù)量的基本塊后利用序列模式挖掘的方法識(shí)別trace,并進(jìn)行trace編譯。

    圖2 trace探測(cè)執(zhí)行流程

    基于序列模式挖掘的trace探測(cè)主要分為3個(gè)步驟,分別是數(shù)據(jù)準(zhǔn)備、序列模式挖掘算法和序列模式的去重與合并。數(shù)據(jù)準(zhǔn)備階段接收解釋器發(fā)送來(lái)的基本塊數(shù)據(jù),并轉(zhuǎn)換為序列數(shù)據(jù)庫(kù),序列數(shù)據(jù)庫(kù)作為序列模式挖掘算法的輸入生成序列模式,通過(guò)序列模式生成熱點(diǎn)trace返回并請(qǐng)求即時(shí)編譯系統(tǒng)編譯trace。

    2.1 數(shù)據(jù)準(zhǔn)備階段

    數(shù)據(jù)準(zhǔn)備工作在基于序列模式挖掘的trace探測(cè)任務(wù)中所占的工作量比較大,是保證數(shù)據(jù)挖掘成功先決條件,主要工作有基本塊數(shù)據(jù)采集和通過(guò)數(shù)據(jù)預(yù)處理生成序列數(shù)據(jù)庫(kù)。若有表1中的示例程序和如圖3所示的按照基本塊轉(zhuǎn)換規(guī)則生成的基本塊流圖,數(shù)據(jù)準(zhǔn)備工作就是針對(duì)程序執(zhí)行過(guò)程中產(chǎn)生的這些基本塊進(jìn)行的。

    表1 示例程序

    圖3 基本塊流圖

    數(shù)據(jù)準(zhǔn)備階段負(fù)責(zé)收集服務(wù)器端程序執(zhí)行過(guò)程中產(chǎn)生的基本塊數(shù)據(jù)。每次程序執(zhí)行對(duì)應(yīng)一個(gè)基本塊數(shù)據(jù)緩沖區(qū),緩沖區(qū)具有固定長(zhǎng)度,程序解釋執(zhí)行過(guò)程中發(fā)送基本塊數(shù)據(jù)到對(duì)應(yīng)的緩沖區(qū)中,以固定的時(shí)間間隔將緩沖區(qū)中的數(shù)據(jù)轉(zhuǎn)換為序列數(shù)據(jù)庫(kù)發(fā)送至序列模式挖掘模塊。緩沖區(qū)中只保留最近一個(gè)時(shí)間間隔的基本塊數(shù)據(jù),當(dāng)基本塊數(shù)據(jù)個(gè)數(shù)大于緩沖區(qū)大小時(shí)舊的基本塊數(shù)據(jù)將會(huì)溢出,其中基本塊數(shù)據(jù)包括基本塊標(biāo)識(shí)、執(zhí)行基本塊的程序的標(biāo)識(shí)等信息。處理所有緩沖區(qū)中的數(shù)據(jù),按照基本塊產(chǎn)生的順序轉(zhuǎn)換生成基本塊序列數(shù)據(jù)庫(kù),為了實(shí)現(xiàn)方便,設(shè)置同一時(shí)刻的基本塊集合只包含一個(gè)基本塊?;緣K序列數(shù)據(jù)庫(kù)是序列模式挖掘的輸入數(shù)據(jù)。由于在程序執(zhí)行過(guò)程中基本塊的解釋執(zhí)行存在先后關(guān)系,所以整個(gè)序列數(shù)據(jù)庫(kù)也按照邏輯上的時(shí)間先后關(guān)系創(chuàng)建。

    本文采用CMinus語(yǔ)言作為基于序列模式挖掘的trace探測(cè)的中間語(yǔ)言,使任何可以翻譯為CMinus的程序設(shè)計(jì)語(yǔ)言都能利用本文提供的技術(shù)提升效率。以表1中程序?yàn)槔?,?dāng)程序輸入數(shù)據(jù)為5 947,且有3個(gè)程序?qū)嵗谕瑫r(shí)執(zhí)行,也就是3條基本塊序列S1、S2和S3??梢陨扇绫?所示的序列數(shù)據(jù)庫(kù)。

    表2 序列數(shù)據(jù)庫(kù)

    2.2 序列模式挖掘算法

    我們提出了一種序列模式挖掘算法Pisat(Progressive Mining of Sequential Patterns for Trace),用來(lái)識(shí)別基本塊序列數(shù)據(jù)庫(kù)中的序列模式。Pisat算法改進(jìn)了Pisa算法,使其支持單序列的序列模式挖掘,并修改了子序列頻繁程度的判定方法。

    2.2.1 PST-tree

    PST-tree通過(guò)存儲(chǔ)序列數(shù)據(jù)庫(kù)中各序列的信息來(lái)幫助Pisat算法識(shí)別序列模式。PST-tree是一顆多叉樹,父子節(jié)點(diǎn)表示同一序列中元素出現(xiàn)的先后關(guān)系。與PS-tree一樣,PST-tree也分為根節(jié)點(diǎn)和一般節(jié)點(diǎn),除根節(jié)點(diǎn)外的所有其他節(jié)點(diǎn)都是普通節(jié)點(diǎn)。根節(jié)點(diǎn)只包含指向其孩子節(jié)點(diǎn)的指針。一般節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)如圖4所示,存儲(chǔ)了三種信息,節(jié)點(diǎn)的標(biāo)簽(label),序列列表(seq_list),以及序列列表中每個(gè)序列id(sequenceID)對(duì)應(yīng)的時(shí)間戳集合(timestampSet)。時(shí)間戳集合表示同一個(gè)元素多次出現(xiàn),Pisat算法通過(guò)時(shí)間戳集合解決了pisa算法無(wú)法有效識(shí)別同一序列中序列模式,以及單一序列無(wú)法識(shí)別序列模式的問(wèn)題。

    labelsequenceID…sequenceIDtimestampSet…timestampSet

    圖4 PST-tree一般節(jié)點(diǎn)結(jié)構(gòu)

    2.2.2 Pisat算法

    Pisat算法利用PST-Tree存儲(chǔ)所有序列的信息,Pisat算法接收最新時(shí)刻的所有序列的元素,后序遍歷PST-Tree并更新PST-Tree信息,直到?jīng)]有新的元素到來(lái)。遍歷PST-Tree的算法如表3所示,其主要思想是將新到來(lái)的元素插入到PST-Tree中。后序遍歷PST-Tree過(guò)程中,如果處理的是根節(jié)點(diǎn),對(duì)于新到來(lái)的元素,如表2(t1)時(shí)刻序列S1,S2和S3對(duì)應(yīng)的元素E,E和B,如果該元素之前出現(xiàn)過(guò),即新到來(lái)的元素中的基本塊id與根節(jié)點(diǎn)的某個(gè)孩子節(jié)點(diǎn)標(biāo)簽一致,那么檢查新到來(lái)元素的所屬序列是否在該孩子節(jié)點(diǎn)的序列列表中,如果存在,算法為節(jié)點(diǎn)中該序列添加一個(gè)當(dāng)前時(shí)間戳,表示多次出現(xiàn),如果不存在,算法為節(jié)點(diǎn)中序列列表添加這個(gè)序列,并對(duì)應(yīng)當(dāng)前時(shí)間戳。如果新到來(lái)的元素之前沒有出現(xiàn)過(guò),算法為新到來(lái)的元素創(chuàng)建一個(gè)新的孩子節(jié)點(diǎn),包含其所屬序列和當(dāng)前時(shí)間戳。處理一般節(jié)點(diǎn)時(shí),如果新到來(lái)元素所屬序列在節(jié)點(diǎn)的序列列表中,并且新到來(lái)元素不存在于根節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)的路徑上,開始處理一般節(jié)點(diǎn),過(guò)程類似于對(duì)根節(jié)點(diǎn)的處理。處理完一般節(jié)點(diǎn)之后,如果節(jié)點(diǎn)的序列列表長(zhǎng)度不小于支持度閾值support1×|Db|或者節(jié)點(diǎn)中某個(gè)序列對(duì)應(yīng)的所有時(shí)間戳數(shù)量不小于支持度閾值support2時(shí),根節(jié)點(diǎn)到該節(jié)點(diǎn)的候選序列模式為序列模式,support2是新增加的支持度閾值,目的是幫助算法識(shí)別同一序列中的序列模式。

    算法1traverse

    輸入: 當(dāng)前時(shí)間戳ct

    需要遍歷的PST-Tree PS

    新到來(lái)的所有序列的元素集合ES

    序列數(shù)量sn

    支持度1 support1

    支持度2 support2

    輸出:序列模式集合SP

    算法traverse

    1. foreach n of PS in post order

    2. if(n is root)

    3. foreach e of every seq in ES

    4. if(e==label of one of node.child)

    5. if(seq is in n.child.seq_list)

    //添加時(shí)間戳

    6. addTimestamp(n.child, seq, ct)

    7. else

    //創(chuàng)建序列

    8. createSeq(n.child, seq, ct)

    9. else

    //創(chuàng)建孩子節(jié)點(diǎn)

    10. createNode(n, e, seq, ct)

    11. else

    //節(jié)點(diǎn)是一般節(jié)點(diǎn)

    12. foreach seq in n.seq_list

    13. if(e=hasNewEle(ES, seq) && isNotOnPathFromRoot(e, n))

    //ES中seq序列有新元素e,且e不在從根節(jié)點(diǎn)開始的路//徑上

    14. if(e==label of one of node.child)

    15. if(seq is in n.child.seq_list)

    //添加時(shí)間戳

    16. addTimestamp(n.child, seq, getLatestTimestamp(n,seq))

    17. else

    //創(chuàng)建序列

    18. createSeq(n.child, seq,getLatestTimestamp(n, seq))

    19. else

    //創(chuàng)建孩子節(jié)點(diǎn)

    20. createNode(n, e, seq, getLatestTimestamp(n, seq))

    21. if(節(jié)點(diǎn)n的序列列表中序列數(shù)量≥sn*support1‖n.seq_list中某序列對(duì)應(yīng)的所有時(shí)間戳數(shù)量≥support2)

    22. 根節(jié)點(diǎn)到該節(jié)點(diǎn)的標(biāo)簽作為序列模式,收集序列模式至集合SP

    輔助函數(shù):

    addTimestamp(n, seq, ts): 為節(jié)點(diǎn)n的seq序列添加一個(gè)時(shí)間戳ts

    createSeq(n, seq, ts): 為節(jié)點(diǎn)n創(chuàng)建一個(gè)sequenceID為seq且對(duì)應(yīng)時(shí)間戳為ts的序列

    createNode(n, e, seq, ts): 為節(jié)點(diǎn)n創(chuàng)建一個(gè)label為e的子節(jié)點(diǎn),包含一個(gè)sequenceID為seq且時(shí)間戳為ts的序列

    hasNewEle(ES, seq): ES中seq序列是否存在新元素,存在則返回新到來(lái)的元素e

    isNotOnPathFromRoot(e, n): 元素e包含的基本塊是否不在n到root的路徑上

    getLatestTimestamp(n, seq): 返回節(jié)點(diǎn)n中seq序列對(duì)應(yīng)的時(shí)間戳集合中,最新的時(shí)間戳

    如果有如表1所示的CMinus程序及轉(zhuǎn)換成的基本塊序列數(shù)據(jù)庫(kù)表2,可以對(duì)應(yīng)如圖5所示的建樹過(guò)程,若support1設(shè)置為1.5,support2設(shè)置為2,在(t5)時(shí)刻最左側(cè)的標(biāo)簽為C的節(jié)點(diǎn),其序列列表長(zhǎng)度

    圖5 建樹過(guò)程

    2.3 模式合并

    挖掘得到的序列模式是程序中頻繁執(zhí)行的基本塊,但可能存在序列模式之間互相包含、有部分相同的情況,需要進(jìn)行一些去重與合并的處理,將處理后的序列模式作為trace發(fā)送至即時(shí)編譯系統(tǒng)。如果不進(jìn)行模式的去重與合并,會(huì)導(dǎo)致重復(fù)的trace被多次編譯,增加編譯開銷。對(duì)序列模式的處理包含以下幾種情況:

    1) 當(dāng)前序列模式包含其他已存在的序列模式,則將已存在的序列模式合并至當(dāng)前序列模式。

    2) 已存在的序列模式包含當(dāng)前序列模式,則將當(dāng)前序列模式合并至已存在的序列模式。

    3) 已存在的序列模式包含當(dāng)前序列模式的一部分,且起點(diǎn)一致,則將當(dāng)前序列模式去重合并到已存在的序列模式中。

    如圖 5所示PST-Tree中,若support1設(shè)置為0.5,support2設(shè)置為2,可以識(shí)別出序列模式SP1:{B,C,E}和SP2:{C,E,B},對(duì)SP2中的元素按照基本塊id排序后為{B,C,E},與SP1一致,將SP2合并至SP1:{B,C,E},對(duì)序列模式進(jìn)行去重與合并之后可以有效地減少需要編譯的trace數(shù)量。

    3 實(shí) 驗(yàn)

    本文使用CMinus程序作為即時(shí)編譯系統(tǒng)的輸入,輸出是計(jì)算后的結(jié)果。首先對(duì)服務(wù)器端響應(yīng)用戶請(qǐng)求的CMinus語(yǔ)言程序進(jìn)行分析并生成基本塊流圖,生成基本塊流圖之后,即可對(duì)基本塊進(jìn)行解釋執(zhí)行。解釋執(zhí)行過(guò)程中,不斷將處理的基本塊發(fā)送至服務(wù)器端共用的基于序列模式挖掘的trace探測(cè)器。trace探測(cè)器識(shí)別的trace存放至trace集合,并通知JIT編譯器編譯trace。編譯完成后如解釋器再運(yùn)行到熱點(diǎn)trace,即可直接運(yùn)行編譯好的代碼。

    為了驗(yàn)證本文提出的基于序列模式挖掘的trace探測(cè)方法的性能,實(shí)現(xiàn)了一個(gè)即時(shí)編譯系統(tǒng),并設(shè)計(jì)了一組實(shí)驗(yàn)程序來(lái)比較基于計(jì)數(shù)的熱點(diǎn)trace探測(cè)策略與基于序列模式挖掘的熱點(diǎn)trace探測(cè)方法的效率。測(cè)試環(huán)境為:Windows 10操作系統(tǒng),Intel(R) Core(TM) i5-4590 CPU@3.30 GHz,8.00 GB內(nèi)存,2 000 GB硬盤。開發(fā)環(huán)境為IntelliJ IEDA+jdk1.8。

    本文在實(shí)驗(yàn)中使用的測(cè)試程序均為自定義用例,測(cè)試程序中包含了循環(huán)與分支等情況,并分別測(cè)試了程序在基于計(jì)數(shù)的熱點(diǎn)探測(cè)策略與基于序列模式挖掘的trace探測(cè)方法,比較識(shí)別第一條trace的耗時(shí)。識(shí)別第一條trace的耗時(shí)代表著trace探測(cè)策略效率的高低,trace探測(cè)策略的效率決定基于trace的即時(shí)編譯技術(shù)的優(yōu)化效果。

    第一組測(cè)試程序如表3所示,圖6為測(cè)試結(jié)果,在程序只有單重循環(huán)的情況下,程序1-程序5無(wú)分支語(yǔ)句或只有一層分支語(yǔ)句,基于計(jì)數(shù)的策略耗時(shí)遠(yuǎn)小于基于序列模式挖掘的策略。程序6具有兩層分支語(yǔ)句,基于計(jì)數(shù)的策略耗時(shí)略高于基于序列模式挖掘的策略。程序7具有四層分支語(yǔ)句,基于計(jì)數(shù)的策略耗時(shí)遠(yuǎn)高于基于序列模式挖掘的策略。在程序具有雙重循環(huán)的情況下,程序8、程序9無(wú)分支語(yǔ)句,基于計(jì)數(shù)的策略耗時(shí)大于單重循環(huán)的情況,但仍小于基于序列模式的策略。程序10-程序13具有一層或兩層分支語(yǔ)句,基于計(jì)數(shù)的策略耗時(shí)接近或高于基于序列模式挖掘策略。在程序具有三重循環(huán)的情況下,程序14無(wú)分支語(yǔ)句,基于計(jì)數(shù)的策略耗時(shí)小于基于序列模式挖掘策略。程序15具有一層分支語(yǔ)句,基于計(jì)數(shù)的策略耗時(shí)略高于基于序列模式挖掘策略。

    表3 第一組測(cè)試程序

    圖6 識(shí)別第一條trace消耗的時(shí)間

    為了更好地分析識(shí)別第一條trace的耗時(shí)與程序結(jié)構(gòu)的關(guān)系,本文設(shè)計(jì)了如表4所示的第二組實(shí)驗(yàn)。測(cè)試結(jié)果如圖7所示,程序在循環(huán)嵌套層數(shù)一定的情況下,基于計(jì)數(shù)的策略耗時(shí)隨著分支語(yǔ)句嵌套層數(shù)的增加而增加,而基于序列模式挖掘的策略耗時(shí)相對(duì)穩(wěn)定,一般情況下,基于序列模式挖掘的策略比基于計(jì)數(shù)的策略在效率上有所提升。

    表4 第二組測(cè)試程序

    圖7 識(shí)別第一條trace消耗的時(shí)間

    實(shí)驗(yàn)結(jié)果表明:分支語(yǔ)句嵌套層數(shù)固定時(shí),循環(huán)嵌套層數(shù)越多,基于計(jì)數(shù)的策略耗時(shí)越多。在循環(huán)層數(shù)固定時(shí),程序內(nèi)分支語(yǔ)句的嵌套層數(shù)越多,基于計(jì)數(shù)的策略耗時(shí)越多,而基于序列模式挖掘的策略耗時(shí)相對(duì)穩(wěn)定,可以帶來(lái)效率上的提升。

    4 結(jié) 語(yǔ)

    為了更高效地識(shí)別服務(wù)器端程序的熱點(diǎn)trace,本文提出了一種基于序列模式挖掘的trace探測(cè)方法,解決了現(xiàn)有的trace探測(cè)方法無(wú)法針對(duì)服務(wù)器端程序進(jìn)行高效探測(cè)的問(wèn)題。本方法收集程序解釋執(zhí)行過(guò)程中的基本塊,并轉(zhuǎn)換為基本塊序列數(shù)據(jù)庫(kù),以固定的時(shí)間間隔發(fā)送至序列模式挖掘模塊。針對(duì)基本塊序列的特點(diǎn),本文提出并使用Pisat算法作為序列模式挖掘模塊的核心算法。為了減少編譯開銷,本方法對(duì)識(shí)別出的序列模式進(jìn)行去重與合并作為熱點(diǎn)trace,最后對(duì)熱點(diǎn)trace進(jìn)行編譯。

    通過(guò)實(shí)驗(yàn)證明,程序復(fù)雜程度足夠高時(shí),該方法與基于計(jì)數(shù)的熱點(diǎn)trace探測(cè)方法相比,切實(shí)有效地提高了trace識(shí)別的效率。在今后的工作中,我們將對(duì)針對(duì)trace探測(cè)的序列模式算法Pisat進(jìn)行并行優(yōu)化,以期進(jìn)一步提高trace探測(cè)效率。

    猜你喜歡
    基本塊服務(wù)器端程序
    基于級(jí)聯(lián)森林的控制流錯(cuò)誤檢測(cè)優(yōu)化算法
    距離與權(quán)重相結(jié)合的導(dǎo)向式灰盒模糊測(cè)試方法
    一種檢測(cè)控制流錯(cuò)誤的多層分段標(biāo)簽方法
    試論我國(guó)未決羈押程序的立法完善
    淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
    成功(2018年10期)2018-03-26 02:56:14
    “程序猿”的生活什么樣
    英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
    在Windows中安裝OpenVPN
    創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
    網(wǎng)頁(yè)防篡改中分布式文件同步復(fù)制系統(tǒng)
    水蜜桃什么品种好| 精品午夜福利在线看| 成人黄色视频免费在线看| 一区二区三区精品91| 日本色播在线视频| 欧美日韩福利视频一区二区| 欧美人与性动交α欧美精品济南到| 欧美日韩一级在线毛片| 国产成人欧美在线观看 | 亚洲国产毛片av蜜桃av| 国产精品免费视频内射| 热99国产精品久久久久久7| 狂野欧美激情性bbbbbb| 一区福利在线观看| 一级,二级,三级黄色视频| 久久久久国产一级毛片高清牌| 精品国产国语对白av| 另类精品久久| 国产成人精品福利久久| 国产精品秋霞免费鲁丝片| 青春草亚洲视频在线观看| 最近的中文字幕免费完整| 国产精品香港三级国产av潘金莲 | 最新在线观看一区二区三区 | 美女国产高潮福利片在线看| 午夜免费观看性视频| 国产成人精品无人区| e午夜精品久久久久久久| 高清不卡的av网站| 亚洲国产精品国产精品| 亚洲欧美精品自产自拍| 国产97色在线日韩免费| 国产老妇伦熟女老妇高清| 在线观看人妻少妇| 满18在线观看网站| 夫妻午夜视频| 97人妻天天添夜夜摸| 日本欧美视频一区| 天天躁夜夜躁狠狠久久av| 成人三级做爰电影| 狂野欧美激情性bbbbbb| 国产精品二区激情视频| 又大又黄又爽视频免费| 成人影院久久| 午夜福利影视在线免费观看| 激情视频va一区二区三区| 久久国产精品男人的天堂亚洲| kizo精华| 亚洲中文av在线| 老汉色av国产亚洲站长工具| 成人免费观看视频高清| 亚洲七黄色美女视频| 久久精品亚洲av国产电影网| 国产成人免费观看mmmm| 亚洲情色 制服丝袜| 精品少妇内射三级| 女性被躁到高潮视频| 亚洲精品在线美女| 国产成人系列免费观看| 亚洲,欧美,日韩| 免费女性裸体啪啪无遮挡网站| 欧美精品一区二区免费开放| 中国三级夫妇交换| av天堂久久9| 日本欧美国产在线视频| 日韩精品免费视频一区二区三区| 在线看a的网站| 在线观看三级黄色| 美女国产高潮福利片在线看| 亚洲,欧美,日韩| 亚洲天堂av无毛| 日本av手机在线免费观看| 丝袜在线中文字幕| 99国产综合亚洲精品| 国产成人免费观看mmmm| 日韩 亚洲 欧美在线| 久热这里只有精品99| 久久久久久久久久久久大奶| 国产精品免费大片| 久久久久久免费高清国产稀缺| 亚洲在久久综合| 午夜av观看不卡| 观看美女的网站| 18禁动态无遮挡网站| 19禁男女啪啪无遮挡网站| 美女主播在线视频| 我要看黄色一级片免费的| 一个人免费看片子| 视频在线观看一区二区三区| 日本av手机在线免费观看| 午夜精品国产一区二区电影| 欧美激情高清一区二区三区 | 久久毛片免费看一区二区三区| 亚洲人成电影观看| 91精品伊人久久大香线蕉| 国产在线一区二区三区精| 大陆偷拍与自拍| 99热网站在线观看| 久久久久精品性色| 不卡视频在线观看欧美| 亚洲av成人精品一二三区| 一级毛片我不卡| 欧美av亚洲av综合av国产av | 国产精品久久久久久久久免| 狠狠婷婷综合久久久久久88av| 各种免费的搞黄视频| 99久国产av精品国产电影| 亚洲精品久久成人aⅴ小说| 亚洲精品久久久久久婷婷小说| 成人漫画全彩无遮挡| 欧美成人精品欧美一级黄| videosex国产| 最新在线观看一区二区三区 | 啦啦啦啦在线视频资源| 看免费成人av毛片| av又黄又爽大尺度在线免费看| 午夜激情av网站| 亚洲精华国产精华液的使用体验| 免费在线观看黄色视频的| 嫩草影院入口| 另类亚洲欧美激情| 在线观看免费午夜福利视频| 美国免费a级毛片| 国产免费又黄又爽又色| 街头女战士在线观看网站| 一二三四中文在线观看免费高清| 天天影视国产精品| 国产熟女欧美一区二区| 制服诱惑二区| 亚洲av成人精品一二三区| 国产男人的电影天堂91| 精品一区二区三区av网在线观看 | 一本大道久久a久久精品| 在线亚洲精品国产二区图片欧美| 国产精品国产av在线观看| 欧美激情高清一区二区三区 | 亚洲av在线观看美女高潮| 亚洲,欧美,日韩| 久久免费观看电影| 国产精品人妻久久久影院| 精品少妇内射三级| 黄色 视频免费看| 一本一本久久a久久精品综合妖精| av网站免费在线观看视频| 久久久久国产一级毛片高清牌| 高清欧美精品videossex| 日韩欧美一区视频在线观看| 日本一区二区免费在线视频| a 毛片基地| 国产成人一区二区在线| 欧美日韩福利视频一区二区| a级毛片黄视频| 午夜福利,免费看| 久久这里只有精品19| 国产片特级美女逼逼视频| 免费在线观看完整版高清| 99热国产这里只有精品6| 欧美人与性动交α欧美软件| 在线精品无人区一区二区三| 中文精品一卡2卡3卡4更新| 久久久久国产精品人妻一区二区| 黄色视频不卡| 成人国产av品久久久| 大陆偷拍与自拍| 国产亚洲午夜精品一区二区久久| 免费黄网站久久成人精品| 中文字幕另类日韩欧美亚洲嫩草| 91老司机精品| 少妇精品久久久久久久| 国产一区二区三区av在线| 亚洲国产欧美网| 美女午夜性视频免费| 欧美日韩成人在线一区二区| 婷婷色综合www| 赤兔流量卡办理| 别揉我奶头~嗯~啊~动态视频 | 伦理电影免费视频| 日日啪夜夜爽| 亚洲美女黄色视频免费看| 亚洲国产欧美网| 午夜免费观看性视频| 国产黄频视频在线观看| 免费日韩欧美在线观看| 精品少妇黑人巨大在线播放| 国产成人欧美在线观看 | 久久毛片免费看一区二区三区| 中文字幕人妻熟女乱码| 久久久久国产精品人妻一区二区| 国产有黄有色有爽视频| 日韩成人av中文字幕在线观看| 亚洲成人免费av在线播放| 日韩av不卡免费在线播放| 久久精品久久精品一区二区三区| 欧美变态另类bdsm刘玥| 最新在线观看一区二区三区 | 老鸭窝网址在线观看| 黑人欧美特级aaaaaa片| 日本欧美视频一区| 国产麻豆69| av女优亚洲男人天堂| 捣出白浆h1v1| 一边亲一边摸免费视频| 嫩草影视91久久| a级毛片在线看网站| 91精品国产国语对白视频| 亚洲成人免费av在线播放| 丝袜人妻中文字幕| 老司机深夜福利视频在线观看 | 亚洲精品久久成人aⅴ小说| 婷婷色综合大香蕉| 久久人人爽人人片av| 久久精品人人爽人人爽视色| 激情五月婷婷亚洲| 国产亚洲av片在线观看秒播厂| 国产黄色免费在线视频| 在现免费观看毛片| 女人久久www免费人成看片| 大片电影免费在线观看免费| 亚洲国产精品国产精品| 美女主播在线视频| 丰满饥渴人妻一区二区三| 中文字幕人妻丝袜制服| av卡一久久| 蜜桃在线观看..| 亚洲伊人久久精品综合| 天堂俺去俺来也www色官网| 免费女性裸体啪啪无遮挡网站| 久久久久久久久免费视频了| 两个人免费观看高清视频| 极品人妻少妇av视频| 少妇人妻精品综合一区二区| 美女脱内裤让男人舔精品视频| 在线观看国产h片| 新久久久久国产一级毛片| 国产黄频视频在线观看| 一级a爱视频在线免费观看| 久久精品人人爽人人爽视色| 亚洲精品久久午夜乱码| 蜜桃在线观看..| 亚洲成国产人片在线观看| 啦啦啦啦在线视频资源| 国产黄色免费在线视频| 老司机深夜福利视频在线观看 | 国产不卡av网站在线观看| 亚洲伊人久久精品综合| 中文字幕制服av| 麻豆av在线久日| 色播在线永久视频| 大香蕉久久网| 日本av手机在线免费观看| 精品一品国产午夜福利视频| 十分钟在线观看高清视频www| 国产精品国产三级国产专区5o| 中文字幕人妻丝袜制服| 欧美日韩国产mv在线观看视频| 亚洲第一青青草原| 伦理电影免费视频| 欧美黑人精品巨大| 中文精品一卡2卡3卡4更新| 久久人人97超碰香蕉20202| 十八禁人妻一区二区| 亚洲精品国产av成人精品| 高清视频免费观看一区二区| av天堂久久9| 国产免费又黄又爽又色| 中国三级夫妇交换| 男女午夜视频在线观看| 操出白浆在线播放| 欧美日韩亚洲高清精品| 国产黄频视频在线观看| 王馨瑶露胸无遮挡在线观看| 午夜免费观看性视频| 色精品久久人妻99蜜桃| 日本猛色少妇xxxxx猛交久久| 午夜福利影视在线免费观看| 极品少妇高潮喷水抽搐| 天堂中文最新版在线下载| 国产亚洲午夜精品一区二区久久| 建设人人有责人人尽责人人享有的| 国产在线视频一区二区| 亚洲一级一片aⅴ在线观看| 欧美精品亚洲一区二区| kizo精华| 久久精品久久久久久噜噜老黄| 亚洲国产最新在线播放| 一级爰片在线观看| 日韩一本色道免费dvd| av国产精品久久久久影院| 亚洲伊人色综图| 一级毛片黄色毛片免费观看视频| 男女边吃奶边做爰视频| 亚洲精品中文字幕在线视频| 午夜福利免费观看在线| xxx大片免费视频| 亚洲精品在线美女| 国产黄频视频在线观看| 亚洲熟女毛片儿| 午夜福利网站1000一区二区三区| 老司机亚洲免费影院| 老司机影院毛片| 久久97久久精品| 午夜福利,免费看| 男女高潮啪啪啪动态图| 秋霞伦理黄片| 日本猛色少妇xxxxx猛交久久| 亚洲成人免费av在线播放| 又大又黄又爽视频免费| 久久人人97超碰香蕉20202| 午夜av观看不卡| 韩国av在线不卡| 欧美在线一区亚洲| 9热在线视频观看99| 欧美日韩一区二区视频在线观看视频在线| 国产在视频线精品| 精品国产露脸久久av麻豆| 色视频在线一区二区三区| 国产不卡av网站在线观看| 欧美中文综合在线视频| 人妻 亚洲 视频| 各种免费的搞黄视频| 亚洲国产精品国产精品| 日日撸夜夜添| tube8黄色片| 午夜老司机福利片| 亚洲av成人不卡在线观看播放网 | 天天操日日干夜夜撸| av电影中文网址| 老司机影院毛片| 美女福利国产在线| 午夜福利免费观看在线| netflix在线观看网站| 黄色一级大片看看| 美女福利国产在线| 成人亚洲欧美一区二区av| 美女福利国产在线| 久久国产精品大桥未久av| 黄色毛片三级朝国网站| 亚洲中文av在线| 一区二区三区四区激情视频| 成年人免费黄色播放视频| 丰满迷人的少妇在线观看| 午夜免费观看性视频| 久久久国产一区二区| 国产精品久久久av美女十八| 精品久久蜜臀av无| 精品视频人人做人人爽| 欧美少妇被猛烈插入视频| 久久狼人影院| 国产激情久久老熟女| 美女中出高潮动态图| 亚洲免费av在线视频| 新久久久久国产一级毛片| 菩萨蛮人人尽说江南好唐韦庄| 嫩草影视91久久| 亚洲欧美成人综合另类久久久| 三上悠亚av全集在线观看| 国产极品天堂在线| 一级黄片播放器| 亚洲精品自拍成人| 性色av一级| 在线观看免费日韩欧美大片| 亚洲av综合色区一区| 免费人妻精品一区二区三区视频| 亚洲精品中文字幕在线视频| 一区在线观看完整版| xxx大片免费视频| 在线观看人妻少妇| 啦啦啦在线观看免费高清www| tube8黄色片| 国产一区亚洲一区在线观看| 美女中出高潮动态图| 久久久国产一区二区| 亚洲国产看品久久| 国产视频首页在线观看| 欧美人与善性xxx| 日韩成人av中文字幕在线观看| 国产探花极品一区二区| 欧美日韩视频高清一区二区三区二| 欧美老熟妇乱子伦牲交| 看免费av毛片| 国产精品.久久久| 91精品伊人久久大香线蕉| 日韩熟女老妇一区二区性免费视频| 少妇猛男粗大的猛烈进出视频| 国产在线免费精品| 国产成人a∨麻豆精品| 久久久久久久久久久免费av| 99九九在线精品视频| 人人妻人人澡人人爽人人夜夜| 久久 成人 亚洲| 亚洲中文av在线| 亚洲婷婷狠狠爱综合网| 男女之事视频高清在线观看 | 激情视频va一区二区三区| 欧美精品一区二区免费开放| 国产欧美日韩一区二区三区在线| 久久久精品国产亚洲av高清涩受| 精品亚洲成a人片在线观看| 亚洲精品乱久久久久久| 日韩一区二区视频免费看| 丰满乱子伦码专区| 亚洲在久久综合| 啦啦啦视频在线资源免费观看| 成人亚洲精品一区在线观看| 9191精品国产免费久久| 亚洲av日韩在线播放| 国产老妇伦熟女老妇高清| 电影成人av| 精品少妇一区二区三区视频日本电影 | 亚洲天堂av无毛| 中文字幕亚洲精品专区| 亚洲欧美成人综合另类久久久| 日日啪夜夜爽| 2018国产大陆天天弄谢| 黄片小视频在线播放| 日本爱情动作片www.在线观看| www.av在线官网国产| 一二三四中文在线观看免费高清| 精品国产乱码久久久久久男人| 老司机亚洲免费影院| 久久久久久久久久久久大奶| 久久久精品区二区三区| 日韩不卡一区二区三区视频在线| 欧美精品高潮呻吟av久久| 色综合欧美亚洲国产小说| 男女无遮挡免费网站观看| 精品一区在线观看国产| 欧美日本中文国产一区发布| 亚洲婷婷狠狠爱综合网| 国产成人精品无人区| 久久久久国产精品人妻一区二区| 成人黄色视频免费在线看| 熟妇人妻不卡中文字幕| 成年女人毛片免费观看观看9 | 欧美黑人欧美精品刺激| 亚洲成人手机| 制服丝袜香蕉在线| 亚洲欧美激情在线| 中文字幕人妻熟女乱码| 丝袜喷水一区| 免费av中文字幕在线| 欧美激情 高清一区二区三区| 亚洲 欧美一区二区三区| 老司机影院毛片| 欧美国产精品va在线观看不卡| 一级,二级,三级黄色视频| 啦啦啦啦在线视频资源| 精品一区二区免费观看| 巨乳人妻的诱惑在线观看| 精品一区在线观看国产| 岛国毛片在线播放| av电影中文网址| av视频免费观看在线观看| 看非洲黑人一级黄片| 日韩一区二区三区影片| 免费观看av网站的网址| 精品少妇内射三级| 岛国毛片在线播放| 国产成人av激情在线播放| 亚洲精华国产精华液的使用体验| 国产精品免费大片| 美女午夜性视频免费| 国产精品人妻久久久影院| 国产亚洲精品第一综合不卡| 亚洲伊人久久精品综合| 狠狠精品人妻久久久久久综合| 只有这里有精品99| 亚洲五月色婷婷综合| 一级片免费观看大全| 曰老女人黄片| 高清黄色对白视频在线免费看| 热99国产精品久久久久久7| 在线天堂最新版资源| 午夜91福利影院| 成人免费观看视频高清| 卡戴珊不雅视频在线播放| 美女高潮到喷水免费观看| 久久青草综合色| 国产精品.久久久| 午夜91福利影院| 中文字幕另类日韩欧美亚洲嫩草| 女人爽到高潮嗷嗷叫在线视频| 欧美激情高清一区二区三区 | 婷婷色综合大香蕉| 国产一区有黄有色的免费视频| 一级片'在线观看视频| 国产成人一区二区在线| 人妻人人澡人人爽人人| 美女大奶头黄色视频| 欧美成人精品欧美一级黄| 一本—道久久a久久精品蜜桃钙片| 国产精品久久久人人做人人爽| 日本av手机在线免费观看| 国产有黄有色有爽视频| 亚洲三区欧美一区| 亚洲国产av新网站| av视频免费观看在线观看| 亚洲精品av麻豆狂野| av.在线天堂| 亚洲三区欧美一区| 免费不卡黄色视频| 1024香蕉在线观看| 毛片一级片免费看久久久久| 一级片免费观看大全| 中文字幕亚洲精品专区| 一边亲一边摸免费视频| www.av在线官网国产| www日本在线高清视频| 只有这里有精品99| 久久久国产欧美日韩av| 亚洲欧洲精品一区二区精品久久久 | 91国产中文字幕| 新久久久久国产一级毛片| 激情五月婷婷亚洲| 波野结衣二区三区在线| 国产黄色视频一区二区在线观看| 亚洲一卡2卡3卡4卡5卡精品中文| 日韩视频在线欧美| 久久99热这里只频精品6学生| 欧美日韩亚洲综合一区二区三区_| 欧美精品亚洲一区二区| 午夜老司机福利片| 国产午夜精品一二区理论片| 精品卡一卡二卡四卡免费| 久久久亚洲精品成人影院| 自线自在国产av| 国产亚洲午夜精品一区二区久久| 久久久久久久久久久免费av| 国产精品免费视频内射| 日韩制服骚丝袜av| 国产午夜精品一二区理论片| 嫩草影院入口| 18在线观看网站| 97在线人人人人妻| www.熟女人妻精品国产| 午夜福利免费观看在线| 亚洲欧美日韩另类电影网站| 日日撸夜夜添| 成人午夜精彩视频在线观看| 亚洲情色 制服丝袜| 欧美日本中文国产一区发布| 嫩草影院入口| 免费女性裸体啪啪无遮挡网站| 亚洲欧美中文字幕日韩二区| 大香蕉久久成人网| 丝袜喷水一区| 精品少妇久久久久久888优播| 国产伦人伦偷精品视频| 男人爽女人下面视频在线观看| 国产精品久久久久久人妻精品电影 | 飞空精品影院首页| 中文精品一卡2卡3卡4更新| 两个人免费观看高清视频| 欧美久久黑人一区二区| videosex国产| 麻豆乱淫一区二区| 各种免费的搞黄视频| 国产探花极品一区二区| 久久久久精品性色| 久久这里只有精品19| 国产一卡二卡三卡精品 | 久久国产精品大桥未久av| 欧美成人午夜精品| 各种免费的搞黄视频| 国产一区二区三区综合在线观看| 下体分泌物呈黄色| 精品久久久久久电影网| 尾随美女入室| 欧美国产精品va在线观看不卡| 别揉我奶头~嗯~啊~动态视频 | 免费黄频网站在线观看国产| 精品一区二区三区av网在线观看 | 91精品伊人久久大香线蕉| 1024视频免费在线观看| 丁香六月天网| 日本av手机在线免费观看| 欧美精品一区二区大全| 免费黄网站久久成人精品| 成人影院久久| 51午夜福利影视在线观看| 如何舔出高潮| 免费av中文字幕在线| 国产精品av久久久久免费| 婷婷成人精品国产| 男女边吃奶边做爰视频| 99国产综合亚洲精品| 国产精品久久久久久精品古装| 精品午夜福利在线看| 伦理电影大哥的女人| 国产亚洲av高清不卡| 国产精品人妻久久久影院| 女人久久www免费人成看片| 久久人人爽人人片av| 可以免费在线观看a视频的电影网站 | 日韩av免费高清视频| 女性生殖器流出的白浆| 麻豆精品久久久久久蜜桃| 在线观看三级黄色| 亚洲成色77777| 另类精品久久| 亚洲欧洲日产国产| 国产av码专区亚洲av| 欧美成人精品欧美一级黄| 激情五月婷婷亚洲| 天堂中文最新版在线下载| 天天躁夜夜躁狠狠躁躁| 亚洲欧洲精品一区二区精品久久久 | 中国三级夫妇交换| 岛国毛片在线播放| 国产日韩欧美视频二区| 午夜激情久久久久久久| 国产成人精品在线电影| 久久久精品区二区三区| 欧美中文综合在线视频| 美女脱内裤让男人舔精品视频|