freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微軟用戶-(參考版)

2024-09-05 10:59本頁面
  

【正文】 ?重組代碼的順序 多核結(jié)構(gòu)與程序設(shè)計(jì) Southeast University 東 南 大 學(xué) 53 并行程序設(shè)計(jì)的常見問題 ? Cache相關(guān)的問題 ?偽共享(多個核操作同一 Cache行的不同部分) ?Cache行乒乓效用帶來較低的性能 ?解決辦法 ? 盡可能采用專用數(shù)據(jù) ? 利用編譯器的優(yōu)化功能來制定存儲數(shù)據(jù)的邊界對齊 ?存儲一致性(對存儲器操作的順序要確定) ?對同步變量的訪問滿足一致性要求 ?對同步變量的訪問,只有在以前的寫操作在各處都完成之后才能完成 ?對數(shù)據(jù)的讀或?qū)?,只有在以前的對同步變量的操作完成之后才能完? 。 return out_str。index++) out_str[index]=toupper(in_str[index])。 for(index=0。 return buffer。index++) buffer[index]=toupper(string[index])。 for(index=0。 ? 使用由調(diào)用者提供的存儲空間(推薦使用),要修改函數(shù)的參數(shù) ?在連續(xù)的調(diào)用之間(由函數(shù))保存信息的改造 ? 由調(diào)用者負(fù)責(zé)保存 49 多核結(jié)構(gòu)與程序設(shè)計(jì) Southeast University 東 南 大 學(xué) 并行程序設(shè)計(jì)的常見問題 ? 可重入函數(shù) 50 char *strtoupper(char *string) { static char buffer[MAX_STRING_SIZE]。所有使用到的數(shù)據(jù)都有函數(shù)的調(diào)用者提供。 ?不要重用 A ? 可以利用加值的版本號等方法來解決 ?Cache行乒乓效應(yīng) ?由于 cache行沒有鎖,所以多核線程使用同一行的話會引起強(qiáng)烈顛簸 多核結(jié)構(gòu)與程序設(shè)計(jì) Southeast University 東 南 大 學(xué) 48 并行程序設(shè)計(jì)的常見問題 ? 非阻塞算法 ?內(nèi)存回收問題 ?比如 C語言的一個線程在回收一個指針的時候不知道是否有別的線程在用(因?yàn)闆]有鎖) ?一些建議 ?直接使用原子增和原子減一般來說是安全的 ?對鏈狀結(jié)構(gòu)構(gòu)造非阻塞算法要使用公認(rèn)正確的算法 多核結(jié)構(gòu)與程序設(shè)計(jì) Southeast University 東 南 大 學(xué) 并行程序設(shè)計(jì)的常見問題 ? 可重入函數(shù) ? 一個函數(shù)可能會被多個執(zhí)行流并發(fā)訪問,因此該函數(shù)需要是可重入的。 return v+1。 do { v=()。 Public int getValue() {return ()}。 41 多核結(jié)構(gòu)與程序設(shè)計(jì) Southeast University 東 南 大 學(xué) 42 進(jìn)程、線程和并行程序設(shè)計(jì) ? 內(nèi)容 ?進(jìn)程的概念 ?什么是線程 ?線程的設(shè)計(jì) ?互斥與同步 ?并行程序設(shè)計(jì)的常見問題 多核結(jié)構(gòu)與程序設(shè)計(jì) Southeast University 東 南 大 學(xué) 43 并行程序設(shè)計(jì)的常見問題 ? 更多的線程意味著更高的性能嗎? Pentium D *205101520251 2 4 8 10 20 50 線程數(shù)秒Pentium Dualcore 2160 *205101520251 2 4 8 10 20 50線程數(shù)秒Xeon 5110 *2 *2 051015202530351 2 4 8 10 20 50線程數(shù)秒Xeon E5310 *4 *20510152025301 2 4 8 10 20 50線程數(shù)秒 多核結(jié)構(gòu)與程序設(shè)計(jì) Southeast University 東 南 大 學(xué) 44 并行程序設(shè)計(jì)的常見問題 ? 更多的線程意味著更高的性能嗎? ?原因 : ?線程啟動和終止的代價(jià)掩蓋了有用的工作 ?共享固有硬件資源的開銷 ? 頻繁切換進(jìn)程或線程容易引起 Cache顛簸 ? 切換線程本身有代價(jià) ?有用的嘗試 ?運(yùn)行的線程數(shù)量最好低于等于硬件線程數(shù) ?用 OpenMP來做工作 ?使用線程池 ?任務(wù)竊取 多核結(jié)構(gòu)與程序設(shè)計(jì) Southeast University 東 南 大 學(xué) 45 并行程序設(shè)計(jì)的常見問題 ? 競爭激烈的鎖 ?優(yōu)先級倒置 ?如果不是資源搶占式優(yōu)先級,則有可能一個低優(yōu)先級的線程占用了鎖,而高優(yōu)先級的線程等待并可能錯過臨界期限。 ?事件存在兩種狀態(tài): ? 激發(fā)狀態(tài) (signaled or true) ? 未激發(fā)狀態(tài) (unsignal or false) ?事件可分為兩類: ? 人工重置:這種對象只能用程序來手動設(shè)置,在需要該事件或者事件發(fā)生時,采用 SetEvent及ResetEvent來進(jìn)行設(shè)置。 mutex unlock()。 Thread B …… mutex lock()。 sum=sun+1。 ? Release()或 unlock(): 以原子狀態(tài)改變鎖狀態(tài)從“上鎖”到“開鎖”。也就是說鎖實(shí)際上是特殊的信號量,其資源只有 1個。規(guī)定當(dāng)盤空時一次只能放一只水果供吃者取用,請用 P、 V操作實(shí)現(xiàn)爸爸、兒子、女兒三個并發(fā)進(jìn)程的同步。 多核結(jié)構(gòu)與程序設(shè)計(jì) Southeast University 東 南 大 學(xué) 39 互斥與同步 ? 同步原語 ?信號量 ?信號量用于同步 ? 生產(chǎn)者 消費(fèi)者問題(緩沖區(qū)為空,消費(fèi)者不能再消費(fèi),緩沖區(qū)為滿,生產(chǎn)者不能再生產(chǎn)) – 一個生產(chǎn)者,一個消費(fèi)者,公用一個緩沖區(qū) – 一個生產(chǎn)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1