?

異構計算并行編程模型綜述

2021-09-11 01:38鄔江興祁曉峰高彥釗
上海航天 2021年4期
關鍵詞:異構編程文獻

鄔江興,祁曉峰,高彥釗

(中國人民解放軍戰略支援部隊信息工程大學信息技術研究所,河南鄭州 450000)

0 引言

科研工程等領域的應用對計算能力(簡稱算力)的需求越來越大。例如在深度學習模型中,計算系統處理的計算任務呈現出網絡規模龐大、問題復雜、需求多樣等特征?;仡櫸⑻幚砥靼l展歷史,如圖1 所示,在20 世紀80 年代,通過指令集、編譯優化、超標量、多級緩存推動了計算性能的提升;90 年代,通過提高時鐘頻率,使計算系統的單線程性能提升,但功耗隨之增加;21 世紀以來,對多核并行計算的研究逐漸增多,直至當前,摩爾定律逐漸失效。JOHN 等[1]在ISCA 2018 中指出,單核處理器性能提升的幅度已經縮小至每年只增加3%,高性能計算需要計算體系結構的創新。

圖1 48 年微處理器發展趨勢[2]Fig.1 48 years of microprocessor trend data[2]

計算體系結構創新的內涵有兩個方面:其一是規模,即由單核轉向多核并行計算。傳統的高性能計算研究聚焦在單核性能上,當前則是依靠多核集群,集中分布式算力,通過規?;嵘懔?。其二是架構,如中央處理器(Center Process Unit,CPU)、圖像處理器(Graph Process Unit,GPU)和可編程門陣列(Field Program Gate Array,FPGA)等計算器件均有各自擅長的處理領域,按照一定組織方式組成多核異構的系統。每種計算器件有各自計算存儲模型,不同計算器件的組合使得系統具有異構性。目前,混合兩種及兩種以上計算器件的多核異構芯片、系統、集群都已經出現。研究人員試圖組合不同的計算器件,從性能、功耗等方面的需求出發,通過新型計算體系架構將硬件性能發揮到極致。

異構計算器件組合可以滿足多樣化的計算任務需求。但是,器件集成在同一系統并不意味著算力相加。如圖2 所示異構系統中,包含不同計算器件,但是各個計算器件的計算、存儲和連接等均有獨立標準,異構器件之間的任務劃分、調度、通信、存儲、同步等機制的不同為系統管理帶來新的問題。若不解決這些問題,異構系統難以發揮其理論上的性能和能耗優勢,異構特征反而會成為系統負擔。

圖2 異構計算系統抽象表示Fig.2 Abstraction architecture of heterogeneous computing system

解決該問題的難度體現在開發者既要具備豐富的硬件架構知識,又要熟悉各種軟件優化方法。對開發者而言,易用的軟硬件協同編程工具和自動優化功能是異構計算編程追求的目標。因此,對異構并行編程模型及運行優化的研究是異構并行系統研究的重要內容。本文回顧和梳理異構系統并行編程最新成果,介紹了代表性異構編程模型,研究了異構編程模型優化方法,討論了異構并行計算的關鍵問題,最后對異構計算體系架構的研究方向進行總結。

1 異構并行編程模型

異構并行編程模型把底層硬件抽象表示,提供統一編程接口,解決異構系統并行計算、存儲、通信等一系列問題。文獻[3]介紹了主流的異構并行編程模型,例如,OpenCL[4]、CUDA[5]等。早期編程模型接口相對低級,開發者需大量手工操作實現細節優化,這不僅增加編程難度導致較低開發效率,也會導致適用性差、易出錯等問題。文獻[6]總結了各種異構系統編程模型的接口分類,補充許多實驗室異構編程模型項目,例如,Merge[7]、C++AMP[8]、Lime[9]、Copperhead[10]、Grag[11]等。這些編程模型的出現一定程度上克服了CUDA、OpenCL等編程模型的缺點。

分析現有異構并行編程模型優化研究,可分為兩種:一種從硬件底層優化出發,針對特定異構架構設計編程模型;另一種是基于現有編程框架改進或擴展,通過封裝編程接口降低編程難度,提高現有異構編程框架的可用性。

1.1 顯式異構編程模型

