国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向體系結(jié)構(gòu)的軟件優(yōu)化課堂與實(shí)踐教學(xué)

2013-12-31 00:00:00沈立錢程東王志英張春元
計(jì)算機(jī)教育 2013年18期

摘要:多核/眾核處理器的發(fā)展與應(yīng)用為計(jì)算機(jī)體系結(jié)構(gòu)課程教學(xué)帶來新的挑戰(zhàn),如何在課堂教學(xué)和實(shí)踐環(huán)節(jié)中引入面向體系結(jié)構(gòu)的軟件優(yōu)化內(nèi)容,是近年計(jì)算機(jī)體系結(jié)構(gòu)課程教學(xué)改革的一個(gè)重要議題。文章首先探討引入這部分內(nèi)容的必要性和可行性,然后分析適合計(jì)算機(jī)體系結(jié)構(gòu)課程的教學(xué)和實(shí)踐內(nèi)容,最后介紹國防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院相關(guān)教學(xué)活動(dòng)和經(jīng)驗(yàn)。

關(guān)鍵詞:多核/眾核;計(jì)算機(jī)體系結(jié)構(gòu);軟件優(yōu)化;教學(xué)與實(shí)驗(yàn)

文章編號:1672-5913(2013)18-0041-04

中圖分類號:G642

0 引言

計(jì)算機(jī)體系結(jié)構(gòu)是計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科的重要二級學(xué)科,強(qiáng)調(diào)從總體結(jié)構(gòu)、系統(tǒng)分析的角度研究計(jì)算機(jī)系統(tǒng)。作為該二級學(xué)科的核心基礎(chǔ)課程,計(jì)算機(jī)體系結(jié)構(gòu)(以下簡稱體系結(jié)構(gòu))課程自然也特別強(qiáng)調(diào)從系統(tǒng)層次上學(xué)習(xí)和了解計(jì)算機(jī)。

經(jīng)典體系結(jié)構(gòu)課程教材如王志英等編著的《計(jì)算機(jī)體系結(jié)構(gòu)》講述計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的技術(shù)、方法和理論,教學(xué)內(nèi)容一般包括計(jì)算機(jī)指令系統(tǒng)、計(jì)算機(jī)組成和計(jì)算機(jī)硬件實(shí)現(xiàn)3個(gè)方面,涵蓋處理器和多處理器、存儲(chǔ)器、輸入輸出系統(tǒng)、互連與通信等計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的主要內(nèi)容,同時(shí)還涉及性能評價(jià)、編譯和操作系統(tǒng)技術(shù)。通過學(xué)習(xí)該課程,學(xué)生能夠把在計(jì)算機(jī)組成原理、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、匯編語言程序設(shè)計(jì)等課程中所學(xué)的軟、硬件知識(shí)有機(jī)結(jié)合起來,建立計(jì)算機(jī)系統(tǒng)的完整概念。

計(jì)算機(jī)硬件系列課程的不斷調(diào)整與改革,要求體系結(jié)構(gòu)課程不斷調(diào)整教學(xué)和實(shí)踐內(nèi)容。無論是國內(nèi)還是國外,很多高校教材都逐漸把計(jì)算機(jī)組成原理課程內(nèi)容和體系結(jié)構(gòu)課程內(nèi)容有機(jī)結(jié)合起來,甚至國外一些經(jīng)典教材還將密切相關(guān)的軟件設(shè)計(jì)內(nèi)容也融合到一起。這種方式可以加深讀者對計(jì)算機(jī)軟硬件系統(tǒng)的整體化理解,有效加強(qiáng)對學(xué)生計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力的培養(yǎng)。

