亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向研究生的高性能計(jì)算課程建設(shè)

        2020-07-10 05:52:34孔令波
        計(jì)算機(jī)教育 2020年4期
        關(guān)鍵詞:科學(xué)計(jì)算高性能編程

        孔令波

        (北京交通大學(xué) 軟件學(xué)院,北京 100044)

        0 引言

        在新工科[1]建設(shè)的推動(dòng)下,以學(xué)科交叉和貼近實(shí)際工業(yè)技術(shù)為特點(diǎn)的課程建設(shè),日益得到教育從業(yè)者的認(rèn)可,而隨著大數(shù)據(jù)分析日益受到IT企業(yè)界關(guān)注,相關(guān)概念和技術(shù)的課程也就逐步納入大專院校的必備課程[2-9]。北京交通大學(xué)軟件學(xué)院順應(yīng)此趨勢(shì),更新了研究生的課程,分布式計(jì)算課程便是其一。

        分布式計(jì)算的很多內(nèi)容與冠之以科學(xué)計(jì)算的專題有很緊密的聯(lián)系:它們實(shí)際的計(jì)算都依賴類似的高性能計(jì)算資源。因此,使用高性能計(jì)算來(lái)串接相關(guān)的概念和技術(shù)也更為貼切,這對(duì)于“學(xué)科交叉和貼近實(shí)際工業(yè)技術(shù)”是有益的。

        1 課程內(nèi)容的抓手和課程建設(shè)思路

        在綜合考量高性能計(jì)算和分布式計(jì)算相關(guān)技術(shù)的演變以及當(dāng)下的典型應(yīng)用案例后,可以選取“科學(xué)計(jì)算+大型商務(wù)計(jì)算架構(gòu)”為線索來(lái)串接相關(guān)的專題。

        1.1 抓手:科學(xué)計(jì)算+大型商務(wù)計(jì)算

        自從1929 年《紐約世界報(bào)》首次使用了“超級(jí)計(jì)算(Supercomputing)”這一名詞,高性能計(jì)算一直到現(xiàn)在仍然是一個(gè)國(guó)家綜合國(guó)力的體現(xiàn)之一。按照Top 500 的統(tǒng)計(jì),進(jìn)入21 世紀(jì)以來(lái),主流的(超級(jí))高性能計(jì)算機(jī)的架構(gòu)集中在兩類——MPP (Massively Parallel Processing,大規(guī)模并行處理)和集群(Clustering system),而且后者的數(shù)目比前者越來(lái)越多。

        基于這類高性能計(jì)算資源的應(yīng)用,到如今不僅涵蓋更多的科學(xué)計(jì)算問題(如天氣預(yù)報(bào)、生物信息學(xué)、藥品研發(fā)、石油存儲(chǔ)的推演等),而且也體現(xiàn)在大型商務(wù)計(jì)算中(以亞馬遜、阿里巴巴、12306 為代表的公司也需要更為強(qiáng)大的計(jì)算能力)。為此,高性能計(jì)算的內(nèi)容也應(yīng)體現(xiàn)這些特征,以這兩個(gè)應(yīng)用作為線索串接相關(guān)的專題是順理成章的方案。

        本課程所設(shè)專題的架構(gòu)如圖1 所示。頂層展示了兩個(gè)不同領(lǐng)域的應(yīng)用——科學(xué)計(jì)算和大型商務(wù)計(jì)算,雖然它們各自的計(jì)算有很大的不同(圖 1 中間部分),不過,發(fā)展到現(xiàn)在,它們所依賴的計(jì)算資源和技術(shù)支撐都有很大的交叉,即圖 1 的底部?jī)蓪铀沂镜模憾叩挠?jì)算都可以使用如MPI、CUDA 甚或Map/Reduce 的框架;二者所依賴的計(jì)算資源可以是MPP 也可以是集群甚或是現(xiàn)在數(shù)據(jù)中心(Data Center)、云計(jì)算(Clouding)等。這些也是課程專題設(shè)計(jì)的基礎(chǔ)。

        圖1 課程專題結(jié)構(gòu)示意圖

        這種交叉對(duì)于軟件學(xué)院的學(xué)生是非常有益的,這是因?yàn)闀r(shí)代發(fā)展到現(xiàn)在,計(jì)算機(jī)編程已經(jīng)成為許多專業(yè)學(xué)生都要掌握的技巧,甚至其他專業(yè)的學(xué)生使用計(jì)算機(jī)解決問題的能力比囿于軟件和計(jì)算機(jī)專業(yè)的學(xué)生更為有競(jìng)爭(zhēng)力:受專業(yè)所限,軟件學(xué)院的學(xué)生想要了解其他專業(yè)的編程門檻很高——那些應(yīng)用背景的數(shù)學(xué)理論和專業(yè)理論就很難;而相對(duì)而言,其他專業(yè)的學(xué)生學(xué)習(xí)計(jì)算機(jī)和軟件的門檻較低。為軟件專業(yè)的學(xué)生介紹科學(xué)計(jì)算的內(nèi)容,幫助他們擴(kuò)展視野是非常有價(jià)值的。

        1.2 課程建設(shè)指導(dǎo)思路:貫通與綜合

        要貫徹前面所述的思路,就需要覆蓋所涉及相關(guān)概念和技術(shù)的重要專題(詳見2.1 的內(nèi)容),這對(duì)于授課老師自然是很大的挑戰(zhàn),不僅要自己深入學(xué)習(xí)和理解那些技術(shù),而且還需要慎重地篩選和編纂適當(dāng)?shù)牟牧弦员隳軌蛳驅(qū)W生深入淺出地展示。

        在實(shí)踐的基礎(chǔ)上,提出“貫通與綜合”的建設(shè)思路,即凡是有益于學(xué)生理解和掌握高性能計(jì)算的專題,都應(yīng)該簡(jiǎn)明扼要地串接起來(lái)。

        (1)貫通的思路主要體現(xiàn)在兩個(gè)方面;一是如前所述,相關(guān)專題使用科學(xué)計(jì)算和大型商務(wù)計(jì)算來(lái)串接;二是課程實(shí)施時(shí)要理論也要落地,即要幫助學(xué)生了解和掌握相關(guān)技術(shù)的理論和歷史演變,也要求學(xué)生動(dòng)手實(shí)踐。

        (2)綜合的思路也主要有兩個(gè)方面;一是在專題和項(xiàng)目的設(shè)計(jì)中不僅要兼顧理論也要兼顧實(shí)際編程和框架的使用;二是作為面向研究生的課程,項(xiàng)目設(shè)計(jì)還要體現(xiàn)研究的要求。

        1.3 教學(xué)方式的選擇:教學(xué)相長(zhǎng)

        為貫徹前面提出的貫通與綜合的課程思路,在教學(xué)方式上實(shí)行了教師和學(xué)生各負(fù)其責(zé)、相互學(xué)習(xí)的形式,即教師負(fù)責(zé)串講與理論和技術(shù)歷史演變的部分;而學(xué)生在接到課程項(xiàng)目的要求后,自由組團(tuán)(每組上限5 人),自主學(xué)習(xí)和了解實(shí)現(xiàn)的技術(shù),并在課上作報(bào)告。

        學(xué)生上講臺(tái)向其他同學(xué)作報(bào)告展示其所完成的項(xiàng)目,不僅有助于學(xué)生自學(xué)能力的鍛煉,而且有助于提升組織內(nèi)容和報(bào)告的能力。此外,同學(xué)間的交流有時(shí)候比教師更能抓住學(xué)生的理解盲點(diǎn):學(xué)生彼此之間的知識(shí)水平相近,某同學(xué)不明白的,極有可能也是其他同學(xué)所不了解的。

        實(shí)踐表明,這樣的安排既因?yàn)橛兴止ざ梢愿采w更多的內(nèi)容,又能實(shí)際鍛煉學(xué)生的學(xué)習(xí)、實(shí)踐和組織報(bào)告的能力。在第一年教師負(fù)責(zé)的串講專題包括了MPI、CUDA 和Map/Reduce 等編程技術(shù),而在第二年中就只是提供了那些技術(shù)的幻燈片,然后布置項(xiàng)目讓學(xué)生自己去學(xué)習(xí)和實(shí)現(xiàn),學(xué)生也很好地完成了。

        2 課程建設(shè)

        2.1 專題設(shè)計(jì)概述

        在確定了課程的指導(dǎo)思路后,接下來(lái)首先需要確定將哪些專題納入本課程。本課程的專題是按照科學(xué)計(jì)算和大型商務(wù)計(jì)算兩個(gè)抓手來(lái)貫穿的,也是教師主要負(fù)責(zé)的部分。

        (1)課程概述。介紹本課程的建設(shè)采取科學(xué)計(jì)算和大型商務(wù)計(jì)算來(lái)串接的設(shè)計(jì)思路,以及課程考核的方式。

        (2)開發(fā)技術(shù)簡(jiǎn)介。介紹完成本課程項(xiàng)目可使用的開發(fā)技術(shù)。有鑒于Python 在數(shù)據(jù)分析領(lǐng)域被廣泛使用,所以,選取其作為本課程默認(rèn)的開發(fā)語(yǔ)言,展示了如何基于Python 實(shí)現(xiàn)MPI、CUDA 和Map/Reduce 的編程流程。不過,也建議學(xué)生選取其他語(yǔ)言如Java 來(lái)實(shí)現(xiàn)相關(guān)的項(xiàng)目。

        (3)科學(xué)計(jì)算導(dǎo)引。以最早的科學(xué)計(jì)算問題“天氣預(yù)報(bào)”為例,介紹PDE 建模的方法,以及數(shù)值計(jì)算方式求解的高計(jì)算量,使學(xué)生對(duì)高性能科學(xué)計(jì)算有直觀的認(rèn)識(shí)。

        (4)并發(fā)編程的范式。在提供PDE 方程數(shù)值計(jì)算的串行代碼后,介紹并行程序設(shè)計(jì)的范式(如BSP 模型:Bulk Synchronous Parallel,整體同步并行計(jì)算模型),引導(dǎo)學(xué)生思考如何將串行代碼轉(zhuǎn)換為MPI、CUDA 和Map/Reduce 程序[10-12]——這也是要求學(xué)生實(shí)現(xiàn)的3 個(gè)課程項(xiàng)目。

        (5)高性能計(jì)算機(jī)歷史。

        扼要闡述高性能計(jì)算機(jī)的歷史,并結(jié)合Top 500 網(wǎng)站的信息,揭示當(dāng)前高性能計(jì)算機(jī)的主流架構(gòu)是MPP 和Cluster,并點(diǎn)明基于所謂云計(jì)算平臺(tái)上的編程方式與基于集群的編程方式是相通的。

        (6)運(yùn)行平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)。類比于剖析經(jīng)典軟件(操作系統(tǒng)、編譯器和數(shù)據(jù)庫(kù)管理系統(tǒng))的設(shè)計(jì)與實(shí)現(xiàn)在傳統(tǒng)計(jì)算機(jī)專業(yè)中的地位,了解支撐高性能計(jì)算程序運(yùn)行的平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn),同樣有著重要的價(jià)值。本節(jié)梳理了這方面的內(nèi)容,借鑒操作系統(tǒng)的內(nèi)容設(shè)計(jì),按照資源管理和作業(yè)調(diào)度兩個(gè)線索,以“以點(diǎn)蓋面”的方式介紹了所涉及的概念和算法。

        (7)大數(shù)據(jù)概覽。

        雖然軟件學(xué)院的研究生多少接觸過大數(shù)據(jù)的技術(shù),不過,本節(jié)的側(cè)重點(diǎn)在于從歷史的、宏觀的角度介紹大數(shù)據(jù)的軟件生態(tài)和典型應(yīng)用,如示意Flume、Kafka、Zookeeper 和Spark 等軟件搭建實(shí)時(shí)日志分析的案例,以幫助學(xué)生有較為完整的了解。

        (8)大型商務(wù)計(jì)算的架構(gòu)演變。以典型電子商務(wù)系統(tǒng)為例(如亞馬遜、京東和阿里巴巴的淘寶等),從架構(gòu)的角度展示這類大型商務(wù)計(jì)算如何應(yīng)對(duì)高并發(fā)的問題,涉及CDN (Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))、反向代理、負(fù)載均衡服務(wù)和微服務(wù)等技術(shù),以及部分算法的并發(fā)編程實(shí)現(xiàn)。

        本課程所涉專題以及各專題覆蓋的主要內(nèi)容見表1。雖然內(nèi)容很多,但是,有些是深入講解,而有些是簡(jiǎn)介,讓學(xué)生有了解即可,以便于后續(xù)他們需要的時(shí)候知道有哪些技術(shù)。

        2.2 課程項(xiàng)目設(shè)計(jì)

        為有效提升學(xué)生的動(dòng)手能力、自主學(xué)習(xí)能力以及研究素養(yǎng),本課程設(shè)計(jì)了有針對(duì)性的5 個(gè)項(xiàng)目。

        其中的3 個(gè)編程項(xiàng)目是要求學(xué)生在提供的熱傳導(dǎo)數(shù)值求解的串行程序代碼基礎(chǔ)上,嘗試轉(zhuǎn)換為MPI、CUDA 和Map/Reduce 實(shí)現(xiàn)。

        剩下的兩個(gè)項(xiàng)目分別是技術(shù)報(bào)告和論文研讀報(bào)告項(xiàng)目,前者建議學(xué)生選取有代表性的軟件深入調(diào)研它們的原理、設(shè)計(jì)與實(shí)現(xiàn);后者則要求學(xué)生選取有關(guān)的研究性論文進(jìn)行研讀,并復(fù)現(xiàn)論文的算法。

        表1 課程建設(shè)所設(shè)專題及覆蓋內(nèi)容

        所有這些項(xiàng)目都要求學(xué)生提交文檔和代碼,并做課上報(bào)告和代碼展示。

        兩輪課程實(shí)踐下來(lái),對(duì)于編程項(xiàng)目,最為復(fù)雜的是MPI,CUDA 最為簡(jiǎn)單。但是,處理大規(guī)模數(shù)據(jù)還是得 Map/Reduce 架構(gòu),但是性能堪憂:要重啟作業(yè)。技術(shù)報(bào)告覆蓋了Zookeeper、PIG、Kafka 等軟件,雖然剖析并不很深入,不過也鍛煉了學(xué)生學(xué)習(xí)、提煉和梳理的能力。論文研讀包括CNN(Convolutional Neural Network,卷積神經(jīng)網(wǎng)絡(luò))在CUDA的實(shí)現(xiàn),PAXOS和Peacock[13]論文等。

        2.3 課程考核

        考核是學(xué)生所關(guān)注的。每個(gè)項(xiàng)目都設(shè)定基本的功能,如果能夠達(dá)成,則占70%(在報(bào)告過程中會(huì)詳加檢驗(yàn)),浮動(dòng)部分占比可達(dá)20%,具體取決于學(xué)生是否在實(shí)踐中有亮點(diǎn)。最后,提交支撐材料(代碼、幻燈片和文檔)部分占比10%。

        在本課程建設(shè)中,采取了課堂報(bào)告的形式,報(bào)告過程中鼓勵(lì)學(xué)生相互提問,并在完善后需要再次報(bào)告,取其最高水準(zhǔn)作為報(bào)告的分?jǐn)?shù)(其他還要看提交的資料的完善程度)。這既體現(xiàn)了相互學(xué)習(xí)、教學(xué)相長(zhǎng),也能夠督促學(xué)生積極深入調(diào)研。所以,總體而言課堂報(bào)告是既輕松也緊張的,不過,總體是比較熱烈的。

        3 結(jié)語(yǔ)

        在高性能計(jì)算課程建設(shè)過程中,通過縱覽相關(guān)技術(shù)的演變,以及不同技術(shù)的使用程度[10,12,14]提煉出以“科學(xué)計(jì)算+大型商務(wù)計(jì)算架構(gòu)”為線索串接高性能計(jì)算的概念和技術(shù)。受課時(shí)所限(北京交通大學(xué)軟件學(xué)院對(duì)研究生課程限定是32 學(xué)時(shí)),在課程實(shí)踐教學(xué)中貫徹“教師串講+學(xué)生互助學(xué)習(xí)”的方式,即教師負(fù)責(zé)對(duì)提綱挈領(lǐng)的知識(shí)做專題講授,在闡述項(xiàng)目設(shè)置后,放手讓學(xué)生去自主學(xué)習(xí),最后通過學(xué)生課堂報(bào)告的方式加以現(xiàn)場(chǎng)檢驗(yàn)。

        到如今,本課程已經(jīng)完成了按照本文思路進(jìn)行的兩輪授課實(shí)踐。學(xué)生的反饋還是令人欣慰的:不僅表現(xiàn)為學(xué)生對(duì)所講授的知識(shí)點(diǎn)能夠有所領(lǐng)悟,而且,他們也很有興趣親手調(diào)試和完成相關(guān)的項(xiàng)目,普遍反映有了將以前所學(xué)知識(shí)融匯貫通并大大擴(kuò)展眼界的感覺。

        不過,對(duì)于建設(shè)好一門課程而言,這僅僅是開始,還需要更為深入的探討和實(shí)踐:①因?yàn)檎n時(shí)的限制(只有32 學(xué)時(shí)),后續(xù)準(zhǔn)備嘗試翻轉(zhuǎn)課堂的教學(xué)方式;②實(shí)驗(yàn)環(huán)境的建設(shè);③教師應(yīng)就學(xué)生選取的專題作深入的提煉;④期待能體現(xiàn)“學(xué)科交叉和貼近實(shí)際工業(yè)技術(shù)”的書籍。

        猜你喜歡
        科學(xué)計(jì)算高性能編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        高中物理科學(xué)計(jì)算工具的設(shè)計(jì)與實(shí)施研究
        玩具世界(2024年2期)2024-05-07 08:15:34
        《計(jì)算機(jī)程序設(shè)計(jì)》課程中科學(xué)計(jì)算思維能力的培養(yǎng)
        一款高性能BGO探測(cè)器的研發(fā)
        電子制作(2017年19期)2017-02-02 07:08:49
        高性能砼在橋梁中的應(yīng)用
        SATA推出全新高性能噴槍SATAjet 5000 B
        高性能可變進(jìn)氣岐管降低二氧化碳排放
        汽車零部件(2014年8期)2014-12-28 02:03:03
        亚洲AV无码国产精品久久l| av鲁丝一区鲁丝二区鲁丝三区| 色五月丁香五月综合五月4438| 亚洲成a人片在线网站| 日本一区二区久久精品亚洲中文无| 一区二区三区免费观看日本| 国产精品毛片一区二区三区| √天堂中文官网8在线| 国产精品久久无码免费看| 国产二区中文字幕在线观看| 亚洲中文字幕无码av永久| 女人色毛片女人色毛片18| 91精品国产91久久久无码色戒 | 好男人社区影院www| 亚洲第一成人网站| 资源在线观看视频一区二区| 日本一区二区三区视频免费在线| 男女高潮免费观看无遮挡| 久热这里只有精品99国产| 日本高清二区视频久二区| 精品人妻少妇av中文字幕| ā片在线观看免费观看| 在线观看国产一区亚洲bd| 精品人妻日韩中文字幕| 亚洲爆乳精品无码一区二区三区| 国产999精品久久久久久| 人妻无码一区二区19P| 丝袜美足在线视频国产在线看| 99久久超碰中文字幕伊人| 五月婷一本到五月天| 成年人视频在线播放视频| 国产内射视频在线免费观看| 无码一区二区三区在线| 色欲AV成人无码精品无码| 丝袜美腿一区在线观看| 亚洲av成人片色在线观看高潮| 熟妇与小伙子matur老熟妇e| 男女性搞视频网站免费| 亚洲黄色天堂网站在线观看禁18 | 欧美肥婆性猛交xxxx| 色婷婷日日躁夜夜躁|