国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于事務(wù)存儲(chǔ)器管理中的沖突仲裁的優(yōu)先化的制作方法

      文檔序號(hào):6596080閱讀:128來源:國知局
      專利名稱:用于事務(wù)存儲(chǔ)器管理中的沖突仲裁的優(yōu)先化的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及并行計(jì)算中的事務(wù)存儲(chǔ)器利用領(lǐng)域,更具體地說,本發(fā)明涉及事務(wù)存儲(chǔ)器管理中的沖突仲裁。
      背景技術(shù)
      事務(wù)存儲(chǔ)器技術(shù)嘗試通過以原子方式執(zhí)行一組加載和存儲(chǔ)指令,來簡化并行編程 (parallel programming)。一般而言,事務(wù)存儲(chǔ)器是與數(shù)據(jù)庫事務(wù)類似的并發(fā)控制機(jī)制,用于控制并行計(jì)算中對(duì)共享存儲(chǔ)器的訪問。但是,與大多數(shù)現(xiàn)代多線程應(yīng)用中使用的鎖定技術(shù)不同,事務(wù)存儲(chǔ)器可以被視為樂觀的(optimistic),因?yàn)橐粋€(gè)線程完成對(duì)共享存儲(chǔ)器的修改而不考慮其他線程的活動(dòng),同時(shí)記錄每個(gè)執(zhí)行的讀寫操作并將推測(cè)性更改緩沖到存儲(chǔ)器中。當(dāng)兩個(gè)或更多個(gè)事務(wù)訪問同一存儲(chǔ)器塊并且其中至少有一個(gè)訪問為寫訪問時(shí),便會(huì)發(fā)生事務(wù)沖突。在使用事務(wù)存儲(chǔ)器時(shí),不是由存儲(chǔ)器塊的讀取者或?qū)懭胝哓?fù)責(zé)確保事務(wù)的執(zhí)行不與其他正在進(jìn)行的事務(wù)發(fā)生沖突,而是由事務(wù)存儲(chǔ)器系統(tǒng)負(fù)責(zé)確認(rèn)其他線程沒有并發(fā)地對(duì)存儲(chǔ)器塊做出沖突引用。此類事務(wù)存儲(chǔ)器系統(tǒng)可以通過軟件、硬件或軟件和硬件的組合來實(shí)現(xiàn)。檢查存儲(chǔ)器引用是否與其他并發(fā)存儲(chǔ)器引用沖突的操作通常被稱為驗(yàn)證。 如果驗(yàn)證成功,便會(huì)在事務(wù)結(jié)束時(shí),通過經(jīng)常被稱為提交的操作使所有存儲(chǔ)器更改永久化。 但是,事務(wù)可能隨時(shí)中止(abort),從而導(dǎo)致該事務(wù)先前所執(zhí)行的所有更改回滾或取消。如果事務(wù)因?yàn)闆_突的更改而無法提交,則可以中止或從頭重新執(zhí)行該事務(wù),直到該事務(wù)成功。因此,本領(lǐng)域的技術(shù)人員將理解,樂觀事務(wù)存儲(chǔ)器方法的優(yōu)點(diǎn)在于提高了并發(fā)性。 具體而言,在本領(lǐng)域公知的樂觀方法中,執(zhí)行的任何線程無需等待來訪問存儲(chǔ)器塊。進(jìn)一步地,不同的執(zhí)行線程可以同時(shí)安全地修改數(shù)據(jù)結(jié)構(gòu)的不同部分,而這些不同部分在其他方法中會(huì)受同一個(gè)鎖的保護(hù)??傊?,盡管重試失敗的事務(wù)會(huì)增加開銷,但是在許多現(xiàn)實(shí)的程序中,沖突發(fā)生得足夠少,以至于與基于鎖的協(xié)議相比,事務(wù)存儲(chǔ)器技術(shù)可以為大量處理器提供巨大性能增益。沖突仲裁是一種機(jī)制,用于在發(fā)生沖突時(shí)判定阻止或中止哪些事務(wù),以及允許哪些事務(wù)繼續(xù)執(zhí)行。沖突仲裁由底層爭用管理策略控制。已經(jīng)針對(duì)事務(wù)存儲(chǔ)器系統(tǒng)提出了簡單的沖突仲裁機(jī)制,例如,當(dāng)事務(wù)嘗試訪問的數(shù)據(jù)同時(shí)被另一活動(dòng)事務(wù)訪問而導(dǎo)致沖突時(shí), 中止該事務(wù)。但是,最近的研究顯示了高級(jí)爭用管理(better contention management)的重要性。高級(jí)爭用管理避免了簡單爭用管理策略中可能存在的“活鎖”,高級(jí)爭用管理大幅提高了頻繁沖突情況下的性能。復(fù)雜爭用管理策略可允許在等待競(jìng)爭事務(wù)成功提交的同時(shí)臨時(shí)阻止事務(wù)嘗試執(zhí)行沖突訪問,同時(shí)使用啟發(fā)式方法最大化事務(wù)吞吐量,另外還使用一些機(jī)制提高公平性或提供更好的向前進(jìn)展保證。然而,盡管有些爭用管理策略顯示了跨越一組基準(zhǔn)或應(yīng)用的良好性能,但是沒有任何單個(gè)策略是普遍最佳的
      發(fā)明內(nèi)容
      本發(fā)明的實(shí)施例彌補(bǔ)了本領(lǐng)域中有關(guān)事務(wù)存儲(chǔ)器系統(tǒng)的沖突仲裁的缺陷,并提供了一種用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的并發(fā)事務(wù)的軟件優(yōu)先化(prioritize)的新穎且非顯著的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。在本發(fā)明的實(shí)施例中,一種用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的、并發(fā)事務(wù)的軟件優(yōu)先化的方法可包括在被配置為進(jìn)行事務(wù)存儲(chǔ)器管理的系統(tǒng)中,根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的相應(yīng)優(yōu)先級(jí)值,為相應(yīng)不同事務(wù)使用不同優(yōu)先級(jí)值設(shè)置不同的硬件寄存器。所述方法還可包括檢測(cè)系統(tǒng)中事務(wù)之間的沖突。最后,所述方法可包括根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在系統(tǒng)中應(yīng)用沖突仲裁。優(yōu)先級(jí)值構(gòu)成沖突仲裁機(jī)制的基礎(chǔ)并實(shí)現(xiàn)爭用管理策略。讓軟件控制優(yōu)先級(jí)值允許使用適合每個(gè)基準(zhǔn) (benchmark)或應(yīng)用的不同爭用管理策略。在實(shí)施例的一個(gè)方面,所述方法還包括從系統(tǒng)的另一寄存器中檢索沖突仲裁控制值。所述沖突仲裁控制值可以指定沖突仲裁操作的類型和性質(zhì)中的至少一項(xiàng)。這樣,沖突仲裁的應(yīng)用可以限制為所述沖突仲裁控制值指定的沖突仲裁操作的類型和性質(zhì)中的至少一項(xiàng)。在實(shí)施例的另一方面,不同的優(yōu)先級(jí)值可以限制為能夠被系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的一個(gè)范圍內(nèi)的優(yōu)先級(jí)值。在實(shí)施例的又一方面,根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在系統(tǒng)中應(yīng)用沖突仲裁可包括阻止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù)。作為替代,根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在系統(tǒng)中應(yīng)用沖突仲裁可包括中止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù)。作為另一替代,根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在系統(tǒng)中應(yīng)用沖突仲裁可包括檢測(cè)至少兩個(gè)具有相同優(yōu)先級(jí)的事務(wù),并產(chǎn)生中斷以便外部軟件支持代替執(zhí)行沖突仲裁的系統(tǒng)執(zhí)行針對(duì)所述至少兩個(gè)事務(wù)的沖突仲裁。在本發(fā)明的另一實(shí)施例中,可提供一種多處理器計(jì)算機(jī)數(shù)據(jù)處理系統(tǒng)。所述系統(tǒng)可包括與硬件存儲(chǔ)器相連的多個(gè)不同的處理器以及每個(gè)處理器的指令集架構(gòu)(ISA)支持的事務(wù)管理器。所述系統(tǒng)還可包括位于每個(gè)處理器中的寄存器。所述寄存器可以存儲(chǔ)所述事務(wù)管理器管理的訪問存儲(chǔ)器的事務(wù)的優(yōu)先級(jí)值。沖突仲裁邏輯也可以位于所述系統(tǒng)中。 所述邏輯可包括能夠根據(jù)與發(fā)生沖突的事務(wù)對(duì)應(yīng)的優(yōu)先級(jí)值對(duì)發(fā)生沖突的事務(wù)應(yīng)用沖突仲裁的硬件或軟件。最后,所述系統(tǒng)可包括與硬件相連并且被配置為訪問所述寄存器以設(shè)置優(yōu)先級(jí)值的軟件支持。本發(fā)明的其他方面部分將在下面的說明中闡明,部分將通過所述說明變得顯而易見,或者可以通過實(shí)施本發(fā)明來了解。將通過所附權(quán)利要求中特別指出的元素和元素組合實(shí)現(xiàn)和達(dá)到本發(fā)明的各個(gè)方面。應(yīng)該理解的是,上述一般描述和下面的詳細(xì)描述僅作為示例和說明,并非旨在對(duì)所請(qǐng)求保護(hù)的本發(fā)明做出任何限制。


      被納入本說明書中并構(gòu)成其一部分的附圖示出了本發(fā)明的實(shí)施例,并與說明一起用于解釋本發(fā)明的原理。此處所示的實(shí)施例目前為優(yōu)選的,但是應(yīng)該理解,本發(fā)明不限于所示的精確安排和手段,在所述附圖中圖1是用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的并發(fā)事務(wù)的軟件優(yōu)先化的過程的圖示;圖2是被配置為用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的并發(fā)事務(wù)的軟件優(yōu)先化的多處理器計(jì)算系統(tǒng)的示意圖;以及圖3是用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的并發(fā)事務(wù)的軟件優(yōu)先化的過程的流程圖。
      具體實(shí)施例方式本發(fā)明的實(shí)施例提供了一種用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的并發(fā)事務(wù)的軟件優(yōu)先化的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以將多處理器計(jì)算系統(tǒng)配置為用于事務(wù)存儲(chǔ)器管理。所述系統(tǒng)中的每個(gè)處理器都可包括可從外部訪問的寄存器,所述寄存器存儲(chǔ)處理器執(zhí)行的相應(yīng)事務(wù)的優(yōu)先級(jí)值。在所述事務(wù)存儲(chǔ)器系統(tǒng)中提供了沖突仲裁邏輯,該沖突仲裁邏輯,在處理器外部的程序代碼指導(dǎo)下,根據(jù)存儲(chǔ)在寄存器中的、由外部建立的、與發(fā)生沖突的事務(wù)對(duì)應(yīng)的優(yōu)先級(jí)值對(duì)發(fā)生沖突的事務(wù)進(jìn)行仲裁。通過這種方式,所述系統(tǒng)的沖突仲裁邏輯可以對(duì)發(fā)生沖突的事務(wù)執(zhí)行沖突仲裁,而不考慮建立優(yōu)先級(jí)值的算法。在進(jìn)一步的說明中,圖1是用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的并發(fā)事務(wù)的軟件優(yōu)先化的過程的說明圖。如圖1所示,多處理器硬件IlOA可以與諸如多處理器配置的操作系統(tǒng)之類的軟件支持IlOB結(jié)合起來提供多處理器計(jì)算系統(tǒng)。多處理器硬件IlOA可以跨多個(gè)不同的處理器實(shí)現(xiàn)針對(duì)事務(wù)存儲(chǔ)器140配置的ISA和語義130。在此方面,不同的處理器可以在事務(wù)存儲(chǔ)器140上執(zhí)行讀和寫事務(wù)150。值得注意的是,優(yōu)先級(jí)160可與每個(gè)事務(wù)150關(guān)聯(lián)。然而,當(dāng)優(yōu)先級(jí)160存儲(chǔ)在多處理器硬件110A,例如,內(nèi)部寄存器中時(shí),可以由軟件支持IlOB提供的外部優(yōu)先級(jí)分配邏輯120進(jìn)行訪問和設(shè)置??蛇x地,當(dāng)外部優(yōu)先級(jí)分配邏輯120僅被授予對(duì)存儲(chǔ)優(yōu)先級(jí)160 的內(nèi)部寄存器具有非特權(quán)訪問權(quán)限時(shí),它可被限制為只能指定一個(gè)優(yōu)先級(jí)值范圍內(nèi)的優(yōu)先級(jí)。然而,當(dāng)外部優(yōu)先級(jí)分配邏輯120被授予對(duì)存儲(chǔ)優(yōu)先級(jí)160的內(nèi)部寄存器具有特權(quán)訪問權(quán)限時(shí),它可以指定默認(rèn)值范圍以上或以下的優(yōu)先級(jí)值。優(yōu)先級(jí)值160可取決于事務(wù)運(yùn)行的時(shí)間,并可以是事務(wù)首次啟動(dòng)時(shí)間的函數(shù),啟動(dòng)時(shí)間越早,被指定的優(yōu)先級(jí)值越高。在此方面,響應(yīng)于中止和重啟條件,可重用事務(wù)的原始啟動(dòng)時(shí)間來設(shè)置優(yōu)先級(jí),以便所指定的優(yōu)先級(jí)與首次嘗試事務(wù)時(shí)的優(yōu)先級(jí)相同。這種基于時(shí)間戳的方法會(huì)很適合用于當(dāng)舊的事務(wù)被中止和重啟時(shí)避免重復(fù)工作。進(jìn)一步地,基于事務(wù)首次啟動(dòng)時(shí)間戳的優(yōu)先級(jí)促進(jìn)了公平,因?yàn)殡S著時(shí)間推移,事務(wù)運(yùn)行的時(shí)間越長,就越有可能在沖突中獲勝。優(yōu)先級(jí)160還可以依據(jù)事務(wù)已訪問的數(shù)據(jù)量或事務(wù)已執(zhí)行的計(jì)算量而定。當(dāng)事務(wù)前進(jìn)時(shí),優(yōu)先級(jí)也可在不同的時(shí)刻增長,從而反映增加的進(jìn)展。如在時(shí)間戳方法中,可使用優(yōu)先級(jí)度量如果將中止和重啟事務(wù),將需要重復(fù)的工作量。作為另一替代,優(yōu)先級(jí)可取決于事務(wù)是否被阻止或中止,并被重啟。具體而言,當(dāng)阻止/中止時(shí)或面臨重復(fù)阻止/中止時(shí), 可提高優(yōu)先級(jí)160以便促進(jìn)公平和事務(wù)的向前進(jìn)展。在任何情況下,一旦建立了每個(gè)優(yōu)先級(jí)160,便可在沖突仲裁中評(píng)估這些優(yōu)先級(jí), 所述沖突仲裁是由沖突仲裁過程300根據(jù)多處理器硬件IlOA的ISA和語義130實(shí)現(xiàn)中的定義,針對(duì)事務(wù)存儲(chǔ)器140執(zhí)行的。通過這種方式,對(duì)事務(wù)存儲(chǔ)器140中的沖突執(zhí)行仲裁的機(jī)制便可保持獨(dú)立于建立每個(gè)事務(wù)150的優(yōu)先級(jí)160的算法。進(jìn)一步地,盡管可以通過軟件支持IlOB提供的外部優(yōu)先級(jí)分配邏輯120中的變化,以不同的方式建立優(yōu)先級(jí)160,但是沖突仲裁過程300可以保持不受影響。圖1中描述的過程可以在多處理器計(jì)算系統(tǒng)的ISA和語義中實(shí)現(xiàn)。在圖示中,圖 2是被配置為用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的并發(fā)事務(wù)的軟件優(yōu)先化的多處理器計(jì)算系統(tǒng)的示意圖。所述系統(tǒng)可以是包括多處理器安排220中的多個(gè)不同的處理器230的多處理器計(jì)算系統(tǒng)210A,其中每個(gè)處理器連接到公共存儲(chǔ)器250。進(jìn)一步地,多處理器計(jì)算系統(tǒng)210A可以支持在多處理器計(jì)算系統(tǒng)210A上面執(zhí)行的操作系統(tǒng)210B的操作。每個(gè)處理器230可以提供支持事務(wù)存儲(chǔ)器管理器MO的ISA和語義,事務(wù)存儲(chǔ)器管理器240管理對(duì)存儲(chǔ)器250的讀寫事務(wù)集。由于在同時(shí)向同一存儲(chǔ)器塊250執(zhí)行讀或?qū)懯聞?wù)時(shí)會(huì)產(chǎn)生沖突,因此可將沖突仲裁邏輯300連接到事務(wù)存儲(chǔ)器管理器M0。具體而言, 啟用沖突仲裁邏輯300以根據(jù)與一組事務(wù)關(guān)聯(lián)的優(yōu)先級(jí)280對(duì)該組嘗試訪問同一存儲(chǔ)器塊 250的事務(wù)進(jìn)行仲裁。具體而言,每個(gè)處理器230中的不同寄存器可以被分配為存儲(chǔ)對(duì)應(yīng)于待提交到存儲(chǔ)器250的不同事務(wù)的優(yōu)先級(jí)觀0。沖突優(yōu)先級(jí)建立邏輯290可以位于操作系統(tǒng)210B中, 并且可以像其他應(yīng)用代碼那樣能夠訪問優(yōu)先級(jí)280以建立個(gè)別優(yōu)先級(jí)觀0。接下來,可以響應(yīng)于檢測(cè)到一組事務(wù)存在沖突,啟用沖突仲裁邏輯300檢索相應(yīng)的優(yōu)先級(jí)觀0并根據(jù)檢索到的相應(yīng)優(yōu)先級(jí)280應(yīng)用沖突仲裁以解決檢測(cè)到的沖突??蛇x的操作包括中止低優(yōu)先級(jí)事務(wù),或強(qiáng)制個(gè)別缺乏必要優(yōu)先級(jí)的事務(wù)等待??梢苑峙涿總€(gè)處理器230中的其他一個(gè)或多個(gè)寄存器來存儲(chǔ)沖突仲裁控制值 270。沖突仲裁控制值270可以指定當(dāng)根據(jù)各個(gè)優(yōu)先級(jí)280對(duì)待提交到存儲(chǔ)器250的一組發(fā)生沖突的事務(wù)之間的沖突進(jìn)行仲裁時(shí),將被執(zhí)行的操作的類型和性質(zhì)。例如,沖突仲裁控制值270可以指定禁用事務(wù)阻止,從而強(qiáng)制完全中止沖突中優(yōu)先級(jí)低于最高優(yōu)先級(jí)事務(wù)的每個(gè)事務(wù)。相反,沖突仲裁控制值270也可以允許阻止發(fā)生沖突的事務(wù),以便避免強(qiáng)制中止沖突中優(yōu)先級(jí)低于最高優(yōu)先級(jí)事務(wù)的每個(gè)事務(wù)。作為又一替代,沖突仲裁控制值270可以指定允許對(duì)發(fā)生沖突的低優(yōu)先級(jí)事務(wù)進(jìn)行硬件阻止,或者沖突仲裁控制值270可以指定要求在硬件產(chǎn)生的中斷所觸發(fā)的軟件中執(zhí)行阻止。值得注意的是,沖突仲裁控制值270可以指定在允許阻止時(shí)以時(shí)間(例如,毫秒) 或機(jī)器周期表示的、阻止事務(wù)的期間。另外,沖突仲裁控制值270可以啟用自適應(yīng)硬件退避 (backoff),以便當(dāng)所述自適應(yīng)硬件退避被指定時(shí),它可以在反復(fù)產(chǎn)生關(guān)于一事務(wù)的沖突的情況下要求延長所述期間。更進(jìn)一步地,沖突仲裁控制值270可以限制阻止(而非中止) 沖突中的事務(wù)的頻率。一旦檢測(cè)到指定時(shí)間段內(nèi)針對(duì)一事務(wù)的重復(fù)沖突閾值限制,則在由沖突仲裁控制值270指定的情況下,便可以在下一次發(fā)生沖突時(shí)強(qiáng)制中止該事務(wù)。替代地, 一旦達(dá)到所述閾值限制,可產(chǎn)生一個(gè)中斷以觸發(fā)沖突的軟件仲裁。最后,沖突仲裁控制值 270可以指定產(chǎn)生中斷以便對(duì)具有相同對(duì)應(yīng)的優(yōu)先級(jí)觀0的兩個(gè)或多個(gè)事務(wù)之間的沖突進(jìn)行軟件仲裁。在對(duì)沖突仲裁邏輯300的進(jìn)一步的說明中,圖3是示出用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的、并發(fā)事務(wù)的軟件優(yōu)先化的過程的流程圖。從方塊305開始,可以檢測(cè)到與存儲(chǔ)器塊和一組事務(wù)關(guān)聯(lián)的沖突。在方塊310,可以檢索所述一組事務(wù)中每個(gè)事務(wù)的優(yōu)先級(jí),且在方塊315,可以檢索沖突仲裁控制參數(shù)以判定當(dāng)根據(jù)所涉及事務(wù)的優(yōu)先級(jí)對(duì)沖突進(jìn)行仲裁時(shí),要采取的操作的類型和性質(zhì)。之后,在方塊320,可以在所述一組事務(wù)中選擇一個(gè)事務(wù)。在方塊325,可以根據(jù)選定事務(wù)的優(yōu)先級(jí)向該事務(wù)應(yīng)用檢索到的沖突仲裁控制策略。另外,在決策方塊330,如果判定中止選定事務(wù),則在方塊335可以中止選定事務(wù)。否則,在方塊340,如果判定阻止選定事務(wù),則在方塊345可將選定事務(wù)阻止與沖突仲裁控制值關(guān)聯(lián)的一段時(shí)間。在任何一種情況下,在決策方塊350,如果事務(wù)集中仍有其他待處理的事務(wù),則過程可以返回到方塊320,選擇事務(wù)集中的下一事務(wù)。本發(fā)明的實(shí)施例可以采取完全硬件實(shí)施例、完全軟件實(shí)施例或同時(shí)包含硬件和軟件的實(shí)施例的形式。在優(yōu)選實(shí)施例中,本發(fā)明使用固件、駐留軟件、微代碼等任何一種方式實(shí)現(xiàn)。此外,本發(fā)明可以采取可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)訪問的計(jì)算機(jī)程序產(chǎn)品的形式,所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供了可以被計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用或與所述計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)關(guān)聯(lián)的程序代碼。出于此描述的目的,所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是任何能夠包含、存儲(chǔ)、傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與所述指令執(zhí)行系統(tǒng)、裝置或設(shè)備關(guān)聯(lián)的程序的裝置。所述介質(zhì)可以是電、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可拆裝計(jì)算機(jī)軟盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬磁盤和光盤。光盤的當(dāng)前示例包括光盤-只讀存儲(chǔ)器(CD-ROM)、光盤-讀/寫(CD-R/W)和DVD。適合于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括至少一個(gè)通過系統(tǒng)總線直接或間接連接到存儲(chǔ)器元件的處理器。所述存儲(chǔ)器元件可以包括在程序代碼的實(shí)際執(zhí)行期間采用的本地存儲(chǔ)器、大容量存儲(chǔ)裝置以及提供至少某些程序代碼的臨時(shí)存儲(chǔ)以減少必須在執(zhí)行期間從大容量存儲(chǔ)裝置檢索代碼的次數(shù)的高速緩沖存儲(chǔ)器。輸入/輸出或I/O設(shè)備(包括但不限于鍵盤、顯示器、指點(diǎn)設(shè)備等)可以直接或通過居間的I/O控制器與系統(tǒng)相連。網(wǎng)絡(luò)適配器也可以被連接到系統(tǒng)以使所述數(shù)據(jù)處理系統(tǒng)能夠通過居間的專用或公共網(wǎng)絡(luò)變得與其他數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備相連。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器和以太網(wǎng)卡只是幾種當(dāng)前可用的網(wǎng)絡(luò)適配器類型。
      權(quán)利要求
      1.一種用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的并發(fā)事務(wù)的軟件優(yōu)先化的方法,所述方法包括在被配置為進(jìn)行事務(wù)存儲(chǔ)器管理的事務(wù)存儲(chǔ)器系統(tǒng)中,根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的相應(yīng)優(yōu)先級(jí)值,使用用于相應(yīng)不同事務(wù)的不同優(yōu)先級(jí)值設(shè)置不同的硬件寄存器;檢測(cè)所述系統(tǒng)中事務(wù)之間的沖突;以及根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在所述系統(tǒng)中應(yīng)用沖突仲裁。
      2.如權(quán)利要求1中所述的方法,進(jìn)一步包括從所述系統(tǒng)的另一寄存器中檢索沖突仲裁控制值,所述沖突仲裁控制值指定沖突仲裁操作的類型和性質(zhì)中的至少一項(xiàng);以及將沖突仲裁的應(yīng)用限制到所述沖突仲裁控制值指定的沖突仲裁操作的類型和性質(zhì)中的至少一項(xiàng)。
      3.如權(quán)利要求1或2中所述的方法,進(jìn)一步包括將不同的優(yōu)先級(jí)值限制為能夠被系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的一個(gè)范圍內(nèi)的優(yōu)先級(jí)值。
      4.如權(quán)利要求1、2或3中所述的方法,其中根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在系統(tǒng)中應(yīng)用沖突仲裁包括阻止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù)。
      5.如權(quán)利要求1、2、3或4中所述的方法,其中根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在系統(tǒng)中應(yīng)用沖突仲裁包括中止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù)。
      6.如權(quán)利要求1至5中任一權(quán)利要求中所述的方法,其中根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在系統(tǒng)中應(yīng)用沖突仲裁包括檢測(cè)至少兩個(gè)具有相同優(yōu)先級(jí)的事務(wù);以及產(chǎn)生中斷以便外部軟件支持代替執(zhí)行沖突仲裁的處理器執(zhí)行針對(duì)所述至少兩個(gè)事務(wù)的沖突仲裁。
      7.如權(quán)利要求4中所述的方法,其中阻止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù)包括在一期間內(nèi)阻止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù),所述期間在每次檢測(cè)到所述一個(gè)選定事務(wù)與其他事務(wù)沖突時(shí)便會(huì)延長。
      8.如權(quán)利要求4中所述的方法,其中阻止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù)包括在一期間內(nèi)阻止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù),直到檢測(cè)到的沖突數(shù)量達(dá)到閾值,所述期間在每次檢測(cè)到所述一個(gè)選定事務(wù)與其他事務(wù)沖突時(shí)便會(huì)延長;以及一旦超過針對(duì)所述一個(gè)選定事務(wù)的沖突數(shù)量閾值,強(qiáng)制中止所述一個(gè)選定事務(wù)。
      9.一種多處理器計(jì)算機(jī)數(shù)據(jù)處理系統(tǒng),包括多個(gè)與硬件存儲(chǔ)器相連的處理器;在每個(gè)處理器的指令集架構(gòu)(ISA)和語義中實(shí)現(xiàn)的事務(wù)管理器;位于每個(gè)處理器中的寄存器,所述寄存器存儲(chǔ)用于所述事務(wù)管理器管理的訪問存儲(chǔ)器的事務(wù)的優(yōu)先級(jí)值;位于所述系統(tǒng)中的沖突仲裁邏輯,所述邏輯能夠根據(jù)對(duì)應(yīng)于發(fā)生沖突的事務(wù)的優(yōu)先級(jí)值對(duì)發(fā)生沖突的事務(wù)應(yīng)用沖突仲裁;以及與硬件相連并且被配置為訪問所述寄存器以設(shè)置優(yōu)先級(jí)值的軟件支持。
      10.如權(quán)利要求9中所述的系統(tǒng),進(jìn)一步包括每個(gè)處理器中指定沖突仲裁控制值的寄存器,所述沖突仲裁控制值指定能夠針對(duì)發(fā)生沖突的事務(wù)執(zhí)行的沖突仲裁操作的類型和性質(zhì)中的一項(xiàng)。
      11.一種包括計(jì)算機(jī)可用介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可用介質(zhì)包含用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的、并發(fā)事務(wù)的軟件優(yōu)先化的計(jì)算機(jī)可用程序代碼,所述計(jì)算機(jī)程序產(chǎn)品包括用于在被配置為進(jìn)行事務(wù)存儲(chǔ)器管理的系統(tǒng)中,根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的相應(yīng)優(yōu)先級(jí)值,使用用于相應(yīng)不同事務(wù)的不同優(yōu)先級(jí)值設(shè)置不同的硬件寄存器的計(jì)算機(jī)可用程序代碼;用于檢測(cè)所述系統(tǒng)中事務(wù)之間的沖突的計(jì)算機(jī)可用程序代碼;以及用于根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在處理器中應(yīng)用沖突仲裁的計(jì)算機(jī)可用程序代碼。
      12.如權(quán)利要求11中所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括用于從所述處理器中的另一寄存器中檢索沖突仲裁控制值的計(jì)算機(jī)可用程序代碼,所述沖突仲裁控制值指定沖突仲裁操作的類型和性質(zhì)中的至少一項(xiàng);以及用于將沖突仲裁的應(yīng)用限制到所述沖突仲裁控制值指定的沖突仲裁操作的類型和性質(zhì)中的至少一項(xiàng)的計(jì)算機(jī)可用程序代碼。
      13.如權(quán)利要求11或12中所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括用于將不同的優(yōu)先級(jí)值限制為能夠被系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的一個(gè)范圍內(nèi)的優(yōu)先級(jí)值的計(jì)算機(jī)可用程序代碼。
      14.如權(quán)利要求11、12或13中所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用于根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在處理器中應(yīng)用沖突仲裁的計(jì)算機(jī)可用程序代碼包括用于阻止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù)的計(jì)算機(jī)可用程序代碼。
      15.如權(quán)利要求11至14中任一權(quán)利要求中所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用于根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在系統(tǒng)中應(yīng)用沖突仲裁的計(jì)算機(jī)可用程序代碼包括用于中止優(yōu)先級(jí)低于其他事務(wù)的一個(gè)選定事務(wù)的計(jì)算機(jī)可用程序代碼。
      全文摘要
      本發(fā)明的實(shí)施例提供了一種用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的、并發(fā)事務(wù)的軟件優(yōu)先化的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。在本發(fā)明的實(shí)施例中,用于事務(wù)存儲(chǔ)器管理中嵌入式?jīng)_突仲裁的、并發(fā)事務(wù)的軟件優(yōu)先化的方法可包括在被配置為根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的相應(yīng)優(yōu)先級(jí)值進(jìn)行事務(wù)存儲(chǔ)器管理的事務(wù)存儲(chǔ)器系統(tǒng)中,使用用于相應(yīng)不同事務(wù)的不同優(yōu)先級(jí)值設(shè)置不同的硬件寄存器。所述方法還可包括檢測(cè)所述系統(tǒng)中事務(wù)之間的沖突。最后,所述方法還包括根據(jù)系統(tǒng)外部軟件支持中的優(yōu)先級(jí)分配邏輯指定的優(yōu)先級(jí)值在所述系統(tǒng)中應(yīng)用沖突仲裁。
      文檔編號(hào)G06F13/16GK102272744SQ200980153295
      公開日2011年12月7日 申請(qǐng)日期2009年12月18日 優(yōu)先權(quán)日2009年1月2日
      發(fā)明者C·哈爾, M·F·維爾丁, R·J·布萊尼, T·小赫勒 申請(qǐng)人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1