多數異構編程模型針對特定架構,例如CPU+GPGPU 的架構。異構系統處理任務劃分、調度、通信、同步等問題,對應大量的編程接口。異構編程模型以顯式編程形式實現異構系統優化,代表性的編程模型有OpenCL、CUDA。它們采用Host/Device 的分工形式,Host運行CPU的控制代碼,Device 運行加速設備的代碼,如圖3 和圖4所示。

圖3 OpenCL 編程模型Fig.3 OpenCL programming model

圖4 CUDA 編程模型Fig.4 CUDA programming model

CUDA 和OpenCL 的編程接口偏底層,因此,其對開發能力要求高,并且對并行程序的分析和驗證比較困難。因此,對顯式編程模型的優化研究是將復雜的編程接口簡化,構建結構化的編程框架。例如,文獻[12]使用腳本語言和OpenCL設計結構化的并行編程框架,通過腳本調用OpenCL 接口控制任務。文獻[13]提出一種結合OpenCL 和CUDA 的接口庫HCLOOC,解決計算核心和多核通用CPU 之間通信鏈路有限帶寬的約束問題。HCLOOC 庫包含調用各類計算硬件的基本模塊,支持OpenCL 命令隊列、任務卸載、復制和執行CUDA 流等功能。

1.2 制導式編程模型

制導式編程模型(pragma)方法在源代碼上以注釋的形式,告訴編譯器并行代碼區域的位置,如何在代碼的不同部分訪問變量以及如何在同步點執行。編譯器根據制導語句生成代碼、執行代碼段、傳輸數據和執行同步操作。生成代碼通過調用運行時系統管理硬件資源以及跨不同內存層級傳輸數據。代表性的制導式異構編程模型包括OpenACC[14]、OpenMP[15]、OpenHMPP[16]等。

對制導式異構編程模型研究主要是基于內存的優化。例如,文獻[17]提出了一個基于OpenMP開發的工具包HyCOMP,工具包模擬分布式CPU和GPU 上的虛擬共享內存空間,分布式共享內存系統可以有效防止GPU 在處理主機到設備內存拷貝過程中,因大量頁錯誤而導致的性能下降。制導式異構編程模型簡化了異構并行編程的難度,并對優化異構系統性能起到顯著作用。

2 異構編程模型的優化

2.1 異構編程中間表示

在生成執行機器碼過程中,運行時系統優化代碼操作能夠有效提高系統性能,即中間表示(Intermediate Representation,IR)技術。HAS[18]、ROCm[19]、CUDAPTX[5]、SPIR[20]等都是專門為異構體系結構設計的IR。

HSA 是由HSA 基金會開發的異構體系結構規范,HSA 定義了中間語言HSAIL(HSA Intermediate Language),包括對異常、虛擬函數和系統的調用。AMD 基于HSA 和HSAIL 開發了ROCm,針對OpenCL 和CUDA程序進行編譯。CUDA PTX 是NVIDIA 為CUDA 程序開發的中間表示。CUDA編譯器將CUDA 代碼轉換為PTX IR,但僅適用于NVIDIA 系列的GPU。SPIR 是一種基于LLVMIR 的二進制中間語言,用于圖形計算和內核計算。LLVM 可以作為多種語言編譯器的后臺來使用,將代碼編譯成多種不同硬件架構的指令集。

2.2 異構編程語言接口

開發者希望使用易于理解的高級語言實現抽象編程語言到底層框架的映射,多數研究以此為目標優化異構編程框架。異構編程語言可分為非托管式的和托管式的。

非托管編程語言指可以直接處理內存的編程語言。并行編程框架采用非托管式語言,因為它能為系統提供更高性能。文獻[21-25]使用類C 語言,設計高層級統一的并行編程架構。通過源到源的編譯器,將類C 語言轉成CUDA 或OpenCL 代碼,實現不同規模的異構底層映射。使用非托管式編程語言的特點是所有規則、語法、執行模型和內存模型都是能夠通過編程語言定義。但是非托管語言的抽象級別相對較低,需要程序員具備更多的軟硬件開發專業知識。

