天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

多核怎么編程_多核應(yīng)用編程實(shí)戰(zhàn) 前言

發(fā)布時(shí)間:2016-12-08 15:43

  本文關(guān)鍵詞:多核應(yīng)用編程實(shí)戰(zhàn),由筆耕文化傳播整理發(fā)布。


前言

多年以來(lái),家用電腦總是給人以同時(shí)處理多任務(wù)的錯(cuò)覺(jué)。這是因?yàn)樘幚砥髅棵腌娔茉诓煌倪\(yùn)行任務(wù)之間切換很多次,于是給人多個(gè)任務(wù)同時(shí)運(yùn)行的表象,但也僅僅是表象。實(shí)際上,當(dāng)計(jì)算機(jī)處理某個(gè)任務(wù)時(shí),其他任務(wù)不會(huì)有任何進(jìn)展。對(duì)于一次只能執(zhí)行一個(gè)任務(wù)的電腦,我們可以說(shuō)它只有一個(gè)處理器、CPU("核心")。核心是處理器中承擔(dān)實(shí)際工作的部分。

近來(lái),即使是家用電腦也配備了多核處理器,F(xiàn)在已經(jīng)很難買到非多核計(jì)算機(jī)了。在多核機(jī)上,每個(gè)核心執(zhí)行一個(gè)任務(wù),從而真正做到了同時(shí)處理多任務(wù)。

要理解多核的意義,最好假設(shè)要通過(guò)一臺(tái)電腦把攝像機(jī)里的電影轉(zhuǎn)換為適合DVD刻錄的格式。這個(gè)過(guò)程需要大量計(jì)算(密集地讀寫磁盤),而解壓輸入視頻和將之轉(zhuǎn)換為要刻錄成盤的壓縮輸出視頻會(huì)占用處理器的絕大部分時(shí)間。

如果忽略磁盤和內(nèi)存的問(wèn)題,那么也許可以在單核系統(tǒng)上同時(shí)轉(zhuǎn)換兩部電影。這兩個(gè)任務(wù)可同時(shí)開始,但處理器會(huì)先用一段時(shí)間轉(zhuǎn)換一個(gè)視頻,然后再用一段時(shí)間轉(zhuǎn)換另一個(gè)。因?yàn)樘幚砥魍粫r(shí)刻只能執(zhí)行一個(gè)任務(wù),所以實(shí)際只有一個(gè)視頻被壓縮。如果用進(jìn)度條顯示轉(zhuǎn)換過(guò)程的話,那么可以看到兩個(gè)進(jìn)度條都朝著100%完成的方向前進(jìn),但實(shí)際上轉(zhuǎn)換兩個(gè)視頻所用的時(shí)間約為轉(zhuǎn)換一個(gè)視頻的兩倍。

多核系統(tǒng)則不同,進(jìn)行視頻轉(zhuǎn)換的核心是兩個(gè)或更多,而每個(gè)核心都可處理一項(xiàng)任務(wù)。因此,讓系統(tǒng)在同一時(shí)間處理兩部電影將使用兩個(gè)核心,且轉(zhuǎn)換時(shí)間與轉(zhuǎn)換一部電影時(shí)相同,即同樣時(shí)間內(nèi)可以完成兩倍的工作量。

多核系統(tǒng)能在單位時(shí)間內(nèi)完成更多工作,比如用單核系統(tǒng)轉(zhuǎn)換一部電影的時(shí)間轉(zhuǎn)換兩部電影。此外,多核系統(tǒng)也能用不同的方式來(lái)分解工作。例如,多個(gè)核心可以共同轉(zhuǎn)換同一部電影。在這種情況下,雙核系統(tǒng)轉(zhuǎn)換一部電影比單核系統(tǒng)快一倍。

本書講解如何利用多核系統(tǒng)進(jìn)行開發(fā)。人們常說(shuō)這個(gè)話題復(fù)雜或難以理解,某種意義上這么說(shuō)沒(méi)有錯(cuò)。與任何一種編程技術(shù)一樣,多核編程很難同時(shí)做到正確和高性能。但另一方面,利用多核系統(tǒng)顯著提升應(yīng)用程序性能或提高單位時(shí)間內(nèi)所完成工作量的方式也有很多,只是實(shí)現(xiàn)的難易程度不同。