多核/眾核處理器的成熟與發(fā)展也給當(dāng)前體系結(jié)構(gòu)課程的課堂和實(shí)踐教學(xué)帶來了新的挑戰(zhàn),為此我們除了引入典型的多核/眾核體系結(jié)構(gòu)案例外,還增加面向多核/眾核體系結(jié)構(gòu)的軟件優(yōu)化方法等必不可少的教學(xué)內(nèi)容。以SIMD(SingleInstruction Multiple Data,單指令多數(shù)據(jù))為例,這一概念屬于知識(shí)點(diǎn)“Flynn分類法”,我們通常在教學(xué)單元“并行計(jì)算機(jī)體系結(jié)構(gòu)的分類’’中介紹,但隨著體系結(jié)構(gòu)技術(shù)的不斷下移,多核CPU、GPU、MIC、流處理器等典型的多核/眾核處理器中都集成了以SIMD方式工作的計(jì)算部件,并且衍生出SPMD(Single Process MultipleData,單進(jìn)程多數(shù)據(jù)流)、STMD(Single ThreadMultiple Data,單線程多數(shù)據(jù)流)等新概念,而要用好SIMD計(jì)算部件,專門的軟件優(yōu)化方法不可或缺。

目前,體系結(jié)構(gòu)研究越來越強(qiáng)調(diào)軟硬件之間的協(xié)同,人們不僅關(guān)注多核/眾核處理器應(yīng)集成哪些計(jì)算資源,還關(guān)心如何管理這些資源和用好這些資源。Intel、AMD、NVidia在推出性能強(qiáng)大的多核/眾核處理器的同時(shí),也為用戶提供了配套的軟件工具和高性能庫,因此體系結(jié)構(gòu)教學(xué)也應(yīng)與體系結(jié)構(gòu)的發(fā)展和變化保持一致。

1 教學(xué)內(nèi)容組織

1.1 體系結(jié)構(gòu)教學(xué)內(nèi)容剖析

現(xiàn)有體系結(jié)構(gòu)課程的教學(xué)內(nèi)容大致可分為單處理器計(jì)算機(jī)系統(tǒng)與多處理機(jī)系統(tǒng)兩個(gè)部分,前者一般包括指令系統(tǒng)、流水線、指令級并行、存儲(chǔ)和I/O,后者一般包括多處理機(jī)的存儲(chǔ)器體系結(jié)構(gòu)、互連網(wǎng)絡(luò)、同步機(jī)制以及集群計(jì)算機(jī)等內(nèi)容。當(dāng)然,不同教材的內(nèi)容會(huì)有一定差異,如張晨曦等編著的《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)教程》就將指令級并行分為硬件技術(shù)和軟件技術(shù)兩章分別介紹,還增加了陣列處理機(jī)、數(shù)據(jù)流計(jì)算機(jī)等內(nèi)容。

這些教學(xué)內(nèi)容,特別是單處理器計(jì)算機(jī)系統(tǒng)的相關(guān)內(nèi)容,與計(jì)算機(jī)系統(tǒng)系列中的一些課程相互重疊。例如,計(jì)算機(jī)組成原理通常會(huì)從馮·諾依曼結(jié)構(gòu)的5個(gè)模塊、指令系統(tǒng)以及總線等方面介紹單處理器計(jì)算機(jī)系統(tǒng),其教學(xué)內(nèi)容與體系結(jié)構(gòu)課程有較多重疊。實(shí)踐教學(xué)也是如此,很多高校開設(shè)的計(jì)算機(jī)原理課程設(shè)計(jì)(有時(shí)也稱為綜合實(shí)驗(yàn))往往以實(shí)現(xiàn)一個(gè)16位或32位CPU為主要內(nèi)容。如果教師能夠系統(tǒng)梳理計(jì)算機(jī)系統(tǒng)系列課程的教學(xué)內(nèi)容,將一部分體系結(jié)構(gòu)課程的教學(xué)內(nèi)容安排在其他課程中,那么將有利于向體系結(jié)構(gòu)課程中引入新的教學(xué)內(nèi)容。

從目前國內(nèi)外高校的教學(xué)情況看,越來越多的高校開始將計(jì)算機(jī)系統(tǒng)的定量設(shè)計(jì)基礎(chǔ)、指令系統(tǒng)設(shè)計(jì)、流水線及相關(guān)問題、Cache基本知識(shí)及提高Cache性能的基本方法、外部存儲(chǔ)設(shè)備、I/O設(shè)備與CPU和存儲(chǔ)器的連接、RAID等內(nèi)容安排在計(jì)算機(jī)原理、計(jì)算機(jī)組成與結(jié)構(gòu)或其他類似課程中講授,體系結(jié)構(gòu)越來越趨向于一門專業(yè)性很強(qiáng)的課程。南京大學(xué)袁春風(fēng)老師編著的《計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)》為合理安排計(jì)算機(jī)系統(tǒng)系列課程的教學(xué)內(nèi)容提供了有益參考。

