[發(fā)明專利]上下文切換采樣有效
| 申請?zhí)枺?/td> | 201010207270.1 | 申請日: | 2010-04-08 |
| 公開(公告)號: | CN101859268B | 公開(公告)日: | 2017-03-01 |
| 發(fā)明(設(shè)計(jì))人: | R·戴維斯 | 申請(專利權(quán))人: | 英特爾公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30 |
| 代理公司: | 永新專利商標(biāo)代理有限公司72002 | 代理人: | 劉瑜,王英 |
| 地址: | 美國加*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 上下文 切換 采樣 | ||
技術(shù)領(lǐng)域
本公開總體上涉及微處理器領(lǐng)域。具體地說,本公開涉及基于處理器中的硬件事件觸發(fā)來對進(jìn)程或線程事件進(jìn)行上下文切換采樣。
背景技術(shù)
在多任務(wù)、多進(jìn)程和/或多線程系統(tǒng)中,監(jiān)視性能度量可能是很復(fù)雜的。過去使用的技術(shù)(例如,基于時間的采樣或基于事件的采樣)采用一致規(guī)則測量網(wǎng)格來概述和表征應(yīng)用的行為,而所述應(yīng)用的活動可能有時根本不是規(guī)則的。
之前對于監(jiān)視特定進(jìn)程的上下文內(nèi)的活動的嘗試可能需要專用探測版的操作系統(tǒng)。這些技術(shù)還可能具有對專門的探測(instrumentation)以及所關(guān)注的特定進(jìn)程的上下文中的期望性能度量進(jìn)行監(jiān)視的副作用。因此,之前技術(shù)的結(jié)果可能受到來自其它進(jìn)程、線程或操作系統(tǒng)探測的活動的干擾(contamination)。
到目前為止,尚未充分研究在多任務(wù)、多進(jìn)程和/或多線程系統(tǒng)中進(jìn)行更有效率的性能監(jiān)視,以避免受到從其它進(jìn)程和/或線程捕捉的事件的干擾。
附圖說明
在附圖中通過示例而非限制的方式說明了本發(fā)明。
圖1說明了用于執(zhí)行上下文切換采樣的多進(jìn)程系統(tǒng)的一個實(shí)施例。
圖2說明了用于執(zhí)行上下文切換采樣的處理的一個實(shí)施例的流程圖。
圖3說明了用于執(zhí)行上下文切換采樣的處理的替代實(shí)施例的流程圖。
具體實(shí)施方式
下面描述用于在計(jì)算系統(tǒng)中進(jìn)行性能監(jiān)視的方法。在一些實(shí)施例中,可尋址存儲器存儲用于執(zhí)行上下文切換采樣的數(shù)據(jù)和指令。處理器包括用于進(jìn)行性能監(jiān)視的硬件事件計(jì)數(shù)器,并與可尋址存儲器耦合以訪問所述指令,并且響應(yīng)于所述指令,該處理器在第一硬件事件計(jì)數(shù)器中對第一硬件事件的發(fā)生進(jìn)行計(jì)數(shù),并在第二硬件事件計(jì)數(shù)器中對第二硬件事件的發(fā)生進(jìn)行計(jì)數(shù)。在第一硬件事件的發(fā)生已經(jīng)被計(jì)數(shù)達(dá)到規(guī)定數(shù)目之后,可以確定上下文切換已經(jīng)發(fā)生。然后,第二硬件事件計(jì)數(shù)器被采樣并且硬件事件計(jì)數(shù)器被重置。在一些實(shí)施例中,處理器在第一硬件事件計(jì)數(shù)器中對段寄存器加載事件的發(fā)生進(jìn)行計(jì)數(shù),然后將所采樣的第二硬件事件計(jì)數(shù)器的值與進(jìn)程標(biāo)識符的值和/或線程標(biāo)識符的值一起進(jìn)行記錄。
因此,這種技術(shù)可以用來更準(zhǔn)確地捕捉和測量特定進(jìn)程和/或線程的事件,而不會將來自從其它進(jìn)程和/或線程捕捉的事件的干擾包括在內(nèi)。
可以根據(jù)以下教導(dǎo)來實(shí)現(xiàn)本發(fā)明的這些和其它實(shí)施例,并且應(yīng)該顯而易見的是,可以在不脫離本發(fā)明較寬泛的精神和范圍的情況下,在以下教導(dǎo)中進(jìn)行各種修改和變型。說明書和附圖相應(yīng)地被認(rèn)為是說明性而非限制性的意義,并且本發(fā)明僅按照權(quán)利要求及其等價(jià)物來限定。
圖1說明了用于執(zhí)行上下文切換采樣的多進(jìn)程系統(tǒng)101的一個實(shí)施例。系統(tǒng)101的實(shí)施例可以包括具有存儲區(qū)域141-149的可尋址存儲器140,所述可尋址存儲器140存儲用于執(zhí)行上下文切換采樣的數(shù)據(jù)和機(jī)器可執(zhí)行指令。多個進(jìn)程111-131經(jīng)由總線或任何其它互連110與可尋址存儲器140耦合,并且進(jìn)程111-131同時執(zhí)行它們各自的線程。將理解,進(jìn)程111-131的實(shí)施例可以包括在不同管芯上或者在同一管芯上的軟件進(jìn)程或硬件線程或者多個單獨(dú)的處理器核心。系統(tǒng)101的一些實(shí)施例還可以包括處理器,例如處理器102,其具有多個硬件線程進(jìn)程111和121。
進(jìn)程111-131分別包括執(zhí)行單元112-132、寄存器113-133以及硬件事件計(jì)數(shù)器114-134和115-135。將理解,在一些實(shí)施例中,一個或多個執(zhí)行單元112-132可以被一些進(jìn)程111-131物理地共享。還將理解,在進(jìn)程111-131的一些實(shí)施例中,寄存器113-133和/或硬件事件計(jì)數(shù)器114-134和115-135也可以被一些進(jìn)程111-131共享或共用。一個或多個進(jìn)程111-131可以與可尋址存儲器140耦合以訪問機(jī)器可執(zhí)行指令149,并且響應(yīng)于機(jī)器可執(zhí)行指令149,一個或多個進(jìn)程111-131可以分別在硬件事件計(jì)數(shù)器114-134中對第一硬件事件的發(fā)生進(jìn)行計(jì)數(shù)。在一些實(shí)施例中,第一硬件事件可以是段寄存器加載事件,如用在“x86”處理器(例如,由位于Santa Clara,CA的英特爾公司制造的處理器)上的上下文切換中。將理解,通過分別在硬件事件計(jì)數(shù)器114-134中對硬件事件(例如,段寄存器加載事件)的發(fā)生進(jìn)行計(jì)數(shù),一個或多個進(jìn)程111-131能夠確定何時已經(jīng)發(fā)生上下文切換。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010207270.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類





