TWI459297B - 具有對於多個虛擬伺服器間之共用資源配置之軟體控制之微處理器 - Google Patents

具有對於多個虛擬伺服器間之共用資源配置之軟體控制之微處理器 Download PDF

Info

Publication number
TWI459297B
TWI459297B TW099105018A TW99105018A TWI459297B TW I459297 B TWI459297 B TW I459297B TW 099105018 A TW099105018 A TW 099105018A TW 99105018 A TW99105018 A TW 99105018A TW I459297 B TWI459297 B TW I459297B
Authority
TW
Taiwan
Prior art keywords
request
requester
shared resource
priority
queue
Prior art date
Application number
TW099105018A
Other languages
English (en)
Other versions
TW201040840A (en
Inventor
Thomas J Heller Jr
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW201040840A publication Critical patent/TW201040840A/zh
Application granted granted Critical
Publication of TWI459297B publication Critical patent/TWI459297B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

具有對於多個虛擬伺服器間之共用資源配置之軟體控制之微處理器
本發明大體上係關於計算環境內之處理,且更特定言之係關於在計算環境中配置共用資源。
整體電腦系統效能受電腦結構之主要元素中之每一者影響,包括:(多個)處理器之效能/結構、(多個)任何記憶體快取記憶體、(多個)輸出/輸出(I/O)子系統、(多個)記憶體控制功能之效率、(多個)主記憶體器件,及(多個)互連介面之類型及結構。
在現行基礎上,藉由產業投入廣泛研究及開發努力以產生改良及/或創新之解決方案,從而藉由改良系統/子系統設計及/或結構來最大化整體電腦系統效能及密度。高可用性系統在整體系統可靠性方面呈現進一步挑戰,其歸因於消費者期望:新的電腦系統除了提供額外功能、增強效能、增加儲存量、較低操作成本等之外,將在平均故障間隔時間(mean-time-between-failure,MTBF)方面顯著超越現有系統。其他常見消費者要求進一步加重電腦系統設計挑戰,且包括諸如以下的項目:容易升級及減少之系統環境衝擊(諸如,空間、電力及冷卻)。
當前微處理器具有許多處理器,每一處理器運行許多執行緒。舉例而言,當前微處理器可具有八個處理器,每一處理器具有四個執行緒,其中利用超管理器軟體來管理多個虛擬處理器。預測在未來同時被執行之執行緒的數目將增加,且微處理器將可能具有同時運行的數十個執行緒。
微處理器具有由在超管理器控制下之多個虛擬處理器共用之許多硬體資源。此等共用資源包括:實體處理器;快取記憶體;在多個快取記憶體間提供快取記憶體連貫性之互連網路、記憶體控制器、輸入/輸出(I/O)控制器等。當前微處理器硬體設計依賴於超管理器軟體,其與每一實體處理器中之硬體計時器結合以確保虛擬處理器接收實體硬體資源之公平共用。在當前設計中,虛擬處理器依賴於超管理器以按以下方式將虛擬處理程序分派至實體處理器上:將為每一處理器提供對「下游」共用資源之公平共用,諸如,快取記憶體存取及記憶體控制器存取。
本發明之一例示性實施例包括一種用於控制共用資源之配置之系統。該系統包括一下一請求優先權模組,其連接至一共用資源且連接至由請求者識別符識別之複數個請求者。該下一請求優先權模組包括一待決請求機制、一記錄機制及下一請求優先權邏輯。該待決請求機制按照優先權排序來自該等請求者中之一或多者的對該共用資源之一或多個待決請求。每一待決請求包括一相關聯之請求者識別符。將該等待決請求中之一者指定為具有一相關聯之下一請求者識別符的下一待決請求。該記錄機制記錄與經授予對於該共用資源之優先權之先前請求相關聯的請求者識別符。該下一請求優先權邏輯存取該下一待決請求及該下一請求者識別符,且判定是否應向該下一待決請求授予對於該共用資源之優先權。該判定係回應於所記錄之請求者識別符且回應於該下一請求者識別符。回應於判定應向該下一待決請求授予對於該共用資源之優先權而向該下一待決請求授予對於該共用資源之優先權。回應於授予而記錄該下一請求者識別符。
另一例示性實施例包括一種用於控制共用資源之配置之方法。該方法包括接收對存取一共用資源之一請求。該請求係接收自執行於一處理器上之一請求者。該接收係在連接至該處理器及該共用資源之一下一請求優先權模組處進行。判定對於該共用資源之指定數目之最近優先權授予中之任一者是否係關於該請求者。若對於該共用資源之該指定數目之最近優先權授予中無任何者係關於該請求者,則將該請求授予至該共用資源。若判定對於該共用資源之該指定數目之最近優先權授予中之任一者係關於該請求者,則判定對該共用資源之一或多個其他請求是否為待決的。若對該共用資源之其他請求為待決的,則判定是否應向該等其他請求中之一者授予對於該共用資源之優先權。
另一例示性實施例包括一種用於控制共用資源之配置之電腦程式產品。該電腦程式產品包括一有形儲存媒體,其可由一處理電路讀取且儲存用於由該處理電路執行以實行一方法之指令。該方法包括接收對存取一共用資源之一請求。該請求係接收自執行於一處理器上之一請求者。該接收係在連接至該處理器及該共用資源之一下一請求優先權模組處進行。判定該共用資源之指定數目之最近優先權授予中之任一者是否係關於該請求者。若對於該共用資源之該指定數目之最近優先權授予中無任何者係關於該請求者,則將該請求授予至該共用資源。若判定對於該共用資源之該指定數目之最近優先權授予中之任一者係關於該請求者,則判定對該共用資源中之一或多個其他請求是否為待決的。若無任何對該共用資源之其他請求為待決的,則將該請求授予至該共用資源。若對該共用資源之其他請求為待決的,則判定是否應向該等其他請求中之一者授予對於該共用資源之優先權。
經由本發明之技術來實現額外特徵及優點。本發明之其他實施例及態樣在本文中詳細描述且被視為所主張之本發明的一部分。為了更好地理解本發明之優點及特徵,可參看實施方式及圖式。
現參看附圖,在該等附圖中相同元件在若干圖式中以同樣方式編號。
本發明之例示性實施例在共用資源之入口處提供硬體控制,其限制可專用於單一虛擬伺服器或虛擬伺服器群組之請求的數目。
在當前微處理器硬體設計中,具有許多虛擬處理器之單一虛擬伺服器可產生對微處理器核心外部之共用硬體資源之大量需求。該等需求可能足夠大以對當前在同一硬體系統上運行之其他虛擬伺服器產生效能衝擊。在過去,超管理器或任何類似軟體系統相對較容易監視虛擬伺服器之進程且限制分派在損害其他虛擬處理器的情況下而向前運行之虛擬處理器。當每個虛擬伺服器存在更多執行緒時且隨著單一微處理器晶片上之實體處理器核心(在本文亦稱作核心處理器或處理器)之數目自當前一至八個增長至甚至更大數目,超管理器較難進行監視。
另外,可由用不良快取記憶體行為運行工作負載的虛擬伺服器或由意欲中斷實體伺服器之操作的惡意病毒程式產生對系統資源之過量需求。
本發明之例示性實施例允許超管理器或其他控制程式對可由虛擬伺服器或由虛擬伺服器群組消耗的硬體資源設定限制。本發明之例示性提供限制可能由單一虛擬伺服器消耗之資源之最大共用的能力。此等限制可由超管理器或另一控制程式設定。在一例示性實施例中,將一虛擬伺服器識別符(VSID)指派至在超管理器之控制下的每一獨特虛擬伺服器。可藉由離開處理器且試圖使用系統中之微處理器晶片上或其他晶片或介面上之共用資源的任何請求發送VSID。硬體及/或軟體控制防止任何單一虛擬伺服器或虛擬伺服器群組佔據超過特定百分比之硬體資源。
圖1描繪可由一例示性實施例實施之多處理器計算系統之一部分。每一核心處理器100經由專門介面110、140及下一請求優先權模組120連接至一或多個共用資源150。在本發明之一例示性實施例中,以軟體來實施下一請求優先權模組120。在本發明之一例示性實施例中,下一請求優先權模組120為位於核心處理器100與共用資源150之間的系統控制邏輯(SCL)之部分。SCL提供複數個微處理器核心間以及彼等核心與其他系統元件(諸如,記憶體、資料快取記憶體、I/O控制器、專門加速器、資料壓縮引擎等)之間的實體互連。利用集中式交換結構之當代計算系統可使SCL實施於專用於交換功能之一或多個晶片上。此等交換晶片接著連接至微處理器晶片及記憶體晶片陣列以及系統之其他元件。利用分散式交換結構之技術系統可將SCL之一部分實施於微處理器晶片中之每一者上。在此狀況下,微處理器晶片彼此直接連接,且用於彼等連接之介面受SCL控制。SCL工作以控制源微處理器核心與共用系統資源之間的請求之流動。SCL亦控制資料之傳回流動。
在集中式交換狀況或分散式交換狀況中之任一者的情況下,除了在當前系統中所見之SCL之典型位置以外,使用本發明之實施例之計算系統亦可將SCL之一部分置於最靠近共用資源之點(例如,在記憶體DRAM上)。本發明之其他例示性實施例可將SCL之部分置於共用通信介面之任一端處,諸如,驅動一不同標準記憶體介面之記憶體控制器邏輯。SCL之部分在特定計算系統設計中之置放將取決於大量因素,包括(但不限於)可用邏輯空間、電力耗散及設計複雜性。由於許多當前設計含有多執行緒處理器,因此在例示性實施例中,關鍵共用資源亦可作為核心位於同一微處理器晶片上,且因此SCL之一部分亦可位於該微處理器晶片上。其他例示性實施例可將該邏輯置於邏輯之共用管線之開始處,該共用管線通向諸如SRAM或eDRAM資料快取記憶體之共用資源。
圖1中所描繪之系統中之一個核心處理器100b經由介面110b連接至下一請求優先權模組120a。同一核心處理器100b亦經由另一專用介面110c連接至下一請求優先權模組120b。由下一請求優先權模組120控制對共用資源150之存取。
圖1中所描繪之下一請求優先權模組120包括虛擬伺服器控制邏輯121及下一請求優先權邏輯122。在下文關於圖2描述虛擬伺服器控制邏輯121之一例示性實施例。在下文關於圖4描述下一請求優先權邏輯122之一例示性實施例。
本發明之一例示性實施例使用許多IBM P6微處理器,每一IBM P6微處理器具有四個處理核心。本發明之例示性實施例可用於具有任何數目之微處理器晶片之系統上。另外,例示性實施例可用任何類型之微處理器(含有任何數目之核心處理器)來實施。此外,例示性實施例可結合微處理器來使用,該等微處理器支援許多多執行緒實施中之任一者。
如圖1中所描繪,為系統中之核心處理器100中之每一者提供一VSID暫存器160。可藉由執行於核心處理器100上之軟體來對VSID暫存器160進行寫入。本發明之例示性實施例使用一超管理器來實行此任務。在預期多執行緒為作用中的且可指派個別執行緒以同時運行來自多個虛擬伺服器之軟體的系統中,可為每一執行緒提供一VSID暫存器160。在本發明之例示性實施例中,超管理器為其控制之每一虛擬伺服器選擇一VSID。當將一虛擬伺服器分派至實體處理器(例如,核心處理器100)上時,將用於彼核心處理器100之VSID寫入至VSID暫存器160中。
VSID暫存器160之內容包括有命令、位址及資料,其經由介面110向共用資源150傳達。介面110可類似於當前請求介面,諸如,用於與當代記憶體控制器連接之介面。VSID資訊與先前技術之命令、位址及資料資訊的組合由核心處理器100下游之邏輯使用,以控制對共用資源150之存取。本發明之例示性實施例使用下一請求優先權模組120來控制對在具有核心處理器100a-100c之微處理器晶片外部(亦即,並非位於微處理器晶片上)之共用資源150的存取。其他實施例可使用類似硬體及方法來控制對位於微處理器晶片內部之資源(諸如,晶片上記憶體控制器、晶片上I/O控制器、晶片上資料快取記憶體或任何其他晶片上資源)的存取。
在本發明之例示性實施例中,VSID對於每一虛擬伺服器為獨特的,超管理器當前正於計算系統上代管該虛擬伺服器。本發明之其他實施例可使用獨特VSID之雜湊或完整VSID之位元之簡單子集。本發明之一項例示性實施例僅使用VSID之兩個最低序位位元以便減少將VSID添加至請求資訊所需的硬體額外耗用,該請求資訊必須自核心處理器100傳達至共用資源150。VSID之子集之使用降低了請求槽至虛擬伺服器之分散的準確度,但仍將能夠防止運行於計算系統上之大多數虛擬伺服器之不可預測的效能。
如本文所使用,VSID為請求者識別符之一實例,可利用請求者識別符以使一請求者(例如,虛擬伺服器)與對共用資源(例如,記憶體)的請求相關聯。可在未偏離本發明之範疇的情況下利用其他請求者識別符。
核心處理器100與共用資源150之間的互連在圖1中經展示為點對點匯流排110、140之集合。本發明之替代例示性實施例可在許多其他組態間利用任何其他類型之互連,諸如,共用匯流排、全縱橫制開關(full crossbar switch)或一系列互連開關。
圖2描繪可由本發明之例示性實施例利用之虛擬伺服器控制邏輯121。圖2中所描繪之虛擬伺服器控制邏輯121包括暫存器220之一群組,其構成用於儲存對共用資源150之待決請求的請求佇列。暫存器220亦含有用於每一請求之請求者識別符(例如,VSID)。請求者識別符使請求與請求者(例如,執行於核心處理器100上之虛擬伺服器)相關。請求佇列經排序(例如,基於每一請求已處於該佇列中多長時間、在該佇列中之時間及與請求者相關聯之優先權的組合等),且當共用資源150可用於處理新請求時,將該等請求中之一者指定為將被評估用於處理之下一請求。暫存器220含有已經由介面110中之一者自核心處理器100到達之待決請求。本發明之例示性實施例允許四個請求保持待決;其他實施例可使用任何數目之額外(或更少)暫存器用於此功能。保持於該佇列中之請求的數目亦可藉由可程式化深度來設計。
本發明之例示性實施例亦包括由複數個暫存器230構成之先前請求者佇列。本發明之例示性實施例使用四位置深之先進先出緩衝器來實施先前請求者佇列,以保持待被授予對於共用資源150之優先權之最後四個請求的VSID。可使用任何其他深度之緩衝器。亦可藉由可程式化深度來設計該緩衝器。在例示性實施例中,該深度藉由超管理器或藉由任何其他合適監督器軟體或藉由合適硬體演算法來設定。在例示性實施例中,緩衝器之深度係在系統之初始通電順序期間設定,且接著在未來時間由超管理器進行更改。
圖2中所描繪之請求佇列220為可由本發明之例示性實施例實施之待決請求機制的實例。本發明之例示性實施例可利用以硬體及/或軟體實施待決請求機制的其他方式。舉例而言,待決請求機制可經設計以有利於(favor)特定VSID。可保證受益之VSID對共用資源之特定分數(例如,百分之二十五)之使用。
類似地,圖2中所描繪之先前請求者佇列230為可由本發明之例示性實施例實施之記錄機制的實例。本發明之例示性實施例可利用以硬體及/或軟體實施記錄機制的其他方式。舉例而言,可將該等記錄實施為計數器之集合,計數器在每次向具有特定VSID之請求授予接下來使用共用資源之優先權時遞增。每一計數器可經指派VSID之一範圍。應理解,待決請求機制與記錄機制之廣泛範圍之組合可用以實施本發明。使用記錄機制之狀態連同待決請求機制之狀態的任何合適邏輯可用以判定待發送至共用資源之下一請求。
本發明之例示性實施例將一記憶體用作共用資源150。圖3A中之來自美國專利第7,320,047號之記憶體系統300為先前技術記憶體系統之一項實例,其可與本發明之例示性實施例一起使用。記憶體系統300包括一記憶體控制器310、複數個點對點鏈路320a-320n、複數個記憶體子系統330a-330c,及介面375上之複數個記憶體子系統埠378a-378n。圖3A中將記憶體子系統330a之更詳細描述說明為記憶體子系統340。記憶體子系統340包括安置於記憶體子系統340上之緩衝器器件350及複數個記憶體器件360。緩衝器器件350經由通道370耦接至複數個記憶體器件360。
圖3B中所描繪之記憶體系統300B描繪可與圖3A中描繪之先前技術記憶體系統一起實施之例示性實施例。類似於圖3A,圖3B描繪一記憶體系統300B,其包括一記憶體控制器310B、複數個點對點鏈路320aB-320nB、複數個記憶體子系統330aB-330cB,及介面375B上之複數個記憶體子系統埠378aB-378nB。圖3B中將記憶體子系統330aB之更詳細描述說明為記憶體子系統340B。記憶體子系統340B包括安置於記憶體子系統340B上之緩衝器器件350B及複數個記憶體器件360B。緩衝器器件350B經由通道370B耦接至複數個記憶體器件360B。圖3B中描繪之記憶體控制器310B亦包括在圖3B中展示為元件390B的下一請求優先權邏輯120、130。所描繪之例示性實施例將下一請求優先權模組390B定位於記憶體控制器310B中,但應理解亦可將其定位於記憶體緩衝器器件350B中或記憶體器件360B中。例示性實施例並不限於在記憶體系統中使用,因為任何其他共用資源可以類似方式來控制。
圖4描繪可由本發明之例示性實施例實施的用於選擇待發送至共用系統資源150之下一請求的一般流程圖。圖4說明實施於下一請求優先權邏輯122中之功能,下一請求優先權邏輯122管理虛擬伺服器控制邏輯121及請求介面140。在區塊410,下一請求優先權邏輯122檢查請求佇列中之下一項。如上文所描繪,在本發明之一項例示性實施例中,下一項為請求佇列中之最舊項。在區塊420,判定與下一項相關聯之請求者識別符是否匹配先前請求者佇列中之項中之任一者。在圖4中所描繪之例示性實施例中,先前請求者佇列藉由四位置深之先進先出緩衝器來實施,該緩衝器含有經授予對於共用資源之優先權的最後四個請求者之請求者識別符。在此實例中,四為最近優先權授予之指定數目,在其他實施例中,實施其他指定數目。
若在區塊420判定請求者識別符匹配先前請求者佇列中之請求者識別符中之任一者,則處理在區塊450處繼續,在區塊450中判定下一請求是否為請求佇列中之最後請求。在此狀況下,應向請求者授予對於共用資源150之優先權,因為沒有其他請求者正在等待共用資源150;在區塊460,向該請求者授予對於共用資源150之優先權。在替代例示性實施例中,當請求佇列中僅存在一個請求且其相關聯之請求者識別符已在先前請求者佇列中找到時,採取一不同動作。在此替代例示性實施例中,無優先權被給予下一請求且在下一循環中無請求被發送至共用資源150。當請求之服務時間相比共用資源150可同時處置之請求的數目較長時,此可為需要的。
若在區塊450判定下一請求並非該請求佇列中之最後請求,則將該佇列中之另一請求指定為下一請求(例如,基於其為下一最舊請求,或一些其他優先權方案),且處理在區塊410繼續。
若在區塊420判定請求者識別符不匹配先前請求者佇列中之請求者識別符中之任一者,則處理在區塊430處繼續。在區塊430,向下一請求授予對於共用資源150之優先權。在區塊440,將與下一請求相關聯之請求者識別符添加至先前請求者佇列。在本發明之一例示性實施例中,新的請求者識別符替換先前請求者佇列中之最舊項。經授予優先權之請求變為待經由介面140發送至共用資源150之下一請求。
圖4描繪可藉由例示性實施例實施之一個處理流程,且其他處理流程可藉由本發明之替代例示性實施例來實施。舉例而言,在本發明之另一例示性實施例中,實施使來自一或多個特定虛擬伺服器之請求優於所有其他虛擬伺服器之請求的優先權功能,此係藉由將一請求者識別符指派至一或多個虛擬伺服器且藉由選擇儲存於先前請求者佇列(或其他記錄機制)中之先前請求者識別符的數目來進行的。在一項實例中,一特定虛擬伺服器可被保證關於在許多CPU間共用之記憶體控制器的至少百分之十的請求槽。
在本發明之另一例示性實施例中,使用在功能上類似於VSID(請求者識別符之一實例)之請求標籤,但其藉由不同層之軟體產生。一例示性實施例使用由超管理器產生之VSID,然而,任何個別作業系統均可產生識別在該作業系統上運行之個別工作單元的處理程序ID(PID)的集合。此等PID為可實施之另一類型之請求者識別符,且可在分派期間將其作為VSID直接寫入至相同硬體暫存器。
在另一例示性實施例中,硬體經設計以攔截作業系統對改變CPU之VSID的嘗試,且接著將對CPU之控制傳遞至超管理器。在此狀況下,超管理器將使用任何數目之演算法以判定VSID硬體暫存器應設定為何值。
技術效應及益處包括實體電腦伺服器在運行大量虛擬伺服器時提供可靠之高效能等級的能力。伺服器允許超管理器或另一控制程式對可由虛擬伺服器或由虛擬伺服器群組消耗的硬體資源設定限制。此提供限制可由單一虛擬伺服器消耗之資源之最大共用的能力,且可引起處理器之效能增加。
本文所使用之術語僅為了描述特定實施例,且並不意欲限制本發明。於本文中使用時,單數形式「一」及「該」意欲亦包括複數形式,除非上下文另外清楚地指示。應進一步理解,術語「包含」在本說明書中使用時指定所陳述之特徵、整數、步驟、操作、元件及/或組件的存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組的存在或添加。
以下申請專利範圍中之所有構件或步驟附加功能元件之相應結構、材料、動作及等效物意欲包括任何用於結合如具體所主張之其他所主張元件實行功能的結構、材料或動作。已出於說明及描述目的呈現本發明之描述,但該描述並不意欲為詳盡的或將本發明限於所揭示之形式。在不背離本發明之範疇及精神的情況下,一般熟習此項技術者將顯而易見許多修改及變化。選擇並描述了實施例以便最佳地解釋本發明之原理及實務應用,且使其他一般熟習此項技術者能夠針對具有適合於所涵蓋之特定用途的各種修改之各種實施例來理解本發明。
如熟習此項技術者應瞭解,本發明可體現為一系統、方法或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例(包括韌體、常駐軟體、微碼等)或組合軟體與硬體態樣之實施例的形式,該等實施例在本文中皆可通稱為「電路」、「模組」或「系統」。此外,本發明可採用體現於任何有形表現媒體中之一電腦程式產品的形式,該有形表現媒體具有體現於該媒體中之電腦可用程式碼。可利用一或多個電腦可用或電腦可讀媒體之任何組合。電腦可用或電腦可讀媒體可為例如(但不限於)電子、磁性、光學、電磁、紅外線或半導體系統、裝置、器件或傳播媒體。電腦可讀媒體之更具體實例(非詳盡清單)將包括以下各者:具有一或多個導線之電連接、攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)、光纖、攜帶型光碟唯讀記憶體(CDROM)、光學儲存器件、傳輸媒體(諸如,支援網際網路或內部網路之傳輸媒體),或磁性儲存器件。應注意,電腦可用或電腦可讀媒體甚至可為程式被列印於上面的紙張或另一合適媒體,因為該程式可經由(例如)對紙張或其他媒體之光學掃描來以電子方式捕獲,接著經編譯、解譯或以合適方式另外處理(若有必要),且接著儲存於電腦記憶體中。在此文件之背景下,一電腦可用或電腦可讀媒體可為可含有、儲存、傳達、傳播或傳送由指令執行系統、裝置或器件使用或與指令執行系統、裝置或器件結合使用的程式之任何媒體。電腦可用媒體可包括一在基頻中或作為一載波之部分的其中體現有電腦可用程式碼之傳播資料信號。可使用任何適當之媒體(包括但不限於無線、有線線路、光纖電纜、RF等)來傳輸電腦可用程式碼。
可以一或多種程式化語言之任何組合撰寫用於執行本發明之操作的電腦程式碼,該一或多種程式化語言包括諸如Java、Smalltalk、C++或其類似者之物件導向程式化語言及諸如「C」程式化語言或類似程式化語言之習知程序性程式化語言。程式碼可完全在使用者之電腦上執行,部分地在使用者之電腦上執行,作為獨立套裝軟體執行,部分地在使用者之電腦上執行且部分地在遠端電腦上執行,或完全在遠端電腦或伺服器上執行。在後一種情形中,遠端電腦可經由任何類型之網路(包括區域網路(LAN)或廣域網路(WAN))連接至使用者之電腦,或可(例如,使用網際網路服務提供者,經由網際網路)連接至外部電腦。
下文參考根據本發明之實施例之方法、裝置(系統)及電腦程式產品之流程圖說明及/或方塊圖來描述本發明。將理解,可由電腦程式指令來實施流程圖說明及/或方塊圖之每一區塊及該等流程圖說明及/或方塊圖中之區塊的組合。可將此等電腦程式指令提供至通用電腦、專用電腦或其他可程式化資料處理裝置之處理器以產生一機器,以使得經由該電腦或其他可程式化資料處理裝置之處理器執行之指令建立用於實施該或該等流程圖及/或方塊圖區塊中所指定之功能/動作之構件。此等電腦程式指令亦可儲存在一電腦可讀媒體中,其可指導電腦或其他可程式化資料處理裝置以特定方式起作用,以使得儲存在該電腦可讀媒體中之指令產生一製品,其包括實施該或該等流程圖及/或方塊圖區塊中所指定之功能/動作之指令構件。
該等電腦程式指令亦可載入至電腦或其他可程式化資料處理裝置上以使一系列操作步驟在該電腦或其他可程式化裝置上實行以產生一電腦實施處理程序,使得在該電腦或其他可程式化裝置上執行之指令提供用於實施該或該等流程圖及/或方塊圖區塊中所指定之功能/動作之處理程序。
如上所述,實施例可以電腦實施之處理程序及用於實踐彼等處理程序之裝置的形式來體現。在例示性實施例中,本發明以藉由一或多個網路元件執行之電腦程式碼來體現。實施例包括如圖5中所描繪之電腦程式產品500,在一電腦可用媒體502上具有含有體現於有形媒體中作為製品之指令的電腦程式碼邏輯504。電腦可用媒體502之例示性製品可包括軟性磁碟、CD-ROM、硬碟、通用串列匯流排(USB)快閃驅動器或任何其他電腦可讀儲存媒體,其中當將電腦程式碼邏輯504載入至電腦中且由電腦執行時,電腦成為用於實踐本發明之裝置。實施例包括電腦程式碼邏輯504,例如,不管其儲存於儲存媒體中,載入至電腦中及/或由電腦執行,或經由一些傳輸媒體(諸如,經由電佈線或佈纜、經由光纖、或經由電磁輻射)傳輸,其中當將電腦程式碼邏輯504載入至電腦中且由電腦執行時,該電腦成為用於實踐本發明之裝置。當實施於一通用微處理器上時,電腦程式碼邏輯504片段組態該微處理器以建立特定邏輯電路。
諸圖中之流程圖及方塊圖說明根據本發明之各種實施例的系統、方法及電腦程式產品之可能實施的架構、功能性及操作。就此而言,在流程圖或方塊圖中之每一區塊可代表程式碼之模組、區段或部分,其包含用於實施指定邏輯功能的一或多個可執行指令。亦應注意,在一些替代實施中,區塊中所述之功能可不以圖中所指出之次序發生。舉例而言,取決於所涉及之功能性,連續展示之兩個區塊實際上可大體上同時執行,或該等區塊有時可以相反次序執行。亦應注意,方塊圖及/或流程圖說明之每一區塊及方塊圖及/或流程圖說明中之區塊的組合可藉由實行指定功能或動作之基於硬體之專用系統實施,或藉由專用硬體與電腦指令之組合來實施。
100a...核心處理器
100b...核心處理器
100c...核心處理器
110a...介面/點對點匯流排
110b...介面/點對點匯流排
110c...介面/點對點匯流排
110d...介面/點對點匯流排
120a...下一請求優先權模組
120b...下一請求優先權模組
121a...虛擬伺服器控制邏輯
121b...虛擬伺服器控制邏輯
122a...下一請求優先權邏輯
122b...下一請求優先權邏輯
140a...請求介面/點對點匯流排
140b...請求介面/點對點匯流排
150a...共用資源
150b...共用資源
160a...虛擬伺服器識別符(VSID)暫存器
160b...VSID暫存器
160c...VSID暫存器
220...暫存器
230...暫存器/先前請求者佇列
300...記憶體系統
300B...記憶體系統
310...記憶體控制器
310B...記憶體控制器
320a...點對點鏈路
320aB...點對點鏈路
320b...點對點鏈路
320bB...點對點鏈路
320n...點對點鏈路
320nB...點對點鏈路
330a...記憶體子系統
330aB...記憶體子系統
330b...記憶體子系統
330b...B記憶體子系
330c...記憶體子系統
330cB...記憶體子系統
340...記憶體子系統
340B...記憶體子系統
350...緩衝器器件
350B...緩衝器器件
360...記憶體器件
360B...記憶體器件
370...通道
370B...通道
375...介面
375B...介面
378a...記憶體子系統埠
378aB...記憶體子系統埠
378b...記憶體子系統埠
378bB...記憶體子系統埠
378n...記憶體子系統埠
378nB...記憶體子系統埠
390B...下一請求優先權模組
500...電腦程式產品
502...電腦可用媒體
504...電腦程式碼邏輯
圖1描繪可由本發明之例示性實施例實施之具有若干處理器及共用系統資源的計算系統;
圖2描繪可由本發明之例示性實施例實施之虛擬伺服器控制邏輯硬體;
圖3A描繪先前技術之記憶體控制器;
圖3B描繪可由本發明之例示性實施例實施之記憶體控制器;
圖4描繪可由本發明之例示性實施例實施之用於選擇待發送至共用系統資源之下一請求的一般流程圖;及
圖5描繪可由本發明之例示性實施例實施之電腦程式產品。
100a...核心處理器
100b...核心處理器
100c...核心處理器
110a...介面/點對點匯流排
110b...介面/點對點匯流排
110c...介面/點對點匯流排
110d...介面/點對點匯流排
120a...下一請求優先權模組
120b...下一請求優先權模組
121a...虛擬伺服器控制邏輯
121b...虛擬伺服器控制邏輯
122a...下一請求優先權邏輯
122b...下一請求優先權邏輯
140a...請求介面/點對點匯流排
140b...請求介面/點對點匯流排
150a...共用資源
150b...共用資源
160a...虛擬伺服器識別符(VSID)暫存器
160b...VSID暫存器
160c...VSID暫存器