也許說(shuō)"多核編程很容易"過(guò)于樂(lè)觀,比較切合實(shí)際的說(shuō)法是:多核編程不見(jiàn)得比從結(jié)構(gòu)化編程轉(zhuǎn)向面向?qū)ο缶幊谈y。本書將幫助你了解編寫多核系統(tǒng)的應(yīng)用程序涉及的難點(diǎn),使你能寫出功能正確、性能優(yōu)越,且適合擴(kuò)展為在多個(gè)CPU核心運(yùn)行的應(yīng)用程序。

讀者對(duì)象

既然已經(jīng)讀到這里,那么你很可能就是本書的目標(biāo)讀者。本書是一本實(shí)用指南,指導(dǎo)你編寫能充分利用多核系統(tǒng)優(yōu)勢(shì)的應(yīng)用程序。本書并不專門描述并行處理的某個(gè)具體方法,而是涵蓋了各種方法。本書也并未拘泥于某個(gè)特定的平臺(tái),而是給出了多種操作系統(tǒng)和處理器的程序示例。本書還涵蓋了某些高級(jí)主題,但都給出了足夠的背景知識(shí),保證讀者能夠理解。

本書是為熟悉C語(yǔ)言并有相當(dāng)編程能力的讀者而作。本書的目的并非教授編程語(yǔ)言,而是從更高層次考量如何編寫功能正確、性能優(yōu)良、可擴(kuò)展為在多個(gè)CPU核心運(yùn)行的代碼。

本書的示例使用了SPARC或x86匯編語(yǔ)言。示例簡(jiǎn)單、有清晰的注釋,重點(diǎn)突出,讀者無(wú)需熟悉匯編語(yǔ)言就能看明白。

本書目標(biāo)

閱讀本書之后,讀者將了解為類UNIX操作系統(tǒng)(Linux、Oracle Solaris、OS X)和Windows系統(tǒng)編寫多核程序的方法,理解多核的硬件實(shí)現(xiàn)對(duì)應(yīng)用程序的影響(好壞都有),知曉編寫并行應(yīng)用程序時(shí)的注意事項(xiàng),并弄清如何編寫可擴(kuò)展為大量并行線程的應(yīng)用程序。

本書內(nèi)容

以下是本書各章的簡(jiǎn)介。

第1章介紹將涉及的硬件和軟件概念,概述了處理器的內(nèi)部結(jié)構(gòu)。對(duì)于讀者來(lái)說(shuō),要編寫利用多核系統(tǒng)的程序不一定非得了解硬件的工作原理,但理解了處理器架構(gòu)的基礎(chǔ)知識(shí)更容易理解后面有關(guān)應(yīng)用程序正確性、性能和擴(kuò)展的概念。這一章還討論了線程和進(jìn)程的概念。

第2章討論應(yīng)用程序分析和優(yōu)化。在把精力花在將應(yīng)用程序修改為利用多核的程序之前,了解應(yīng)用程序目前將時(shí)間用在哪里至關(guān)重要。這一章介紹了應(yīng)用程序開發(fā)周期中的主要性能因素,并探討如何才能提升性能。

第3章介紹如何利用多核系統(tǒng)在單位時(shí)間內(nèi)執(zhí)行更多工作,或者說(shuō)如何減少完成一個(gè)任務(wù)所需的時(shí)間。首先介紹虛擬化,因?yàn)樘摂M化可以在一個(gè)系統(tǒng)中模擬多個(gè)系統(tǒng),且無(wú)需修改軟件。重點(diǎn)在于多核系統(tǒng)代表了一個(gè)機(jī)會(huì),讓我們無(wú)需修改軟件即可改變其工作方式。然后,這一章描述可用于編寫并行應(yīng)用程序的各種模式,并討論這些模式適用的情況。

第4章闡述如何在多個(gè)線程之間安全地共享數(shù)據(jù)。這一章以討論數(shù)據(jù)爭(zhēng)用開篇,它在多線程代碼中最容易導(dǎo)致問(wèn)題。這一章特別在抽象層面上詳述了安全共享數(shù)據(jù)和同步線程的方法,后續(xù)幾章針對(duì)具體操作系統(tǒng)再詳述細(xì)節(jié)。

第5章介紹如何使用POSIX線程編寫并行應(yīng)用程序。POSIX線程是在類UNIX操作系統(tǒng)(如Linux、Mac OS X和Solaris)上實(shí)現(xiàn)的標(biāo)準(zhǔn)。POSIX線程庫(kù)提供了許多對(duì)于編寫并行應(yīng)用程序很實(shí)用的構(gòu)建模塊,,為開發(fā)提供了極大的靈活性和便利。

第6章介紹如何使用Windows本地線程為Windows編寫并行應(yīng)用程序。Windows提供了與POSIX類似的同步和數(shù)據(jù)共享原語(yǔ),但Windows和POSIX對(duì)這些功能的接口和要求不同。

第7章描述編譯器提供的自動(dòng)并行化機(jī)會(huì)和限制。這一章還介紹了OpenMP規(guī)范,這一規(guī)范使編寫利用多核處理器的應(yīng)用程序變得相對(duì)簡(jiǎn)單。

第8章探討如何拋開操作系統(tǒng)或編譯器提供的庫(kù)功能來(lái)編寫并行應(yīng)用程序。我們有充分的理由為同步或共享數(shù)據(jù)編寫自定義代碼,比如想要獲得更好的控制或更出色的性能。但要編寫正常運(yùn)行的代碼,也有不少需要避免的陷阱。

第9章討論如何對(duì)應(yīng)用程序加以改進(jìn)以提高其擴(kuò)展性,從而使多核系統(tǒng)完成的工作盡可能多。這一章介紹了限制擴(kuò)展性的常見(jiàn)領(lǐng)域,闡述了確定擴(kuò)展性限制范圍的方式。面向多核系統(tǒng)進(jìn)行開發(fā)和面向多處理器系統(tǒng)進(jìn)行開發(fā)的不同之處恰恰在于擴(kuò)展,而這一章還討論了硬件實(shí)現(xiàn)帶來(lái)的這一重要差別。

第10章涵蓋編寫并行應(yīng)用程序的多種方式。隨著多核處理器成為主流,人們也在嘗試其他方法,以便克服障礙編寫出正確、快速、可擴(kuò)展的并行代碼。

第11章是最后一章,對(duì)全書內(nèi)容進(jìn)行了總結(jié)。

【責(zé)任編輯:book TEL:(010)68476606】


回書目      下一節(jié)

原文:多核應(yīng)用編程實(shí)戰(zhàn) 前言 返回讀書頻道首頁(yè)


  本文關(guān)鍵詞:多核應(yīng)用編程實(shí)戰(zhàn),由筆耕文化傳播整理發(fā)布。



本文編號(hào):208295

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/mishujinen/208295.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶a2a07***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com
欧美不卡一区二区在线视频| 老司机精品视频在线免费| 91日韩欧美国产视频| 欧美日韩乱码一区二区三区| 国产高清精品福利私拍| 视频一区日韩经典中文字幕| 日本欧美一区二区三区就| 亚洲高清欧美中文字幕| 欧美成人免费夜夜黄啪啪| 最好看的人妻中文字幕| 国产欧美日韩在线精品一二区 | 日本黄色美女日本黄色| 老富婆找帅哥按摩抠逼视频| 国产一级精品色特级色国产| 国产欧美另类激情久久久| 日本精品中文字幕人妻| 国产成人精品一区在线观看 | 国产成人综合亚洲欧美日韩| 色婷婷成人精品综合一区| 丁香七月啪啪激情综合| 一本久道久久综合中文字幕| 日韩精品你懂的在线观看| 日本深夜福利在线播放| 不卡免费成人日韩精品| 国内外免费在线激情视频| 久久福利视频视频一区二区| 亚洲一区二区福利在线| 我要看日本黄色小视频| 亚洲综合日韩精品欧美综合区| 国产成人精品一区在线观看| 好吊日在线观看免费视频| 午夜色午夜视频之日本| 99久久精品免费精品国产| 九九九热视频最新在线| 午夜精品国产精品久久久| 91精品国自产拍老熟女露脸| 国语久精品在视频在线观看| 日韩中文字幕狠狠人妻| 欧美大黄片在线免费观看| 超薄肉色丝袜脚一区二区| 亚洲精品伦理熟女国产一区二区|