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

    批處理在內(nèi)存數(shù)據(jù)處理系統(tǒng)中的應(yīng)用

    2014-10-31 06:54:32薛忠斌
    關(guān)鍵詞:局部性批處理單元格

    周 烜, 薛忠斌

    (中國人民大學(xué) 數(shù)據(jù)工程與知識工程教育部重點實驗室,北京 100872)

    0 引 言

    內(nèi)存計算近年來在工業(yè)界和學(xué)術(shù)界都備受關(guān)注.隨著存儲技術(shù)和工藝的發(fā)展,內(nèi)存的容量幾乎以每年一倍的速度增長.如今的高端服務(wù)器已經(jīng)可以配備4TB甚至更高容量的內(nèi)存.在很多應(yīng)用領(lǐng)域,幾乎可以將全部業(yè)務(wù)數(shù)據(jù)放入內(nèi)存,從而明顯提升整個軟件系統(tǒng)的性能.可以推測,在不久的將來,基于磁盤的傳統(tǒng)數(shù)據(jù)庫系統(tǒng)將逐漸被內(nèi)存數(shù)據(jù)庫系統(tǒng)取代.對內(nèi)存數(shù)據(jù)庫而言,針對磁盤I/O的優(yōu)化策略將不再是系統(tǒng)設(shè)計的重點;如何提高內(nèi)存的訪問效率成為了提升系統(tǒng)性能的關(guān)鍵.

    眾所周知,CPU訪問內(nèi)存的速度遠遠滯后于CPU訪問寄存器的速度;CPU與內(nèi)存之間的多級緩存機制(即L1、L2、L3 Cache)成為緩解這一速度差異的主要機制.因此,為了提升內(nèi)存計算的性能,首先需要提升多級緩存的命中率.為了提升緩存命中率,就必須提升指令和數(shù)據(jù)訪問的局部性.近期的一些研究表明[14],在去除I/O瓶頸之后,傳統(tǒng)數(shù)據(jù)庫系統(tǒng)的指令和數(shù)據(jù)訪問局部性并不理想,存有較大優(yōu)化空間.這促使研究人員開始重新思考數(shù)據(jù)庫系統(tǒng)的設(shè)計方案.可以預(yù)見,代碼和內(nèi)存訪問的效率會成為今后數(shù)據(jù)庫系統(tǒng)研發(fā)的重點,并推動數(shù)據(jù)庫性能的進一步提升.

    本文著重探討用于提升內(nèi)存數(shù)據(jù)庫性能的一類策略 — 批處理優(yōu)化.常用于衡量數(shù)據(jù)庫性能的指標(biāo)包括響應(yīng)時間和吞吐率.除一些特殊領(lǐng)域外(如金融領(lǐng)域的自動交易),大部分領(lǐng)域?qū)憫?yīng)時間的要求并不十分苛刻,只要它能跟上用戶的反應(yīng)速度即可;而普通應(yīng)用往往對系統(tǒng)吞吐率的要求很高,希望系統(tǒng)能夠承受盡量多用戶帶來的高強度工作負(fù)載,從而獲取軟硬件的最佳性價比.當(dāng)內(nèi)存取代磁盤成為數(shù)據(jù)的主要存儲介質(zhì)后,系統(tǒng)的性能得到大幅提升,大大緩解了響應(yīng)時間方面的壓力,使得吞吐率成為了衡量系統(tǒng)性能的主要指標(biāo).批處理作為一種優(yōu)化系統(tǒng)吞吐率的常用方案就變得尤其有效.批處理優(yōu)化的主要目標(biāo)是將多個查詢請求合并,同時處理;一方面,如果多個請求共享公共的數(shù)據(jù)操作,合并后可以減少這些操作的重復(fù)調(diào)用,減輕系統(tǒng)的負(fù)載;另一方面,系統(tǒng)可以調(diào)整批處理作業(yè)的執(zhí)行次序,對位于同一區(qū)域的數(shù)據(jù)盡量一起訪問,對位于同一區(qū)域的代碼也盡量一并執(zhí)行,這有利于提高數(shù)據(jù)和指令的局部性,提升系統(tǒng)效率.雖然批處理優(yōu)化可能增加單個查詢的響應(yīng)時間,但能夠有效提升系統(tǒng)的吞吐率,這與內(nèi)存數(shù)據(jù)庫對吞吐率的偏重相契合.

    近年來的一些學(xué)術(shù)研究[3,5]已經(jīng)開始關(guān)注批處理在內(nèi)存數(shù)據(jù)庫中的應(yīng)用.ETH的系統(tǒng)團隊(System Team)開發(fā)的SharedDB系統(tǒng)和EPFL的數(shù)據(jù)庫團隊(DB Team)開發(fā)的StagedDB都是典型的例子.本文將對這些相關(guān)的研究成果作概要介紹,也提出一些作者本人對批處理優(yōu)化的初步思考.本文還將介紹一個將批處理優(yōu)化用于移動對象管理的案例,通過實際應(yīng)用對批處理優(yōu)化的有效性做初步驗證.

    1 相關(guān)研究

    批處理在傳統(tǒng)數(shù)據(jù)庫中已經(jīng)得到了一定程度的應(yīng)用.一個典型例子是數(shù)據(jù)庫的批量插入操作(用于將大量數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫).但類似的批處理操作與本文涉及的批處理優(yōu)化有所區(qū)別.前者是可被單獨調(diào)用的數(shù)據(jù)庫操作,后者則是對多個操作的整體優(yōu)化.傳統(tǒng)數(shù)據(jù)庫的查詢結(jié)果緩存和多查詢優(yōu)化更符合批處理優(yōu)化的模式.本節(jié)將對批處理優(yōu)化的一些已知方法做簡單的概括和分析.這些方法可以分為三大類:查詢結(jié)果緩存、多查詢優(yōu)化、分階段查詢處理.

    1.1 查詢結(jié)果緩存

    查詢結(jié)果緩存是數(shù)據(jù)庫系統(tǒng)的一項常見功能.當(dāng)某查詢執(zhí)行完畢并返回結(jié)果后,系統(tǒng)一般不急于丟棄查詢結(jié)果,而是先將其在緩存中保留一段時間;若用戶又提交相同的查詢,在不違背時效性的前提下,系統(tǒng)無需重新執(zhí)行查詢,可直接返回緩存的結(jié)果給用戶.對于數(shù)據(jù)訪問方式有限且用戶眾多的應(yīng)用,查詢結(jié)果緩存的優(yōu)化效果非常明顯.因此,幾乎所有的數(shù)據(jù)庫系統(tǒng)都不同程度地實現(xiàn)了查詢結(jié)果緩存的功能.

    查詢結(jié)果緩存可以有不同的實施粒度,各自的效果不同.最粗粒度的實施方法僅緩存整個查詢的最終結(jié)果;在這種粒度下,只有在用戶重復(fù)提交相同查詢時,緩存的結(jié)果才可以被重用.更細粒度的實施方法是將查詢的中間結(jié)果也一并緩存(中間結(jié)果可以是子查詢的結(jié)果,也可以是查詢計劃);當(dāng)后續(xù)查詢涉及相同的中間結(jié)果時,緩存中的內(nèi)容就可以被重用.此外,查詢結(jié)果的重用機制也有多種.最直接的重用機制要求用戶提交的查詢或子查詢與緩存中的查詢或子查詢完全一致,否則不執(zhí)行結(jié)果重用.更復(fù)雜的機制則將緩存中的查詢結(jié)果物化為視圖;當(dāng)用戶新提交的查詢與該物化視圖不完全一致,但被該視圖包含時,系統(tǒng)將新查詢改寫為可直接實施于該物化視圖的查詢,在一定程度上達到重用的目的.很明顯,以上的各種查詢結(jié)果緩存的實現(xiàn)方案各有優(yōu)缺點.簡單的方法可重用率低,復(fù)雜的方法本身也可能成為系統(tǒng)的負(fù)擔(dān).方案的執(zhí)行效率往往取決于應(yīng)用負(fù)載的特點.由于不同數(shù)據(jù)庫廠商的考慮不同,采取的實施方法也不盡相同.

    作為批處理優(yōu)化的一類方法,查詢結(jié)果緩存可以實現(xiàn)查詢之間相同數(shù)據(jù)訪問操作的重用,節(jié)省數(shù)據(jù)訪問和計算的開銷.這種方法同樣適用于內(nèi)存數(shù)據(jù)庫.然而,這種重用機制的粒度較粗(一般以查詢或子查詢?yōu)閱挝?,并無法達到指令級),并且不能針對性地提高指令和數(shù)據(jù)訪問的局部性.方法雖然簡單實用,但并不是一種徹底的批處理優(yōu)化方式.

    1.2 多查詢優(yōu)化

    相比查詢結(jié)果緩存,多查詢優(yōu)化(Multi-Query Optimization)[4]實現(xiàn)了更加徹底的查詢間的操作重用和資源共享.多查詢優(yōu)化更加符合批處理的模式,它并不逐個執(zhí)行用戶提交的查詢,而是先積累一批查詢后再對其進行統(tǒng)一執(zhí)行.通常,多查詢優(yōu)化會為若干查詢構(gòu)建一個統(tǒng)一的查詢計劃,通過執(zhí)行這個查詢計劃完成所有查詢.在統(tǒng)一的查詢計劃中,多個查詢公用的數(shù)據(jù)盡量做到一次性訪問,公用的代碼盡量做到一次性執(zhí)行,從而盡可能避免查詢間的重復(fù)工作.這種重用機制比查詢結(jié)果緩存機制粒度更細.

    傳統(tǒng)的多查詢優(yōu)化的研究成果并不多,其方法一般以優(yōu)化I/O操作為主,且只針對于只讀查詢.新近的一些研究則開始將多查詢優(yōu)化向內(nèi)存數(shù)據(jù)庫擴展,并且逐步納入了數(shù)據(jù)更新的操作.SharedDB[1,2,3]就是一個典型的實行多查詢優(yōu)化的內(nèi)存數(shù)據(jù)庫系統(tǒng).這一系統(tǒng)不僅僅實現(xiàn)了傳統(tǒng)多查詢優(yōu)化的計算資源共享,而且還納入了數(shù)據(jù)流的查詢方式 — 它根據(jù)應(yīng)用需求生成一個統(tǒng)一的查詢計劃,用于滿足應(yīng)用中遇到的所有查詢需求;這一查詢計劃常駐系統(tǒng),每次都被用于對若干查詢請求進行同時處理.圖1為SharedDB針對TPC-W應(yīng)用生成的一個查詢計劃,用于同時處理TPC-W中的若干查詢.

    實驗證明,多查詢優(yōu)化在某些情況下可以明顯提升系統(tǒng)的吞吐率.從理論上講,這種方式也有利于提升指令和數(shù)據(jù)訪問的局部性,從而提高CPU緩存的命中率.然而,現(xiàn)有研究成果對多查詢優(yōu)化中的操作重用問題探討得更多,對指令和數(shù)據(jù)局部性問題涉及得不多.另外,多查詢優(yōu)化如何合理地利用多核處理器,還是一個有待深入探討的問題.

    1.3 分階段查詢處理

    圖1 SharedDB針對TPC-W生成的查詢計劃(摘自文獻[3])Fig.1 Query plan generated by SharedDB for TPC-W

    傳統(tǒng)數(shù)據(jù)庫系統(tǒng)對單個查詢或事務(wù)的執(zhí)行是線性的.一個事務(wù)請求的執(zhí)行通常經(jīng)過多個階段,包括查詢解析、查詢優(yōu)化、以及查詢執(zhí)行過程中的選擇、投影、連接等多個操作.傳統(tǒng)數(shù)據(jù)庫一般使用單線程依次執(zhí)行這些階段,執(zhí)行完畢后立即將結(jié)果返回給用戶.這種執(zhí)行方式的指令局部性和數(shù)據(jù)訪問局部性都是有限的,并不能很好地發(fā)揮CPU緩存的效率.而分階段查詢處理則將事務(wù)執(zhí)行的多個階段分配給不同的模塊,每個模塊享有獨占的CPU和內(nèi)存資源.這樣,事務(wù)執(zhí)行的過程不再是絕對線性的,而是將任務(wù)分配給各個模塊;當(dāng)所有模塊完成任務(wù)后,事務(wù)即執(zhí)行完畢.每個模塊可以自行決定任務(wù)的執(zhí)行方式,可以按照先進先出的方式順序執(zhí)行,也可以將多個任務(wù)按批處理的方式執(zhí)行.總之,分階段查詢處理的方式有利于在模塊內(nèi)實現(xiàn)較高的指令和數(shù)據(jù)局部性.如果系統(tǒng)對模塊的資源分配是合理的,就可以獲得較高的緩存命中率和系統(tǒng)性能.分階段查詢處理雖然不是顯式的批處理優(yōu)化,但其使用的效果與批處理優(yōu)化相似,都涉及多個查詢的資源共享.

    分階段查詢處理的思想最早在CMU的StagedDB項目[5-7]中提出.該方法除了有助于提升指令和數(shù)據(jù)訪問的局部性之外,還具備模塊化、并行度高等優(yōu)點.雖然這些優(yōu)勢在理論上是成立的,但至今還沒有實際系統(tǒng)完整地采用這種方法.因此,分階段查詢處理的實現(xiàn)技術(shù)還需要進一步探索,它的實用性也有待檢驗.

    2 批處理優(yōu)化面對的基本問題

    從以上的相關(guān)研究成果,我們看到,批處理優(yōu)化對數(shù)據(jù)庫系統(tǒng)的性能提升可以歸結(jié)于兩個方面:首先,由于普通應(yīng)用對數(shù)據(jù)庫的訪問模式是相對單一的,在時序上相鄰的訪問請求往往共享一定的數(shù)據(jù)庫操作或中間結(jié)果;通過批處理優(yōu)化,我們可以讓不同的查詢和事務(wù)共享這些操作和中間結(jié)果,減少數(shù)據(jù)庫的工作量,提升系統(tǒng)效率;其次,通過使用批處理優(yōu)化,系統(tǒng)可以靈活調(diào)整程序執(zhí)行和數(shù)據(jù)訪問的順序,提高內(nèi)存訪問的局部性,提升緩存的利用率.批處理優(yōu)化對吞吐率的提升是明顯的,但會延長單個請求的響應(yīng)時間,因為每個查詢通常需要等待同一批查詢?nèi)客瓿珊蟛拍芊祷亟Y(jié)果.這一點也是制約批處理優(yōu)化應(yīng)用的主要因素.在內(nèi)存數(shù)據(jù)庫中,由于查詢和事務(wù)的響應(yīng)時間已經(jīng)被壓縮得很短,這就擴大了批處理優(yōu)化的應(yīng)用空間.因此,內(nèi)存數(shù)據(jù)庫適合更深入的批處理優(yōu)化.

    通過總結(jié)批處理優(yōu)化的相關(guān)技術(shù),我們認(rèn)為批處理優(yōu)化需要考慮以下問題:

    (1)查詢相似性:批處理優(yōu)化要求被同時處理的查詢或事務(wù)具有一定的相似性,否則就難以達到操作共享或提升內(nèi)存訪問局部性的效果.查詢和事務(wù)或者具有相似的數(shù)據(jù)訪問模式(使得查詢計劃或指令可以共享),或者它們會訪問相同或相鄰的數(shù)據(jù)(使得數(shù)據(jù)操作可以共享).如果查詢之間不具備以上的特性,批處理優(yōu)化只能在一定程度上提升程序的指令局部性,優(yōu)化效果有限.單一領(lǐng)域的應(yīng)用對數(shù)據(jù)庫的訪問模式有限,查詢之間一般具有較高的相似性,通常適合使用批處理優(yōu)化.但對于一些復(fù)雜應(yīng)用,由于其數(shù)據(jù)模式復(fù)雜且訪問方式多樣,查詢可能表現(xiàn)出較弱的相似性,不一定適合批處理優(yōu)化.

    (2)執(zhí)行順序改變帶來的影響:批處理優(yōu)化的核心步驟是改變原有的查詢或事務(wù)執(zhí)行次序,盡量將相同或相似的操作放在一起執(zhí)行,從而達到操作共享的目的并提升內(nèi)存訪問局部性.執(zhí)行順序的改變使得傳統(tǒng)數(shù)據(jù)庫系統(tǒng)的很多設(shè)計方案需要做出調(diào)整,比如鎖管理和并發(fā)控制的實現(xiàn)方法等,因為這些模塊大都是按照單事務(wù)單線程模式實現(xiàn)的.與此對應(yīng),系統(tǒng)的一些優(yōu)化技術(shù)也需做出相應(yīng)調(diào)整化.如何對整個系統(tǒng)進行改造以適應(yīng)批處理方式是批處理優(yōu)化的關(guān)鍵問題.

    (3)多核利用率:傳統(tǒng)數(shù)據(jù)庫系統(tǒng)在大多數(shù)情況下使用順序的事務(wù)執(zhí)行模式,并發(fā)事務(wù)通過操作系統(tǒng)的線程調(diào)度被自動分配到不同的處理核心,從而自然地實現(xiàn)了多核擴展(雖然這樣的多核擴展受到臨界資源的種種限制).當(dāng)使用批處理優(yōu)化后,這樣的多核擴展模式被打破,如何分配多核處理器資源,成為另一個關(guān)鍵問題.由于批處理可以比較自由地調(diào)整查詢和事務(wù)的執(zhí)行順序,這有利于系統(tǒng)減少臨界資源的競爭,從而獲取更高的多核擴展性.然而,如果系統(tǒng)不能有效地控制負(fù)載均衡,多核資源也難以獲得充分利用.部分使用批處理優(yōu)化的系統(tǒng)(如SharedDB和StagedDB)都給出了各自的多核并行方案.但這些方案都有待進一步驗證.

    我們認(rèn)為,任何批處理優(yōu)化方案都需要對以上問題做出回答,否則其優(yōu)化效果就難以得到保證.當(dāng)然,批處理優(yōu)化在具體實施時還會遇到其他各式問題,本文無法一一列舉.本文以空間移動物體數(shù)據(jù)管理為場景,對批處理優(yōu)化做一些初步嘗試,并匯報一些對該領(lǐng)域的研究可能有參考意義的實驗結(jié)果.

    3 批處理優(yōu)化一個應(yīng)用實例

    我們將批處理優(yōu)化應(yīng)用到移動對象查詢上.考慮與人群相關(guān)的移動對象,例如:手機用戶或者車輛.移動對象周期性地向中央服務(wù)器報告位置,更新各自的位置信息.為了方便描述,我們將每個移動對象當(dāng)做空間中的一個點,用OID進行標(biāo)識,其位置為二維歐氏空間中一個坐標(biāo)(X,Y).用戶對移動對象的查詢主要包括范圍查詢和KNN查詢兩類.我們著重考慮范圍查詢.一個范圍查詢一個矩形區(qū)域,通過區(qū)域的左下角坐標(biāo)(Xlow;Ylow)和右上角坐標(biāo)(Xhigh;Yhigh)定義.查詢結(jié)果為當(dāng)前落在查詢區(qū)域的移動對象.

    移動對象在空間內(nèi)自由移動,位置信息持續(xù)更新,范圍查詢持續(xù)不斷的到來.對移動對象管理系統(tǒng)而言,這些都是較高的負(fù)載.為了保證查詢的實時性,傳統(tǒng)的方法是在移動物體上建立高效的索引,既有利于快速更新,也能夠快速響應(yīng)查詢.然而,如此高性能的索引的設(shè)計難度是很大的.如果將移動對象信息完全存放在內(nèi)存中,批處理優(yōu)化則可以派上用場.

    3.1 批處理優(yōu)化的實施

    為了利用批處理優(yōu)化,將位置更新請求和范圍查詢請求看做兩個數(shù)據(jù)流,分別稱為更新流和查詢流.當(dāng)更新和查詢抵達時,系統(tǒng)并不立即對其做出響應(yīng),而是將它們緩存起來.當(dāng)一個時間窗口結(jié)束時,將所有緩存的更新以批處理的方式進行實施,然后再統(tǒng)一對緩存中的查詢進行應(yīng)答.只要保證時間窗口的大小滿足應(yīng)用對實時性的要求,就可以達到批處理優(yōu)化的效果.

    由于我們的方法未使用索引,位置更新的批處理實現(xiàn)很簡單,這里不再贅述.我們主要考慮對多個范圍查詢進行批處理應(yīng)答的方法.假設(shè)移動對象和查詢分別被存放在兩張表中,整個批處理過程可以通過對兩張表的一個連接操作完成.連接的結(jié)果是將移動對象與它們所滿足的查詢進行配對.空間對象連接算法的相關(guān)研究成果已經(jīng)非常豐富.參考這些研究成果,我們制定出以下的批處理方法.

    批處理方法分為三個階段.第一個階段為索引移動對象階段,創(chuàng)建一個臨時Grid索引結(jié)構(gòu),把移動對象用Grid進行索引.第二階段為索引查詢階段,用Grid結(jié)構(gòu)索引所有的查詢.經(jīng)過前兩個階段,對象和查詢分別映射到相應(yīng)的單元格中,在每個單元格中通過把移動對象和查詢執(zhí)行連接操作,得到查詢結(jié)果.

    圖2 連接算法示例Fig.2 DSJ example

    圖2為一個查詢示例,首先索引移動對象,對移動對象進行聚類操作.如圖2所示,對象O1和O2都位于格網(wǎng)索引的單元格(2,2)中,通過聚類操作,把兩個對象聚集在對象表的相鄰位置.然后處理查詢.對查詢進行聚類操作時,算法在查詢所涉及的每個單元格中保存一個副本,避免了執(zhí)行過程中,跨單元格訪問導(dǎo)致的cache miss.通過上面的兩步操作,完成對對象和查詢的聚類,提高了訪問查詢索引時數(shù)據(jù)的空間局部性,進而提高cache命中率.例如處理Q1后,接著處理Q2,則不會將單元格(2,2)中的數(shù)據(jù)從cache中替換出去,從而提高cache的命中率.

    3.2 并行方案

    對于對象和查詢的聚集操作,我們參考了文獻[8]中的多核并行方案,通過使用數(shù)據(jù)分布直方圖的方式,使操作可以充分并行執(zhí)行,發(fā)揮了多核的性能.執(zhí)行過程中對數(shù)據(jù)進行兩次順序掃描,避免了使用鎖機制,消除了執(zhí)行過程中空間競爭.對于連接操作,每個線程處理一個單元格的數(shù)據(jù),多個線程并行執(zhí)行,線程間不存在競爭,充分發(fā)揮了多核的性能.除了范圍查詢,這種方式也適用于KNN查詢,因為后者很容易從范圍查詢中得到結(jié)果.

    用來索引移動對象和查詢的Grid結(jié)構(gòu)中,每個單元格作為一個數(shù)組結(jié)構(gòu),被放在不同的內(nèi)存頁中.內(nèi)存頁頻繁的換入換出,保存虛擬內(nèi)存到物理內(nèi)存映射的頁表被保存在TLB中.文獻[13]指出,劃分會產(chǎn)生大量頁表,若頁表數(shù)量超過TLB size,查找過程中會產(chǎn)生TLB miss.因此,TLB size限定了劃分?jǐn)?shù)目的上限.我們在Grid索引創(chuàng)建過程中為了消除TLB miss,采用了層次Grid的方式.在第一層Grid中單元格的數(shù)目小于TLB size,消除了TLB miss.在構(gòu)建第二層Grid時,確保單元格中數(shù)據(jù)能夠完全放在內(nèi)存中,消除cache miss.

    當(dāng)Grid結(jié)構(gòu)構(gòu)建完成后,通過多線程并行執(zhí)行的方式,索引移動對象.移動對象被存儲在連續(xù)的數(shù)組中.在構(gòu)建索引時,充分考慮cache conscious特性,把位于相同單元格中的對象放在一起,減少后續(xù)調(diào)用時cache miss.

    通過前兩步操作,查詢和移動對象分別存放在對應(yīng)的單元格中,各個單元格中數(shù)據(jù)相互獨立,可以多線程并行執(zhí)行.在執(zhí)行過程中,采用round-robin的方式,每個線程處理一個單元格,把單元格中的對象和查詢執(zhí)行連接操作,最后把結(jié)果匯總.在單元格中連接運算,為計算密集型操作.對于連接運算,我們首先采用了傳統(tǒng)的算法:桶鏈連接算法(bucket-chaining-join)和嵌套循環(huán)連接(nested-loops-join)算法.桶鏈連接算法在文獻[13]中提出,其主要思路是把單個元組串聯(lián)形成一個桶結(jié)構(gòu),然后用數(shù)組位置作為指針(而不是內(nèi)存中實際的指針),通過這種方式提高內(nèi)存算法的效率.

    由于移動對象的用戶訪問方式單一,查詢的相似性高,適合使用批處理優(yōu)化.我們提出的批處理優(yōu)化方法使得系統(tǒng)在兩個方面獲得性能提升:首先,相鄰的移動對象和查詢被聚集到相同的Grid單元里,使得它們能夠共享大量計算和數(shù)據(jù)訪問操作,提升了內(nèi)存訪問的局部性;其次,更新的查詢之間的沖突被規(guī)避,使得程序可以充分利用多核并行提升效率.

    圖3 范圍查詢的劃分(左)和賦值(右)Fig.3 Partition and assignment for range query

    4 初步實驗結(jié)果

    4.1 數(shù)據(jù)集

    在實驗中,我們使用了基于德國實際路網(wǎng)生成的數(shù)據(jù)集.實際數(shù)據(jù)集中包含了整個德國的路網(wǎng),由3.8億個節(jié)點和4億個路段構(gòu)成,覆蓋641 km×864 km的面積.用開源的移動對象路徑生成器 MOTO[10]生成數(shù)據(jù).MOTO是在數(shù)據(jù)生成器Brinkhoff[9]的基礎(chǔ)上形成的.MOTO中采用了一個基于路網(wǎng)的對象布局方式,所有的移動對象都隨機分布在一個給定的路網(wǎng)中,設(shè)定的移動對象的最大車速Smax=60 m/s=216 km/h.數(shù)據(jù)生成器還按照現(xiàn)實中城市人口的分布進行了修改,一半的對象分布在5個主要的德國城市,因此能夠確保更新最頻繁的區(qū)域同時也是查詢最多的區(qū)域.

    我們的算法用C/C++實現(xiàn),用g++在最高的優(yōu)化等級下進行編譯.實驗運行在32核(4 Intel E5-2670@2.6GHz)的計算機上,使用了 SUSEOS 11 (64-bit)系統(tǒng),有256G RAM,片上的內(nèi)存被所有的線程共享.若無特別說明,所有的實驗都在32核中完成.

    4.2 批處理優(yōu)化的性能表現(xiàn)

    圖4中顯示不同數(shù)量的移動對象執(zhí)行500百萬個查詢時,查詢的響應(yīng)時間.橫坐標(biāo)表示移動對象的數(shù)量,縱坐標(biāo)為查詢的響應(yīng)時間.通過圖中可以發(fā)現(xiàn),隨著數(shù)據(jù)量的增加,查詢的響應(yīng)時間呈線性增長.在不同的移動對象的數(shù)據(jù)量下,所有查詢的響應(yīng)時間小于2秒.對于一般應(yīng)用而言,移動對象的數(shù)量都在百萬級別.即同時處理500萬的查詢,對大多數(shù)應(yīng)用而言,都可以獲得亞秒級的響應(yīng),完全可以應(yīng)對大部分用戶對響應(yīng)時間的要求.因此,移動對象應(yīng)用是非常適合使用批處理優(yōu)化的.

    圖4 查詢執(zhí)行時間Fig.4 The response time of range query

    圖5顯示了我們的批處理算法隨線程數(shù)增加吞吐量的變化趨勢.算法在對對象和查詢構(gòu)建索引時,通過建立數(shù)據(jù)分布直方圖,提前計算出對象所在位置,避免了線程間的空間競爭問題.同時,每個查詢所在單元格都保存一個副本.當(dāng)執(zhí)行連接操作時,通過round-robin的方式,每個線程處理一個單元格中的數(shù)據(jù),各個線程獨立執(zhí)行,避免了線程間的競爭.通過圖5可以看到,隨線程數(shù)的增加算法的吞吐量呈線性增長.當(dāng)超過系統(tǒng)的物理核數(shù)16時,算法的吞吐量仍緩慢增長.總之,算法對多核的利用是很充分的.

    圖5 多核擴展性Fig.5 The scalability of multi-core

    4.3 對比試驗

    我們進一步對比了批處理優(yōu)化和傳統(tǒng)非批處理方法的性能.對比對象為PGrid算法[12]和TwinGrid算法[11].兩者將數(shù)據(jù)完全存儲在內(nèi)存中,且都使用動態(tài)索引,是目前文獻中性能最好的算法.

    圖6對比了不同方法執(zhí)行一批查詢的響應(yīng)時間.通過圖中可以看出,當(dāng)執(zhí)行500個查詢時,TwinGrid算法的查詢總體響應(yīng)時間最長.在TwinGrid算法中,查詢和更新分別在兩個Grid結(jié)構(gòu)中,每隔一定的時間間隔,需要把write-store復(fù)制到read-store中,復(fù)制操作占用大量的時間.隨著查詢數(shù)量的增加,PGrid算法的查詢性能逐漸下降.PGrid算法中,查詢和更新在同一個Grid結(jié)構(gòu)中,為了避免沖突,查詢執(zhí)行過程中采用了加鎖機制,增加了查詢的處理時間.對于TwinGrid算法在執(zhí)行過程中,更新和查詢分別在兩個Grid結(jié)構(gòu)中,不存在沖突的問題.當(dāng)查詢數(shù)量增加時,其性能優(yōu)勢逐漸明顯.對于批處理優(yōu)化的方法,性能表現(xiàn)是最優(yōu)的,隨著查詢數(shù)量的增加,優(yōu)勢更加明顯.我們的批處理優(yōu)化采用了每次執(zhí)行一組查詢的方法,在執(zhí)行過程中,通過索引查詢的方式,增加了數(shù)據(jù)的局部性,實現(xiàn)查詢內(nèi)的并行,提高了算法的效率.

    圖6 更改查詢數(shù)量的性能表現(xiàn)Fig.6 Performance of changing the number of queries

    圖7中顯示了查詢范圍變化時,兩個算法的吞吐率表現(xiàn).隨著查詢范圍的增加,需要涉及到更多的單元格和對象,對索引的性能會有影響.圖7中看到,TwinGrid算法和PGrid算法隨著查詢范圍的增加,吞吐量保持平穩(wěn).批處理優(yōu)化方法隨著查詢范圍的增大,需要進行更多的比較,致使性能有所下降,但其吞吐量仍比TwinGrid算法和PGrid算法高一到兩個數(shù)量級.

    圖7 更改查詢范圍的性能表現(xiàn)Fig.7 Performance of changing the query range size of queries

    圖8顯示改變更新和查詢的比例,從2000∶1到1∶4時,PGrid算法、TwinGrid算法和批處理優(yōu)化方法在執(zhí)行過程中吞吐量變化.隨著查詢數(shù)量的不斷增加,需要進行更多的運算,三個算法的吞吐量都會下降.通過圖中可以看到,當(dāng)查詢增加時,PGrid算法的吞吐量下降更快.PGrid算法中采用鎖機制去保持?jǐn)?shù)據(jù)一致性,隨著查詢數(shù)量的增加,競爭更激烈,導(dǎo)致性能下降.TwinGrid算法在執(zhí)行過程中,查詢和更新分別在兩個結(jié)構(gòu)中,執(zhí)行過程中不存在沖突,提高了查詢的效率.批處理優(yōu)化方法采用每次處理一組查詢的方式,充分利用數(shù)據(jù)的局部性,提高了算法效率.批處理優(yōu)化方法將更新進行緩存,消除了查詢和更新過程中沖突.因此,當(dāng)大數(shù)據(jù)量下,查詢和更新大量涌入時,該方法也能保持較高的系統(tǒng)吞吐量.

    圖8 改變查詢更新比率的性能表現(xiàn)Fig.8 Performance of changing the query update rates of quering

    5 結(jié) 論

    當(dāng)使用內(nèi)存作為數(shù)據(jù)存儲設(shè)備后,數(shù)據(jù)管理系統(tǒng)擺脫了I/O操作的性能瓶頸,并且迎來了新的性能優(yōu)化空間.我們認(rèn)為,批處理優(yōu)化對于內(nèi)存數(shù)據(jù)庫而言是一種行之有效的優(yōu)化方法.本文以移動對象管理的案例,對批處理優(yōu)化在內(nèi)存數(shù)據(jù)管理中的應(yīng)用進行了初步探討和驗證.還總結(jié)了批處理優(yōu)化獲得性能提升的兩個基本途徑:操作共享和內(nèi)存訪問局部性.同時也分析了批處理優(yōu)化的適用范圍和實施過程中面臨的潛在問題.通過在移動對象管理上的一些初步實驗,我們發(fā)現(xiàn)批處理優(yōu)化可以帶來相當(dāng)明顯的性能提升.

    如何將批處理優(yōu)化應(yīng)用到通用的關(guān)系數(shù)據(jù)庫是一個更加復(fù)雜且更具有實用價值的問題.人們對此已經(jīng)做了一些初步探索,但還存在大量未解決的問題,也尚未出現(xiàn)完整的系統(tǒng)原型.我們認(rèn)為,批處理優(yōu)化將是一個會出現(xiàn)豐富實用成果的研究領(lǐng)域.

    [1] GIANNIKIS G,MAKRESHANSKI D,ALONSO G,et al.Shared workload optimization[C]//PVLDB2014,7(6):429-440.

    [2] GIANNIKIS G,MAKRESHANSKI D,ALONSO G,et al.DEMO:Workload optimization using sharedDB[C]//SIGMOD2013,New York,2013,USA,June 22-27:[s.n.]

    [3] GIANNIKIS G,ALONSO G,KOSSMANN D.SharedDB:Killing one thousand queries with one stone[C]//PVLDB,2012,5(6):526-537.

    [4] SELLIS T K.Multiple-Query Optimization[J].ACM Trans.Database Systems,1988,13(1):23-52.

    [5] HARIZOPOULOS S,AILAMAKI A.StagedDB:Designing Database Servers for Modern Hardware[J].IEEE Data Eng Bull,2005,28(2)pp.11-16.

    [6] HARIZOPOULOS S,SHKAPENYUK V,AILAMAKI A.QPipe:A simultaneously pipelined relational query engine[C]//Proceedings of the ACM SIGMOD International Conference on Management of Data,Baltimore,Maryland:[s.n.],2005:383-394.

    [7] HARIZOPOULOS S,AILAMAKI A.Improving instruction cache performance in OLTP[J].ACM Transactions on Database Systems,2006,31(3):887-920.

    [8] BALKESEN C,ALONSO G,TEUBNER J,et al.Main-memory hash joins on modern processor architectures[J].IEEE Transactions on Knowledge and Data Engineering(TKDE),2014.

    [9] BRINKHOFF T.A framework for generating network-based moving objects.GeoInformatica 6.2(2002):153-180.

    [10] DITTRICH J,BLUNSCHI L,VAZSALLES M A.Indexing moving objects using short-lived throwaway indexes.Advances in Spatial and Temporal Databases.Springer Berlin Heidelberg,2009.189-207.

    [11] ?IDLAUSKAS D.Thread-level parallel indexing of update intensive moving-object workloads.Advances in Spatial and Temporal Databases.Springer Berlin Heidelberg,2011.186-204.

    [12] ?IDLAUSKAS D,?ALTENIS S,CHRISTIAN S.JENSEN S.Parallel main-memory indexing for moving-object query and update workloads[C]//Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data.ACM,2012.

    [13] MANEGOLD S,BONCZ P A,KERSTEN M L.Optimizing main-memory join on modern hardware[J].IEEE Trans Knowl Data Eng,vol.14,no.4,pp.709-730,2002.

    [14] T?ZüN P,GOLD B,AILAMAKI A.(2013)OLTP in Wonderland-Where do cache misses come from in major OLTP components?[C]//Proceedings of the 9th International Workshop on Data Management on New Hardware,pp.8:1-8:6.

    猜你喜歡
    局部性批處理單元格
    基于MOLS 的最優(yōu)二元局部修復(fù)碼構(gòu)造*
    玩轉(zhuǎn)方格
    玩轉(zhuǎn)方格
    基于彈性網(wǎng)和直方圖相交的非負(fù)局部稀疏編碼
    淺談Excel中常見統(tǒng)計個數(shù)函數(shù)的用法
    西部皮革(2018年6期)2018-05-07 06:41:07
    基于PSD-BPA的暫態(tài)穩(wěn)定控制批處理計算方法的實現(xiàn)
    程序局部性的量化分析
    計算機工程(2013年1期)2013-09-29 05:19:56
    批處理天地.文件分類超輕松
    批處理天地.批量為文件更名(續(xù))
    金融危機前中國流動性過剩的性質(zhì)研究
    性欧美人与动物交配| 成人永久免费在线观看视频| 国产精品爽爽va在线观看网站| 9191精品国产免费久久| 香蕉久久夜色| 在线观看免费视频日本深夜| 97人妻精品一区二区三区麻豆| 日本与韩国留学比较| 久久久成人免费电影| 久久精品综合一区二区三区| 这个男人来自地球电影免费观看| 免费在线观看成人毛片| 成人一区二区视频在线观看| 欧美日韩瑟瑟在线播放| 欧美+亚洲+日韩+国产| 国产私拍福利视频在线观看| а√天堂www在线а√下载| 在线观看免费午夜福利视频| 级片在线观看| 在线a可以看的网站| 国产精品综合久久久久久久免费| 男女床上黄色一级片免费看| 禁无遮挡网站| 久久热在线av| 全区人妻精品视频| 18禁国产床啪视频网站| 欧美成人一区二区免费高清观看 | 国产高清videossex| 香蕉久久夜色| 国产三级在线视频| 极品教师在线免费播放| 99久久精品国产亚洲精品| 午夜精品一区二区三区免费看| 老熟妇乱子伦视频在线观看| avwww免费| 偷拍熟女少妇极品色| 最近在线观看免费完整版| 国产精品永久免费网站| av福利片在线观看| 亚洲美女视频黄频| 久久天躁狠狠躁夜夜2o2o| 国产单亲对白刺激| 日本熟妇午夜| 国产一区二区在线观看日韩 | 岛国在线免费视频观看| 色综合欧美亚洲国产小说| 一级毛片高清免费大全| 日韩欧美国产一区二区入口| or卡值多少钱| 99热6这里只有精品| 午夜精品一区二区三区免费看| 在线a可以看的网站| 国产一区二区在线观看日韩 | 18美女黄网站色大片免费观看| 欧美色欧美亚洲另类二区| 成人一区二区视频在线观看| 老熟妇仑乱视频hdxx| 免费电影在线观看免费观看| 高清毛片免费观看视频网站| 国产精品一区二区免费欧美| 不卡一级毛片| 哪里可以看免费的av片| 欧美日韩福利视频一区二区| 少妇的逼水好多| 1000部很黄的大片| 久久久久久国产a免费观看| 青草久久国产| 中文字幕久久专区| 欧美+亚洲+日韩+国产| 亚洲精品美女久久久久99蜜臀| 一本久久中文字幕| 亚洲欧美日韩高清在线视频| 免费在线观看影片大全网站| 久久久久久大精品| 日本黄色片子视频| 99国产精品一区二区三区| 最好的美女福利视频网| 精品免费久久久久久久清纯| 亚洲国产中文字幕在线视频| 黑人巨大精品欧美一区二区mp4| 亚洲片人在线观看| 99riav亚洲国产免费| 国产久久久一区二区三区| 不卡av一区二区三区| 此物有八面人人有两片| 亚洲九九香蕉| 成年女人毛片免费观看观看9| 久久精品国产综合久久久| 日韩人妻高清精品专区| 欧美性猛交╳xxx乱大交人| 久久这里只有精品19| 成人欧美大片| 日韩免费av在线播放| 19禁男女啪啪无遮挡网站| 成人性生交大片免费视频hd| 国产伦在线观看视频一区| 亚洲自拍偷在线| 亚洲av第一区精品v没综合| 91麻豆av在线| 久久香蕉精品热| 97超视频在线观看视频| 午夜激情福利司机影院| 在线十欧美十亚洲十日本专区| 精华霜和精华液先用哪个| 欧美zozozo另类| 亚洲国产中文字幕在线视频| av在线蜜桃| 国产午夜精品久久久久久| 无人区码免费观看不卡| 国内精品一区二区在线观看| 国产精品免费一区二区三区在线| 99久久国产精品久久久| 日韩精品中文字幕看吧| 日本精品一区二区三区蜜桃| 亚洲成a人片在线一区二区| 久久精品亚洲精品国产色婷小说| 久久久成人免费电影| 美女cb高潮喷水在线观看 | 噜噜噜噜噜久久久久久91| 97超级碰碰碰精品色视频在线观看| 欧美乱码精品一区二区三区| 久久婷婷人人爽人人干人人爱| 久久久久国内视频| 国产1区2区3区精品| 日韩精品青青久久久久久| 淫秽高清视频在线观看| 美女扒开内裤让男人捅视频| 国产一区二区三区视频了| 亚洲熟妇熟女久久| 女人被狂操c到高潮| 亚洲最大成人中文| 国产高清视频在线观看网站| 女警被强在线播放| 国产精品国产高清国产av| 九九久久精品国产亚洲av麻豆 | 国产乱人伦免费视频| 1024香蕉在线观看| 午夜激情欧美在线| 免费无遮挡裸体视频| 国产精品免费一区二区三区在线| 老司机午夜十八禁免费视频| 亚洲色图av天堂| 亚洲,欧美精品.| 国产精品美女特级片免费视频播放器 | 国产亚洲精品综合一区在线观看| 午夜a级毛片| 黄片大片在线免费观看| 久久久久免费精品人妻一区二区| 精品国产美女av久久久久小说| 男人和女人高潮做爰伦理| 99精品在免费线老司机午夜| 神马国产精品三级电影在线观看| 18美女黄网站色大片免费观看| 人妻丰满熟妇av一区二区三区| 嫩草影视91久久| 亚洲av第一区精品v没综合| www.熟女人妻精品国产| 97碰自拍视频| 麻豆av在线久日| 日韩大尺度精品在线看网址| 巨乳人妻的诱惑在线观看| 色精品久久人妻99蜜桃| 久久久久久久久中文| 欧美av亚洲av综合av国产av| 禁无遮挡网站| 超碰成人久久| 波多野结衣高清作品| x7x7x7水蜜桃| 国产精品亚洲一级av第二区| 欧美日韩中文字幕国产精品一区二区三区| 日本在线视频免费播放| 婷婷精品国产亚洲av在线| 国产成人精品无人区| 国产精品一区二区免费欧美| 一级a爱片免费观看的视频| 久久天躁狠狠躁夜夜2o2o| 成人一区二区视频在线观看| 精品国产三级普通话版| 在线免费观看不下载黄p国产 | 两性夫妻黄色片| 小蜜桃在线观看免费完整版高清| 国产精品久久久久久精品电影| 精品一区二区三区视频在线 | 搡老岳熟女国产| 国模一区二区三区四区视频 | 亚洲aⅴ乱码一区二区在线播放| xxx96com| 亚洲成人中文字幕在线播放| 国产精品美女特级片免费视频播放器 | 国产一区二区在线av高清观看| 狂野欧美激情性xxxx| 精品不卡国产一区二区三区| 91av网站免费观看| 免费观看精品视频网站| 亚洲美女视频黄频| 两人在一起打扑克的视频| av天堂中文字幕网| 久久中文字幕一级| 亚洲在线观看片| 午夜福利18| 欧美xxxx黑人xx丫x性爽| 中文字幕久久专区| 99久久精品热视频| 又爽又黄无遮挡网站| 亚洲国产高清在线一区二区三| 噜噜噜噜噜久久久久久91| 日本在线视频免费播放| 精品久久久久久,| 桃红色精品国产亚洲av| 国内精品一区二区在线观看| 国产精品爽爽va在线观看网站| 国产久久久一区二区三区| 精品电影一区二区在线| 久久久久国内视频| 欧美日韩瑟瑟在线播放| 嫩草影院精品99| 99久久成人亚洲精品观看| 大型黄色视频在线免费观看| 俺也久久电影网| 韩国av一区二区三区四区| 久久99热这里只有精品18| 99久久国产精品久久久| 国产午夜福利久久久久久| 香蕉丝袜av| 91老司机精品| 亚洲美女视频黄频| 又爽又黄无遮挡网站| 午夜福利在线观看免费完整高清在 | 99热这里只有是精品50| 亚洲欧美精品综合一区二区三区| 美女免费视频网站| 午夜亚洲福利在线播放| 18禁黄网站禁片免费观看直播| 中文字幕熟女人妻在线| 中文字幕精品亚洲无线码一区| 国产激情偷乱视频一区二区| 午夜福利高清视频| 他把我摸到了高潮在线观看| 日韩中文字幕欧美一区二区| 午夜免费观看网址| a级毛片在线看网站| 久久久久国产一级毛片高清牌| 国产av一区在线观看免费| 午夜福利在线观看免费完整高清在 | 动漫黄色视频在线观看| 欧美黑人欧美精品刺激| 男人的好看免费观看在线视频| 丰满人妻熟妇乱又伦精品不卡| av天堂中文字幕网| 久久中文看片网| 午夜福利视频1000在线观看| 精品一区二区三区av网在线观看| 动漫黄色视频在线观看| 一二三四社区在线视频社区8| 精品欧美国产一区二区三| 淫妇啪啪啪对白视频| 色哟哟哟哟哟哟| 国产成人福利小说| 国产成人av教育| 亚洲av片天天在线观看| 亚洲,欧美精品.| 婷婷丁香在线五月| 欧美+亚洲+日韩+国产| 成人无遮挡网站| 搡老熟女国产l中国老女人| 美女高潮喷水抽搐中文字幕| www.熟女人妻精品国产| 国产又色又爽无遮挡免费看| 国产麻豆成人av免费视频| 欧美日韩综合久久久久久 | 欧美最黄视频在线播放免费| 在线免费观看的www视频| 久久久国产成人精品二区| 两个人的视频大全免费| 桃红色精品国产亚洲av| 变态另类成人亚洲欧美熟女| 国产成人精品无人区| 亚洲av片天天在线观看| 国产精品日韩av在线免费观看| 亚洲欧洲精品一区二区精品久久久| 无遮挡黄片免费观看| 最近在线观看免费完整版| 亚洲精品一卡2卡三卡4卡5卡| 91av网站免费观看| 少妇的逼水好多| 99热只有精品国产| 午夜成年电影在线免费观看| 亚洲美女黄片视频| 成人性生交大片免费视频hd| 老汉色∧v一级毛片| 日本 欧美在线| 国产精品99久久久久久久久| 最近视频中文字幕2019在线8| 91老司机精品| 岛国视频午夜一区免费看| 熟女少妇亚洲综合色aaa.| 此物有八面人人有两片| 狂野欧美白嫩少妇大欣赏| 国产精品98久久久久久宅男小说| 91久久精品国产一区二区成人 | 国产精品亚洲一级av第二区| 免费人成视频x8x8入口观看| 99久久99久久久精品蜜桃| 国产精品一区二区三区四区久久| 男女那种视频在线观看| 宅男免费午夜| 最近最新中文字幕大全电影3| 一级a爱片免费观看的视频| x7x7x7水蜜桃| 日韩欧美 国产精品| 中国美女看黄片| 国产伦一二天堂av在线观看| 久久久精品欧美日韩精品| 啦啦啦观看免费观看视频高清| 在线永久观看黄色视频| 欧美中文综合在线视频| 午夜福利欧美成人| 成人亚洲精品av一区二区| 男人舔女人的私密视频| 成人性生交大片免费视频hd| 一进一出抽搐gif免费好疼| 性色avwww在线观看| 激情在线观看视频在线高清| 91在线精品国自产拍蜜月 | 美女大奶头视频| 老司机午夜十八禁免费视频| 欧美又色又爽又黄视频| 精品一区二区三区四区五区乱码| 国产三级中文精品| 亚洲人与动物交配视频| 日韩精品青青久久久久久| 午夜精品久久久久久毛片777| 亚洲中文字幕日韩| 高清毛片免费观看视频网站| 亚洲中文字幕日韩| 欧美xxxx黑人xx丫x性爽| 欧美不卡视频在线免费观看| 性色av乱码一区二区三区2| 成人精品一区二区免费| 九九热线精品视视频播放| 日日夜夜操网爽| 亚洲国产欧洲综合997久久,| 久久久精品大字幕| 亚洲国产欧洲综合997久久,| 脱女人内裤的视频| 国产黄a三级三级三级人| 午夜精品一区二区三区免费看| 1024香蕉在线观看| 九色国产91popny在线| 黄色女人牲交| 中文在线观看免费www的网站| 男女做爰动态图高潮gif福利片| 久久草成人影院| 欧美日本亚洲视频在线播放| 美女高潮的动态| 国产精品久久久久久亚洲av鲁大| 久久久久性生活片| 亚洲乱码一区二区免费版| 三级毛片av免费| 男人舔女人的私密视频| 女警被强在线播放| 亚洲av成人不卡在线观看播放网| 午夜精品久久久久久毛片777| 日本黄大片高清| 国产精华一区二区三区| 午夜福利在线观看免费完整高清在 | 99热只有精品国产| 欧美一级a爱片免费观看看| 美女高潮喷水抽搐中文字幕| 欧美一级a爱片免费观看看| 国产成年人精品一区二区| xxx96com| 久久久水蜜桃国产精品网| 亚洲在线观看片| 亚洲精品美女久久久久99蜜臀| 亚洲欧美日韩高清在线视频| 国产亚洲欧美在线一区二区| 亚洲国产欧美网| 久久精品综合一区二区三区| 中文资源天堂在线| 日本a在线网址| 日本熟妇午夜| 久久精品91无色码中文字幕| 成人特级黄色片久久久久久久| 给我免费播放毛片高清在线观看| 欧美一区二区精品小视频在线| 制服人妻中文乱码| 岛国视频午夜一区免费看| 久久久精品大字幕| 色综合站精品国产| 久久精品亚洲精品国产色婷小说| 69av精品久久久久久| 岛国在线观看网站| 亚洲精华国产精华精| 日本成人三级电影网站| 禁无遮挡网站| 亚洲 欧美 日韩 在线 免费| 国产成人精品无人区| 免费无遮挡裸体视频| 日日干狠狠操夜夜爽| 亚洲午夜精品一区,二区,三区| 岛国在线免费视频观看| 国产亚洲av高清不卡| 午夜免费激情av| 999久久久精品免费观看国产| 欧美成狂野欧美在线观看| 色哟哟哟哟哟哟| 操出白浆在线播放| 日本五十路高清| 欧美中文日本在线观看视频| 一区福利在线观看| 国产又黄又爽又无遮挡在线| 波多野结衣高清作品| 国产精品野战在线观看| 我要搜黄色片| 黄色日韩在线| 午夜精品在线福利| 欧美+亚洲+日韩+国产| 99久久精品国产亚洲精品| 亚洲欧美日韩无卡精品| 校园春色视频在线观看| 国产蜜桃级精品一区二区三区| 国产 一区 欧美 日韩| 深夜精品福利| 日韩欧美在线乱码| 亚洲精品中文字幕一二三四区| 日本熟妇午夜| 中亚洲国语对白在线视频| 亚洲电影在线观看av| 久久久国产成人免费| 此物有八面人人有两片| 精品午夜福利视频在线观看一区| 国产精品综合久久久久久久免费| 国产精品美女特级片免费视频播放器 | 中国美女看黄片| 国产极品精品免费视频能看的| 99在线视频只有这里精品首页| 又粗又爽又猛毛片免费看| 女人被狂操c到高潮| 国内揄拍国产精品人妻在线| 亚洲在线自拍视频| 久久久精品欧美日韩精品| 国产精品乱码一区二三区的特点| 免费看十八禁软件| 国内少妇人妻偷人精品xxx网站 | 在线免费观看的www视频| 99精品在免费线老司机午夜| 免费看美女性在线毛片视频| 国语自产精品视频在线第100页| 久久久久九九精品影院| 欧美+亚洲+日韩+国产| 狂野欧美激情性xxxx| 黄色女人牲交| 美女被艹到高潮喷水动态| 俄罗斯特黄特色一大片| 亚洲精品一卡2卡三卡4卡5卡| 两性夫妻黄色片| www.自偷自拍.com| 欧美一级毛片孕妇| 国产精品免费一区二区三区在线| 小蜜桃在线观看免费完整版高清| 国产高清有码在线观看视频| 国产精品久久久久久久电影 | 亚洲av片天天在线观看| 狠狠狠狠99中文字幕| 小说图片视频综合网站| 18禁黄网站禁片午夜丰满| 精品久久久久久,| 成人18禁在线播放| 国产一区二区激情短视频| 国产熟女xx| 91久久精品国产一区二区成人 | 久久久国产欧美日韩av| 精品久久久久久久久久久久久| 国产欧美日韩精品亚洲av| 韩国av一区二区三区四区| 免费人成视频x8x8入口观看| 我的老师免费观看完整版| 99久久精品国产亚洲精品| 精品国产三级普通话版| 成人一区二区视频在线观看| 日本a在线网址| 国产精品久久久久久久电影 | 好看av亚洲va欧美ⅴa在| 亚洲国产欧美一区二区综合| av在线蜜桃| 欧美黄色淫秽网站| 宅男免费午夜| 黑人操中国人逼视频| 老鸭窝网址在线观看| 免费在线观看影片大全网站| 亚洲精品456在线播放app | 亚洲一区二区三区不卡视频| 亚洲精品久久国产高清桃花| 男人舔奶头视频| 国产激情久久老熟女| 亚洲av成人av| 无限看片的www在线观看| 国模一区二区三区四区视频 | 精品久久久久久成人av| 国产欧美日韩精品亚洲av| 国产精品99久久久久久久久| 美女cb高潮喷水在线观看 | 黄色丝袜av网址大全| 国产一区二区在线av高清观看| 日本熟妇午夜| 亚洲欧美日韩高清专用| 亚洲国产精品999在线| 日韩欧美国产在线观看| 亚洲狠狠婷婷综合久久图片| 黄色成人免费大全| 国产麻豆成人av免费视频| 国产不卡一卡二| 亚洲欧美日韩高清在线视频| 性色av乱码一区二区三区2| 久久精品91蜜桃| 最新在线观看一区二区三区| 美女黄网站色视频| 国产伦在线观看视频一区| a在线观看视频网站| 久久久久亚洲av毛片大全| 色av中文字幕| 国产精品九九99| 久久久久国产精品人妻aⅴ院| 精品欧美国产一区二区三| 在线视频色国产色| 欧美一级a爱片免费观看看| 黄频高清免费视频| 国产极品精品免费视频能看的| 首页视频小说图片口味搜索| 久久久久久久久久黄片| 欧美绝顶高潮抽搐喷水| 毛片女人毛片| av国产免费在线观看| 亚洲在线自拍视频| 久久精品综合一区二区三区| 91在线观看av| 亚洲中文av在线| av欧美777| 级片在线观看| 十八禁网站免费在线| 小蜜桃在线观看免费完整版高清| 露出奶头的视频| netflix在线观看网站| 午夜福利免费观看在线| 老司机深夜福利视频在线观看| 国产成人精品无人区| av天堂中文字幕网| 午夜福利视频1000在线观看| 亚洲av中文字字幕乱码综合| 中文字幕av在线有码专区| 欧美黑人欧美精品刺激| 国产激情偷乱视频一区二区| 午夜亚洲福利在线播放| 免费av不卡在线播放| 亚洲欧美日韩高清专用| 人人妻,人人澡人人爽秒播| 亚洲精品456在线播放app | 嫩草影院精品99| 少妇熟女aⅴ在线视频| 在线观看午夜福利视频| 欧美日韩黄片免| 在线免费观看不下载黄p国产 | 精品久久久久久久末码| 九九在线视频观看精品| 久久久国产成人免费| 最好的美女福利视频网| 成人特级黄色片久久久久久久| 男人的好看免费观看在线视频| 国产高潮美女av| 97超级碰碰碰精品色视频在线观看| av国产免费在线观看| 在线播放国产精品三级| 日本精品一区二区三区蜜桃| 人人妻人人看人人澡| 搡老妇女老女人老熟妇| 亚洲欧美精品综合一区二区三区| 香蕉国产在线看| 久久欧美精品欧美久久欧美| 国产v大片淫在线免费观看| 免费av毛片视频| 国内精品久久久久精免费| 色综合站精品国产| 99国产精品一区二区三区| 免费看十八禁软件| 99久久久亚洲精品蜜臀av| 国产视频内射| 国产不卡一卡二| 男女那种视频在线观看| 成年女人永久免费观看视频| 搞女人的毛片| 亚洲精品久久国产高清桃花| 一区二区三区高清视频在线| 欧美黄色淫秽网站| 久久99热这里只有精品18| 国内精品久久久久精免费| 露出奶头的视频| 欧美日韩瑟瑟在线播放| 男人的好看免费观看在线视频| 欧美又色又爽又黄视频| 国产在线精品亚洲第一网站| 免费人成视频x8x8入口观看| 国产男靠女视频免费网站| 一级毛片女人18水好多| 麻豆av在线久日| 在线视频色国产色| 看片在线看免费视频| 日本一二三区视频观看| www日本黄色视频网| 亚洲av成人一区二区三| 精品欧美国产一区二区三| 九九久久精品国产亚洲av麻豆 | 欧美一区二区国产精品久久精品| 日韩中文字幕欧美一区二区| 校园春色视频在线观看|