Claims (18)

  1. 一種用於控制共用資源之配置的系統,該系統包含:一下一請求優先權模組,其連接至一共用資源且連接至由請求者識別符識別之複數個請求者,該下一請求優先權模組包含:一待決請求機制,其在一請求佇列中按照優先權排序來自該複數個請求者中之一或多者的對該共用資源之一或多個待決請求,其中該請求佇列接收來自該複數個請求者之每一者的對該共用資源之待決請求,每一待決請求包括一相關聯之請求者識別符,且該等待決請求中之一者經指定為具有一相關聯之下一請求者識別符的下一待決請求,該一或多個請求者包含虛擬伺服器,相關聯之該請求者識別符包含代表該虛擬伺服器之一識別符,及防止該虛擬伺服器佔據多於該共用資源之一預定部分以限制可被該虛擬伺服器消耗之該共用資源之一量;一記錄機制,其在包含複數個所記錄之請求者識別符之一先前請求者佇列中記錄與經授予對於該共用資源之優先權之先前請求相關聯的請求者識別符;及該下一請求優先權模組存取該下一待決請求及該下一請求者識別符,判定該下一待決請求係該請求佇列中之唯一待決請求,判定該下一請求者識別符匹配該先前請求者佇列中該複數個所記錄之請求者識別符之至少一者,及 基於該下一待決請求係該請求佇列中之唯一待決請求且基於該下一請求者識別符匹配該先前請求者佇列中該複數個所記錄之請求者識別符之至少一者,在一下一循環期間不傳輸對該共用資源之請求。
  2. 如請求項1之系統,該下一請求優先權模組基於判定不應向該請求佇列中之該下一待決請求授予對於該共用資源之優先權而進一步指定該請求佇列中之一其他待決請求及相關聯之請求者識別符作為該下一待決請求及該下一請求者識別符。
  3. 如請求項1之系統,其進一步包含藉由該記錄機制將對於該共用資源之一指定數目之最近優先權授予之請求者識別符存於該先前請求者佇列中。
  4. 如請求項1之系統,其基於該下一請求者識別符不匹配該先前請求者佇列中之該複數個所記錄之請求者識別符之任何一者而判定應向該請求佇列中之該下一待決請求授予對於該共用資源之優先權。
  5. 如請求項1之系統,該請求者包含一虛擬伺服器群組。
  6. 如請求項1之系統,該共用資源包含記憶體,且該下一請求優先權模組位於一記憶體控制器中。
  7. 如請求項1之系統,該下一請求優先權模組基於向該下一待決請求授予對於該共用資源之優先權而將該請求佇列中之該下一待決請求傳輸至該共用資源。
  8. 如請求項1之系統,其中該下一請求優先權模組係由系統控制邏輯(SCL)來實施。
  9. 一種用於控制共用資源之配置的方法,該方法包含:在一請求佇列中接收對存取一共用資源之一請求,其中該請求佇列接收來自該複數個請求者之每一者的對該共用資源之若干個待決請求,該請求係接收自執行於一處理器上之該複數個請求者之一請求者,該接收係在連接至該處理器且連接至該共用資源之一下一請求優先權模組處進行,及防止該請求者佔據多於該共用資源之一預定部分以限制可消耗之該共用資源之一量;基於一先前請求者佇列中之該請求者之一請求者識別符及複數個所記錄之請求者識別符而判定對於該共用資源之一指定數目之最近優先權授予中之至少一者係關於該請求者;基於判定對於該共用資源之該指定數目之最近優先權授予中無任何者係關於該請求者而向該請求授予對於該共用資源之優先權;基於該授予而記錄該先前請求者佇列中之該請求者之該請求者識別符;及基於判定對於該共用資源之該指定數目之最近優先權授予中之任一者係關於該請求者而進行以下動作:判定對該共用資源之一或多個其他請求在該請求佇列中為待決的;及基於判定對該共用資源之一或多個其他請求在該請求佇列中為待決的而判定應向該等其他請求中之一者授予對於該共用資源之優先權;及 基於該請求係該請求佇列中之唯一待決請求且基於該請求者之該請求者識別符匹配該先前請求者佇列中該複數個所記錄之請求者識別符之至少一者,在一下一循環期間不傳輸對該共用資源之請求。
  10. 如請求項9之方法,其進一步包含基於判定對該共用資源之其他請求並非為待決的而向該請求授予對於該共用資源之優先權。
  11. 如請求項9之方法,其中該下一請求優先權模組係由系統控制邏輯(SCL)來實施。
  12. 如請求項9之方法,進一步包含基於向該請求授予對於該共用資源之優先權而將該請求傳輸至該共用資源。
  13. 一種用於控制共用資源之配置的電腦程式產品,該電腦程式產品包含:一非暫時性之有形儲存媒體,其可由一處理電路讀取且儲存用於由該處理電路執行以實行一方法之指令,該方法包含:在一請求佇列中接收對存取一共用資源之一請求,其中該請求佇列接收來自該複數個請求者之每一者的對該共用資源之若干個待決請求,該請求係接收自執行於一處理器上之該複數個請求者之一請求者且包括代表一虛擬伺服器之一請求者識別符,該接收係在連接至該處理器且連接至該共用資源之一下一請求優先權模組處進行,該請求者包含該虛擬伺服器,及防止該虛擬伺服器佔據多於該共用資源之一預定部分以限制可被該虛擬伺 服器消耗之該共用資源之一量;基於該請求者之一請求者識別符及包含複數個所記錄之請求者識別符之一先前請求者佇列而判定對於該共用資源之指定數目之最近優先權授予中之至少一者係關於該請求者;基於判定對於該共用資源之該指定數目之最近優先權授予中無任何者係關於該請求者而向該請求授予對於該共用資源之優先權;基於該授予而記錄該先前請求者佇列中之該請求者之該請求者識別符;及基於判定對於該共用資源之該指定數目之最近優先權授予中之任一者係關於該請求者而進行以下動作:判定沒有對該共用資源之其他請求在該請求佇列中為待決的;判定該請求者之該請求者識別符匹配該先前請求佇列中之該複數個所記錄之請求者識別符之至少一者;及基於該請求係該請求佇列中之唯一待決請求且基於該請求者之該請求者識別符匹配該先前請求者佇列中該複數個所記錄之請求者識別符之至少一者,在一下一循環期間不傳輸對該共用資源之請求。
  14. 如請求項13之電腦程式產品,該請求者包含一虛擬伺服器群組。
  15. 如請求項13之電腦程式產品,進一步包含基於向該請求授予對於該共用資源之優先權而將該請求傳輸至該共用
  16. 資源。 如請求項13之電腦程式產品,該下一請求優先權模組係由系統控制邏輯(SCL)來實施。
  17. 如請求項13之電腦程式產品,其進一步包含基於該授予而藉由以對應於該請求之該請求者識別符之一新項取代該先前請求者佇列中之一最舊項以記錄該下一請求者識別符。
  18. 如請求項13之電腦程式產品,其進一步包含將對於該共用資源之一指定數目之最近優先權授予之請求者識別符存於該先前請求者佇列中;及基於該請求者之該請求者識別符不匹配該先前請求者佇列中之該複數個所記錄之請求者識別符之任何一者而判定應向該請求佇列中之該請求授予對於該共用資源之優先權。
