精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Ray 在微信 AI 計算中的大規模實踐

人工智能
本文將探討 Ray 在微信 AI 計算中的大規模實踐。目前我們對于 Ray 的使用場景主要是 Ray Serve,在 Astra 平臺之前,我們團隊是一個純粹的后臺開發團隊。因此在我們在實際工作中,會更加深入的思考 AI 算法服務與傳統微服務之間的區別。

一、背景

微信現在已經成為人們日常生活中非常重要的組成部分,而隨著人工智能的發展,微信內也為用戶提供了多種涉及 AI 計算的服務體驗。例如,語音消息的文字轉換、視頻號的 AIGC 和推薦、掃一掃功能的圖像識別等。這些功能由于微信的用戶規模巨大,所以 AI 計算的服務規模也非常大。

為了應對大規模的 AI 計算任務,我們建立了 Astra 平臺,目前,有許多業務已經接入了 Astra 平臺,這些業務在平臺上構建了眾多 AI 算法服務,覆蓋了 LLM/多媒體處理等多個方面。

圖片

目前我們對于 Ray 的使用場景主要是 Ray Serve,在 Astra 平臺之前,我們團隊是一個純粹的后臺開發團隊。因此在我們在實際工作中,會更加深入的思考 AI 算法服務與傳統微服務之間的區別。

首先,關于應用規模,傳統的微服務一般最多只有幾千個節點、十來萬核。然而,在AI算法這種計算密集型的任務上,我們的 AI 算法服務往往需要數十萬節點,其計算資源需求可達數百萬核。這種超級應用對我們的模塊管理系統以及 K8S 集群提出了極高的要求,要支撐如此大規模的應用部署是非常困難的。

其次,隨著資源數量和資源種類的增加,部署復雜度快速升高。AI 算法服務對 GPU 資源有特殊需求,市場上存在多種類型的 GPU,例如 NVIDIA、紫霄、昇騰等品牌。這些不同型號的 GPU 需要特定的適配工作,這無疑增加了每次部署時的復雜性和工作量。

再者,運維難度亦不容忽視。微服務主要涉及業務邏輯,不存在復用性,但 AI 算法是一種純算法服務,并不存在業務邏輯,不同的業務可能都會需要分別部署獨立的集群,這也相應地提高了運維工作的復雜程度。

最后,成本問題同樣突出。當前 GPU 的價格高昂,算力資源十分昂貴。降低 AI 推理的成本并提高資源利用率也是我們的重要目標之一。

鑒于上述考慮,我們選擇了 Ray。它可以提供統一的分布式平臺,整合多種計算模式,構建一個完整的生態系統。

早在 2022 年,我們就注意到 Ray 的優勢,當時對于 Ray 的理解尚淺,但觀察到國內外眾多企業,包括 ChatGPT 等先進應用的成功案例,我們決定加大對 Ray 的投入,利用其將單機應用輕松擴展至分布式環境的能力,簡化我們的開發流程,并實現更高效的資源管理。

圖片

接下來介紹 Astra 平臺與 Ray 結合的整體架構。在這一架構中,平臺管理的基本單位是基于 Ray 的應用,其底層由我們自主設計的聯邦集群架構支撐。該架構底層連接至公司內部多個 K8S 集群,允許我們的應用部署于不同的 K8S 集群之上。這些 K8S 節點是我們預先從 K8S 申請的資源,每個節點上都會集成我們 Starlink 集群管理的 Agent、網絡穿透 P2P 下載組件以及 TFCC AI 運行時。

架構圖的下層展示了 Starlink 集群管理模塊,它主要提供了以下幾項核心能力:服務發現、負載均衡、容災調度以及應用調度。面對的主要挑戰是支持多達數十萬個節點的大規模集群管理,這意味著我們需要具備處理百萬級 Pod 節點的能力,并確保高效的集群管理。此外,為了降低成本,考慮到騰訊內部可能存在資源利用不充分的情況,我們致力于優化資源配置,充分利用那些利用率較低或空閑的資源。最后,為了簡化應用部署流程,我們為算法開發人員提供了便捷的方式,使他們能夠迅速且輕松地部署應用程序。

通過這樣的架構設計,我們不僅能夠應對大規模集群管理帶來的技術挑戰,還能夠在成本控制和部署效率上取得顯著進步,從而更好地支持微信平臺上的 AI 計算需求。

圖片

二、百萬級節點的集群管理

接下來,將詳細探討在處理百萬級節點集群管理時所面臨的挑戰及解決方案。