托管式編程語言是指內存可由運行時系統自動管理的編程語言。托管式編程語言實現內存自動管理,依賴于高效的語言虛擬機、解釋器和編譯器執行。文獻[26-28]基于Java 語言設計異構并行計算編程架構,以高級抽象的方式管理硬件資源,并在內部運行時系統進行中間優化操作。文獻[14]提供Python 封裝接口,使用PyOpenCL 調用接口。文獻[29]設計高級語言Occanpi,用于異構粗粒度硬件構建、編譯和生成機器碼,解決異構可重構平臺的可訪問性問題。盡管托管編程語言簡化了開發過程,但抽象程度越高,平臺性能優化越困難。例如在Java 中,所有數組都從Java 端復制到JNI(Java Native Interface)端。JNI 需要為所有數組創建額外副本。因此,應用程序的性能將低于用非托管語言實現的應用程序性能。

2.3 融合的并行編程模型

異構計算的規模不僅限于芯片,還擴展到異構計算集群。大規模異構計算集群對計算節點的并行性能要求增加,系統往往具有更為復雜的并行層次和內存層級。文獻[30]使用多核控制器管理異構設備,可跨不同計算硬件類型移植通用內核,簡化數據分區和映射。運行時系統自動為每個設備選擇和部署合適的內核,管理數據移動并隱藏啟動細節。

高度并行異構系統需要處理好粗粒度并行和細粒度并行?;旌洗至6群图毩6炔⑿械木幊炭蚣?,通常為MPI+X 的多層結構。文獻[31]設計一種通用、混合和優化稀疏的工具包,按照MPI+X 的范式,為多核計算器件提供內核和資源管理。文獻[32-35]均采用MPI+OpenMP+CUDA(MOC)混合并行編程模型,通過基于節點間(粗粒度)和節點內(細粒度)的并行處理架構實現CPU 和GPU 協作的大規模異構并行計算。文獻[36-37]則是提出MPI+OpenMP+OpenCL 的并行化方法,增強異構系統的數據可移植性。

2.4 虛擬化異構編程模型

盡管MOC 范式的融合異構并行編程框架具有良好的性能和能效,但是其編程復雜度較高。文獻[38]提出了一種基于異構集群的分布式虛擬機。虛擬機實際是一個分布式系統,將混合的CPU 和GPU 看作單一的大規模GPU 集群,只需要使用CUDA 開發應用程序,而不需要將MPI 和多線程API 結合起來。以虛擬化的方式消除異構系統開發、設備內存空間和線程配置的復雜性,可以實現自動化處理異構處理器間負載均衡、設備內存和線程的配置約束問題。

2.5 小結

本章詳細介紹了異構并行編程優化的最新研究成果,優化目標從編程難度、計算性能、并行規模3 個維度出發,對異構架構并行編程的技術挑戰提出部分解決方案。實際上,一個異構并行編程框架難以同時具備編程難度低、計算性能高和異構規模大這3 個特點,只能滿足三取其二。這種特征構成了異構并行編程優化的“不可能三角”,如圖5所示。

圖5 異構并行系統“不可能三角”Fig.5 Impossible trinity of heterogeneous parallel system

這個“不可能三角”的3 個頂點分別是編程難度低、計算性能高、并行規模大,即異構并行編程模型優化的3 個目標。然而這3 個目標最多只能做到2 個。例如,如果追求編程模型易上手,通過少量代碼或指令實現異構編程,同時保證系統具有高度并行和計算能力。這種情況下就需要高度封裝的編程語言接口或者中間表示優化,從而犧牲編程靈活性,因此,難以在大規模異構系統上實現。另外兩種情況也類似。如果想要計算性能高,同時異構規模大,那就需要多層級存儲和混合顆粒度的并行編程框架,這將增加系統編程的復雜度;如果想要編程難度低,并且異構規模大,那么目前的方法就是采用虛擬化的方式,犧牲一定系統性能,從而實現大規模異構計算資源的統一管理。因此,在進行異構編程模型優化時,核心是兩個方面:

1)對開發者來說,只有異構編程模型的編程復雜度是可控的,因此,開發或優化新型異構編程模型應由實際需求驅動。

2)在當前研究框架下,由于優化目標相互限制,還未出現完美的異構編程框架,理想的研究方向應是如何避免這個三元悖論或者將3 個優化目標進行折解。

3 異構并行計算關鍵問題

