![集群環(huán)境下的并行編程模型和開發(fā)工具_(dá)第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea0/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea01.gif)
![集群環(huán)境下的并行編程模型和開發(fā)工具_(dá)第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea0/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea02.gif)
![集群環(huán)境下的并行編程模型和開發(fā)工具_(dá)第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea0/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea03.gif)
![集群環(huán)境下的并行編程模型和開發(fā)工具_(dá)第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea0/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea04.gif)
![集群環(huán)境下的并行編程模型和開發(fā)工具_(dá)第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea0/87e8b4ac-5ca1-4fb8-83a2-a5df87d3cea05.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、集群環(huán)境下的并行編程模型和開發(fā)工具1、引言近年來,隨著高性能微處理器、高速網(wǎng)絡(luò)、高性能分布計算的標(biāo)準(zhǔn)工具三種技術(shù)的飛速發(fā)展以及各種計算機(jī)部件的商品化,集群系統(tǒng)成為價格合理的并行計算工具。在需要提供高度可靠的服務(wù)以及強(qiáng)大的計算能力的環(huán)境下,以廉價而又容易獲取的硬件和免費(fèi)或常用軟件構(gòu)成的集群系統(tǒng)發(fā)揮著越來越明顯的優(yōu)勢。為了有效地開發(fā)并行計算機(jī)尤其是集群的計算能力,好的編程模型、執(zhí)行環(huán)境以及開發(fā)工具是必不可少的條件。在過去的二十多年里,各種不同的并行編程環(huán)境得到了很大的發(fā)展,同時得到發(fā)展的還有很多相應(yīng)的編程輔助工具,包括并行調(diào)試器和各種跟蹤監(jiān)測工具。許多這樣的環(huán)境作為標(biāo)準(zhǔn)出現(xiàn),這些標(biāo)準(zhǔn)反過來又促進(jìn)了
2、可移植并行環(huán)境模型的發(fā)展。2、并行編程模型的研究現(xiàn)狀并行程序設(shè)計模型是硬件和軟件之間的橋梁,是并行計算的低層實(shí)現(xiàn)與高層抽象的界面。 它是面向程序員的語言抽象,由于這些抽象是程序員角度的并行計算,所以它會嚴(yán)重地影響程序員解決問題的方法。基于不同的目的、面向的不同的問題、不同的假設(shè)及不同的抽象層次,目前研究人員已經(jīng)開發(fā)出了幾十種不同抽象的并行程序設(shè)計模型,如函數(shù)模型、面向?qū)ο蟮哪P汀?shù)據(jù)并行模型、消息傳遞模型及共享存儲模型等。雖然存在著如此多的并行程序設(shè)計模型,但并不是每一種模型都適合集群計算。這是因?yàn)樵诩涵h(huán)境下的并行應(yīng)用程序的開發(fā)是一個很復(fù)雜的任務(wù),開發(fā)人員必須面對一系列復(fù)雜的問題,這些問題涉
3、及到不確定性、通信、 同步、 數(shù)據(jù)劃分和分配、負(fù)載平衡、容錯、 異構(gòu)、共享或者分布存儲、死鎖以及競爭條件。這些對軟件開發(fā)人員提出了新的重大挑戰(zhàn)。目前在集群環(huán)境下應(yīng)用最多的是消息傳遞模型。在消息傳遞模型中,各個并行執(zhí)行的部分之間通過傳遞消息來交換信息、協(xié)調(diào)步伐、控制執(zhí)行。消息傳遞一般是面向分布式內(nèi)存的,但是它也可適用于共享內(nèi)存的并行機(jī)。消息傳遞為編程者提供了更靈活的控制手段和表達(dá)并行的方法,靈活性和控制手段的多樣化是消息傳遞并行程序能提供高的執(zhí)行效率的重要原因。 消息傳遞模型一方面為編程者提供了靈活性,另一方面它也將各個并行執(zhí)行部分之間復(fù)雜的信息交換和協(xié)調(diào)控制的任務(wù)交給了編程者,這在一定程度上增
4、加了編程者的負(fù)擔(dān),這也是消息傳遞編程模型編程級別低的主要原因。在當(dāng)前所有的消息傳遞軟件中,最重要、最流行的是并行虛擬機(jī)PVM(parallel virtualmachine)1 和消息傳遞接口MPI(message passing interface)23 。 PVM 是第一個被廣泛接受的消息傳遞環(huán)境。它提供了跨越異構(gòu)平臺的可移植性和互操作性,允許多個異構(gòu)計算機(jī)通過網(wǎng)絡(luò)連接在一起作為一個稱作并行虛擬機(jī)的單一計算資源來使用。其最大的優(yōu)點(diǎn)是靈活性,包括異構(gòu)平臺上的可移植性、交互性和容錯功能。MPI 是一個顯示的消息傳遞模式,在其中,任務(wù)通過發(fā)送消息進(jìn)行相互通信。其最大的優(yōu)點(diǎn)是高性能,點(diǎn)到點(diǎn)通信函數(shù)
5、模型、可操作數(shù)據(jù)類型都比PVM 豐富,群組通信的函數(shù)庫也更大,但是不如PVM 靈活。 MPI 和 PVM 都提供了一套函數(shù)集,且各有所專。它們能運(yùn)行在所有的并行平臺上,包括PVP、 SMP、MPP(massively parallel processor)、工作站和PC組成的集群系統(tǒng), 并已經(jīng)在 Windows平臺上實(shí) 現(xiàn),提供了對C、Fortran和Java語言的綁定。有關(guān)PVM和MPI的更多詳細(xì)信息請參考 4567 。3、執(zhí)行環(huán)境和開發(fā)工具集群環(huán)境搭建后,你怎樣使用它?你怎樣編寫程序以利用它的優(yōu)點(diǎn)?有什么樣的開發(fā)庫和編程工具來幫助你編寫運(yùn)行在集群上的并行程序代碼?以下將介紹幾種近幾年來集群
6、上廣泛使用的PVM 和 MPI 環(huán)境下的開發(fā)工具。3.1 PVM 環(huán)境下的開發(fā)工具3.1.1 PVM+PVM環(huán)境下的C+庫8。它是由卡爾斯魯厄大學(xué)( University of Karlsruhe )的計算機(jī)設(shè) 計和故障容錯研究所(Institute of Computer Design and Fault Tolerance )開發(fā)的一個軟件庫。它為編寫應(yīng)用廣泛的并行程序庫PVM 提供了一種簡單的方法,能夠工作在同構(gòu)和異構(gòu)的環(huán)境下。PVM+ 的主要特點(diǎn):(1) 在異構(gòu)網(wǎng)絡(luò)中易于發(fā)送和接收消息(2) 完全的 STL ( standard template library 標(biāo)準(zhǔn)模板庫)集成(3)
7、 在所有的UNIX 平臺上使用配置腳本易于安裝(4) 易于獲取所有的任務(wù)和主機(jī)信息(5) 支持消息處理(6) 信息能夠在一到來時即自動被打開1998年 1月發(fā)布了第一個版本PVM+ 0.4 ,此后相繼發(fā)布了許多新的版本,每個后繼版本在功能上都有所改進(jìn)。目前可以從PVM+ 的網(wǎng)頁 8上下載最新版本PVM+ 0.6.0 。 PVM+在Unix和Linux的平臺上已經(jīng)得到了廣泛的應(yīng)用,但目前是否能在Windows NT這樣的Windows 平臺上編譯還沒有得到驗(yàn)證。 3.1.2 CPPvmPVM環(huán)境下的又一個 C+接口 9,是由斯圖加特大學(xué)(University of Stuttgart )的并行
8、和分布式高性能系統(tǒng)研究所(Institute of Parallel and Distributed High-Performance Systems )開發(fā)的一個軟件庫。CPPvm允許進(jìn)程之間傳遞C+對象,這些進(jìn)程可以運(yùn)行在由多個 Unix 或 Windows 計算機(jī)所構(gòu)成的異構(gòu)集群上。CPPvm的主要特點(diǎn):(7) 能動態(tài)地產(chǎn)生和結(jié)束進(jìn)程(8) 能檢測失效的進(jìn)程和主機(jī)(3)發(fā)送或接收C+對象(4)結(jié)合C+對象和消息油箱一起使用(5)可以編寫自己的消息 C+庫(9) 使用標(biāo)準(zhǔn)模板庫(STL )類(10) 使用信號量、互斥和阻塞機(jī)制(8)可以結(jié)合CPPvm和現(xiàn)有的PVM軟件一起使用CPPvm是遵
9、循 LGPL (GNU Library General Public License )的軟件,目前可以從 CPPvm 的網(wǎng)頁 10 上下載其最新版本CPPvm 1.5.0。有關(guān) 有關(guān)CPPvm及1.5.0版本的更詳細(xì)信息請參考11。在這里值得一提的是,CPPvm中有一個專門用于 Windows和Visual C+ 6.0的開發(fā)包10,這對于那些搭建 Windows集群而且又善于用 Visual C+ 6.0來編寫應(yīng)用程序的人來說無 疑是一個很方便的工具。 3.2 MPI 環(huán)境下的開發(fā)工具 3.2.1 MPICHMPICH 是一個靈活而又健壯的MPI 實(shí)現(xiàn)。 在 1992年超級計算機(jī)討論會MP
10、I 論壇的組織會議上,Gropp和Lusk自愿提出要開發(fā)一種能跟隨MPI標(biāo)準(zhǔn)發(fā)展的快速實(shí)現(xiàn)工具。而事實(shí)上,在分布存儲環(huán)境下的消息傳遞標(biāo)準(zhǔn)12提出的幾天內(nèi),MPICH 第一個版本就完成了。這主要?dú)w功于現(xiàn)有的靈活系統(tǒng) P4和Chameleon。MPICH的第一個版本提供了非常合理的性能及可移 植性。從1993年開始,MPICH 被不斷地改進(jìn)以提供增強(qiáng)的性能和可移植性。2003年 1月發(fā)布了 MPICH 1.2.5版本,目前可從上免費(fèi)下載最新版本 MPICH ,發(fā)布于 2003年 9月。MPICH的主要特點(diǎn)13:(1)與MPI1.2標(biāo)準(zhǔn)完全一致(2)支持
11、 MPMD (multiple program multiple data )編程和異構(gòu)集群(3)MPI-1中函數(shù),MPI-2標(biāo)準(zhǔn)中實(shí)現(xiàn)了 C+綁定(4)支持Fortran 77和Fortran 90的綁定,包括mpif.h '和MPI模塊(5)支持 Windows NT平臺,并且開放源碼(6)支持的環(huán)境非常廣泛,包括SMP集群和大規(guī)模并行計算機(jī)(7)支持部分MPI-2標(biāo)準(zhǔn),包括通過ROMIO14工具支持大部分 MPI-IO ,支持 MPI_INIT_THREAD ( 但僅僅是 MPI_THREAD_SINGLE 和 MPI_THREAD_FUNNELLED)等(11) MPICH還包
12、含了并行程序設(shè)計環(huán)境組件,包括并行性能可視化工具(upshot和jumpshot)及正確性和性能測試工具等有關(guān)MPICH更詳細(xì)的信息請參考 MPICH主頁:/mpi/mpich/3.2.2 LAM/MPILAM/MPI是MPI環(huán)境下一個非常優(yōu)秀的源碼開放的實(shí)現(xiàn),最初由 OSC (OhioSupercomputing Center)開發(fā),目前由印第安那大學(xué)(Indiana University )的開放系統(tǒng)實(shí)驗(yàn)室 (the Open Systems Laboratory)開發(fā),它提供了從單CPU的集群到SMP集群甚至是異構(gòu)集群 等不同平臺上的高
13、性能。LAM/MPI主要包含兩層15 , LAM層和MPI層,如圖1所示。LAM層提供了一個 MPI層 執(zhí)行的框架,提供了一個完善的消息傳遞服務(wù)以及進(jìn)程控制,遠(yuǎn)程文件訪問和stdio轉(zhuǎn)發(fā)。MPI層提供了 MPI接口以及和高速網(wǎng)絡(luò)進(jìn)行直接通信的底層結(jié)構(gòu)。圖1 LAM/MPI的層次結(jié)構(gòu)LAM/MPI的主要特點(diǎn)16:(1)支持所有的MPI1.2的標(biāo)準(zhǔn)及大部分MPI-2標(biāo)準(zhǔn)。包括進(jìn)程的創(chuàng)建和管理、 部分實(shí)現(xiàn) 了 單方通信、通過 ROMIO14工具支持MPI-IO及C+語言的綁定等(2)使用檢查點(diǎn)/再啟動(CR)系統(tǒng),LAM/MPI能夠檢查并行MPI任務(wù)(3)快速任務(wù)啟動。LAM/MPI利用一個小的用戶
14、層進(jìn)程來進(jìn)行進(jìn)程控制、輸出轉(zhuǎn)發(fā)及 數(shù)據(jù)通道外通信(out-of-band),即使是在節(jié)點(diǎn)數(shù)量很多的集群上,MPI應(yīng)用也能在大約幾秒內(nèi)啟動(4)高性能通信。LAM/MPI 7.0及其以后的版本使用 GM接口支持Myrinet網(wǎng)絡(luò),提供了比 TCP高的帶寬和低的延遲(5) LAM/MPI 7.0版本允許運(yùn)行時參數(shù)調(diào)整及RPI選擇(6)可支持SMP集群(CLUMPS )上的組間通信 實(shí)現(xiàn)了與PBS和BProc的集成(8) LAM 7.0包括beta版支持Globus網(wǎng)格環(huán)境下的執(zhí)行(9)易擴(kuò)展的組件體系結(jié)構(gòu)目前可以從 /download/ 上下載最新版本 L
15、AM 7.0.4,有關(guān) LAM 7.0.4 的使用及安裝的更詳細(xì)信息請參考1718。3.2.3 mpiJavampiJava是一個面向?qū)ο蟮臉?biāo)準(zhǔn) MPI的Java接口,它是HPJava方案的一部分,但是mpiJava 本身并沒有對Java語言進(jìn)行任何擴(kuò)展,它在任何平臺上都能提供一致的Java開發(fā)及本地MPI環(huán)境。MpiJava1.2提供了 MPI1.1的所有功能,它是作為一套本地MPI的JNI (Java NativeInterface)包實(shí)現(xiàn)的,支持的平臺包括:使用 MPICH、LAM或者SunHPC_MPI的Solaris,使 用MPICH或LAM的Linux ,以及IBM的SP機(jī)。Mpi
16、Java中主要的類如圖 2所示19。1111尸d N =11 r" " Lhlal? pe圖2 mpiJava中的主要類這些類中最重要的是Comm類,mpiJava中所有的通信函數(shù)都是 Comm的成員或是它的子 類,通常在MPI中,一個通信域代表一個“集合對象”,邏輯上被一組進(jìn)程共享,進(jìn)程之間 的通信主要是通過這個公共的通信域把信息傳遞給對等實(shí)體。2003年 1 月 Sun發(fā)布了 mpiJava1.2.5版本20,此版本吸收了 Sun J2SE (Java 2 platform,Standard Edition ) 1.4的特色,避免了早期版本中存在的一些問題。它可以運(yùn)行在
17、更 多的平臺上,比早期的任何版本更可靠。 4、發(fā)展趨勢由于微處理器性能的不斷提高和網(wǎng)絡(luò)速度的快速提升,以及應(yīng)用對計算性能的無止境需求和并行編程環(huán)境的不斷成熟,集群計算技術(shù)得到了飛快的發(fā)展。集群環(huán)境下的并行計算應(yīng)用領(lǐng)域已經(jīng)由市場較小的科學(xué)和工程計算逐漸轉(zhuǎn)向市場巨大的商業(yè)和工業(yè)應(yīng)用。高加速比和高效率是兩個主要目標(biāo),可擴(kuò)展性、負(fù)載平衡、空閑資源的利用率、異構(gòu)計算資源的充分利 用及成本等問題也有很重要的實(shí)際研究價值。對于許多復(fù)雜的應(yīng)用(其中包含許多不同類型的子問題),不僅要求高性能,而且還要求快速的代碼開發(fā)、代碼可移植、性能可移植和穩(wěn) 定性,同時要求集成各種現(xiàn)有的標(biāo)準(zhǔn)、軟件包、庫和工具,并且在多平臺、
18、多學(xué)科、異構(gòu)的環(huán)境下協(xié)同工作。從 PVM 和 MPI 的發(fā)展,以及它們各自環(huán)境下的開發(fā)工具的不斷改進(jìn)與升級,我們可以看出集群環(huán)境下的并行編程模型和開發(fā)工具可能朝著以下的方向發(fā)展:(1)面向?qū)ο蟮牟⑿谐绦蛟O(shè)計。既然面向?qū)ο? OO)方法為集中系統(tǒng)帶來的好處已經(jīng)被 深入地研究而且得到了理解,那么我們同樣可以相信OO方法也可以為集群系統(tǒng)帶來類似的好處。目前由于人們對 Java的興趣與日居I增,且Jav孫身就是面向?qū)ο蟮恼Z言,所以許多并 行計算的研究人員已經(jīng)轉(zhuǎn)向了Java。例如,PVM環(huán)境下的jPVM , MPI環(huán)境下的mpiJava等。( 2)異構(gòu)環(huán)境下的并行計算。已經(jīng)有越來越多的集群搭建在不同的平
19、臺上,對異構(gòu)集群環(huán)境的支持成為研究人員在開發(fā)并行編程模型和開發(fā)工具時考慮的首要因素。 3) SMP_cluster下的并行程序設(shè)計。SMP集群(CLUMPS)被認(rèn)為是獲得超級計算機(jī)性能的一個有效平臺,如何使這種結(jié)構(gòu)上的性能達(dá)到最優(yōu)化是并行軟件開發(fā)人員必須解決的問題。 4) 4)高性能計算的可視化。由于集群已經(jīng)成為高性能計算的主要平臺,而高性能計算的輸出結(jié)果一般都有很大的數(shù)據(jù)量,直接使用相當(dāng)不直觀,大都需要以可視化的方式反映出來。怎樣在網(wǎng)絡(luò)計算環(huán)境下實(shí)現(xiàn)高性能計算的可視化,是并行研究人員在開發(fā)并行軟件時必須要考慮的一個問題。參考文獻(xiàn)1 PVM Homepage : http:/www.csm.o
20、/pvm/2 MPI Homepage: /mpi/3 MPI Forum : /4 A. Geist, A. Beguelin, J. Dongarra, W. Jiang, B. Manchek, and V. Sunderam. PVM: Parallel Virtual Machine A User s Guide and Tutorial for Network Parallel Computing. MIT Press, Cambridge, Mass., 1994.5
21、Message Passing Interface Forum. MPI: A Message-Passing Interface standard. International Journal of Supercomputer Applications, 8(3/4):165 -414, 1994.6 Message Passing Interface Forum. MPI2: A Message Passing Interface standard. International Journal of High Performance Computing Applications, 12(1
22、-2):1 -299, 1998.7 William Gropp, Ewing Lusk .Goals Guiding Design: PVM and MPI. Mathematics and Computer Science Division, Argonne National Laboratory.8 PVM+: A C+-Library for PVM. http:/pvm-plus-.9 CPPvm: A C+ Interface to PVM.rmatik.uni-stuttgart.de/ipvr/bv/cppvm/features.html10 htt
23、p:/rmatik.uni-stuttgart.de/ipvr/bv/cppvm/download.html11 Steffen G?rzig. C+ Interface to PVM(Parallel Virtual Machine)-Version 1.5.0. Daimler-Chrysler, Germany, 2001.12 David Walker. Standards for message passing in a distributed memory environment. Technical report, Oak Ridge National Labor
24、atory, August 1992.13 William Gropp and Ewing Lusk. Installation and User s Guide to Ma PIoCrtHa,ble Implementation of MPI,Version 1.2.5,The ch p4 device for Workstation Networks.MATHEMATICS AND COMPUTER SCIENCE DIVISION.14 Rajeev Thakur, William Gropp, and Ewing Lusk. On implementing MPI-IO portably and with high performance. In Proceedings of the 6th Workshop on I/O in Parallel and Distributed Systems, pages 23 -32. ACM Press, May 1999.15 Brian Barrett, Jeff Squyres, and Andrew Lumsdaine. I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公環(huán)境下的技術(shù)趨勢分析報告
- 生態(tài)修復(fù)技術(shù)在水域生態(tài)保護(hù)中的作用
- 2 認(rèn)識幾種常見的巖石(說課稿)-2023-2024學(xué)年科學(xué)四年級下冊教科版
- 2024-2025學(xué)年高中化學(xué) 化學(xué)實(shí)驗(yàn)基本方法說課稿 新人教版必修1
- Unit 1 Lesson 1 At the Airport(說課稿)-2024-2025學(xué)年冀教版(三起)英語六年級上冊
- 2024-2025學(xué)年高中物理 第10章 熱力學(xué)定律 1 功和內(nèi)能說課稿 新人教版選修3-3
- 2023八年級道德與法治上冊 第二單元 遵守社會規(guī)則 第五課 做守法的公民 第2框 預(yù)防犯罪說課稿 新人教版
- Unit 2 Ways to school Part A Let's learn (說課稿)-2024-2025學(xué)年人教PEP版英語六年級上冊001
- 10的再認(rèn)識(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- 2 時、分、秒(說課稿)-2023-2024學(xué)年二年級下冊數(shù)學(xué)蘇教版
- 2024年中考語文試題分類匯編:散文、小說閱讀(第03期)含答案及解析
- 《宮頸癌篩查》課件
- 2024年聯(lián)勤保障部隊第九四〇醫(yī)院社會招聘考試真題
- 第二章《有理數(shù)的運(yùn)算》單元備課教學(xué)實(shí)錄2024-2025學(xué)年人教版數(shù)學(xué)七年級上冊
- DB31-T 596-2021 城市軌道交通合理通風(fēng)技術(shù)管理要求
- 華為智慧園區(qū)解決方案介紹
- 2022年江西省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 【招投標(biāo)管理探究的國內(nèi)外文獻(xiàn)綜述2600字】
- 人教版八年級英語上冊期末專項(xiàng)復(fù)習(xí)-完形填空和閱讀理解(含答案)
- 化工企業(yè)三違清單不安全安全行為清單
- 解析貝殼找房商業(yè)模式
評論
0/150
提交評論