[發(fā)明專利]使用高速緩存一致性協(xié)議數(shù)據(jù)的基于高速緩存的追蹤記錄有效
| 申請?zhí)枺?/td> | 201880060330.6 | 申請日: | 2018-06-22 |
| 公開(公告)號: | CN111095222B | 公開(公告)日: | 2023-09-15 |
| 發(fā)明(設計)人: | J·莫拉 | 申請(專利權)人: | 微軟技術許可有限責任公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F11/34 |
| 代理公司: | 北京世輝律師事務所 16093 | 代理人: | 李崢宇 |
| 地址: | 美國華*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 使用 高速緩存 一致性 協(xié)議 數(shù)據(jù) 基于 追蹤 記錄 | ||
使用高速緩存一致性協(xié)議(CCP)數(shù)據(jù)執(zhí)行基于高速緩存的追蹤記錄。實施例檢測到發(fā)生了引起高速緩存行與后備存儲區(qū)之間的交互的操作,針對引起該操作的處理單元啟用了記載,高速緩存行是記載中的參與者,并且CCP指示存在要被記載到追蹤的數(shù)據(jù)。然后,實施例使該數(shù)據(jù)被記載到追蹤,該數(shù)據(jù)可用于重放該操作。
背景技術
當在軟件應用的開發(fā)期間編寫代碼時,開發(fā)人員通常花費大量時間來“調(diào)試”代碼以查找運行時和其他源代碼錯誤。在這樣做時,開發(fā)人員可以采取幾種方法來重現(xiàn)和本地化源代碼錯誤,諸如基于不同的輸入觀察程序的行為,插入調(diào)試代碼(例如,打印變量值、跟蹤執(zhí)行的分支等),臨時移除代碼部分等。跟蹤到運行時錯誤以查明代碼錯誤可能會占用很大一部分的應用開發(fā)時間。
為了幫助開發(fā)人員進行代碼調(diào)試過程,已經(jīng)開發(fā)了許多類型的調(diào)試應用(“調(diào)試器”)。這些工具給開發(fā)人員提供追蹤(trace)、可視化和更改計算機代碼的執(zhí)行的能力。例如,調(diào)試器可以可視化代碼指令的執(zhí)行,可以在代碼執(zhí)行期間的不同時間呈現(xiàn)代碼變量值,可以使開發(fā)人員能夠更改代碼執(zhí)行路徑,和/或可以使開發(fā)人員能夠在感興趣的代碼元素上設置“斷點”和/或“觀察點”(當在執(zhí)行期間到達所述點時導致代碼的執(zhí)行被掛起),等等。
新興形式的調(diào)試應用啟用“時間旅行”、“反向”或“歷史性”調(diào)試。通過“時間旅行”調(diào)試,程序(例如,諸如線程之類的可執(zhí)行實體)的執(zhí)行由追蹤應用記錄/追蹤到一個或多個追蹤文件中。然后,(多個)這些追蹤文件可以被用于稍后重放程序的執(zhí)行,以進行前向和后向分析。例如,“時間旅行”調(diào)試器可以使開發(fā)人員能夠設置前向斷點/觀察點(如常規(guī)調(diào)試器)以及反向斷點/觀察點。
發(fā)明內(nèi)容
本文中的實施例通過利用處理器的共享高速緩存及其高速緩存一致性協(xié)議(CCP)來增強“時間旅行”調(diào)試記錄,以便確定什么數(shù)據(jù)應被記載到追蹤文件中。與現(xiàn)有方法相比,這樣做可以將追蹤文件的大小減小幾個數(shù)量級,從而顯著降低追蹤記錄的開銷。
在一些實施例中,在包括以下的計算環(huán)境中實現(xiàn):(i)多個處理單元,以及(ii)包括多個高速緩存行(line)的高速緩存存儲器,該多個高速緩存行被用來對來自一個或多個后備存儲區(qū)(store)的數(shù)據(jù)進行高速緩存并由多個處理單元共享。根據(jù)高速緩存一致性協(xié)議來管理一個或多個后備存儲區(qū)與多個高速緩存行中的數(shù)據(jù)之間的一致性。
這些實施例包括使用CCP數(shù)據(jù)執(zhí)行基于高速緩存的追蹤記錄。這些實施例包括:確定操作已引起多個高速緩存行中的特定高速緩存行與一個或多個后備存儲區(qū)之間的交互;確定針對引起該操作的多個處理單元中的特定處理單元,記載被啟用;確定特定高速緩存行是記載中的參與者;并且確定CCP指示存在要被記載到追蹤的數(shù)據(jù)。至少基于這些確定,實施例使該數(shù)據(jù)被記載到追蹤。該數(shù)據(jù)可用于重放該操作。
提供本發(fā)明內(nèi)容來以簡化的形式介紹一系列概念,這些概念將在下面的詳細描述中被進一步描述。本發(fā)明內(nèi)容既不旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在被用于幫助確定所要求保護的主題的范圍。
附圖說明
為了描述可以獲得本發(fā)明的上述及其他優(yōu)點和特征的方式,將通過參考在附圖中圖示出的本發(fā)明的特定實施例來呈現(xiàn)對以上簡要描述的本發(fā)明的更具體描述。應理解這些附圖僅描繪了本發(fā)明的典型實施例,并且因此不應被認為是對本發(fā)明范圍的限制,本發(fā)明將通過使用附圖以附加的特征和細節(jié)來進行描述和解釋,在附圖中:
圖1圖示出了示例計算環(huán)境,該示例計算環(huán)境利于使用高速緩存一致性協(xié)議(CCP)數(shù)據(jù)經(jīng)由共享高速緩存來記錄代碼執(zhí)行的“比特準確(bit-accurate)”追蹤;
圖2圖示出了共享高速緩存的示例;
圖3圖示出了用于使用CCP數(shù)據(jù)執(zhí)行基于高速緩存的追蹤記錄的示例方法的流程圖;
圖4A圖示出了示例共享高速緩存,該共享高速緩存用一個或多個附加計賬比特來擴展其每個高速緩存行;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟技術許可有限責任公司,未經(jīng)微軟技術許可有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201880060330.6/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:用氧同位素鑒定油氣儲層
- 下一篇:形成揚聲器殼體的方法及相關工具
- 圖像診斷裝置、醫(yī)用系統(tǒng)以及協(xié)議管理方法
- 一種自動協(xié)議識別方法及系統(tǒng)
- 客戶端中遞送協(xié)議數(shù)據(jù)單元的方法及相關裝置
- 遠程通訊系統(tǒng)
- 一種基于可拼裝通信協(xié)議棧的通信方法及系統(tǒng)
- 一種實現(xiàn)國產(chǎn)平臺PXEBOOT的協(xié)議架構
- CBTC通信系統(tǒng)協(xié)議解析方法、協(xié)議庫管理方法
- 一種協(xié)議轉換的方法、裝置、設備及存儲介質(zhì)
- 一種用于燈光控制的協(xié)議轉換系統(tǒng)及方法
- 一種通用工藝人工智能物聯(lián)網(wǎng)網(wǎng)關