強(qiáng)調(diào)系統(tǒng)結(jié)構(gòu)與編譯器、操作系統(tǒng)等軟件的聯(lián)系,一直是體系結(jié)構(gòu)課程教學(xué)關(guān)注的重要內(nèi)容。該課程在流水線、指令級并行、Cache(如預(yù)?。⒍嗵幚頇C(jī)等內(nèi)容方面,著重突出與編譯原理的關(guān)系;在虛存、I/O等內(nèi)容方面,主要突出與操作系統(tǒng)的關(guān)系。這也是教師在組織教學(xué)內(nèi)容時(shí)必須考慮的。

1.2 教學(xué)單元和知識(shí)點(diǎn)設(shè)計(jì)

這項(xiàng)工作可以通過不同的方式進(jìn)行,如增加新的教學(xué)單元和知識(shí)點(diǎn)或修改已有教學(xué)知識(shí)點(diǎn)。顯然,多核/眾核體系結(jié)構(gòu)是首先需要補(bǔ)充的教學(xué)單元,一方面該單元通過當(dāng)前流行的多核/眾核處理器產(chǎn)品介紹典型多核/眾核體系結(jié)構(gòu),如Intel/AMD的多核產(chǎn)品、NVidia GPU、Intel MIC等;另一方面,該單元還可以介紹新型體系結(jié)構(gòu)為應(yīng)用程序設(shè)計(jì)與優(yōu)化帶來的挑戰(zhàn)以及它們的發(fā)展趨勢等。

功耗也是需要補(bǔ)充的教學(xué)單元。在當(dāng)前處理器和計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)中,功耗已經(jīng)成為一個(gè)越來越重要的問題。設(shè)計(jì)者從工藝、體系結(jié)構(gòu)、編譯器、操作系統(tǒng)、應(yīng)用等多個(gè)不同層次進(jìn)行功耗優(yōu)化。教師在教學(xué)時(shí)可以從體系結(jié)構(gòu)角度,介紹低功耗處理器體系結(jié)構(gòu)(如并行結(jié)構(gòu)、流水結(jié)構(gòu)、存儲(chǔ)分區(qū)訪問)、基于PCM(Performance Counter Monitor,性能計(jì)數(shù)監(jiān)視器)的功耗優(yōu)化等知識(shí)點(diǎn)。由于該單元的知識(shí)點(diǎn)與多個(gè)教學(xué)單元有關(guān),因此將其分布到相關(guān)單元中也是一種可行的方法。

數(shù)據(jù)級并行也是需要擴(kuò)展的教學(xué)單元。目前,幾乎所有的通用處理器都支持SIMD擴(kuò)展指令,Intel MMX/SSE就是其中的典型代表。這一教學(xué)單元可以涵蓋SIMD/SPMD/STMD工作方式、計(jì)算部件的結(jié)構(gòu)和關(guān)鍵設(shè)計(jì)問題、影響SIMD方式性能的控制流和存儲(chǔ)訪問問題以及相應(yīng)的優(yōu)化策略等知識(shí)點(diǎn)。

性能評價(jià)、指令系統(tǒng)設(shè)計(jì)、Cache等都是需要修改的教學(xué)單元。對于性能評價(jià),PCM已經(jīng)成為重要性能參數(shù)獲取手段,基于PCM測量結(jié)果的性能優(yōu)化方法已經(jīng)越來越成熟。在指令系統(tǒng)設(shè)計(jì)方面,不少教材中都介紹了“面向操作系統(tǒng)的優(yōu)化實(shí)現(xiàn)改進(jìn)指令系統(tǒng)”知識(shí)點(diǎn),但缺乏足夠詳細(xì)的實(shí)例。Intel公司為提高虛擬化系統(tǒng)效能設(shè)計(jì)的VMRESUME、VMLAUNCH等指令是非常合適的實(shí)例。在Cache方面,多線程/多進(jìn)程對Cache的競爭使用以及由此引起的性能問題都值得介紹。

受篇幅所限,我們將不再討論另外一些可引入體系結(jié)構(gòu)課程的教學(xué)單元和知識(shí)點(diǎn)。

2 實(shí)驗(yàn)設(shè)計(jì)

現(xiàn)有的體系結(jié)構(gòu)實(shí)踐主要圍繞CPU的設(shè)計(jì)進(jìn)行。文獻(xiàn)[5]介紹了我們在體系結(jié)構(gòu)課程實(shí)踐教學(xué)方面的經(jīng)驗(yàn)與思考,教材[6]就是根據(jù)這些經(jīng)驗(yàn)總結(jié)而成,但面向體系結(jié)構(gòu)的軟件優(yōu)化部分的實(shí)驗(yàn)與其所討論的內(nèi)容不同。首先,面向體系結(jié)構(gòu)的軟件優(yōu)化實(shí)驗(yàn)只能采用純軟件的方式進(jìn)行,雖然一些硬件設(shè)計(jì)可以改進(jìn)軟件優(yōu)化方法的效果和效率,但將其安排在研究生課程中更加合適;其次,將一些實(shí)驗(yàn)內(nèi)容安排在并行程序設(shè)計(jì)與優(yōu)化中可能更合適,如面向多核平臺(tái)的多線程程序設(shè)計(jì)與優(yōu)化、面向GPU或MIC的程序設(shè)計(jì)與優(yōu)化等。我們認(rèn)為適合作為本科體系結(jié)構(gòu)課程的實(shí)踐教學(xué)有以下幾個(gè)模塊。

1)SIMD擴(kuò)展指令的性能分析與優(yōu)化。

該模塊以Intel SSE、AVX指令為例,學(xué)生通過面向典型的基準(zhǔn)程序(如矩陣乘、FFT等),分析這些SIMD指令帶來的性能提升以及產(chǎn)生的性能開銷,比較不同SSE/AVX指令生成方法(程序員手工生成、通過編譯器自動(dòng)生成、使用Intel提供的高性能庫)的效果。

2)Cache相關(guān)實(shí)驗(yàn)。

該模塊通過頁著色(Page Coloring)方法,將Last Level Cache(LLC,最后一級Cache)分配給不同的任務(wù),實(shí)現(xiàn)多任務(wù)共享LLC;分析Cache容量對任務(wù)性能的影響。需要注意的是,將任務(wù)調(diào)度到不同的處理器核上執(zhí)行,是消除Cache容量對任務(wù)性能影響的最有效方法,但由于將任務(wù)調(diào)度策略的實(shí)現(xiàn)與分析安排在操作系統(tǒng)實(shí)驗(yàn)中最合適,因此該模塊沒有考慮如何消除Cache容量對任務(wù)性能的影響。

3)PCM和功耗相關(guān)實(shí)驗(yàn)。

該模塊的內(nèi)容包括通過實(shí)驗(yàn)了解PCM的工作原理和編程接口;分析PCM收集到的系統(tǒng)性能數(shù)據(jù),找出性能瓶頸;根據(jù)PCM收集到的功耗數(shù)據(jù),比較不同功耗優(yōu)化策略的優(yōu)劣等。

除了確定實(shí)踐教學(xué)內(nèi)容以外,采用合理的實(shí)踐方式也是必須考慮的一個(gè)重要問題。根據(jù)實(shí)驗(yàn)的內(nèi)容和創(chuàng)新程度,我們將實(shí)驗(yàn)分為驗(yàn)證實(shí)驗(yàn)(通過實(shí)驗(yàn)檢驗(yàn)?zāi)骋唤Y(jié)論的正確性)、設(shè)計(jì)實(shí)驗(yàn)(完成某個(gè)功能模塊的設(shè)計(jì),如在模擬器上實(shí)現(xiàn)分支目標(biāo)緩沖)、綜合實(shí)驗(yàn)(完成計(jì)算機(jī)中某個(gè)子系統(tǒng)的設(shè)計(jì),如CPU設(shè)計(jì)實(shí)驗(yàn))以及創(chuàng)新實(shí)踐活動(dòng)4個(gè)層次。

在以上所列舉的實(shí)驗(yàn)內(nèi)容中,SIMD和Cache適合作為驗(yàn)證實(shí)驗(yàn)。學(xué)生通過這些實(shí)驗(yàn)可以理解SIMD指令集在性能上的優(yōu)勢與不足、多任務(wù)競爭使用LLC會(huì)對系統(tǒng)性能產(chǎn)生什么影響、利用SIMD指令獲得性能提升的方法等。PCM和功耗則適合作為設(shè)計(jì)實(shí)驗(yàn),學(xué)生可以通過這些模塊了解PCM的使用方法,解決以功耗為代表的當(dāng)前計(jì)算機(jī)系統(tǒng)設(shè)計(jì)熱點(diǎn)問題。需要注意的是,我們沒有設(shè)計(jì)綜合實(shí)驗(yàn)?zāi)K和創(chuàng)新實(shí)踐活動(dòng),因?yàn)榍罢弑话才旁诓⑿谐绦蛟O(shè)計(jì)與優(yōu)化等課程中更為合適,后者則一般由數(shù)名研究生結(jié)合課題研究完成。

3 課程建設(shè)實(shí)踐

針對體系結(jié)構(gòu)課程教學(xué)和實(shí)踐內(nèi)容的改革,國防科技大學(xué)計(jì)算機(jī)學(xué)院目前已經(jīng)進(jìn)行的工作主要有以下幾個(gè)方面。

1)系統(tǒng)梳理計(jì)算機(jī)系統(tǒng)系列課程的教學(xué)內(nèi)容。

除了計(jì)算機(jī)原理、體系結(jié)構(gòu)、嵌入式系統(tǒng)、計(jì)算機(jī)系統(tǒng)性能評價(jià)、匯編語言等傳統(tǒng)硬件系列課程外,我們還將操作系統(tǒng)和編譯原理兩門課程歸于計(jì)算機(jī)系統(tǒng)系列,形成了一個(gè)包含5門國家級精品課的課程系列。相關(guān)課程的主講教師一起探討課程之間的接口及教學(xué)單元的分配,目的是讓學(xué)生通過計(jì)算機(jī)原理、編譯原理課程和實(shí)踐,掌握有關(guān)單處理器計(jì)算機(jī)系統(tǒng)的知識(shí),通過體系結(jié)構(gòu)課程和實(shí)踐掌握計(jì)算機(jī)系統(tǒng)的性能評價(jià)和優(yōu)化方法,通過嵌入式系統(tǒng)、操作系統(tǒng)課程和實(shí)踐掌握計(jì)算機(jī)系統(tǒng)在嵌入式領(lǐng)域中的應(yīng)用。

2)將本科生競賽等實(shí)踐活動(dòng)作為調(diào)整和補(bǔ)充教學(xué)內(nèi)容的參考。

SCC(Student Cluster Competition,大學(xué)生超算競賽)是近年來國際高性能計(jì)算領(lǐng)域的熱門活動(dòng),每年在ISC(Intemational Supercomputing Conference)和SC(Supercomputing Conference)這兩個(gè)高性能計(jì)算領(lǐng)域最著名的國際會(huì)議上各舉辦一次。每個(gè)參賽隊(duì)由6名本科生組成,在1名指導(dǎo)教師的帶領(lǐng)下參賽。比賽要求各參賽隊(duì)搭建一個(gè)功耗不超過3KW的集群系統(tǒng),在規(guī)定時(shí)間內(nèi)完成指定應(yīng)用(含算例)的執(zhí)行,完成時(shí)間越短,成績越好。國防科技大學(xué)計(jì)算機(jī)學(xué)院的本科生已在該競賽中取得了一系列好成績。該競賽活動(dòng)全面地考查了本科生對集群計(jì)算系統(tǒng)的組成、來自特定領(lǐng)域的高性能應(yīng)用、并行程序設(shè)計(jì)與優(yōu)化、面向集群系統(tǒng)的軟件優(yōu)化等知識(shí)的理解與掌握程度,競賽中的經(jīng)驗(yàn)和教訓(xùn)對我們調(diào)整體系結(jié)構(gòu)課程教學(xué)內(nèi)容有重要的參考作用。

3)將成熟的研究生實(shí)驗(yàn)?zāi)K調(diào)整到本科生教學(xué)活動(dòng)中。

自2005年以來,國防科技大學(xué)計(jì)算機(jī)學(xué)院結(jié)合學(xué)校大力開展的實(shí)驗(yàn)室建設(shè)活動(dòng),建立了計(jì)算機(jī)科學(xué)與技術(shù)研究生和本科生實(shí)驗(yàn)中心,其中體系結(jié)構(gòu)實(shí)驗(yàn)室是重要組成部分。在研究生高級計(jì)算機(jī)體系結(jié)構(gòu)課程的實(shí)踐教學(xué)中,我們開設(shè)了計(jì)算機(jī)體系結(jié)構(gòu)實(shí)驗(yàn)和面向體系結(jié)構(gòu)的軟件優(yōu)化實(shí)驗(yàn)兩門課程,分別從硬件和軟件兩個(gè)角度培養(yǎng)學(xué)生的實(shí)踐能力。經(jīng)過多年的建設(shè),這兩門實(shí)驗(yàn)課程中的一些成熟實(shí)驗(yàn)?zāi)K已經(jīng)具備了下移到本科生教學(xué)中的條件。

4 結(jié)語

如何引入與多核/眾核體系結(jié)構(gòu)相關(guān)的教學(xué)與實(shí)踐內(nèi)容,是體系結(jié)構(gòu)課程教學(xué)改革的重要內(nèi)容。這與近年來國內(nèi)外高校在計(jì)算機(jī)系統(tǒng)或硬件系列課程中越來越強(qiáng)調(diào)培養(yǎng)學(xué)生的系統(tǒng)觀,使他們建立軟硬件兼通的計(jì)算機(jī)系統(tǒng)組成、結(jié)構(gòu)、工作原理等概念的教學(xué)改革理念一致。結(jié)合國防科技大學(xué)計(jì)算機(jī)學(xué)院的計(jì)算機(jī)系統(tǒng)系列課程建設(shè)及本科生高性能競賽等活動(dòng),我們探索如何進(jìn)行這一改革并進(jìn)行初步實(shí)踐。當(dāng)然,根據(jù)教學(xué)側(cè)重點(diǎn)的不同,一些學(xué)校會(huì)選擇將這部分內(nèi)容安排在并行程序設(shè)計(jì)、多核體系結(jié)構(gòu)及編程等課程中,筆者所討論的問題、改革思路和實(shí)踐活動(dòng),也可為這些課程的建設(shè)提供參考。

參考文獻(xiàn):

[1]王志英,張春元,沈立,等,計(jì)算機(jī)體系結(jié)構(gòu)[M],北京:清華大學(xué)出版社,2010

[2]袁春風(fēng),計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)[M],北京:清華大學(xué)出版社,2011

[3]Bryant R E,O'Hallaron D R.Computer systems:Aprogrammer's perspective[M],2版,Boston:Addison Wesley,2010:25-26

[4]張晨曦,王志英,沈立,等。計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)教程[M],北京:清華大學(xué)出版社,2009

[5]沈立,張春元,王志英,“計(jì)算機(jī)體系結(jié)構(gòu)”課程實(shí)驗(yàn)教學(xué)建設(shè)[J],計(jì)算機(jī)教育,2011(22):88-91

[6]沈立,肖儂,王志英,計(jì)算機(jī)體系結(jié)構(gòu)實(shí)驗(yàn)[M]。北京:清華大學(xué)出版社,2010

(編輯:宋文婷)

安国市| 吐鲁番市| 永靖县| 长沙市| 闸北区| 南漳县| 兴和县| 永修县| 平江县| 彭水| 安国市| 五河县| 郑州市| 珠海市| 霍邱县| 西丰县| 松原市| 呼和浩特市| 乳山市| 凉山| 宁南县| 昔阳县| 武川县| 宁晋县| 普兰县| 蚌埠市| 盈江县| 江都市| 富民县| 淄博市| 景谷| 慈溪市| 邛崃市| 昌吉市| 昌图县| 大石桥市| 肇庆市| 贺州市| 连江县| 泽州县| 古丈县|