提高資源利用率和減少通信開銷是異構計算研究的關鍵問題。為充分提高資源利用率,需要考慮并行任務使用哪些硬件計算資源;在不同的計算器件上,任務處理速度和效率不同,系統性能很大程度上受調度方案的影響,合理的負載均衡策略、服務質量管理都可以提高資源利用率。異構系統各類計算器件的傳輸、存儲方式不同,合理的數據存儲結構能夠節省大量的數據讀取時間;數據傳輸時可以通過疊加或流水等方式將計算或存儲操作隱藏。此外,對系統性能的評估也需要靈活的評估方法和工具,綜合考慮系統通信、能耗、可靠性以及其他技術指標的平衡。下面分別介紹異構系統任務調度映射、負載均衡、服務質量、存儲優化、傳輸優化、通信隱藏、性能評估等方面的最新研究成果。

3.1 提高資源利用率

3.1.1 調度映射

同一計算任務在不同的硬件節點中執行,在性能功耗等方面各有所長,因此,異構系統需要將任務分配給合適的計算設備。

調度映射方式可分為靜態和動態。靜態調度方法利用系統約束和任務屬性,將問題轉化為多約束條件下的求最優解問題。求解方法分為線性規劃方法和啟發式方法。規劃求解策略根據系統的多約束條件通過線性規劃等方式求最優解。例如,文獻[39]用線性規劃方法,根據處理器類型和時間表約束進行任務調度,最小化通信延遲和能耗。啟發式方法的核心是評價函數,以評價函數為標準通過不斷迭代找到最優解。例如,文獻[40]提出了混合雙目標并行遺傳算法,采用加權求和的方法,根據用戶的偏好平衡能耗和執行時間。文獻[41]基于搜索的調度算法,通過剪枝技術縮小搜索空間,通過啟發式函數指導最優解搜索。文獻[42]使用混合的元啟發式集合方法,尋找異構系統的最優帕累托映射方案,同時優化執行時間和能耗。

動態調度方法通過感知系統能耗,動態實時調度子任務。文獻[43]把能耗感知作為大規模異構計算環境中并行調度策略的重要參考依據,將不同并行層級任務映射到目標計算平臺。文獻[44-45]將動態電壓頻率標度和動態功率管理等系統參數量化,基于多目標全局優化元啟發式算法,研究能耗感知和融合能效感知的調度模型。文獻[46-47]在異構系統中,采用啟發式的電源感知和能效調度算法,近似求解最小化動態能耗開銷的調度策略。

3.1.2 負載均衡

負載均衡主要用于工作負載分配,通常以能耗感知的方式調整計算資源的使用,平衡計算能耗。

1)將特定異構模型和任務調度聯合優化。文獻[48-49]基于CPU 和Intel-MIC 結構提出工作負載分配方法,解決計算器件間的負載平衡問題。文獻[50]采用聚合計算,改善CPU 和加速器之間的負載平衡。文獻[51-52]通過基于貪婪策略的異構動態調度器實現負載均衡。文獻[53]設計了雙層工作負載分配方案,為每個計算節點分配最合適的工作負載,并在每個節點內合理劃分CPU 和GPU 之間的工作負載。文獻[54]采用基于FPM 的異構分解方法在異構處理設備之間分配工作負載。

2)依據系統能耗的動態反饋結果實現運行時的負載均衡。例如,文獻[55]通過工作負載劃分算法確定負載分布,最小化應用并行執行的能耗。文獻[56]將性能和能耗作為工作負載函數的參數,評估并行平臺的資源競爭,返回任務劃分的帕累托最優解。文獻[57]使用CMT-bone 工具進行異構架構的負載均衡,平衡優化性能和能耗。

此外,針對大規模異構集群,文獻[58]研究了MOC 結構異構環境下,生成可執行程序時自動分配計算負載的方法。

3.1.3 服務質量

由于并行任務在線程同步、數據共享和并行化模式的多樣性,管理執行性能要求不同的并行任務是一個復雜的問題。在資源有限的異構計算系統上并行執行任務,為不同任務定義不同的優先級,對異構系統的任務映射和資源管理具有重要意義。文獻[59]研究異構系統上的并行任務服務質量管理方式,通過分析一系列任務映射策略對應用程序性能的影響,認為在異構硬件上的有效的服務質量管理策略能提高任務映射策略的性能,同時保持了系統優化目標的平衡。

3.2 減少通信開銷

3.2.1 數據存儲