調度架構通??梢苑譃槿N類型:單層、兩層以及共享調度。每種架構都有其特點和適用場景。

單層調度:這種架構類似于 K8S,適用于規模較小的集群,一般為數千個節點。單層調度的一個主要限制是其較低的并發度,因為整個集群通常只依賴于單一的調度器進行資源分配。

兩層調度:此架構預先將資源池中的機器分配給上層調度器,例如 Spark 采用的就是這種模式。相比單層調度,兩層調度具有更高的并發度,支持更大規模的集群。

共享調度:這一概念源于谷歌的 Omega 論文。其核心特點是支持無限數量的調度器,每個應用都有自己的調度器,且所有調度器都能查看到整個資源池的狀態。我們實現了樂觀調度策略,即每個調度器假設沒有沖突地分配資源,并在檢測到沖突時進行調整。這種方法不僅能夠顯著提升調度規模和資源利用率,還能大幅提高調度并發度,非常適合處理數十萬節點的大規模集群需求。

對于需要管理幾十萬甚至更多節點的超級應用而言,選擇共享調度架構幾乎是必然的。它通過允許多個調度器同時工作,確保了高并發度和高效的資源利用,滿足了大規模集群管理的需求。我們的 Astra 平臺結合 Ray,正是采用了這樣的共享調度策略,以應對微信 AI 計算中遇到的巨大挑戰。

圖片

接下來,將深入介紹 Astra 自研調度架構的整體設計,我們從下往上介紹。

最底層是部署在不同 K8S 集群上的節點,這些資源是預先分配好的。例如,特定業務可以向 K8S 申請所需的資源,并將其集成到我們的平臺中使用。每個 K8S 集群包含各自的節點,這些節點會定期向 resource 集群發送心跳信號,以報告其狀態。

Resource 集群會聚合這些心跳信息,并通過廣播的方式實現輕量級的狀態同步。這一機制保證了即使單個集群僅由幾臺機器組成,也能夠支持多達百萬級別的節點管理,并維持一個在線節點列表,作為高性能資源管理的基礎。

Resource 是整個系統的核心部分,它不僅負責收集和同步節點狀態,還提供了高效的資源管理能力。Resource 集群能夠實時掌握所有節點的最新狀態,為上層調度提供準確的信息。

在 Resource 集群之上,是 APP 級別的獨立調度器。每個應用程序(APP)都有自己的調度器,這些調度器可以直接訪問整個集群中所有節點的狀態信息。每個調度器的主要職責包括:資源調度、負載均衡、容災調度。得益于共享調度的設計,調度器每分鐘可以處理數萬節點的調度任務,極大提升了系統的響應速度和效率。

最上層是用戶操作界面,用于執行諸如擴縮容等操作。這一層直接與最終用戶交互,提供了直觀的操作體驗,使得用戶可以輕松管理其應用程序和服務。

這套架構構成了我們進行百萬級別集群管理的基礎,通過分層設計和資源共享調度機制,實現了對大規模節點的有效管理,同時保證了高并發度和資源利用率,滿足了微信 AI 計算中的復雜需求。此架構不僅支持了數十萬節點的大規模集群管理,還顯著降低了運維復雜度和成本,提高了整體的服務質量和用戶體驗。

圖片

三、高效穩定地利用低優資源

下面探討如何高效且穩定地利用低優資源。騰訊內部低優資源的總量非常龐大,但與此同時也伴隨著諸多挑戰,“天下沒有免費的午餐”,盡管低優資源的成本較低,但也帶來了新的問題。

以下是從我們系統監控中截取的幾張圖,能說明我們所遇到的一些問題。

首先,節點處于亞健康狀態的比例較高,例如 CPU 時間片可能會被搶占,或者節點可能隨時被高優先級任務搶占。在 Ray 的應用上,當 Ray 應用部署到低優資源時,節點被搶占會導致集群難以恢復。特別是在 Ray Cluster 錯誤處理方面,如果頭節點出現故障,會難以恢復。當前社區版僅提供通過 Redis 備份的方式進行恢復,但我們不希望在服務中引入額外的依賴。因此,我們希望有一種簡潔的解決方案,能快速的地解決這一問題。

圖片

針對亞健康節點及被移除節點的快速處理,我們采取了一系列措施以確保系統的高效與穩定。以下是具體方法:

