posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Finding and Reproducing Heisenbugs in Concurrent Programs

          Posted on 2009-02-17 11:30 ZelluX 閱讀(641) 評論(0)  編輯  收藏 所屬分類: System

          今年的ASPLOS '09上zhou yuanyuan也有一篇關于如何concurrent program中發現隱藏的atomicity violation bugs的paper,里面提到了這篇paper

          2008-11-30

          OSDI '08上MSR發的paper,針對并發編程中難以發現的bug問題。

          paper的內容主要分兩大塊。

          一是如何在發現bug的時候記錄下線程的運行先后(thread interleaving),途徑是在線程API和用戶程序多寫一層wrapper functions,這里還有一些其他的問題,比如只記錄下了thread interleaving的話出現data race怎么解決等。

          另外一塊內容是如何遍歷出給定程序運行后所能產生的結果的集合,加入這個能實現的話那就能把所有隱藏的bug都找出來了。但是這個搜索空間很大,是 指數級的,的一個結論就是:給定一個程序有n個的線程,所有線程共完成k條指令,那么c次占先調度后線程的排列情況數的復雜度是k^{c}的,所以在實現遍歷代碼的時候必須有效的降低k和c的值。

          主站蜘蛛池模板: 太白县| 腾冲县| 崇文区| 韶关市| 襄城县| 凌源市| 嵩明县| 斗六市| 金溪县| 上思县| 历史| 祁门县| 林周县| 彩票| 琼中| 诸暨市| 朝阳县| 东阳市| 哈尔滨市| 谢通门县| 礼泉县| 西平县| 城口县| 阳春市| 镇安县| 通江县| 冷水江市| 通许县| 彰化市| 湘潭县| 闻喜县| 皋兰县| 海宁市| 桃源县| 库车县| 宁阳县| 河间市| 宜都市| 泊头市| 通辽市| 平原县|