異構體系結構中的共享末級緩存(Last Level Cache,LLC)對系統的整體性能至關重要,當與CPU 應用程序協同運行時,GPU 應用程序很容易占據LLC 的大部分,使得CPU 資源嚴重匱乏,針對異構體系共享LLC 的設計和管理,文獻[60]將傳統的SRAM 與新的存儲器技術STT-RAM 相結合來擴展共享LLC,并通過綜合管理策略減少計算器件間的資源爭用。

3.2.2 數據傳輸

異構系統計算器件上的數據需要頻繁交互。一方面,主節點與設備節點進行同步,會對系統帶來額外的開銷。文獻[61]提出優化消息傳遞模型MEMPHA 減少異構器件之間的擁塞,縮短總通信量。文獻[62-63]設計并行算法,通過GPU 排序隊列減少通信開銷。另一方面,數據傳輸過程的接口協議需要相互轉換。針對數據轉換,文獻[64]提出一種動態二進制轉換任務遷移方法,減少因數據轉換造成的開銷。

3.2.3 通信隱藏

異構規模的增加使通信延遲成為性能瓶頸。為減少通信延遲,文獻[65]采用空間域分解和射線并行相結合的方法進行異構并行計算,使MPI 通信時間與GPU 上的傳輸掃描時間重疊,隱藏GPU 與CPU 之間的通信和數據傳輸時間。文獻[66]通過性能分析模型識別性能影響因素,實現數據計算與數據傳遞操作相互重疊。文獻[67]提出流水線混合并行的優化方法,加速GPU 之間的流水線混合并行,減少通信延遲和內存使用頻率。

3.3 性能評估

異構系統還包括對計算和通信行為的性能評估模型的研究。文獻[68-69]設計形式化的通信性能的表達方式,用于評估通信代價、最小化通信開銷。文獻[70]提出一種精確通信成本評估函數,用于在執行數據并行應用程序的過程中,評估混合平臺中計算存儲數據移動的通信時間。異構系統優化的另一個目標是準確估計不同計算器件的能耗。文獻[71]采用系統級功率測量表估計應用組件級能耗。對于安全性要求高的并行應用,必須滿足可靠性目標的同時最小化成本。文獻[72]針對異構嵌入式系統上并行計算的資源消耗成本最小化問題,將應用程序的可靠性目標轉化為每個任務的可靠性目標并分配給處理器,以啟發式的方法最小化能耗。

3.4 小結

本章詳細介紹了異構并行計算在提高資源利用率,減少通信開銷以及系統性能評估等方面的最新研究成果。相比于傳統并行編程模型的計算方法,異構模型增加了系統的計算復雜度,這種計算復雜度主要體現在三個方面:

1)任務的編譯不僅面向CPU,還要映射到GPU、FPGA 等含有局部存儲結構的加速器件上。編譯過程增加了任務劃分、映射、負載和執行優先級等工作,直接增加系統計算負擔。

2)異構器件的存儲和傳輸成為新的性能瓶頸,根據計算任務不同,系統應支持以靈活的方式改變存儲結構及通信傳輸方式實現性能優化。

3)異構特性使系統在評估性能時的可選指標更加多元化,因此,應支持根據實際需求或應用場景的變化,可靈活定義異構系統內部結構及其評價標準。

從以上特點可以看出,當前異構并行計算優化方法主要繼承傳統并行計算優化中的任務映射、分級存儲和并行流水等策略,在策略的生成過程中人工干預較多,系統缺乏主動認知和自主決策的能力,并且明顯缺點是各類計算優化只針對特定體系結構的異構系統。從研究趨勢以及研究需求上看,未來計算體系結構的特點應具備“應用決定結構”的主動認知的動態重構過程,因此,對靈活可變特征的異構體系結構模型有待進一步研究。

4 結束語