首先,對于異常節點的下線,K8S 平臺通常不會提前很長時間通知即將縮容。因此,我們使用 K8S 的 Pre Stop 特性來迅速響應。由于我們的心跳檢測頻率為每秒一次,一旦觸發 Pre Stop,我們可以立即從在線列表中移除該節點。在3秒鐘內更新路由表,這意味著在 Pre Stop 觸發后的 4 秒內,該節點將被完全移除。即使節點隨后被資源平臺直接終止,也不會對我們的服務造成影響。

其次,對于性能較低的節點,我們會實時監控并收集其運行數據。通過自動調節權重的路由算法調整節點接收的請求量。具體而言,性能較差的節點將被賦予較低權重,而高性能節點則保持較高權重。這種機制確保了任務能夠根據節點的實際性能進行合理分配,從而優化了 serving 層的工作負載分配,優化了整體服務吞吐和耗時。

通過上述措施,我們不僅能夠快速處理異常節點,還能有效管理性能差異較大的節點,確保系統在面對低優資源固有問題時仍能保持高效穩定的運行。

圖片

從我們在 Astra 平臺上使用低優資源的效果圖中可以清晰地看到優化前后的對比。圖中的綠色線條代表優化之前的狀態,而紅色線條則展示了優化之后的結果。通過對比可以看出,優化后我們的失敗率顯著降低,同時平均處理時間也得到了大幅改善。

圖片

在低優資源上使用 Ray 時,我們必須良好的設計系統來容忍節點(包括 worker 和頭節點)被頻繁踢出的情況。為此,我們借鑒了 K8S 聯邦集群的概念,提出了 Ray 聯邦集群的架構。這一架構的核心特點是每個 Ray cluster 作為一個服務的最小單位,每個 Ray Cluster 都能夠獨立提供完整的服務。這種設計確保了即使任意一個 Ray cluster 出現故障,整體服務依然不受影響。

Ray 聯邦集群的特點包括:

  • 服務單元化:每個 Ray cluster 都是一個獨立的服務單元,可以單獨提供完整的服務。
  • 容災能力:通過增加更多的 Ray cluster 來實現容災。每個 cluster 都可以視為一個容災單元,從而增強了系統的魯棒性。
  • 突破規模限制:由于我們的基礎設施本身支持百萬級節點管理,我們可以將每個 Ray cluster 設計得較小,從而突破單個 cluster 的規模限制。
  • 無狀態服務般的容災:無論哪個節點或整個 cluster 掛掉,我們都可以迅速替換,確保服務的連續性。

具體容災方案如下:

  • 頭節點故障處理:當頭節點出現心跳異常時,我們會立即從路由算法中移除該 cluster,并調度一個新的 Ray cluster 進行替換。
  • Worker 節點故障處理:如果僅是 worker 節點故障,該 cluster 仍可繼續使用,只需替換故障的 worker 節點即可。
  • 擴展性:我們的 Ray Cluster 機制支持縱向擴容,可以根據需要調整 worker 數量,從而解決了大規模部署下的擴展性問題。

通過上述措施,我們不僅提升了系統的容災能力,還確保了在大規模節點管理中的高效性和靈活性。此架構使得每個 Ray APP 可以擁有無數個請求者,集群能夠像無狀態服務一樣靈活應對節點或 cluster 級別的故障,確保了服務的高可用性和穩定性。

圖片

針對訓練任務的自動調速,我們開發了一套內部工具用于數據處理。鑒于低優資源隨時可能被移除,這會導致集群處理能力下降,我們對每個節點的性能進行了預估,即根據資源類型和數量來評估其處理能力。隨著集群資源指標的變化,我們會自動調整任務的消費速率,以確保服務的正常運行。自動調速機制如下:

  • 性能預估:我們根據資源類型(如不同型號的 GPU)和可用資源的數量,動態評估每個節點的處理能力。這一預估考慮了多種卡型共存的情況,確保評估結果的準確性。
  • 動態調整消費速率:基于性能預估的結果,當檢測到集群中的資源變化時,系統會自動調整任務的消費速率。這種調整確保即使在資源減少的情況下,也能維持服務的穩定性和性能。
  • 保障服務連續性:通過上述機制,即使低優資源被移除或集群處理能力發生變化,我們的系統仍能保持正常運行,避免因資源波動導致的服務中斷。

通過這套自動調速機制,我們的離線任務可以穩定的在低優資源上進行部署,確保了在復雜多變的環境中,離線任務能夠持續高效地運行。

圖片

四、降低應用部署復雜度

接下來探討如何降低應用部署的復雜度。一個 APP 可能包含多個模型,每個模型需要部署在不同類型的 GPU 上,且每種 GPU 類型可能會超出系統單個集群的數量、規模限制。這種情況下,我們面臨的復雜度大約是 O(N^3)。為了有效降低這一復雜度,我們采取了以下措施:

