日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Mars 是什么、能做什么、如何做的——记 Mars 在 PyCon China 2018 上的分享

發(fā)布時(shí)間:2024/8/23 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mars 是什么、能做什么、如何做的——记 Mars 在 PyCon China 2018 上的分享 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近,在 PyCon China 2018 的北京主會(huì)場(chǎng)、成都和杭州分會(huì)場(chǎng)都分享了我們最新的工作 Mars,基于矩陣的統(tǒng)一計(jì)算框架。本文會(huì)以文字的形式對(duì) PyCon 中國(guó)上的分享再進(jìn)行一次闡述。

聽到 Mars,很多第一次聽說(shuō)的同學(xué)都會(huì)靈魂三問(wèn):Mars 是什么,能做什么,怎么做的。今天我們就會(huì)從背景,以及一個(gè)例子出發(fā),來(lái)回答這幾個(gè)問(wèn)題。

背景

首先是 scipy 技術(shù)棧的全景圖,numpy 是基礎(chǔ),它提供了多維數(shù)組的數(shù)據(jù)結(jié)構(gòu),并提供了它上面的各種計(jì)算。再往上,重要的有 scipy,主要面向各種科學(xué)計(jì)算的操作;pandas,其中核心的概念是 DataFrame,他提供對(duì)表類型數(shù)據(jù)的處理、清洗等功能。往上一層,比較經(jīng)典的庫(kù),有 scikit-learn,它是最知名的機(jī)器學(xué)習(xí)框架之一。最上面一層,是各種垂直領(lǐng)域的庫(kù),如 astropy 主要面向天文,biopython 面向生物領(lǐng)域等。

從 scipy 技術(shù)棧可以看出,numpy 是一個(gè)核心的地位,大量上層的庫(kù)都使用了 numpy 的數(shù)據(jù)結(jié)構(gòu)和計(jì)算。

我們真實(shí)世界的數(shù)據(jù),并不只是表這種二維類型數(shù)據(jù)那么簡(jiǎn)單,很多時(shí)候,我們要面對(duì)的往往是多維數(shù)據(jù),比如我們常見的圖片處理,首先我們有圖片的個(gè)數(shù),然后有圖片的長(zhǎng)寬,以及 RGBA 通道,這就是四維的數(shù)據(jù);這樣的例子不勝枚舉。有這樣多維的處理能力,就有處理各種更加復(fù)雜,甚至是科學(xué)領(lǐng)域的能力;同時(shí),由于多維數(shù)據(jù)本身包含二維數(shù)據(jù),所以,我們也因此具備表類型數(shù)據(jù)的處理能力。

另外,如果我們需要探究數(shù)據(jù)的內(nèi)在,光靠對(duì)表數(shù)據(jù)進(jìn)行一些統(tǒng)計(jì)等操作是絕對(duì)不夠的,我們需要更深層的“數(shù)學(xué)” 的方法,比如運(yùn)用矩陣乘法、傅里葉變換等等的能力,來(lái)對(duì)數(shù)據(jù)進(jìn)行更深層次的分析。而 numpy 由于是數(shù)值計(jì)算的庫(kù),加上各種上層的庫(kù),我們認(rèn)為它們很適合用來(lái)提供這方面的能力。

為什么要做 Mars,從一個(gè)例子開始

那么,為什么要做 Mars 這個(gè)項(xiàng)目呢?我們不妨從一個(gè)例子來(lái)看。

我們?cè)噲D用蒙特卡洛方法來(lái)求解 pi,蒙特卡洛方法其實(shí)很簡(jiǎn)單,就是用隨機(jī)數(shù)的方法來(lái)解決特定的問(wèn)題。如圖,這里我們有個(gè)半徑為1的圓和邊長(zhǎng)為2的正方形,我們生成很多隨機(jī)點(diǎn)的方式,通過(guò)右下角的公式,我們就可以計(jì)算出 pi 的值為 4 乘以落在圓里點(diǎn)的個(gè)數(shù)除以總的點(diǎn)個(gè)數(shù)。隨機(jī)生成的點(diǎn)越多,計(jì)算出來(lái)的 pi 就越精確。

用純 Python 實(shí)現(xiàn)非常簡(jiǎn)單,我們只要遍歷 N 次,生成 x 和 y 點(diǎn),計(jì)算是不是落在圓內(nèi)即可。運(yùn)行1千萬(wàn)個(gè)點(diǎn),需要超過(guò)10秒的時(shí)間。

Cython 是常見加速 Python 代碼的方式,Cython 定義了 Python 語(yǔ)言的超集,把這個(gè)語(yǔ)言翻譯到 c/c++,然后再進(jìn)行編譯來(lái)加速執(zhí)行。這里,我們?cè)黾恿藥讉€(gè)變量的類型,可以看到比純 Python 提升了 40% 的性能。

Cython 現(xiàn)在已經(jīng)成為 Python 項(xiàng)目的標(biāo)配,核心的 Python 三方庫(kù)基本都使用 Cython 來(lái)加速 Python 代碼的性能。

我們這個(gè)例子里的數(shù)據(jù)都是一個(gè)類型,我們可以想到用專門的數(shù)值計(jì)算的庫(kù),通過(guò)矢量化的方式,能極快加速這個(gè)任務(wù)的性能。numpy 就是當(dāng)仁不讓的選擇了,使用 numpy,我們需要的是面向 array 的思維方式,我們應(yīng)當(dāng)減少使用循環(huán)。這里先用?numpy.random.uniform?來(lái)生成 N*2 的一個(gè)二維數(shù)組,然后?data ** 2?會(huì)對(duì)該數(shù)組里的所有數(shù)據(jù)做平方操作,然后?sum(axis=1)?,會(huì)對(duì) axis=1 也就是行方向上求和,這個(gè)時(shí)候,得到的是長(zhǎng)度為 N 的 vector,然后我們用?numpy.sqrt?來(lái)對(duì)這個(gè) vector 的每一個(gè)值求開方,<1 會(huì)得到一個(gè)布爾值的 vector,即每個(gè)點(diǎn)是不是都是落在圓里,最后接一個(gè) sum,就可以求出來(lái)總共的點(diǎn)的個(gè)數(shù)。初次上手 numpy 可能會(huì)不太習(xí)慣,但是用多了以后,就會(huì)發(fā)現(xiàn)這種寫法的方便,它其實(shí)是非常符合直覺的。

可以看到,通過(guò)使用 numpy,我們寫出了更簡(jiǎn)單的代碼,但是性能確大幅提升,比純 Python 的寫法性能提升超過(guò) 10 倍。

那么 numpy 的代碼還能夠優(yōu)化么,答案是肯定的,我們通過(guò)一個(gè)叫 numexpr 的庫(kù),來(lái)將 numpy 的多個(gè)操作合并成一個(gè)操作執(zhí)行,來(lái)加速 numpy 的執(zhí)行。

可以看到,通過(guò) numexpr 優(yōu)化的代碼,性能比純 Python 代碼提升超過(guò) 25 倍。

此時(shí)的代碼運(yùn)行已經(jīng)相當(dāng)快了,如果我們手上有 GPU,那么我們可以利用硬件來(lái)加速任務(wù)執(zhí)行。

這里必須要安利一個(gè)庫(kù),叫?cupy,他提供了和 numpy 一致的 API,通過(guò)簡(jiǎn)單的 import 替換,就能讓 numpy 代碼跑在英偉達(dá)的顯卡之上。

這時(shí)可以看到,性能大幅提升超過(guò) 270 倍。真的非常夸張了。

為了讓蒙特卡洛方法計(jì)算的結(jié)果更加精確,我們把計(jì)算量擴(kuò)大 1000 倍。會(huì)碰到什么情況呢?

沒錯(cuò),這就是大家不時(shí)碰到的,OutOfMemory,內(nèi)存溢出。更慘的是,在 jupyter 里,有時(shí)候內(nèi)存溢出導(dǎo)致進(jìn)程被殺,甚至?xí)?dǎo)致之前跑的全部結(jié)果都丟失。

蒙特卡洛方法還是比較容易處理的,我把問(wèn)題分解成 1000 個(gè),每個(gè)求解1千萬(wàn)數(shù)據(jù)就好了嘛,寫個(gè)循環(huán),做個(gè)匯總。但此時(shí),整個(gè)計(jì)算的時(shí)間來(lái)到了12分鐘多,太慢了。

此時(shí)我們會(huì)發(fā)現(xiàn),整個(gè)運(yùn)行過(guò)程中,其實(shí)只有一個(gè) CPU 在干活,其他核都在原地吆喝。那么,我們?cè)趺醋?numpy 并行化呢?

首先,numpy 里有一些操作是能并行的,比如 tensordot 來(lái)做矩陣乘法,其他大部分操作都不能利用多核。那么,要將 numpy 并行化,我們可以:

  • 采用多線程/多進(jìn)程編寫任務(wù)
  • 分布式化
  • 蒙特卡洛方法算 pi 改寫成多線程和多進(jìn)程實(shí)現(xiàn)還是非常容易的,我們寫一個(gè)函數(shù)來(lái)處理1千萬(wàn)的數(shù)據(jù),我們把這個(gè)函數(shù)通過(guò) concurrent.futures 的 ThreadPoolExecutor 和 ProcessPoolExecutor 來(lái)分別提交函數(shù) 1000 遍用多線程和多進(jìn)程執(zhí)行即可。可以看到性能能提升到 2倍和3倍。

    但是呢,蒙特卡洛求解 pi 本身就很容易手寫并行,考慮更復(fù)雜的情況。

    import numpy as npa = np.random.rand(100000, 100000) (a.dot(a.T) - a).std()

    這里創(chuàng)建了 10萬(wàn)*10萬(wàn)的矩陣 a,輸入就有大概 75G,我們拿 a 矩陣乘 a 的轉(zhuǎn)置,再減去 a 本身,最終求標(biāo)準(zhǔn)差。這個(gè)任務(wù)的輸入數(shù)據(jù)就很難塞進(jìn)內(nèi)存,后續(xù)的手寫并行就更加困難。

    這里問(wèn)題就引出來(lái)了,我們需要什么樣框架呢?

  • 提供熟悉的接口,像 cupy 這樣,通過(guò)簡(jiǎn)單的 import 替換,就能讓原來(lái) numpy 寫的代碼并行。
  • 具備可擴(kuò)展性。小到單機(jī),也可以利用多核并行;大到一個(gè)很大的集群,支持上千臺(tái)機(jī)器的規(guī)模來(lái)一起分布式處理任務(wù)。
  • 支持硬件加速,支持用 GPU 等硬件來(lái)加速任務(wù)執(zhí)行。
  • 支持各種優(yōu)化,比如操作合并,能利用到一些庫(kù)來(lái)加速執(zhí)行合并的操作。
  • 我們雖然是內(nèi)存計(jì)算的,但不希望單機(jī)或者集群內(nèi)存不足,任務(wù)就會(huì)失敗。我們應(yīng)當(dāng)讓暫時(shí)用不到的數(shù)據(jù) spill 到磁盤等等存儲(chǔ),來(lái)保證即使內(nèi)存不夠,也能完成整個(gè)計(jì)算。
  • Mars 是什么,能做什么事

    Mars 就是這樣一個(gè)框架,它的目標(biāo)就是解決這幾個(gè)問(wèn)題。目前 Mars 包括了 tensor :分布式的多維矩陣計(jì)算。

    100億大小的蒙特卡洛求解 pi的問(wèn)題規(guī)模是 150G,它會(huì)導(dǎo)致 OOM。通過(guò) Mars tensor API,只需要將?import numpy as np?替換成?import mars.tensor as mt,后續(xù)的計(jì)算完全一致。不過(guò)有一個(gè)不同,mars tensor 需要通過(guò)?execute?觸發(fā)執(zhí)行,這樣做的好處是能夠?qū)φ麄€(gè)中間過(guò)程做盡量多的優(yōu)化,比如操作合并等等。不過(guò)這種方式對(duì) debug 不太友好,后續(xù)我們會(huì)提供 eager mode,來(lái)對(duì)每一步操作都觸發(fā)計(jì)算,這樣就和 numpy 代碼完全一致了。

    可以看到這個(gè)計(jì)算時(shí)間和手寫并行時(shí)間相當(dāng),峰值內(nèi)存使用也只是 1個(gè)多G,因此可以看到 Mars tensor?既能充分并行,又能節(jié)省內(nèi)存的使用?。

    目前,Mars 實(shí)現(xiàn)了 70% 的常見 numpy 接口,完整列表見?這里。我們一致在努力提供更多 numpy 和 scipy 的接口,我們最近剛剛完成了對(duì)逆矩陣計(jì)算的支持。

    Mars tensor 也提供了對(duì) GPU 和稀疏矩陣的支持。eye?是創(chuàng)建單位對(duì)角矩陣,它只有對(duì)角線上有值為1,如果用稠密的方式存儲(chǔ)會(huì)浪費(fèi)存儲(chǔ)。不過(guò)目前,Mars tensor 還只支持二維稀疏矩陣。

    Mars 怎么做到并行和更省內(nèi)存

    和所有的 dataflow 的框架一樣,Mars 本身也有計(jì)算圖的概念,不同的是,Mars 包含粗粒度圖和細(xì)粒度圖的概念,用戶寫的代碼在客戶端生成粗粒度圖,在提交到服務(wù)端后,會(huì)有?tile?的過(guò)程,將粗粒度圖 tile 成細(xì)粒度圖,然后我們會(huì)調(diào)度細(xì)粒度圖執(zhí)行。

    這里,用戶寫下的代碼,在內(nèi)存里會(huì)表達(dá)成 Tensor 和 Operand 構(gòu)成的粗粒度圖。

    當(dāng)用戶調(diào)用?execute?方法時(shí),粗粒度的圖會(huì)被序列化到服務(wù)端,反序列化后,我們會(huì)把這個(gè)圖 tile 成細(xì)粒度圖。對(duì)于輸入 10002000 的矩陣,假設(shè)指定每個(gè)維度上的 chunk 大小都是 500,那它會(huì)被 tile 成 24 一共 8 個(gè)chunk。

    后續(xù),我們會(huì)對(duì)每個(gè)我們實(shí)現(xiàn)的 operand 也就是算子提供 tile 的操作,將一個(gè)粗粒度的圖 tile 成細(xì)粒度圖。這時(shí),我們可以看到,在單機(jī),如果有8個(gè)核,那么我們就可以并行執(zhí)行整個(gè)細(xì)粒度圖;另外給定 1/8 大小的內(nèi)存,我們就可以完成整個(gè)圖的計(jì)算。

    不過(guò),我們?cè)谡嬲龍?zhí)行前,會(huì)對(duì)整個(gè)圖進(jìn)行 fuse 也就是操作合并的優(yōu)化,這里的三個(gè)操作真正執(zhí)行的時(shí)候,會(huì)被合并成一個(gè)算子。針對(duì)執(zhí)行目標(biāo)的不同,我們會(huì)使用 numexpr 和 cupy 的 fuse 支持來(lái)分別對(duì) CPU 和 GPU 進(jìn)行操作合并執(zhí)行。

    上面的例子,都是我們?cè)斐鰜?lái)很容易并行的任務(wù)。如我們先前提到的例子,通過(guò) tile 之后生成的細(xì)粒度圖其實(shí)是非常復(fù)雜的。真實(shí)世界的計(jì)算場(chǎng)景,這樣的任務(wù)其實(shí)是很多的。

    為了將這些復(fù)雜的細(xì)粒度圖能夠充分調(diào)度執(zhí)行,我們必須要滿足一些基本的準(zhǔn)則,才能讓執(zhí)行足夠高效。

    首先,初始節(jié)點(diǎn)的分配非常重要。比如上圖,假設(shè)我們有兩個(gè) worker,如果我們把 1和3 分配到一個(gè) worker,而將 2和4 分配到另一個(gè) worker,這時(shí)當(dāng) 5 或者 6 被調(diào)度的時(shí)候,他們就需要觸發(fā)遠(yuǎn)程數(shù)據(jù)拉取,這樣執(zhí)行效率會(huì)大打折扣。如果我們一開始將 1和2 分配到一個(gè) worker,將 3和4 分配到另一個(gè) worker,這時(shí)執(zhí)行就會(huì)非常高效。初始節(jié)點(diǎn)的分配對(duì)整體的執(zhí)行影響是很大的,這就需要我們對(duì)整個(gè)細(xì)粒度的圖有個(gè)全局的掌握,我們才能做到比較好的初始節(jié)點(diǎn)分配。

    另外,深度優(yōu)先執(zhí)行的策略也是相當(dāng)重要的。假設(shè)這時(shí),我們只有一個(gè) worker,執(zhí)行完 1和2 后,我們調(diào)度了 3 的話,就會(huì)導(dǎo)致 1和2 的內(nèi)存不能釋放,因?yàn)?5 此時(shí)還沒有被觸發(fā)執(zhí)行。但是,如果我們執(zhí)行完 1和2 后,調(diào)度了 5 執(zhí)行,那么當(dāng) 5 執(zhí)行完后,1和2 的內(nèi)存就可以釋放,這樣整個(gè)執(zhí)行過(guò)程中的內(nèi)存就會(huì)是最省的。

    所以,初始節(jié)點(diǎn)分配,以及深度優(yōu)先執(zhí)行是兩個(gè)最基本的準(zhǔn)則,光有這兩點(diǎn)是遠(yuǎn)遠(yuǎn)不夠的,mars 的整個(gè)執(zhí)行調(diào)度中有很多具有挑戰(zhàn)的任務(wù),這也是我們需要長(zhǎng)期優(yōu)化的對(duì)象。

    Mars 分布式

    所以,Mars 本質(zhì)上其實(shí)是一個(gè)細(xì)粒度的,異構(gòu)圖的調(diào)度系統(tǒng)。我們把細(xì)粒度的算子調(diào)度到各個(gè)機(jī)器上,在真正執(zhí)行的時(shí)候其實(shí)是調(diào)用 numpy、cupy、numexpr 等等的庫(kù)。我們充分利用了成熟的、高度優(yōu)化的單機(jī)庫(kù),而不是重復(fù)在這些領(lǐng)域造輪子。

    在這個(gè)過(guò)程中,我們會(huì)遇到一些難點(diǎn):

  • 因?yàn)槲覀兪?master-slave 架構(gòu),我們 master 如何避免單點(diǎn)?
  • 我們的 worker 如何避免 Python 的 GIL(全局解釋器鎖)的限制?
  • Master 的控制邏輯交錯(cuò)復(fù)雜,我們很容易寫出來(lái)高耦合的,又臭又長(zhǎng)的代碼,我們?nèi)绾螌⒋a解耦?
  • 我們的解法是使用 Actor model。Actor模型定義了并行的方式,也就是一切皆 Actor,每個(gè) Actor 維護(hù)一個(gè)內(nèi)部狀態(tài),它們都持有郵箱,Actor 之間通過(guò)消息傳遞,消息收到會(huì)放在郵箱中,Actor 從郵箱中取消息進(jìn)行處理,一個(gè) Actor 同時(shí)只能處理一個(gè)消息。Actor 就是一個(gè)最小的并行單元,由于一個(gè) Actor 同時(shí)只能處理一個(gè)消息,你完全不需要擔(dān)心并發(fā)的問(wèn)題,并發(fā)應(yīng)當(dāng)是 Actor 框架來(lái)處理的。而所有 Actor 是不是在同一臺(tái)機(jī)器上,這在 Actor 模型里也變得不重要,Actor 在不同機(jī)器上,只要能完成消息的傳遞就可以了,這樣 Actor 模型也天然支持分布式系統(tǒng)。

    因?yàn)?Actor 是最小的并行單元,我們?cè)趯懘a的時(shí)候,可以將整個(gè)系統(tǒng)分解成很多 Actor,每個(gè) Actor 是單一職責(zé)的,這有點(diǎn)類似面向?qū)ο蟮乃枷?#xff0c;這樣讓我們的代碼得以解耦。

    另外,Master 解耦成 Actor 之后,我們可以讓這些 Actor 分布在不同的機(jī)器上,這樣就讓 Master 不再成為單點(diǎn)。同時(shí),我們讓這些 Actor 根據(jù)一致性哈希來(lái)進(jìn)行分配,后續(xù)如果有 scheduler 機(jī)器掛掉, Actor 可以根據(jù)一致性哈希重新分配并重新創(chuàng)建來(lái)達(dá)到容錯(cuò)的目的。

    最后,我們的 actors 是跑在多進(jìn)程上的,每個(gè)進(jìn)程里是很多的協(xié)程,這樣,我們的 worker 也不會(huì)受到 GIL 的限制。

    像 Scala 或者 Java 這些 JVM 語(yǔ)言 可以使用 akka 這個(gè) Actor 框架,對(duì)于 Python 來(lái)說(shuō),我們并沒有什么標(biāo)準(zhǔn)做法,我們認(rèn)為我們只是需要一個(gè)輕量的 Actor 框架就可以滿足我們使用,我們不需要 akka 里面一些高階的功能。因此,我們開發(fā)了 Mars actors,一個(gè)輕量的 Actor 框架,我們 Mars 整個(gè)分布式的 schedulers 和 workers 都在 Mars actors 層之上。

    這是我們 Mars actors 的架構(gòu)圖,在啟動(dòng) Actor pool 的時(shí)候,我們子進(jìn)程會(huì)根據(jù)并發(fā)啟動(dòng)若干子進(jìn)程。主進(jìn)程上有 socket handler 來(lái)接受遠(yuǎn)程 socket 連接傳遞消息,另外主進(jìn)程有個(gè) Dispatcher 對(duì)象,用來(lái)根據(jù)消息的目的地來(lái)進(jìn)行分發(fā)。我們所有的 Actor 都在子進(jìn)程上創(chuàng)建,當(dāng) Actor 收到一個(gè)消息處理時(shí),我們會(huì)通過(guò)協(xié)程調(diào)用?Actor.on_receive(message)?方法。

    一個(gè) Actor 發(fā)送消息到另一個(gè) Actor,分三種情況。

  • 它們?cè)谕粋€(gè)進(jìn)程,那么直接通過(guò)協(xié)程調(diào)用即可。
  • 它們?cè)谝慌_(tái)機(jī)器不同進(jìn)程,這個(gè)消息會(huì)被序列化通過(guò)管道送到主進(jìn)程的 Dispatcher,dispatcher 通過(guò)解開二進(jìn)制的頭部信息得到目標(biāo)的進(jìn)程 ID,通過(guò)對(duì)應(yīng)的管道送到對(duì)應(yīng)子進(jìn)程,子進(jìn)程通過(guò)協(xié)程觸發(fā)相應(yīng) Actor 的消息處理即可。
  • 它們?cè)诓煌瑱C(jī)器,那么當(dāng)前子進(jìn)程會(huì)通過(guò) socket 把序列化的消息發(fā)送到對(duì)應(yīng)機(jī)器的主進(jìn)程,該機(jī)器再通過(guò) Dispatcher 把消息送到對(duì)應(yīng)子進(jìn)程。
  • 由于使用協(xié)程作為子進(jìn)程內(nèi)的并行方式,而協(xié)程本身在 IO 處理上有很強(qiáng)的性能,所以,我們的 Actor 框架在 IO 方面也會(huì)有很好的性能。

    上圖是裸用 Mars actors 來(lái)求解蒙特卡洛方法算 pi。這里定義兩個(gè) Actor,一個(gè) Actor 是 ChunkInside,它接受一個(gè) chunk 的大小,來(lái)計(jì)算落在圓內(nèi)點(diǎn)的個(gè)數(shù);另外一個(gè) Actor 是 PiCaculator,它負(fù)責(zé)接受總的點(diǎn)個(gè)數(shù),來(lái)創(chuàng)建 ChunkInside,這個(gè)例子就是直接創(chuàng)建 1000 個(gè) ChunkInside,然后通過(guò)發(fā)送消息來(lái)觸發(fā)他們計(jì)算。create_actor?時(shí)指定 address 可以讓 Actor 分配在不同的機(jī)器上。

    這里可以看到,我們裸用 Mars actors 的性能是要快過(guò)多進(jìn)程版本的。

    這里我們總結(jié)一下,通過(guò)使用 Mars actors,我們能不受 GIL 限制,編寫分布式代碼變得非常容易,它讓我們 IO 變得高效,此外,因?yàn)?Actor 解耦,代碼也變得更容易維護(hù)。

    現(xiàn)在讓我們看下 Mars 分布式的完整執(zhí)行過(guò)程。現(xiàn)在有1個(gè) client,3個(gè) scheduler 和 5個(gè)worker。用戶創(chuàng)建一個(gè) session,在服務(wù)端會(huì)創(chuàng)建一個(gè) SessionActor 對(duì)象,通過(guò)一致性哈希,分配到 scheduler1 上。此時(shí),用戶運(yùn)行了一個(gè) tensor,首先 SessionActor 會(huì)創(chuàng)建一個(gè) GraphActor,它會(huì) tile 粗粒度圖,圖上假設(shè)有三個(gè)節(jié)點(diǎn),則會(huì)創(chuàng)建三個(gè) OperandActor,分別分配到不同的 scheduler 上。每個(gè) OperandActor 會(huì)控制 operand 的提交、任務(wù)狀態(tài)的監(jiān)督和內(nèi)存的釋放等操作。此時(shí) 1 和 2 的 OperandActor 發(fā)現(xiàn)沒有依賴,并且集群資源充足,那么他們會(huì)把任務(wù)提交到相應(yīng)的 worker 執(zhí)行,在執(zhí)行完成后,向 3 通知任務(wù)完成,3 發(fā)現(xiàn) 1和2 都執(zhí)行完成后,因?yàn)閿?shù)據(jù)在不同 worker 執(zhí)行,決定好執(zhí)行 worker 后,先觸發(fā)數(shù)據(jù)拉取操作,然后再執(zhí)行。客戶端這邊,通過(guò)輪詢 GraphActor 得知任務(wù)完成,則會(huì)觸發(fā)數(shù)據(jù)拉取到本地的操作。整個(gè)任務(wù)就完成了。

    我們對(duì) Mars 分布式做了兩個(gè) benchmark,第一個(gè)是對(duì) 36 億數(shù)據(jù)的每個(gè)元素加一再乘以2,圖中紅色叉是 numpy 的執(zhí)行時(shí)間,可以看到,我們比 numpy 有數(shù)倍提升,藍(lán)色的虛線是理論運(yùn)行時(shí)間,可以看到我們真實(shí)加速非常接近理論時(shí)間加速。第二個(gè) benchmark,我們?cè)黾恿藬?shù)據(jù)量,來(lái)到 144 億數(shù)據(jù),對(duì)每個(gè)元素加1乘以2后,再求和,可以看到單機(jī) numpy 已經(jīng)不能完成任務(wù)了,此時(shí),針對(duì)這個(gè)任務(wù),我們也可以取得不錯(cuò)的加速比。

    未來(lái)計(jì)劃

    Mars 已經(jīng)在 Github 上源代碼,讓更多同學(xué)來(lái)一起參與共建 Mars:https://github.com/mars-project/mars?。

    在后續(xù) Mars 的開發(fā)計(jì)劃上,如上文說(shuō),我們會(huì)支持 eager mode,讓每一步觸發(fā)執(zhí)行,提升對(duì)性能不敏感的任務(wù)開發(fā)以及 debug 時(shí)的使用體驗(yàn);我們會(huì)支持更多 numpy 和 scipy 接口;后續(xù)很重要的一個(gè)是,我們會(huì)提供 100% 兼容 pandas 的接口,由于利用了 mars tensor 作為基礎(chǔ),我們也可以提供 GPU 的支持;我們會(huì)提供兼容 scikit-learn 的機(jī)器學(xué)習(xí)的支持;我們還會(huì)提供在細(xì)粒度圖上調(diào)度自定義函數(shù)和自定義類的功能,增強(qiáng)靈活性;最后,因?yàn)槲覀兛蛻舳似鋵?shí)并不依賴 Python,任意語(yǔ)言都可以序列化粗粒度圖,所以我們完全可以提供多語(yǔ)言的客戶端版本,不過(guò)這點(diǎn),我們會(huì)視需求而定。

    總之,開源對(duì)我們是很重要的,龐大的 scipy 技術(shù)棧的并行化,光靠我們的力量是不夠的,需要大家來(lái)一起幫我們來(lái)共建。

    現(xiàn)場(chǎng)圖片

    最后再 po 一點(diǎn)現(xiàn)場(chǎng)圖片吧,現(xiàn)場(chǎng)觀眾對(duì) Mars 的問(wèn)題還是蠻多的。我大致總結(jié)下:

  • Mars 在一些特定計(jì)算的性能,比如 SVD 分解,這里我們有和用戶合作項(xiàng)目的一些測(cè)試數(shù)據(jù),輸入數(shù)據(jù)是 8億*32的矩陣做 SVD 分解,分解完再矩陣乘起來(lái)和原矩陣做對(duì)比,這整個(gè)計(jì)算過(guò)程使用 100個(gè) worker(8核),用7分鐘時(shí)間算完
  • Mars 何時(shí)開源,我們已經(jīng)開源:https://github.com/mars-project/mars
  • Mars 開源后會(huì)不會(huì)閉源,答:不會(huì)
  • Mars actors 的詳細(xì)工作原理
  • Mars 是靜態(tài)圖還是動(dòng)態(tài)圖,目前是靜態(tài)圖,eager mode 做完后可以支持動(dòng)態(tài)圖
  • Mars 會(huì)不會(huì)涉及深度學(xué)習(xí),答:目前不會(huì)
  • ?

    ?

    ?

    原文鏈接
    本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

    總結(jié)

    以上是生活随笔為你收集整理的Mars 是什么、能做什么、如何做的——记 Mars 在 PyCon China 2018 上的分享的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    精品久久久久久一区二区里番 | 啪啪av在线 | 国产精品99久久久精品 | 精品一区二区精品 | 久人人| 在线 精品 国产 | 国产成人精品网站 | 91黄色视屏 | 国产精品va在线播放 | 九九久久久久久久久激情 | 欧美精品999 | 狠狠成人| 探花视频在线版播放免费观看 | 日日夜夜噜 | 欧美国产日韩中文 | 手机看片国产日韩 | 亚洲片在线观看 | 国产a国产 | 日韩专区一区二区 | 久久99精品久久久久久三级 | 99国产精品久久久久老师 | 久久久久一区二区三区四区 | 国产黄色免费看 | 91精品在线观看视频 | 国产小视频国产精品 | 99久在线精品99re8热视频 | 国产高清久久久 | 天天射天天添 | 国产精品密入口果冻 | 一本一本久久a久久精品综合 | 精品播放| 99久久婷婷国产 | 91丨九色丨国产在线观看 | 成 人 黄 色 免费播放 | 精品免费视频 | 中文字幕xxxx | 亚洲精品乱码久久久久久 | 欧美日韩三级在线观看 | 免费在线国产精品 | 久久伊人热 | 久久免费a| 很黄很黄的网站免费的 | 国产成人福利在线观看 | 特级黄色片免费看 | 国产99久久久国产精品成人免费 | 成人免费在线电影 | 一区二区三区中文字幕在线观看 | a级国产片 | 亚洲日本va在线观看 | 色婷婷综合久久久中文字幕 | 最近中文字幕大全 | 天天干,狠狠干 | 成人毛片在线观看 | 久久免费视频3 | 日批视频| 亚洲精品免费在线视频 | 在线观看av免费观看 | 国产在线91精品 | av天天干 | 蜜臀精品久久久久久蜜臀 | 五月天色中色 | www狠狠 | 国产99久久久国产 | 18久久久久久 | 久久久久久久久久福利 | 另类老妇性bbwbbw高清 | 91久久爱热色涩涩 | 婷婷精品国产欧美精品亚洲人人爽 | 五月天婷婷视频 | 天天艹天天 | 天天干,狠狠干 | 一区二区三区免费在线播放 | 国产成人福利在线观看 | 日韩在线观看的 | 免费a级毛片在线看 | 99在线观看 | 亚洲国产精品第一区二区 | 在线观看黄av | 夜夜操天天干, | 天堂av色婷婷一区二区三区 | 午夜久久影视 | 亚洲欧美国产日韩在线观看 | 亚洲高清不卡av | 91福利专区 | 久久久久久久久久久免费视频 | 日韩videos高潮hd| 在线观看国产91 | 日韩极品在线 | 日韩网站在线看片你懂的 | 中文免费观看 | 久久女同性恋中文字幕 | 91麻豆精品国产91久久久使用方法 | 奇米先锋 | 特级西西444www大胆高清无视频 | 91九色精品| 国产精品一区二区中文字幕 | 亚洲精品视频在 | 一区二区三区四区五区六区 | 亚洲一区二区三区毛片 | a电影免费看 | 成人免费视频网站在线观看 | 99精品久久久久久久久久综合 | 韩国精品视频在线观看 | 欧美日韩国产综合网 | 亚洲国产精品视频在线观看 | 久久字幕精品一区 | 国产一级黄色免费看 | 久久精品观看 | 综合国产在线 | 免费看污在线观看 | 五月天婷婷在线播放 | 五月天亚洲综合小说网 | 看片的网址| 日日麻批40分钟视频免费观看 | 久久久久久久久网站 | 久久精品国产亚洲a | 久久久久国产成人精品亚洲午夜 | 网站免费黄色 | 久久麻豆视频 | 五月婷婷中文 | 91麻豆精品久久久久久 | 97国产在线观看 | 久久久久成| 亚洲成a人片77777潘金莲 | 91精品国产综合久久福利 | 日韩字幕在线观看 | 中文字幕在线日本 | 国产视频美女 | 国产毛片aaa| 成人欧美一区二区三区黑人麻豆 | 99久久日韩精品免费热麻豆美女 | 久久久精品久久 | 国产一区二区久久久久 | 日日夜夜精品免费视频 | 91天堂在线观看 | 免费看短| 91精品免费视频 | 97色视频在线 | 狠狠操在线 | 国产精品色 | 成人av片免费观看app下载 | 丁香色综合 | 九七人人干| 日本大尺码专区mv | 成人综合婷婷国产精品久久免费 | 成人观看 | 免费观看的黄色片 | 欧美性生交大片免网 | 久久久久久久久久久网站 | 久久国产精品偷 | 中文av在线免费观看 | 夜夜操天天摸 | 性色av一区二区三区在线观看 | 日韩偷拍精品 | 婷婷国产精品 | 亚洲黄色在线免费观看 | 国偷自产视频一区二区久 | 91精选在线观看 | 91亚洲网 | 亚洲丁香久久久 | 精品视频中文字幕 | 狠狠色丁香婷婷 | 亚洲精品在线一区二区 | 国产精品高清一区二区三区 | 午夜影视一区 | 日韩av一区二区三区在线观看 | 天天草天天 | 在线观看国产v片 | 亚洲成人频道 | 日日操狠狠干 | 国产视频精选 | 国内精品久久久久影院优 | 天天干 夜夜操 | 视频一区二区精品 | 国产小视频网站 | 五月亚洲 | 在线视频久 | 国产一卡二卡四卡国 | 久久久久综合视频 | 国产不卡免费av | 激情综合一区 | 午夜丰满寂寞少妇精品 | 五月天婷婷在线视频 | 五月天色网站 | 精品国产观看 | 中文字幕久久网 | 成人久久视频 | www.色午夜 | 久久久久综合 | 欧美日韩aa| 国产裸体永久免费视频网站 | 国产精品一区在线观看 | 最近中文字幕mv | 人人射人人爽 | 中文有码在线视频 | 国产精品久久久久久高潮 | 91精品国产欧美一区二区成人 | 在线精品视频免费播放 | 四虎在线永久免费观看 | 西西44人体做爰大胆视频 | 欧美一级欧美一级 | 天天干天天玩天天操 | 欧美在线一二 | 久久6精品 | 不卡电影免费在线播放一区 | 久久午夜免费视频 | 天天操天天舔天天干 | 久久精品a | 久久99亚洲精品 | 色噜噜日韩精品欧美一区二区 | 免费91麻豆精品国产自产在线观看 | 手机看片国产日韩 | 亚洲精品福利在线观看 | 国产一性一爱一乱一交 | 99精品国产视频 | 中文字幕乱在线伦视频中文字幕乱码在线 | 婷婷久久一区二区三区 | 很黄很黄的网站免费的 | 香蕉免费在线 | 一级黄色在线免费观看 | 狠狠干干| 欧美日韩中文另类 | 特级毛片aaa | 99精品视频一区二区 | 国产在线小视频 | 在线视频观看国产 | 日韩有码第一页 | 亚洲成年片| 在线观看黄污 | av在线电影网站 | 欧美日韩xxx | 国产精品青青 | 亚洲国产无 | 久久综合色天天久久综合图片 | 天天爽天天射 | 日韩精品视频网站 | 色九九影院 | 亚洲成av人影院 | 婷婷伊人五月 | 天天玩天天干 | 婷婷在线色 | 日韩成人免费观看 | 亚洲人成免费网站 | av高清免费 | 欧美激情在线网站 | 波多野结衣久久资源 | 九九久久精品视频 | 国产精品高清在线 | 久久不色| 99精品视频免费观看视频 | av一级网站 | 久久精品久久久久电影 | 日韩中文字幕国产精品 | 91丨九色丨91啦蝌蚪老版 | 国产精品免费久久久久久 | 日韩二区三区 | 最近中文字幕国语免费高清6 | 日韩欧美一区二区三区视频 | 日韩av在线高清 | 99视频网站 | 九九久久影院 | 久草电影免费在线观看 | 成人性生交大片免费看中文网站 | 国产美女精品人人做人人爽 | 青草草在线 | 91福利视频网站 | 99精品视频精品精品视频 | 中文字幕在线播放av | 午夜精品一区二区三区视频免费看 | av免费观看网站 | 色天天综合网 | 欧美另类性 | 欧美国产精品一区二区 | 91新人在线观看 | 久久久久一区二区三区四区 | 久久久久久久久久久网 | 国产手机在线观看视频 | 久久久www | 国内精自线一二区永久 | 日本精品在线 | 激情亚洲综合在线 | 天天干夜夜爱 | 国产福利91精品一区 | 国产一区在线播放 | 国产一区二区在线播放 | 久久中文视频 | 日韩三级免费观看 | 国产成人一区二区三区免费看 | av免费试看 | 欧美日韩国产三级 | 精品国产理论 | 91传媒视频在线观看 | 天天天综合 | 亚洲欧美国产日韩在线观看 | 久久久精品国产免费观看同学 | 日韩在线观看一区二区三区 | 国产精品乱码久久久久 | 婷婷视频在线观看 | 色就色,综合激情 | 欧美色图亚洲图片 | 国产成人精品久久亚洲高清不卡 | 奇米影视8888在线观看大全免费 | 少妇做爰k8经典 | 久在线观看 | 亚洲精品久 | 亚洲欧美日韩国产精品一区午夜 | 精品xxx | 福利视频导航网址 | 五月婷婷丁香六月 | 久久综合成人网 | 亚洲精品大片www | 欧洲高潮三级做爰 | 久久久久激情电影 | www.五月天 | 天天射天天爱天天干 | a级黄色片视频 | 国产精品一区二区av影院萌芽 | 91在线看片 | 成人久久18免费网站 | 国产精品麻豆91 | 婷婷综合在线 | 亚州黄色一级 | 久久人人爽爽人人爽人人片av | 天天操比 | 99久久99久久综合 | 久久国产精品久久国产精品 | 狠狠操夜夜操 | 亚洲国产中文字幕在线 | 中文区中文字幕免费看 | 国产精品18毛片一区二区 | 国产欧美精品在线观看 | 三级视频国产 | 97精品超碰一区二区三区 | 国产一区二区电影在线观看 | 久久久久久久国产精品影院 | 免费男女网站 | 黄色片网站 | 中文字幕视频网站 | 国产亚洲精品免费 | 国产精品不卡在线 | 久久久久久久av麻豆果冻 | www.色婷婷.com | 波多野结衣理论片 | 手机在线看a | 免费看三级网站 | 经典三级一区 | 欧美久久久久久久久 | 欧美va天堂va视频va在线 | 美女在线免费观看视频 | 午夜视频不卡 | 天天躁日日躁狠狠躁av麻豆 | 亚洲精品美女视频 | 中文字幕 国产视频 | 日韩av中文字幕在线免费观看 | 激情综合色图 | 国产视频一二区 | 午夜电影一区 | 久久99亚洲精品 | 日本久久高清视频 | 91麻豆精品91久久久久同性 | 国产aa免费视频 | 婷婷在线播放 | 国产欧美在线一区二区三区 | 日本精品午夜 | 国内精品久久久久久久 | 日本三级不卡视频 | 91久久一区二区 | 操操操av | 99国产精品久久久久久久久久 | 欧美日韩激情视频8区 | 久草青青在线观看 | 免费a网| 亚洲免费黄色 | 天天操操操操操操 | 六月丁香激情综合 | 色诱亚洲精品久久久久久 | 超碰97人人在线 | 夜色成人网 | 国产一区视频免费在线观看 | 最新日韩视频 | 91高清在线 | 四虎影视成人永久免费观看视频 | 国产精品99久久久精品免费观看 | 国产精品久久久久久久久久久杏吧 | 国产精品一区二区电影 | 午夜久久精品 | 日本久久精品 | 精品国产亚洲日本 | 午夜av色| 日韩有色 | 制服丝袜亚洲 | 黄色成人91| 久久大片 | 精品成人久久 | 中文字幕一区二区三区精华液 | 久久久免费国产 | 91精品久久久久久久久 | 中文字幕亚洲欧美日韩2019 | 日韩视频免费观看高清完整版在线 | 91av视频在线播放 | 国产无套精品久久久久久 | 久久久久黄 | 人人澡视频 | av国产在线观看 | 日韩欧美高清一区二区三区 | 一区二区免费不卡在线 | 婷婷丁香综合 | 69久久99精品久久久久婷婷 | 操操色 | 色婷婷狠狠18 | 少妇bbb| 国产成人一区二区三区在线观看 | 激情欧美丁香 | 国产精品精品久久久久久 | 在线观看视频亚洲 | 天海翼一区二区三区免费 | 插久久 | 97超碰国产精品女人人人爽 | 人人添人人澡 | 香蕉影视app | 色网免费观看 | 免费观看一区 | 亚洲人毛片 | 日本91在线| 女人18片毛片90分钟 | av色图天堂网 | 99精品视频在线观看播放 | 四川妇女搡bbbb搡bbbb搡 | 波多野结衣一区二区三区中文字幕 | 婷婷去俺也去六月色 | 久久影视中文字幕 | 久久久免费 | 成+人+色综合 | 一级性av | 日本精品久久久久 | 美女视频一区 | 在线不卡中文字幕播放 | 久久久久久久久免费 | 99草在线视频 | 91毛片视频 | 中文字幕乱码亚洲精品一区 | 久久久国产99久久国产一 | 国产录像在线观看 | 一级黄色a视频 | 日韩中文字幕在线观看 | 成人黄色毛片视频 | 久久精品综合视频 | 久久色中文字幕 | 美女免费网视频 | 公开超碰在线 | 国产99久久九九精品 | 亚洲激情婷婷 | 在线中文字幕播放 | 在线国产福利 | 国产精品久久麻豆 | 亚洲一级二级三级 | 国产精品99久久久久久小说 | 欧美一性一交一乱 | 久久久久免费网 | 亚洲一区二区观看 | 久久午夜色播影院免费高清 | 玖玖玖国产精品 | 欧美精品久久久久久久久免 | 久久视频精品在线观看 | 97色se | 午夜婷婷网 | 色综合久久88色综合天天人守婷 | 深爱激情综合 | 久久好看免费视频 | 日韩精品在线播放 | 中文字幕高清在线 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | av在线进入| 亚洲国产日韩欧美在线 | 中文字幕在线观看一区二区三区 | 丁香免费视频 | 日韩欧美视频免费看 | 91毛片在线观看 | 亚洲电影成人 | 91麻豆免费视频 | 久久精品香蕉视频 | 久草网在线视频 | 超级碰视频 | 国产精品乱码一区二区视频 | 天天天天天天操 | 色五月成人 | 午夜精品一二区 | 欧美国产日韩中文 | 久久国产精品99国产精 | 香蕉网在线 | 九九色在线观看 | 国产免费xvideos视频入口 | 亚洲精品在线一区二区 | 伊人手机在线 | 成人性生交视频 | 久久精品中文视频 | 黄色免费在线视频 | 国产伦理久久精品久久久久_ | 国产在线观看h | 久久这里只有精品23 | 亚洲欧美在线综合 | 久久a级片 | 国产精品女同一区二区三区久久夜 | 欧美成年黄网站色视频 | 四虎在线免费视频 | 国产精品网站一区二区三区 | 成人免费在线播放视频 | 91av资源在线 | 欧美做受69 | 欧日韩在线 | 精品av网站 | 亚洲人成在线观看 | 一级a性色生活片久久毛片波多野 | 久久综合精品一区 | 亚洲欧洲一区二区在线观看 | 国产视频2区 | 色综合久久综合中文综合网 | av片在线看 | 91精品国产高清自在线观看 | 亚洲精品乱码久久久久久 | 天天天干夜夜夜操 | 日韩免费电影一区二区 | 久久综合九色综合久99 | 婷婷av色综合| 91av手机在线观看 | 91av视频免费观看 | 欧美综合干 | 国产又粗又猛又色又黄视频 | 久久精品999 | 青青草视频精品 | 欧美在线aaa | 国产又粗又猛又色又黄网站 | 911亚洲精品第一 | 超碰在线cao | 国产精品福利午夜在线观看 | 99精品免费久久久久久久久日本 | 综合色中色 | 国产一区二区高清视频 | 五月婷婷六月综合 | 国产五月 | 狠狠插天天干 | 久草在线精品观看 | 狠狠久久综合 | 国产精品乱码久久久久久1区2区 | 91视视频在线直接观看在线看网页在线看 | 日韩免费电影一区二区三区 | a级黄色片视频 | 正在播放日韩 | 国产成人av一区二区三区在线观看 | 五月婷婷一级片 | 99九九99九九九视频精品 | 波多野结衣久久资源 | 激情在线网站 | 一级黄毛片 | 久久人人97超碰精品888 | 欧美日韩二区在线 | 国产精品欧美激情在线观看 | 亚洲va韩国va欧美va精四季 | 在线欧美最极品的av | 久久成人国产精品入口 | 久久综合久久久 | 免费在线色 | 国产永久免费 | 国产视频资源在线观看 | 久久久久久久久网站 | 久久99久久99精品免视看婷婷 | 精品在线观看视频 | 国产在线精品一区二区三区 | 国产99色 | 美女一区网站 | 久久久资源 | 91久久久久久国产精品 | 日韩理论片在线观看 | 手机看片福利 | 美女av免费看 | 久久免费视频3 | 国产精品视屏 | 日韩有码中文字幕在线 | 亚洲自拍自偷 | 国产麻豆电影在线观看 | 在线成人欧美 | 91重口视频 | 午夜精品一区二区三区视频免费看 | 综合网中文字幕 | www.五月婷婷.com | 国产日产欧美在线观看 | 亚洲激情综合网 | 国产成人精品久久亚洲高清不卡 | 人人爽久久涩噜噜噜网站 | 97人人射 | av免费在线网站 | 青草视频在线播放 | 亚洲午夜精品福利 | 韩国av一区二区三区在线观看 | 国产欧美在线一区二区三区 | 欧美 日韩 国产 成人 在线 | 99精品乱码国产在线观看 | 欧美久久影院 | 国内外成人免费在线视频 | 免费无遮挡动漫网站 | 久久久久国产免费免费 | 久久精品79国产精品 | 亚洲精品国产综合99久久夜夜嗨 | 玖玖玖国产精品 | 人人看黄色| 五月婷婷六月丁香 | 国产视频2 | 久久色视频 | 婷婷夜夜 | 在线观看亚洲免费视频 | 亚洲另类久久 | 欧美精品国产精品 | 国产高清在线一区 | 最新日韩精品 | 91精品无人成人www | 国产麻豆传媒 | 伊人国产视频 | 免费久久网 | 中文字幕亚洲综合久久五月天色无吗'' | 一区二区中文字幕在线观看 | 国产精品va在线观看入 | 亚洲黄色免费网站 | 特级西西444www大精品视频免费看 | 久久超碰99 | 狠狠狠狠狠狠天天爱 | 色老板在线视频 | www99久久| 欧美亚洲国产一卡 | 久久精品一区二区 | 成人网看片 | 色综合久久久久综合体 | 999电影免费在线观看2020 | 99c视频高清免费观看 | 成人网在线免费视频 | 狠狠色综合网站久久久久久久 | 91成人亚洲| 欧美不卡视频在线 | 999超碰| 精品少妇一区二区三区在线 | 亚洲干视频在线观看 | 日日夜夜中文字幕 | 97国产大学生情侣白嫩酒店 | 中文字幕资源网 | 国产精品都在这里 | 探花视频在线版播放免费观看 | 日韩精品免费在线视频 | 亚洲精品一区二区三区四区高清 | 天天操夜操视频 | 黄色的片子 | 国产福利午夜 | 又色又爽的网站 | 久久久国产高清 | 九九视频一区 | 欧美成人aa | 国产精品嫩草55av | av在线电影免费观看 | 在线一二区| 国产91精品高清一区二区三区 | 国产黄色片久久久 | 日本中文字幕在线免费观看 | 999超碰 | 精品免费观看 | 日韩中出在线 | 97精品在线视频 | 精品色999 | 国产一级免费在线观看 | 中文视频一区二区 | 国产成人在线观看免费 | 国内精品久久影院 | 狠狠躁日日躁狂躁夜夜躁av | www操操操 | 久久一区91 | 久久精品视频18 | 久久久久这里只有精品 | 日韩a在线观看 | 国产九色视频在线观看 | 国产精品一二三 | 美女av免费看 | 五月婷婷丁香在线观看 | 欧美在线观看视频免费 | 久久久久久蜜av免费网站 | 午夜国产福利在线 | 色开心| 在线观看中文字幕一区二区 | 国产精品女人久久久久久 | 黄色aaaaa| 久久精品成人 | 二区视频在线观看 | 91精品国自产在线偷拍蜜桃 | 激情综合网色播五月 | 欧美日韩高清免费 | 亚洲国产视频直播 | 综合在线观看色 | 国产亚洲成av人片在线观看桃 | 天天色棕合合合合合合 | 日韩理论在线观看 | 91探花国产综合在线精品 | 欧美了一区在线观看 | 亚洲精品视频中文字幕 | 一区二区三区免费在线 | 欧美日韩在线观看视频 | 四虎在线免费观看 | 亚洲 欧洲 国产 日本 综合 | 麻豆播放 | 狠狠操综合网 | japanesefreesex中国少妇 | 激情影音 | 黄色a视频免费 | 一区二区精品视频 | 日韩福利在线观看 | 久久久综合九色合综国产精品 | 久久久久亚洲国产精品 | 久久国产精品一国产精品 | 激情网站网址 | 欧美淫aaa免费观看 日韩激情免费视频 | 久久精彩视频 | 狠狠狠干狠狠 | 国产一区二区在线免费观看 | 成人免费观看网站 | 午夜久久久久久久久久影院 | 99婷婷狠狠成为人免费视频 | 中文字幕在线电影 | 国产在线久久久 | 麻豆视频国产在线观看 | 久草线 | www黄免费 | 久草国产在线 | 黄色成人av在线 | 亚洲精品乱码白浆高清久久久久久 | 99国产精品久久久久久久久久 | 欧美肥妇free | 2019精品手机国产品在线 | 日韩免费播放 | 成人久久电影 | 国产精品一区二 | 国内精品久久久久久 | 色wwww| 国产一区二区综合 | 色欧美视频| 亚洲二区精品 | 久久人网| 亚在线播放中文视频 | 久久免费看片 | 亚洲成人网在线 | 婷婷av资源| 日本午夜在线亚洲.国产 | 婷婷色网视频在线播放 | 国产中的精品av小宝探花 | 视频二区在线 | 国产 中文 日韩 欧美 | 97在线精品国自产拍中文 | 日韩欧美在线高清 | 婷婷成人亚洲综合国产xv88 | 日韩av成人在线观看 | 亚洲精品综合久久 | 九九有精品 | 亚洲综合网 | 国产无遮挡又黄又爽馒头漫画 | 欧美另类老妇 | 免费的黄色av | 国产精品乱码久久久久久1区2区 | 天堂在线v | 久久国产精品一区二区三区 | 日韩av电影网站在线观看 | 色综合天| 中文字幕二区在线观看 | 欧美91精品久久久久国产性生爱 | 九九九九精品九九九九 | 在线观看网站你懂的 | 免费在线播放视频 | 中文字幕在线观看第三页 | 久久国产网站 | 国产精品一区二区免费在线观看 | 日本中文字幕视频 | 99热在线看 | zzijzzij日本成熟少妇 | 国产麻豆精品久久一二三 | 91麻豆精品国产91久久久无限制版 | 欧美日本一区 | 国产一区二区三区免费在线 | 天堂在线一区二区三区 | www.在线看片.com | a在线观看国产 | 久久免费视频国产 | 亚洲在线网址 | 综合网天天色 | 在线观看免费成人 | 狠狠网亚洲精品 | 黄色大片av | 中文字幕在线观看av | 天天色天天综合网 | 国产自产在线视频 | 免费在线国产黄色 | 中文字幕国产一区二区 | 精品国产1区2区3区 国产欧美精品在线观看 | 青草草在线视频 | 欧美人人 | 在线v片免费观看视频 | 久久免费一 | 国产夫妻性生活自拍 | av中文字幕亚洲 | 亚洲欧美日韩国产一区二区 | 日本女人逼 | 99亚洲精品在线 | 日本午夜在线亚洲.国产 | 成人在线观看免费 | 成人91在线| 欧美不卡视频在线 | 一区二区三区在线免费观看 | 日韩一区二区三免费高清在线观看 | 日韩激情久久 | 久久午夜精品视频 | 日韩一区二区免费播放 | 亚洲精品乱码久久久一二三 | 久久久久久久国产精品 | 国产网站在线免费观看 | 久久久国内精品 | 国产精品va在线观看入 | 婷婷精品国产欧美精品亚洲人人爽 | 99久久久免费视频 | 国产黄色资源 | 日韩免费视频线观看 | 久久曰视频| 91免费版在线 | 国产黄色一级大片 | 手机看国产毛片 | 黄网站色成年免费观看 | 免费看搞黄视频网站 | 日本黄色免费大片 | 在线 高清 中文字幕 | 国产亚洲成av片在线观看 | 亚洲人在线视频 | 久草在线视频新 | 久久免费视频精品 | 六月色丁香 | 美女视频国产 | 三级在线视频观看 | 中文字幕丝袜一区二区 | 亚洲成免费| 欧美另类美少妇69xxxx | 成年人在线观看免费视频 | 久草在线久 | 亚洲aⅴ乱码精品成人区 | 欧美日韩国产亚洲乱码字幕 | 国产精品嫩草在线 | 久久欧洲视频 | 国产中文字幕视频在线观看 | 免费在线观看av网址 | 国产精品国产三级国产专区53 | 国产99久久久欧美黑人 | 婷婷激情综合 | 97在线观看免费观看高清 | 亚洲不卡123 | 日韩精品一区不卡 | 亚洲精品国产自产拍在线观看 | 国产精品电影一区 | 久久久久亚洲天堂 | 日韩视频免费观看高清 | 欧美综合久久 | 成 人 黄 色 视频播放1 | 二区精品视频 | 久久久免费毛片 | 欧美小视频在线 | 亚洲精品www久久久久久 | 中文字幕亚洲欧美日韩2019 | 欧美日韩视频在线观看一区二区 | 国产成人一区在线 | 久草在线观看 | 午夜一级免费电影 | 精品国偷自产国产一区 | 国产精品色婷婷 | 精品久久一区二区三区 | 国产成人精品一区二区三区 | 91日韩精品视频 | 色婷婷综合久久久久中文字幕1 | 日韩av高清在线观看 | 丝袜美女视频网站 | 免费观看特级毛片 | 在线国产中文字幕 | 久久理论视频 | 亚洲精品美女久久 | 久草在线网址 | 亚洲韩国一区二区三区 | 81国产精品久久久久久久久久 | 日本一区二区免费在线观看 | av免费看av| 午夜国产在线 | 国产亚洲精品久久久久久网站 | 久久九九久久精品 | 天天插天天操天天干 | www.伊人网 | 97国产精品亚洲精品 | 在线观看91视频 | 日韩激情av在线 | 亚洲精品一区二区三区四区高清 | 成人在线观看资源 | 久久99精品国产99久久6尤 | 国产精品一区二区在线观看免费 | 天天操夜夜操国产精品 | 五月天高清欧美mv | 国产拍揄自揄精品视频麻豆 | 亚州国产视频 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 欧美成人日韩 | 久操伊人| 国产精品久久久久久麻豆一区 | 国产一级一片免费播放放 | 91在线免费播放视频 | 中文在线资源 | 最新日韩电影 | 在线观看视频一区二区三区 | 国产一级在线观看视频 | 日韩国产精品久久久久久亚洲 | 婷婷在线精品视频 | 就要干b | 久久久久综合 | 日韩高清精品一区二区 | 在线观看日韩一区 | 国产一区视频导航 | 黄色www免费 | 免费视频a | 国产欧美精品在线观看 | 欧美日韩国产精品久久 | 超碰人人在 | 九九热精品视频在线观看 | 国产亚洲精品久久久久久久久久久久 | 午夜影院先 | av无限看| 精品久久久久久亚洲 | 中文av在线免费观看 | 国产在线a | 毛片1000部免费看 | 国产精品久久久久久一区二区 | 成人a免费 | www日韩在线| 日韩在线观看你懂得 | 手机av观看 | 天天爽天天爽 | 在线观看国产福利片 | 在线看污网站 | 久久黄色成人 | 欧美少妇xxx| 国产精品毛片久久久久久 | 婷婷伊人综合 | 久久久久成人精品亚洲国产 | 激情av综合 | 日韩福利在线观看 | 五月天堂网 | 欧美精品一区二区在线播放 | 日本h在线播放 | 青青久草在线 | 国产亚洲精品久久 | 国产精品久久久久久久久久久久午夜 | 麻豆精品在线视频 | 亚洲黄色av | 日本在线中文 | 天天射天天操天天干 | 国模精品一区二区三区 | 国产亚洲午夜高清国产拍精品 | 91成人在线观看喷潮 | 国产特级毛片aaaaaa高清 | 97国产超碰在线 | 免费观看91视频大全 | 欧美一级免费片 | 不卡视频国产 | 久久久午夜精品福利内容 | 久久国产精品久久精品 | 久久久五月天 | 亚洲粉嫩av | 激情网婷婷 | 国产原厂视频在线观看 | 五月婷婷av在线 | 亚洲美女在线国产 | 97成人精品| a级一a一级在线观看 | 日本三级人妇 | 在线播放国产一区二区三区 | 99久久精品国产网站 | 天天草天天干天天射 | 一区二区三区中文字幕在线观看 | 国产精品中文字幕在线播放 | 亚洲免费资源 | 一区二区视频在线播放 | 久久伦理影院 | 日韩精品视频免费看 | 国产精品久久久99 | 精产嫩模国品一二三区 | 亚洲一级国产 | 99爱视频 | 国产高清综合 | 欧美色图p | 欧美成人视 | 午夜精品一区二区三区视频免费看 | 日韩免费三级 | 天天干天天搞天天射 | 天天搞天天干天天色 | 久久狠狠亚洲综合 | 久热电影 |