【正文】
USTC DASH的體系結(jié)構(gòu) 處 理 器 層處 理 器 的 高 速 緩存本 地 機(jī) 群 層本 地 機(jī) 群 內(nèi) 的 其 它 處 理 器 的高 速 緩 存目 錄 宿 主 層與 某 個(gè) 給 定 存 儲(chǔ) 器 地 址 有 關(guān) 的 目錄 和 主 存 儲(chǔ) 器遠(yuǎn) 程 機(jī) 群 層遠(yuǎn) 程 機(jī) 群 處 理 器 的 高 速緩 存( c ) 存 儲(chǔ) 器 的 邏 輯 層 次兩 個(gè) 2 D 網(wǎng) 孔( 請(qǐng) 求 、 應(yīng) 答 )N 0N 15?處 理 器高 速 緩 存?zhèn)?聽(tīng)網(wǎng) 絡(luò) 接 口目 錄存 儲(chǔ) 器 ( 全 局 編 址 )經(jīng) 過(guò) 修 改 的 S i l i c o n G r a p h i c s P o w e rS t a t i o n 4 D / 3 4 0蟲(chóng) 蝕 選 路1 2 0 M B / 秒 /鏈 路5 0 n s / 跳 動(dòng)節(jié) 點(diǎn)群4 個(gè) M I P SR 3 0 0 0 ( 3 3 MH Z )偵 聽(tīng) 總線( a ) 模 型 機(jī) 節(jié) 點(diǎn) 的 實(shí) 現(xiàn)( b ) 2 2 網(wǎng) 孔 互 聯(lián)框 圖節(jié) 點(diǎn)群節(jié) 點(diǎn)群節(jié) 點(diǎn)群節(jié) 點(diǎn)群請(qǐng) 求 網(wǎng)孔應(yīng) 答 網(wǎng)孔PCA L16 Wu Spring 04 169。 ? 保持了消息傳遞多處理機(jī)所具有的可擴(kuò)放性。USTC Stanford DASH多計(jì)算機(jī) 176。 高速緩存一致性協(xié)議通常需要考慮以下幾方面: ? ①如何傳新值:是寫(xiě)無(wú)效還是寫(xiě)更新; ? ②誰(shuí)產(chǎn)生新值:是單寫(xiě)協(xié)議還是多寫(xiě)協(xié)議; ? ③何時(shí)傳新值:是及時(shí)傳播還是延遲傳播; ? ④新值傳向誰(shuí):是偵聽(tīng)協(xié)議還是目錄協(xié)議。因此 SC和 RC所描述的 “一致性 ” 觀點(diǎn)不同,實(shí)現(xiàn) SC的高速緩存一致性協(xié)議與實(shí)現(xiàn) RC的高速緩存一致性協(xié)議也就不一樣。 存儲(chǔ)一致性模型對(duì)高速緩存一致性協(xié)議提出一致性要求,即高速緩存一致性協(xié)議應(yīng)該實(shí)現(xiàn)什么樣的 “ 一致性 ”。 高速緩存一致性協(xié)議都是為實(shí)現(xiàn)某種存儲(chǔ)一致性模型而設(shè)計(jì)的。 解決高速緩存一致性問(wèn)題,即如何保持?jǐn)?shù)據(jù)在多個(gè)高速緩存和主存中的多個(gè)備份的一致性。 PCA L16 Wu Spring 04 169。 懶惰釋放一致性模型 ? 在此模型中,由一個(gè)處理器對(duì)某單元的存數(shù)操作并不是由此處理器主動(dòng)地傳播到所有共享該單元的其它處理器,而是在其它處理器要用到此處理器所寫(xiě)的數(shù)據(jù)時(shí) (即其它處理器執(zhí)行 acquire操作時(shí) )再向此處理器索取該單元的最新備份。把多個(gè)存數(shù)操作合并在一起統(tǒng)一執(zhí)行,就減少了數(shù)據(jù)通信次數(shù),這對(duì)于由軟件實(shí)現(xiàn)的共享存儲(chǔ)系統(tǒng)是十分必要的。 急切釋放一致性模型 ? SVM系統(tǒng)中,由于通信和數(shù)據(jù)交換的開(kāi)銷很大,所以有必要減少通信和數(shù)據(jù)交換的次數(shù)。 PCA L16 Wu Spring 04 169。 acquire用于獲取對(duì)某些共享存儲(chǔ)單元的獨(dú)占性訪問(wèn)權(quán),而 release則用于釋放這種訪問(wèn)權(quán)。 硬件和程序員之間建立某種約定,由程序員來(lái)負(fù)擔(dān)一些維護(hù)數(shù)據(jù)一致性的責(zé)任,從而放松硬件對(duì)訪存事件發(fā)生次序的限制。 ? 處理器一致性模型: w?r ? 弱一致性模型 : 同步操作與普通操作 ? 釋放一致性模型 ? 急切釋放一致性模型 ? 懶惰釋放一致性模型 ? 域一致性模型 ? 單項(xiàng)一致性模型 PCA L16 Wu Spring 04 169。 順序一致性模型非常嚴(yán)格 ? 程序序的要求 ? 存儲(chǔ)執(zhí)行的原子性 寫(xiě)操作的全局執(zhí)行后才能執(zhí)行下一個(gè)存儲(chǔ)操作 讀操作的執(zhí)行完成必須等待產(chǎn)生值的寫(xiě)操作完成 176。 Both memorybased and cachebased flat schemes are alive ? for memorybased, full bit vector suffices for moderate scale measured in nodes visible to directory protocol, not processors PCA L16 Wu Spring 04 169。 Many possibilities for anizing directory and managing protocols 176。USTC Summary of Directory Approaches 176。 Issue (c): municating with those copies ? memorybased: pointtopoint messages (perhaps coarser on overflow) can be multicast or overlapped ? cachebased: part of pointtopoint linked list traversal to find them serialized 176。 Issue (a): finding source of directory data ? go to home, based on address 176。USTC Summary of Directory Organizations 176。 Storage overhead: quite good scaling along both axes ? Only one head ptr per memory block rest is all prop to cache size 176。 Traffic on write: proportional to number of sharers 176。 Scalable Coherent Interface (SCI) IEEE Standard ? doubly linked list PCA L16 Wu Spring 04 169。USTC PC a c hePC a c hePC a c heM a i n M e m or y( H om e )N od e 0 N od e 1 N od e 2Flat, Cachebased Schemes 176。 Width observation: ? most blocks cached by only few nodes ? don’t have a bit per node, but entry contains a few pointers to sharing nodes ? P=1024 = 10 bit ptrs, can use 100 pointers and still save space ? sharing patterns indicate a few pointers should suffice (five or so) ? need an overflow strategy when there are more sharers 176。 Reducing “height” ? addressing the M term? PCA L16 Wu Spring 04 169。 Optimizations for full bit vector schemes ? increase cache block size (reduces storage overhead proportionally) ? use multiprocessor nodes (bit per mp node, not per processor) ? still scales as P*M, but reasonable for all but very large machines 256procs, 4 per cluster, 128B line: % ovhd. 176。 1024 nodes: 200% ovhd. ? for M memory blocks in memory, storage overhead is proportional to P*M P M PCA L16 Wu Spring 04 169。 Storage overhead ? simplest representation: full bit vector, . one presence bit per node ? storage overhead doesn’t scale well with P。 info about copies colocated with block at the home ? just like centralized scheme, except distributed 176。 Flat Schemes ? vary a lot ? different storage overheads and performance characteristics ? Memorybased schemes info about copies stored all at the home with the memory block Dash, Alewife , SGI Origin, Flash ? Cachebased schemes info about copies distributed among copies themselves – each copy points to next Scalable Coherent Interface (SCI: IEEE standard) PCA L16 Wu Spring 04 169。USTC How Is Location of Copies Stored? 176。USTC Find Directory Info (cont) 176。USTC How Hierarchical Directories Work 176。 distributed memory and directory ? flat schemes directory distributed with memory: at the home location based on address (hashing): work xaction sent dire