本文回顧了主流異構并行編程模型及研究進展,針對異構并行計算關鍵問題進行討論。前文已經指出異構并行計算架構系統的三元悖論對開發者來說一直都是挑戰,隨著計算器件多樣化,支持軟件定義的異構融合模型軟件工具鏈內涵仍需不斷擴展和完善。2008 年,鄔江興院士根據“結構決定功能、結構決定性能、結構決定效能”的公理,提出擬態計算(Mimic Structure Calculation,MSC)架構。擬態計算是在異構計算的基礎上實現基于主動認知的多維環境動態重構,實時感知計算任務關于時間的負載分布和能耗狀況,調度合適的軟硬件功能模塊,協同完成計算任務以擬合期望的能效曲線。結合擬態計算的思想,理想的異構編程模型應具備融合多類計算資源、結構的主動感知和動態重構的特征。異構融合的編程模型能夠提供靈活的底層資源的抽象,通過軟件定義形式實現多模態計算模型。結合研究團隊在擬態計算和高效能計算方面的積累,對新型異構體系架構的研究有以下幾個方向:

1)軟件定義互連。異構內涵不斷豐富,未來的網絡體系包含多種異構計算資源,存儲資源和相互間的各種網絡連接資源。軟件定義互連基于可重構和可編程技術,具有可擴展的硬件/軟件架構,允許應用程序對硬件進行在線定義,動態更改交換互連的功能、性能,實現對不同應用場景的最佳擬合適配。軟件定義互連將是針對未來多樣化需要的新型網絡技術,是交換與互連技術及產業的未來演進形態,其發展趨勢主要包括兩點:一是突破軟件定義互連技術基礎理論、基礎支撐技術和共性關鍵技術問題,形成覆蓋標準規范、芯片、設備、網絡平臺、軟件、工具等在內的體系化成果;二是著眼關鍵應用的新型體系結構發展,打造支持軟件定義互連為內核的產業體系,形成從終端到邊緣計算、匯聚接入、核心交換的軟件定義大互連生態。

2)內生安全。異構體系架構的核心特征是基于能效的軟硬件變結構協同計算和基于性能的變結構協同處理。在此基礎上,擬態計算架構支持在效能和性能目標間自由轉換,并具備動態優化和管理的功能。擬態計算所具有的多樣性、動態性和隨機性的協同處理特點,恰好能夠彌補傳統系統在應對基于內生安全問題攻擊時的靜態性、確定性和相似性安全缺陷。因此,利用對威脅感知的功能等價動態變結構協同處理環境的非確定性,就可以創造以內源性的“測不準”效應規避內生安全問題的新型防御體制。從應用維度上看,基于擬態計算的異構變結構協同計算能夠適配基于構造效應的內生安全機制。在未來的研究中,功能等價條件下的軟硬件變結構協同處理體制機制將成為解決內生安全問題的關鍵。

3)類腦計算。類腦計算以融合科學計算和神經網絡計算為核心,基于擬態計算與軟件定義互連技術,實現軟件與硬件、控制與計算的分離,計算、存儲、互連等資源可靈活定義的“左右腦”融合計算架構。類腦計算通過資源動態自適應匹配方法,構建主動認知重構的處理結構,生成多目標約束下的資源調度方法,實現任務與資源的優化匹配?;谲浖x的可重構計算方法結合人腦工作機理的抽象與建模,實現深度神經網絡與擬態神經計算的融合,推動人工智能從原理模型、算法到實現架構的發展,為邊緣終端、移動終端等設備的智能化實時信息處理提供強力支撐,是未來計算系統發展的一條可行的技術途徑。

隨著軟件定義互連、內生安全、類腦計算技術的發展,本團隊將應用場景進一步擴展至晶上系統(System on Wafer,SoW)領域。軟件定義晶上系統立足我國集成電路成熟工藝和工具“代差落后”的基本國情,借助領域專用軟硬件協同計算結構和晶圓級互連拼裝集成的聯合迭代創新,解決SoW 發展初期領域專用混合粒度預制件設計、異構多Die 之間互連、動態可重構網絡等關鍵問題,并將作為SoW 內部Die-to-Die 之間的計算互連規范,致力于構建一個開放式的SoW 生態。

猜你喜歡
異構編程文獻
ETC拓展應用場景下的多源異構交易系統
離散異構線性多智能體系統的輸出一致性
試論同課異構之“同”與“異”
Hostile takeovers in China and Japan
元征X-431實測:奔馳發動機編程
玩游戲學編程,Blockly Games上手玩
紡織機上誕生的編程
Cultural and Religious Context of the Two Ancient Egyptian Stelae An Opening Paragraph
凝聚與鋪張——孫紹振教授《以丑、呆為美》兩岸同課異構教學觀摩后記
學編程,先畫畫
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合