TW099105018A 2009-02-25 2010-02-22 具有對於多個虛擬伺服器間之共用資源配置之軟體控制之微處理器 TWI459297B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/392,665 US8676976B2 (en) 2009-02-25 2009-02-25 Microprocessor with software control over allocation of shared resources among multiple virtual servers

Publications (2)

Publication Number Publication Date
TW201040840A TW201040840A (en) 2010-11-16
TWI459297B true TWI459297B (zh) 2014-11-01

Family

ID=42631868

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099105018A TWI459297B (zh) 2009-02-25 2010-02-22 具有對於多個虛擬伺服器間之共用資源配置之軟體控制之微處理器

Country Status (7)

Country Link
US (2) US8676976B2 (zh)
EP (1) EP2401677A2 (zh)
JP (1) JP5536807B2 (zh)
KR (1) KR101455899B1 (zh)
CN (1) CN102334103B (zh)
TW (1) TWI459297B (zh)
WO (1) WO2010097331A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027354B1 (en) * 2009-04-29 2011-09-27 Cisco Technology, Inc. Network consolidation for virtualized servers
WO2013001134A1 (en) * 2011-06-28 2013-01-03 Nokia Corporation Context extraction
US9191435B2 (en) * 2012-08-23 2015-11-17 TidalScale, Inc. Selective data migration or remapping of virtual processors to provide required data accessibility to processor cores
US9075789B2 (en) * 2012-12-11 2015-07-07 General Dynamics C4 Systems, Inc. Methods and apparatus for interleaving priorities of a plurality of virtual processors
US9515899B2 (en) * 2012-12-19 2016-12-06 Veritas Technologies Llc Providing optimized quality of service to prioritized virtual machines and applications based on quality of shared resources
US9396007B2 (en) * 2013-03-22 2016-07-19 Facebook, Inc. Cache management in a multi-threaded environment
US9692706B2 (en) 2013-04-15 2017-06-27 International Business Machines Corporation Virtual enhanced transmission selection (VETS) for lossless ethernet
US9223574B2 (en) * 2014-03-27 2015-12-29 International Business Machines Corporation Start virtual execution instruction for dispatching multiple threads in a computer
CN111666148A (zh) * 2014-04-30 2020-09-15 华为技术有限公司 计算机,控制设备和数据处理方法
WO2017209876A1 (en) 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Buffer manager
US10620992B2 (en) 2016-08-29 2020-04-14 TidalScale, Inc. Resource migration negotiation
US20180131633A1 (en) * 2016-11-08 2018-05-10 Alibaba Group Holding Limited Capacity management of cabinet-scale resource pools
US10705872B2 (en) 2016-12-08 2020-07-07 International Business Machines Corporation Predictive virtual server scheduling and optimization of dynamic consumable resources to achieve priority-based workload performance objectives
US10394604B2 (en) * 2017-03-15 2019-08-27 Samsung Electronics Co., Ltd. Method for using local BMC to allocate shared GPU resources inside NVMe over fabrics system
US11113101B2 (en) * 2017-06-05 2021-09-07 Marvell Asia Pte, Ltd. Method and apparatus for scheduling arbitration among a plurality of service requestors
US10579274B2 (en) 2017-06-27 2020-03-03 TidalScale, Inc. Hierarchical stalling strategies for handling stalling events in a virtualized environment
US10817347B2 (en) 2017-08-31 2020-10-27 TidalScale, Inc. Entanglement of pages and guest threads
JP7141905B2 (ja) * 2018-10-12 2022-09-26 株式会社日立産機システム コントロール装置及びコントロール方法
US10970132B2 (en) * 2019-03-19 2021-04-06 International Business Machines Corporation Deadlock resolution between distributed processes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW346574B (en) * 1997-05-09 1998-12-01 Ind Tech Res Inst Method and apparatus for selecting non-blocking multiple interrupt requests in a multi-processor system
EP1016957A2 (en) * 1994-04-04 2000-07-05 Hyundai Electronics America Method of managing resources shared by multiple processing units
US20020178282A1 (en) * 2001-01-30 2002-11-28 Nomadix, Inc. Methods and systems providing fair queuing and priority scheduling to enhance quality of service in a network
TW200710734A (en) * 2005-04-13 2007-03-16 Qualcomm Inc Techniques for setting events in a multi-threaded system
TW200802098A (en) * 2005-09-30 2008-01-01 Co Ware Inc Scheduling in a multicore architecture

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61167647A (ja) * 1985-01-19 1986-07-29 Sumitomo Chem Co Ltd 第一菊酸エステルのラセミ化方法
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6754206B1 (en) * 1997-12-04 2004-06-22 Alcatel Usa Sourcing, L.P. Distributed telecommunications switching system and method
US6233645B1 (en) * 1998-11-02 2001-05-15 Compaq Computer Corporation Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high
US7017002B2 (en) 2000-01-05 2006-03-21 Rambus, Inc. System featuring a master device, a buffer device and a plurality of integrated circuit memory devices
JP4018900B2 (ja) * 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
US8005979B2 (en) * 2002-10-28 2011-08-23 Oracle America, Inc. System and method for uniquely identifying processes and entities in clusters
US7394808B2 (en) * 2004-05-24 2008-07-01 Nortel Networks Limited Method and apparatus for implementing scheduling algorithms in a network element
US7356631B2 (en) * 2005-01-21 2008-04-08 Himax Technologies, Inc. Apparatus and method for scheduling requests to source device in a memory access system
US7249210B2 (en) 2005-03-01 2007-07-24 Qualcomm Incorporated Bus access arbitration scheme
US7779424B2 (en) * 2005-03-02 2010-08-17 Hewlett-Packard Development Company, L.P. System and method for attributing to a corresponding virtual machine CPU usage of an isolated driver domain in which a shared resource's device driver resides
US20060206891A1 (en) * 2005-03-10 2006-09-14 International Business Machines Corporation System and method of maintaining strict hardware affinity in a virtualized logical partitioned (LPAR) multiprocessor system while allowing one processor to donate excess processor cycles to other partitions when warranted
US7506090B2 (en) * 2006-06-14 2009-03-17 Honeywell International Inc. System and method for user-configurable resource arbitration in a process control system
JP5031538B2 (ja) 2007-06-21 2012-09-19 株式会社日立製作所 データ分配方法、データ分配プログラム、及び並列データベースシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1016957A2 (en) * 1994-04-04 2000-07-05 Hyundai Electronics America Method of managing resources shared by multiple processing units
TW346574B (en) * 1997-05-09 1998-12-01 Ind Tech Res Inst Method and apparatus for selecting non-blocking multiple interrupt requests in a multi-processor system
US20020178282A1 (en) * 2001-01-30 2002-11-28 Nomadix, Inc. Methods and systems providing fair queuing and priority scheduling to enhance quality of service in a network
TW200710734A (en) * 2005-04-13 2007-03-16 Qualcomm Inc Techniques for setting events in a multi-threaded system
TW200802098A (en) * 2005-09-30 2008-01-01 Co Ware Inc Scheduling in a multicore architecture