首先,多模型擴展。我們選擇 Ray 作為解決方案的關鍵原因之一在于其能夠簡化多模型擴展。以往,服務中可能需要引入一個中間模塊來專門管理各個模型之間的調用。而現在使用 Ray,僅需一個腳本即可實現多模型的有效管理和調度,大大簡化了部署流程。

其次,多卡型擴展。針對不同類型的 GPU,我們設計了相應的擴展機制。這部分內容將在后續詳細說明。

最后,多模塊擴展。我們的架構還支持多模塊的擴展,確保系統能夠靈活應對不同類型和數量的組件需求。

通過上述措施,我們顯著降低了應用部署的復雜度,使得多模型、多卡型以及多模塊的管理變得更加高效和簡便。

圖片

接下來我們詳細描述我們如何做到這一點。首先,統一基座環境。

  • 核心組件:該環境包含了所有必需的核心組件,例如 P2P 網絡穿透、TFCC 以及特定版本的 CUDA,以確保一致性和兼容性。
  • 包管理:允許用戶使用 Conda 管理包,允許用戶選擇不同版本的 Python,并實現自定義環境配置。這一系統是我們自行開發的環境管理工具,旨在為用戶提供靈活的包管理能力。
  • 自定義庫與編譯:支持用戶自定義使用各種庫及進行 CI(持續集成)編譯操作,以滿足多樣化的開發需求。

其次, TFCC 引擎的支持。

針對不同類型的 GPU(如 NVIDIA、昇騰等),特別是當 NVIDIA 卡用于 TensorRT 時可能需要不同的模型編譯,TFCC 引擎起到了關鍵作用,它能夠屏蔽底層 GPU 卡的具體類型,使得用戶無需關心底層硬件細節。用戶只需調用 TFCC 提供的推理接口,即可完成推理任務,無論底層使用何種 GPU 卡。

通過上述標準化的環境管理方案,不僅簡化了多依賴項的服務部署,還確保了跨多種 GPU 類型的無縫支持,極大提升了用戶體驗和服務靈活性。

圖片

最后是 P2P 下載優化。隨著 AI 模型規模的不斷擴大,正如前面提到當前的模型體積已經顯著增加。例如,一些常見的 72B 模型可能達到 140GB 的大小。將如此龐大的模型下發至各節點進行部署耗時會比較長。為此,我們使用 P2P 對下載能力進行了多項優化:

  • NAT 穿透:實現了 NAT 穿透功能,確保在復雜網絡環境下也能高效傳輸數據。
  • 節點限速與全局限速:為保證網絡資源的合理分配,引入了節點級別的限速和全局限速機制。

通過這些優化措施,我們現在能夠將一個大約 140GB 的模型在大約 10 分鐘左右的時間內完成下發。這大大縮短了模型部署的時間,提高了整體工作效率。

圖片

五、Astra-Ray 使用樣例

下面是在平臺上的一些截圖,幫助大家了解我們平臺的使用界面和部署流程。以下是具體步驟:

第一步是修改代碼,只需要按照 ray serve 做簡單的改寫即可。

第二步是將修改后的代碼打包并上傳至 Git 倉庫。在此過程中,需要選擇一個 Python 版本。平臺會根據選擇自動打包,生成一個可以在我們平臺上運行的部署包。

圖片

第三步是變更 Ray 配置,這實際上是調整服務的 deployment 配置。此步驟允許用戶通過配置變更來動態調整服務參數??紤]到在線服務的穩定性,我們設計了灰度發布機制。為了確保配置變更能夠平穩生效,而不對現有服務造成即時沖擊,用戶可以通過灰度發布的方式逐步應用新的配置。這種方式允許新配置在一部分流量中先行驗證,確保其穩定性和兼容性后再全面推廣。通過這一機制,用戶可以在不影響整體服務的情況下,安全地測試和應用新的配置調整,從而保障了服務的連續性和可靠性。

圖片

第四步是進行擴容。完成擴容后,可以立即看到服務啟動,并在平臺頁面上查看集群的機器列表。例如,展示的一個集群機器列表中,包含大約 4,000 多個請求者(requester),每個請求者對應 5 臺機器,總計超過 2 萬個節點。

此外,我們還提供了以下功能以支持更高效的管理和調試:

  • Ray Dashboard:用戶可以通過 dashboard 查看請求的狀態和性能指標。
  • 日志調試:平臺支持日志記錄和調試功能,幫助用戶快速定位和解決問題。

圖片

六、Q&A

Q1:關于低優資源的抖動狀態問題

問:您剛才提到的低優資源存在 3 秒更新路由表和每秒更新機制。對于一些狀態不穩定的資源,例如其性能可能一會兒好一會兒壞,這種情況是否會引發抖動?這種不穩定狀態是如何處理的?

答:理解您的問題,確實存在兩種情況:

性能波動:當節點的 CPU 被壓制時,可能會出現性能不穩定的情況。我們通過動態調整權重來應對這一問題,確保即使性能波動也不會影響服務的整體質量。

節點掉線與重啟:如果一個節點突然掉線后重新啟動,我們會將其視為一個新節點進行處理。若它快速重啟,可能不會特別關注;但如果觸發了 PreStop 機制,則該節點會被移除,并在重新上線時作為新節點加入資源池。

Q2:關于每秒更新頻率的問題

問:每秒更新的頻率是否過高?這是否會帶來額外的壓力?

答:每秒心跳確實會帶來較高的請求量,尤其在面對數十萬個節點時,會產生較高的 QPS 壓力。為此,我們采用了聚合擴散機制來減輕集群負擔。首先,我們要保證自身服務的性能;其次,在集群容量接近極限時,可以通過擴展更多集群來支持更大的規模。Starlink 架構并非局限于單一 Resource 集群,而是也可以靈活擴展至多個集群。

Q3:超級 APP 跨集群調度機制

問:超級 APP 如何實現跨多個 Ray Serve 的調度?是通過每個集群內部的調度器還是有更高層次的調度機制?

答:通過 RPC 的方式,不同 Ray 集群之間是不互通的,但是我們保證每個 Ray 集群都有完整的功能。

Q4:超級 APP 副本故障恢復機制

問:在一個超級 APP 擁有大量副本的情況下,如果部分副本掛掉,是由哪個調度器負責重啟這些副本?

答:由 APP 自身的調度器負責維護其所有 Ray Serve 的狀態。即便應用規模龐大,調度器也僅需定時掃描即可管理。假設一個超級 APP 有 100 萬個集群,掃描一次也只需一秒鐘左右的時間。因此,即使是超大規模的應用,其調度器也不太可能成為瓶頸。

Q5:聯邦集群的逐步擴展與負載均衡

問:聯邦集群是如何逐步擴展并淘汰舊集群的?特別是在進行版本升級時,如何保持負載均衡?

答:聯邦集群的擴展和淘汰是一個漸進的過程。頭節點并不執行具體的業務邏輯或 worker 任務,而是與 worker 等價,以減少對系統的影響。在做路由算法時,我們將所有節點視為等同,簡化了管理和調度過程。

Q6:在線服務 Runtime 優化

問:是否在 Ray 的 runtime 層面進行了特定優化?

答:目前我們尚未對 Ray 框架本身進行修改。該項目從今年上半年開始引入 Ray,因此現階段的重點在于集成而非深度定制。

Q7:TFCC 引擎的透明性與模型轉換

問:實際使用者是否需要關注推理引擎的選擇?模型轉換和優化是如何處理的?

答:用戶無需關注底層使用的具體推理引擎。我們在打包過程中將運行內容分為三個部分:軟件包、環境包和數據集(通常是模型)。上傳時,我們會對模型進行預處理,轉換成適用于各種 GPU 卡的版本,并對其進行性能優化。這一切都是自動完成的,用戶只需提供輸入參數。

Q8:推理引擎通用接口

問:不同推理引擎的特性(如 Dynamic Batch、Attention 機制)是否通過通用接口封裝?

答:當前并不是所有推理任務都使用 TFCC,但我們計劃未來增加支持。最常用的接口只需要提供輸入形狀等基本信息。對于不同推理引擎的特性,我們正在考慮如何通過通用接口進行適配,但目前尚未完全封裝。

Q9:Ray 聯邦集群間的通信

問:騰訊內部的 Ray 聯邦集群是否實現了分布式共享內存的打通?不同 Ray serve 之間是否可以直接通信?

答:不同 requester 之間的對象無法直接獲取。要訪問其他 requester 的對象,只能通過 API 接口進行間接訪問。

Q10:TFCC 與顯存管理

問:TFCC 是否實現了顯存的分布式管理?

答:目前還未實現。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2023-06-30 17:59:27

Ray離線推理

2023-04-04 07:32:35

TorchRec模型訓練

2022-06-02 16:58:06

Ray機器學習字節

2013-07-22 10:48:09

微信宕機

2020-06-10 10:00:53

Serverless數據處理函數

2023-03-05 15:51:54

AIGCChatGPT

2017-01-11 15:54:53

SDN網絡數據中心中國移動

2021-04-22 13:38:21

前端開發技術

2017-06-27 15:35:02

機器學習Spark微博應用

2024-11-26 19:29:35

2025-10-16 09:14:48

2024-08-28 14:48:43

2024-04-26 09:38:36

2013-03-22 14:44:52

大規模分布式系統飛天開放平臺

2012-11-22 14:02:28

2023-06-28 08:23:41

搜索語義模型

2012-02-21 09:36:30

云計算飛天云計算

2018-10-31 14:31:56

UCloud虛擬網絡灰度發布

2025-06-10 08:15:00

LLM大語言模測試

2010-07-15 09:53:02

云計算計算網絡
點贊
收藏

51CTO技術棧公眾號

国产超碰人人爽人人做人人爱| 99视频在线免费播放| 国产一区二区麻豆| 欧美精品国产| 精品播放一区二区| 精品欧美一区免费观看α√| 黄色片在线免费看| 蜜臀av一区二区三区| 成年人精品视频| 久久性爱视频网站| 电影久久久久久| 亚洲精品一卡二卡| 久久青青草综合| 一卡二卡在线观看| 一本久久综合| 中文字幕日韩专区| 小毛片在线观看| 99久久er| 精品福利在线看| 自拍偷拍亚洲色图欧美| 色婷婷激情五月| 久久精品72免费观看| 97国产suv精品一区二区62| 中文字幕伦理片| a看欧美黄色女同性恋| 在线精品视频免费观看| av片在线免费| aaa日本高清在线播放免费观看| 国产·精品毛片| 国产精品入口尤物| 国产精品7777777| 亚洲91中文字幕无线码三区| 日韩精品一区二区视频| 乳色吐息在线观看| 国产69精品久久久久9999人| 午夜精品福利一区二区蜜股av| 国产高清免费在线| 国产黄在线看| 91视频国产观看| 99久久精品无码一区二区毛片 | 国产精品福利视频| 国产又粗又猛又爽又黄视频| 日韩精品视频网| 久久理论片午夜琪琪电影网| 99精品久久久久| 日韩片欧美片| 国产一区二区三区网站| 国产精品无码久久久久久| 国产人妖ts一区二区| 欧美一级精品大片| 欧美又黄又嫩大片a级| 亚洲精品555| 日本高清成人免费播放| 免费在线观看亚洲视频| 高清电影在线免费观看| 亚洲在线视频免费观看| 免费观看国产视频在线| 五月天婷婷在线视频| 欧美高清在线精品一区| 日本日本精品二区免费| 每日更新在线观看av| 91亚洲精品一区二区乱码| 国产精品我不卡| 日批视频免费播放| 成人深夜在线观看| 国产伦精品一区二区三区四区视频 | 日韩欧美美女一区二区三区| 日韩成人av免费| 激情久久免费视频| 欧美大片在线观看| 国产精品嫩草69影院| 99久久香蕉| 亚洲激情久久久| 成人免费看aa片| 精品国产午夜| 日韩在线播放av| 国产suv一区二区三区| 国产精品www.| 91精品国产免费久久久久久 | 国产一级精品aaaaa看| 日韩在线观看视频一区| 久久欧美中文字幕| 亚洲不卡1区| 菠萝菠萝蜜在线视频免费观看| 亚洲男同性恋视频| 日韩精品 欧美| 日韩成人动漫| 欧美精选在线播放| 成人在线观看一区二区| 亚洲理论电影| 中文字幕在线亚洲| 久久久久成人精品无码| 国产精品久久久久9999高清| 国产精品日韩在线| 国产精品伦一区二区三区| 国产成人av电影在线播放| 玛丽玛丽电影原版免费观看1977 | www.国产黄色| 久久在线免费观看| 综合久久国产| 韩日毛片在线观看| 欧美精品一级二级三级| 无码国产精品一区二区免费式直播| 香蕉久久夜色精品国产更新时间| 色噜噜狠狠狠综合曰曰曰88av | 黄色网页在线看| 午夜精品福利在线| 九九热免费在线观看| 中文字幕一区图| 一区二区欧美久久| 久久无码精品丰满人妻| 欧美a一区二区| 鬼打鬼之黄金道士1992林正英| 成人不用播放器| 亚洲va国产天堂va久久en| 污片在线免费看| 美女扒开腿让男人桶爽久久动漫| 日韩中文字幕在线播放| 国产成人精品片| 国产在线观看免费一区| 日本一区免费观看| 国模雨婷捆绑高清在线| 欧美乱妇23p| 美女爆乳18禁www久久久久久| 欧美精品色网| 成人h猎奇视频网站| 精品推荐蜜桃传媒| 午夜在线电影亚洲一区| 亚洲三级在线视频| 手机亚洲手机国产手机日韩| 欧美性受xxxx白人性爽| 亚洲精品国产精品国| 成人欧美一区二区三区黑人麻豆 | 日本午夜视频在线观看| 懂色av一区二区三区免费观看 | 色综合久久影院| 一本色道亚洲精品aⅴ| 国产一线在线观看| 欧美在线91| 成人网址在线观看| 素人av在线| 欧美三级在线播放| 国产一区二区三区四区五区六区| 99精品视频免费观看视频| 97netav| 成年人黄视频在线观看| 欧美福利一区二区| 青青操在线视频观看| 麻豆精品久久久| 亚洲欧洲久久| 欧美黄色a视频| www.日韩免费| 一级特黄aaaaaa大片| 1024精品合集| 亚洲综合123| 欧美精品一区二区三区久久久竹菊| 国产一区二区在线免费| 老司机午夜在线| 欧美一区二区私人影院日本| 成人免费视频国产免费观看| 国产毛片精品国产一区二区三区| 成人免费看片视频在线观看| 免费欧美网站| 国产69精品99久久久久久宅男| av在线亚洲天堂| 亚洲国产综合在线| 国产一级二级视频| 免费在线欧美黄色| 热re99久久精品国99热蜜月| 国产一区二区精品调教| 日韩在线视频观看| 午夜精品无码一区二区三区| 亚洲国产精品人人做人人爽| 一区二区三区少妇| 久热综合在线亚洲精品| 一本色道久久综合亚洲二区三区| 亚洲图片小说区| 欧美激情第一页xxx| 囯产精品一品二区三区| 欧美丝袜一区二区三区| 99久久99久久精品免费| 国产美女精品在线| 人人妻人人添人人爽欧美一区| 欧美禁忌电影| 成人黄色短视频在线观看| 男女免费观看在线爽爽爽视频| 日韩av在线网页| 亚洲图片小说视频| 亚洲一区在线免费观看| wwwwww日本| 国产一区二区剧情av在线| 免费观看国产精品视频| 日本女优一区| 国产综合av一区二区三区| 日韩欧美2区| 欧美国产欧美亚洲国产日韩mv天天看完整| 少妇高潮一区二区三区69| 欧美亚洲国产bt| 久一视频在线观看| 国产精品色婷婷久久58| 性农村xxxxx小树林| 亚洲国产精品久久久久久| 999久久久精品视频| 伊人久久久大香线蕉综合直播 | 91福利免费观看| 亚洲精选91| 一区二区三区四区视频在线观看| 国产精品115| 国产精品免费一区| av在线播放资源| 久久精品国产久精国产思思| 飘雪影院手机免费高清版在线观看| 51午夜精品国产| 国产一级片av| 亚洲成人av免费| 国产又粗又硬又长又爽| 久久精品一区四区| 日本精品一二三| 国产一区视频网站| 国产成人手机视频| 国产日韩一区二区三区在线| 超碰超碰超碰超碰超碰| 色小子综合网| 日本一区二区不卡高清更新| 欧美电影完整版在线观看| 91麻豆桃色免费看| 岛国一区二区| 国产成人一区二区三区小说| 黄色视屏在线免费观看| 欧美福利在线观看| a天堂中文在线官网在线| 最近2019中文字幕mv免费看 | 自拍偷拍国产亚洲| 日本美女xxx| 久久一日本道色综合| 69亚洲乱人伦| 国产白丝精品91爽爽久久| 亚洲图片 自拍偷拍| 久久99精品久久久久婷婷| 国产精品无码一本二本三本色| 99精品视频免费全部在线| www.夜夜爱| 欧美日韩伊人| 老司机激情视频| 午夜精品久久久久99热蜜桃导演 | 久久精品国产第一区二区三区最新章节 | 国产九色91| eeuss国产一区二区三区四区| 亚洲自拍av在线| 日韩一区免费| 国产精品播放| 久久人人爽人人爽人人片av不| 国产伦理一区二区三区| 欧美人体视频| 欧美高清一区二区| 国产一区二区精品福利地址| 色综合久久久久久久久五月| 第九色区aⅴ天堂久久香| 亚洲看片网站| 亚洲破处大片| 国产91沈先生在线播放| 亚洲二区在线| 日本黄色三级大片| 日韩成人一级大片| 91极品尤物在线播放国产| 久久99精品久久久久婷婷| 美女被艹视频网站| 成人精品亚洲人成在线| 无码国产69精品久久久久网站| 99精品视频在线观看| 少妇真人直播免费视频| 中文一区在线播放| 国产精品白丝喷水在线观看| 一区二区三区在线免费播放| 日韩黄色精品视频| 色婷婷av一区| 国产麻豆91视频| 亚洲大胆人体在线| 国产在线观看免费| 欧美刺激性大交免费视频| а√在线中文在线新版| 日韩男女性生活视频| 香蕉成人在线| 精品国产乱码久久久久软件 | 久久精品青青大伊人av| 精精国产xxxx视频在线中文版 | 久久99精品国产自在现线| 欧美激情第一页在线观看| 91欧美国产| 人人妻人人添人人爽欧美一区| 蜜臀久久久99精品久久久久久| 欧美体内she精高潮| 久久免费的精品国产v∧| 黄色精品视频在线观看| 午夜精品视频在线观看| 中文字幕在线播出| 亚洲精品91美女久久久久久久| eeuss影院在线观看| 欧美猛少妇色xxxxx| 二吊插入一穴一区二区| 亚洲v日韩v综合v精品v| 免费观看久久av| 国产一区一区三区| 亚洲欧美日韩国产一区二区| 色男人天堂av| 国产亚洲欧美在线| 国产五月天婷婷| 欧美日韩一区国产| 日韩av成人| 高清视频欧美一级| 亚洲伊人伊成久久人综合网| 久久大香伊蕉在人线观看热2| 午夜精品毛片| 亚洲精品一二三四五区| 91在线你懂得| 免费在线视频观看| 欧美精品aⅴ在线视频| 黄色av免费在线观看| 韩国视频理论视频久久| 欧美久久亚洲| 一区国产精品| 奇米一区二区三区av| 五级黄高潮片90分钟视频| 亚洲资源中文字幕| 国产麻豆一精品一男同| 这里只有精品丝袜| 你懂得影院夜精品a| 激情一区二区三区| 亚洲人成在线影院| 日本黄色大片在线观看| 亚洲人成小说网站色在线| 中文字幕在线观看高清| 亚洲最新视频在线| 欧美大片免费高清观看| 久久精品aaaaaa毛片| 一区二区精品| 国产精品第七页| 精品福利视频导航| 姝姝窝人体www聚色窝| 韩国日本不卡在线| 牛牛精品成人免费视频| 久久久久久久久久久99| 懂色av一区二区三区免费观看| 久久久久久久久久99| 日韩欧美美女一区二区三区| 影院在线观看全集免费观看| 亚洲一区二区在线| 最新国产精品久久久| 日批视频在线看| 亚洲午夜日本在线观看| 高清国产mv在线观看| 97超级碰在线看视频免费在线看| 秋霞蜜臀av久久电影网免费| 青青草视频在线免费播放 | 久久99国产精品| 免费永久网站黄欧美| 我不卡一区二区| 欧美日韩精品福利| av免费在线网站| 国产一区免费观看| 久久不射中文字幕| 国产欧美一区二区三区在线观看视频 | 国产妇女馒头高清泬20p多| 99re在线精品| 亚洲黄色免费观看| 日韩一区二区视频在线观看| 含羞草www国产在线视频| 91精品国产综合久久男男| 午夜精品剧场| 欧美一级片在线免费观看| 性欧美大战久久久久久久久| 天天综合天天综合| 国产成人精品视频在线| 大片网站久久| 中国男女全黄大片| 欧美日韩国产精品一区二区不卡中文 | 亚洲精品乱码久久久久久久| 夜夜嗨av一区二区三区网页| 五月婷婷在线播放| 日本在线精品视频| 婷婷亚洲综合| 免费在线观看日韩av| 欧美视频在线免费看| 国产98在线| ts人妖另类在线| 宅男噜噜噜66国产日韩在线观看| 国产呦小j女精品视频| 色8久久人人97超碰香蕉987| 免费黄网站在线观看| 91视频免费在线| 激情文学一区| 一级黄色毛毛片| 日韩视频免费观看高清完整版| 伊人久久精品一区二区三区| 亚洲蜜桃在线| 99精品视频在线观看| 中文字幕人妻丝袜乱一区三区 | 亚洲美女久久精品| 天天做天天爱天天高潮| 久久综合九色综合97婷婷|