Also Published As

Publication number Publication date
TW201040840A (en) 2010-11-16
EP2401677A2 (en) 2012-01-04
KR101455899B1 (ko) 2014-11-03
US8676976B2 (en) 2014-03-18
CN102334103B (zh) 2014-05-21
US20100217868A1 (en) 2010-08-26
US8788672B2 (en) 2014-07-22
JP2012518825A (ja) 2012-08-16
KR20110118810A (ko) 2011-11-01
WO2010097331A3 (en) 2010-11-18
CN102334103A (zh) 2012-01-25
WO2010097331A2 (en) 2010-09-02
JP5536807B2 (ja) 2014-07-02
US20120271952A1 (en) 2012-10-25

Similar Documents

Publication Publication Date Title
TWI459297B (zh) 具有對於多個虛擬伺服器間之共用資源配置之軟體控制之微處理器
US11573900B2 (en) Proactive data prefetch with applied quality of service
US9436626B2 (en) Processor interrupt interface with interrupt partitioning and virtualization enhancements
US7962771B2 (en) Method, system, and apparatus for rerouting interrupts in a multi-core processor
US9710310B2 (en) Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines
US8819686B2 (en) Scheduling threads on different processor cores based on memory temperature
TWI537831B (zh) 多核心處理器、用於執行處理程序切換之方法、用於保全一記憶體區塊之方法、用於致能使用一多核心裝置之異動處理之設備、以及用於執行記憶體異動處理之方法
US9772879B2 (en) System and method for isolating I/O execution via compiler and OS support
CN108647046B (zh) 用于控制执行流程的设备和方法
US20160191420A1 (en) Mitigating traffic steering inefficiencies in distributed uncore fabric
US9442870B2 (en) Interrupt priority management using partition-based priority blocking processor registers
US20140181555A1 (en) Managing a power state of a processor
US20160239331A1 (en) Computer-readable recording medium storing execution information notification program, information processing apparatus, and information processing system
US9158713B1 (en) Packet processing with dynamic load balancing
US7398378B2 (en) Allocating lower priority interrupt for processing to slave processor via master processor currently processing higher priority interrupt through special interrupt among processors
US10073629B2 (en) Memory transaction prioritization
US9910789B2 (en) Electrical and optical memory access
US8135878B1 (en) Method and apparatus for improving throughput on a common bus
EP2526493B1 (en) Adaptively time-multiplexing memory references from multiple processor cores
US9052840B2 (en) Accessing additional memory space with multiple processors
US20230305720A1 (en) Reservation of memory in multiple tiers of memory
US20220058062A1 (en) System resource allocation for code execution
US20160188503A1 (en) Virtual legacy wire
Fan et al. QoS-pro: A QoS-enhanced Transaction Processing Framework for Shared SSDs
US20160098306A1 (en) Hardware queue automation for hardware engines

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees