TW505856B - High performance non-blocking parallel storage manager for parallel software executing on coordinates - Google Patents

High performance non-blocking parallel storage manager for parallel software executing on coordinates Download PDF

Info

Publication number
TW505856B
TW505856B TW090113625A TW90113625A TW505856B TW 505856 B TW505856 B TW 505856B TW 090113625 A TW090113625 A TW 090113625A TW 90113625 A TW90113625 A TW 90113625A TW 505856 B TW505856 B TW 505856B
Authority
TW
Taiwan
Prior art keywords
memory
stream
group
marked
program
Prior art date
Application number
TW090113625A
Other languages
English (en)
Inventor
Iii Harry J Beatty
Peter C Elmendorf
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
Application granted granted Critical
Publication of TW505856B publication Critical patent/TW505856B/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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
    • G06F9/5016Allocation 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 the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Description

505856 A7 「 _____B7 _____ 五、發明説明(1 ) 相關專利申請 在協調器上執行之平行軟體之高效能無阻塞平行儲存管 理器相關專利申請本專利申請係關於下列專利申請所描述 及宣告之内容:美國專利申請(流水號FIS9903 17US),名稱 爲 Parallel Software Processing System”,與美國專利申請( 流水號 FIS9903 19US),名稱爲,,Method Of Using A Distinct
Flow Of Computational Control As A Reusable Data Object" ,且前述二專利申請案皆讓與給本專利申請案之發明者, 並與本專利在同一日申請歸標。 發明背景 1. 發明領域 本發明係關於電腦處理,且尤其係關於平行電腦程式設 計或處理。 2. 相關技術説明 在使用分離,非平行處理之以前技術計算中,程式通常 共享資料與其他服務。此種計算之一範例展示於圖1,其中 分離之程序元憶體19a與19b包含用於整個程序皆可看見之 資料項目之總體變數記憶體20a,20b,用於資料結構之堆 積記憶體21a,21b,用於函式引數與局部資料項目之堆疊 記憶體23a,23b,與視需要而定可做爲堆積或 空間之閒置記憶體空間―,其中該等=憶:; 實體分離於不同之儲存記憶體,或邏輯分離於相同之儲存 記憶體。閒置記憶體空間之一部份可指定做爲可供程式A ’ 24a或程式B,24b使用之共用記憶體22c,其中該二程式 -4- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)—' ----- A7 --------B7 五、發明説明(2 ) 分別運作於分離之程序記憶體19a,191^每一程式八與8只 可存取共用區22^所指定之程序記憶體,但是無法存取該二 程式間之其他記憶體。運用圖i之系統之程式設計師,在限 制對於共用記憶體之資料結構之存取上,自系統只可獲得 相當少之協助。 因爲單一私式可同時執行該程式所管理之不同流或獨立 控制流程,所以平行處理提供許多改良。多重流可藉由平 行$式來執行,且該等流可藉由鬆散或緊密耦合之方式來 共享資訊。一平行處理配置之範例展示於圖2,其中具有一 共用總體圮憶體120與一共用堆積空間i 2丨之單一程序記憶 月足119包含夕個堆疊空間123a,123b,與操作多個流之單一 私式124 /、中母一权式流具有一堆疊。展示之程序記憶體 結構可操作任何數目之流i-N,且包含任何數目之對應堆疊 1-N,如圖所示。 諸流間足協調資料存取通常需要作業系統協助(具有相 關之損耗),例如信號與鎖定。但是,在典型之平行處理應 用中’使用系統服務,例如儲存管理,所導致之串列化, 與圮憶體存取之協調,通常大幅降低一平行演算法可達成 I效能優勢。當多於一流存取或請求一資料物件或其他系 統資源時,串列化發生。如果此種衝突發生,則只有一流 可存取且所有其他流皆受到拒絕而無法存取,直到第一流 使用系統資源芫畢爲止。例如,因爲當不同流試圖同時存 取相同之資料結構時,包含受到程式操縱之資訊之堆積空 .間容易遭受碰撞,所以圖2所示之結構很容易發生錯誤。當 -5· 本紙張尺度關中國S家標準(CNS)域化⑽χ 2·#) 五、發明説明(3 ) 這發生時,一或更多流必須等候直到另一程式流存取該資 料結構爲止。 在目前 < 實例中,平行軟體之記憶體管理也屬於複雜度 與低效率是王要缺點之領域。平行執行之好處可受到抵消 或甚至惡化至,當使用呼叫來配置或釋放記憶體時,循 序執行反而較快。這是由於目前之串列化技術,其中當二 或更多控制流程,亦即流,試圖取得或釋放記憶體區時, 必須使用該等技術來防止碰撞。這可大幅降低平行程式之 效能,迫使程式設計與建構之異常執行。該等扭曲損壞可 維蠖性,可延伸性,且是一錯誤來源。更糟的是,關聯於 該等程式之成本可使得開發者甚至不考慮其他可存活之平 行解決方案。 在平行程式設計中,如前所述,每一流皆獲得配置一要 執仃<特足工作單元,通常以平行方式,且當該工作完成 時’該等流就消失。產生一泥,終止_流,與管理一流需 要化費一成本。该成本具有機器循環元件與程式設計複雜 度元件。程式設計複雜度元件是軟體之建構與設計之一錯 疾源。在使用流之常見典範中,流與資料受到不同之處理 。存在一些控制流程(流),且存在一些資料。合成之二方 法產生一環境,其中傾向於對於所構思之解決方案之種類 造成限制,且在建構期間產生複_度與合成之易錯性。 由於以前技術之問題與缺陷,因此本發明之一目標是提 供一較不易發生錯誤之平行處理結構。 本發明之另一目標是提供一平行處理結構,且該平行處 -6- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505856 A7 B7 五、發明説明(4 ) 理結構在存取共用之系統服務,例如資料結構,方面較不 受到串列化限制。 本發明之另一目標是提供一平行處理結構,且該平行處 理結構在配置或釋放記憶體方面較不受到串列化限制。 本發明之另一目標是提供一平行處理結構,其中不同流 間之互動較少。 本發明之另一目標是提供一平行處理結構,且該平行處 理結構降低產生,管理與終止一流之成本與錯誤。 本發明之其他目標與優點之一部份是顯而易見的,且藉 由本説明也應可明瞭另一部份。 發明範圍 本發明達成熟悉本技術領域者應明瞭之前述與其他目標 及優點,且本發明係針對,在第一方面,一用於平行計算 之電腦記憶體結構,該電腦記憶體結構具有第一階層位準 ,且該位準包含一平面。該平面包含一流,其中該流表示 一程式結構所管理之一獨立控制流程,用於該資料結構之 一堆積部份,用於函式引數之一堆疊部份,與該程式結構 之任何部份皆可存取之局部變數及總體資料。該記憶體結 構進一步具有第二階層位準,且該位準包含一空間。該空 間包含該等平面之二或更多平面,以及包含該程式結構之 空間之平面。該空間進一步包含_程式結構在每一該等空 間之間可存取之共用資料。 最好,記憶體結構進一步具有第三階層位準,且該位準 包含該等空間之二或更多空間。該等空間包含相同或不同 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505856 A7 B7 五、發明説明(5 ) 之程式結構,與該程式結構在每一該等空間之間可存取之 共用資料。該程式結構包含一程式庫,且進一步包含每一 S間之一函式表’以及受到調整以與每一空間之函式庫互 換服務之函式表。 在一相關方面,本發明提供一用於平行計算之電腦程式 產品,該電腦程式產品包含一電腦可用型媒體,且該電腦 可用型媒體具有實現於該媒體之電腦可讀取型程式碼。該 電腦程式碼定義一電腦記憶體結構,且包含前述之第一及 第二階層位準,與最好也包含第三階層位準。 本發明之另一相關方面提供一平行處理方法,其中首先 提供一具有前述之第一與第二階層位準之電腦記憶體結構 。該方法接著包含運用該空間之第一平面之程式結構所管 理的第一流,及存取第一平面之資料與每一該等平面間之 共用資料,與運用該空間之第二平面之程式結構所管理的 第二流,及存取第二平面之資料與每一該等平面間之共用 資料。除了當受到程式結構之外顯請求時以外,第一與第 二流無需彼此互動。 該程式結構包含一程式庫,且進一步提供該空間之一函 式表,以及受到調整以與該空間之程式庫互換服務之函式 庫。該方法可包含運用第一與第二流來執行對於函式表之 函式呼叫,以存取每一該等平面-之共用資料與該空間之 共用資料。最好,進一步提供第三階層位準,且第三階層 位準包含該等空間之二或更多空間,以及包含相同或不同 之程式結構之空間,與該程式結構在每一該等空間之間可 -8 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505856 A7 B7 五、發明説明(6 ) 存取之共用資料。該方法接著包含藉由第一與第二流來存 取每一該等空間間之共用資料。 另一相關方面提供一程式儲存裝置,其中該程式儲存裝 置可供一機器讀取,且具體實現可供該機器執行之一指令 程式,以使用一電腦記憶體結構來執行用於平行計算之該 等前述方法步驟’其中該電腦記憶體結構具有前述之第一 ,第二,與最好第三階層位準。 在另一方面,本發明提供一用以在一平行處理計算系統 中配置記憶體之方法,其中首先提供一可供用於平行處理 之系統記憶體,與第一及第二流,且該二流之每一流表示 一程式結構所管理之一獨立控制流程,並執行不同之程式 工作。該方法包含使用第一流來向系統記憶體請求記憶體 ;配置超過請求之第一記憶體群組給第一流,且使得該記 憶體群組關聯於第二流;使用第二流來向系統記憶體請求 記憶體;配置超過請求之第二記憶體群組給第二流,且使 得該記憶體群組關聯於第一流;使用第一流來向第二流請 求更多之記憶體;且在未向系統記憶體提出請求之下,配 置第二流之第二記憶體群組之一部份給第一流。 最好,第一與第二記憶體群組之每一群組包含系統記憶 體爲第一與第二流所標示之記憶體部份。該方法接著包含 第二流釋放爲第一流所標示之第一記憶體群組之一部份, 且配置爲第二流所標示之第二記憶體群組之該部份給第一 流。爲第一流所標示之第二記憶體群組之該部份不可配置 給第一流,直到第二流釋放一預先決定最小數量之此種記 -9 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505856 A7 B7 五、發明説明(7 ) 憶體爲止,且爲第一流所標示之第二記憶體群組之該部份 不可配置給第一流,直到第一流向第二流提出進一步之記 憶體請求爲止。最好,第一與第二記憶體群組之每一群組 包含系統記憶體爲第一與第二流所標示之記憶體部份。該 方法接著包含第二流釋放爲第一流所標示之第二記憶體群 組之一邵份一段預先決定之時間,且如果第一流在該預先 決定之時間之後未請求記憶體,則爲第二流收回爲第一流 所標示之第二記憶體群組之該部份。 在一相關方面,本發明提供一程式儲存裝置,該程式儲 存裝置可供一機器讀取,且具體實現可供該機器執行之一 指令程式,以在一平行處理計算系統中執行用以配置記憶 體之前述方法步驟。 另一相關方面提供一用於一平行處理計算系統之記憶體 結構,其中該記憶體結構包含一可供用於平行處理之系統 記憶體;指定及可供用於第一流之第一記憶體群組,其中 第一流表示一程式結構所管理之一控制流程;與指定及可 供用於第二流之第二記憶體群組。第一流表示一程式結構 所管理之一控制流程,該程式結構無關於第一流,且第一 與第二記憶體群組之每一群組皆具有爲另一流所標示之記 憶體群組之部份。最好,第一與第二記憶體群組之每一群 組皆包含系統記憶體爲第一與第二碑所標示之記憶體部份。 另一相關方面提供一用於平行計算之電腦程式產品,該 電腦程式產品包含一電腦可用型媒體,該電腦可用型媒體 具有實現於該媒體之電腦可讀取型程式碼,且該電腦程式 -10- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505856 五、發明説明(8 碼定義前述之電腦記憶體結構。 本發明之另一方面提供—平扞虛 、私 十仃處理万法,其中首先提供 弟-二以表示-程式結構所管理之_獨立控制流程’第 -流具有二狀態’其中第—狀態處理該程式結構之工作, 且弟-狀態是未受到分派,而在等候需要處理之工作;盘 第二流,以表示不同於第-流之—程式結構所管理之一獨 互控制流程。該方法包含使用第二流來準備工作以供第一 流處理,肖置放第二流所準備之工作於一侍列,以供第一 流纽。如果當第二流所準備之工作放入仲列時,第_流 正在等候需要處理之工#,則該方法包含分痕第一流,且 使用第一流來處理佇列之工作。如果當第二流所準備之工 作放〇佇列時,第一流正在處理其他工作,則該方法包含 使用第一流來完成該等其他工作之處理,存取佇列之工作 ,且接著處理佇列之工作。 第一流可繼續置放其他工作於佇列,且當第一流處理完 畢先前工作時,第一流循序處理佇列之其他工作。最好, $二流標示置放於第一流佇列之工作成爲未完成。如果當 第二流所準備之工作置放於佇列時,第一流正在處理其他 工作,且*第一流一成佇列之工作之處理時,該方法包含 使用第一流來標示完成之工作成爲完成。來自第二流之隨 後工,必須等候,直到第一流之丰前工作標示成爲完成爲 止。第一流可再受到使用以處理其他工作,且在第一流完 成一所要數量之工作之後,程式結構可摧毀第一流。 一相關方面提供一程式儲存裝置,該程式儲存裝置可供 11 - 本纸俵尺度適用中國國家標準(CNS) A4規格(210X297公釐) ^>05856 五 、發明説明(9 ) 一機器讀取,且具體實現可供該機器執行之一指令程 以使用下列二流來執行用於平杆虛璁+ 4丄 曰7主’ ’ •、主- 十仃處理〈前述方法步驟:⑴ 罘一流,以表不一程式結構所管理之一 ,^ ^ 心獨乂控制 >瓦程,其 中弟一流具有二狀態,第一狀態處理該程式社 且第二狀態是未受到分派而在等候需要虛 , ’ 以表示不⑽第-流之_程式結構所管理的一獨 ^ 仕守1民而要處理之工作;與(2) 第二流 “ 士一一 —“ '、 &控制流程 册圖簡短説明 本發明之特點據信爲新奇,且本發明之元件特徵詳細陳 述於附加之中請專利範圍。該等圖形只是做爲示範,且未 依實際比例來描繪。但是,當參照附圖來閲讀下列詳細説 明時,應最易瞭解本發明本身,無論是組織與運作方法, 其中: 圖1是用於分離程式之一以前技術記憶體結構之示意圖。 圖2是用於平行程式之一以前技術記憶體結構之示意圖。 圖3是本發明之平行記憶體結構之第一階層位準的示意 圖,其中該第一階層位準稱爲一平面,且二或更多平面組 成一空間。 圖4是本發明之平行記憶體結構之第二階層位準的示意 圖’以描繪圖3所示之多個空間。 圖5是描繪圖3所示之空間之本冬或索引結構的示意圖, 以展tf對於一平面之預設總體資料與共用(平面)記憶體之 資料的存取。 圖6是連接每一總體變數之整數識別至一獨特識別之本 -12- !)0!)«!)() A7 ---—_____B7
五、發明説明~' B 文索引結構的示意圖。 一圖7是。多個空間之示意圖,其中每一空間具有多個平面與 共用私式,且孩等玄間藉由共用(空間)記憶體來連接。 圖8是連接共用(空間)總體資料物件之本文索引結構之 示意圖。 圖9疋系統記憶體配置給多個流本文之分離記憶體群組 之示意圖。 圖10是圖9之分離記憶體群組之示意圖,以展示爲其他流 所標示之未用記憶體區塊之收回。 圖11疋建構成爲抽象資料物件之該等流之示意流程圖, 其中工作配置給該等抽象資料物件。 *説明本發明之較佳實例時,本文將參考附圖之圖丨至1 i ,其中類似 < 參考號碼意謂本發明之類似特點。在該等圖 形中,本發明之特點不一定是按照實際比例來描繪。 平行軟體處理系統 爲克服在平行處理期間存取系統服務之串列化限制之問 題,本發明以高階語言語法來建立一程式設計方法,其中 藏程式没計方法自程式設計師之觀點内隱地去除該等顧慮 ,且導致平行應用之大幅改良。本發明提供必要之結構, 以自然使得程式設計師可獲得較高效能之解決方案。尤其 ,本發明提供,在不同方面,一協調系統,以自然分離每 一平行流之資料空間;一關聯該等流與資料空間之方法; 與用以描述及管理此分離之高階語言。融入進一步描述於
505856 A7 B7 五、發明説明(11 ) 下文之結構之本發明的系統可儲存於一傳統電腦程式,或 記憶體儲存裝置,例如半導體晶片,惟讀記憶體,或磁性 媒體,例如軟碟片或電腦硬碟機。 在本發明所產生之結構中,每一流皆具有其本身之資料 空間,亦即關聯於單一流之記憶體區,且該等記憶體區與 所有其他資料空間是分離的,除了外顯宣告成爲共用之資 料空間以外。使用本發明可自然藉由最少與定義良好之資 料空間互動來完成平行演算法之設計與建構,因而提供低 成本,高效能之平行性,且程式設計師無需是平行性管理 之專家。 本發明之平行結構提供不同之堆疊,每一流具有一堆疊 ,且提供下列外觀與功能:每一堆疊具有不同之分離總體 記憶體,堆積空間與閒置區。圖3描繪本發明之平行記憶體 結構之第一階層位準,在本文中稱爲一”平面”,且二或更 多平面組成一 ”空間”。記憶體細分成爲分離之平面225a, 225b。平面225a,22 5b具有不同之平面記憶體區219a,219b 。來自程式結構224之一流執行於每一平面之一堆疊,且多 個流1-N分別執行於多個堆疊1-N。雖然該等流同時執行於 平行計算系統,在任何給定之瞬間最多只有一流存取一平 面記憶體。平面記憶體2 19a,2 1 9b分別包含總體記憶體220a ,220b,堆積空間221a,22 lb與閑置空間222a,222b,且 平面記憶體2 19a、2 19b分別受到組織及提供給每一平面 225a,22 5b。每一平面接著包含該流,總體記憶體,堆積 記憶體與堆疊記憶體所定義之一本文。在任何特定時間只 -14- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 505856 A7 B7 五、發明説明(12 ) 有一流可使用一本文。一共用(空間)區222c也受到外顯宣 告,且是由分離之平面記憶體219a,2 19b來共享。因此, 自程式設計師之觀點來看,平面記憶體結構具有執行分離 程式之外觀與功能,如圖1所示,然而實際上其運作成爲平 行流,因爲共用(平面)記憶體222c之所有資料結構可供堆 疊223a,223b之每一流使用,且堆積221a,221b之選定資 料結構在不同平面也可供堆疊223a,223b之每一流使用。 一記憶體結構之多個平面之群組在本文中稱爲”空間π, 其中所有該等平面皆平行執行單一程式結構之不同流。一 組程式構成此種空間之單——致程式結構。空間230表示本 發明之平行處理系統之第二階層位準。多個空間230,230f ,23 0”描緣於圖4,其中每一空間包含一或更多平面記憶體 結構。每一空間包含一不同程式224,224’,224”,且該等 程式之執行無關於其他任何程式。以類似於共用(平面)記 憶體之方式,閒置記憶體可指定成爲不同空間之共用(空間 )。不同空間230,230’,230”間之指定共用(空間)記憶體是 指定成爲222d。該等多個空間表示本發明之第三階層位準。 未外顯配置成爲共用之總體或堆積記憶體物件是以特別 語言元件來表示。此種物件,雖然是藉由相同語言元件來 表示於所有平面,但是由每一平面之分離記憶體來儲存。 因此,每一流之語言元件自動受到實現。這使得程式設計 師無需執行用以管理與分離此種記憶體物件之繁重工作。 本發明之記憶體構造也提供一在平面與空間之間共享資訊 之有規律裝置,以使得程式設計師可免除提供此種規律之 -15- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 五、發明説明(13 負擔。 積,堆疊斤I’ 一指定艾間之每-平面包含本文(-流,并 L二資料)與相同之程式結構,其中後者使用相 R(可執仃程式碼。 。在不同空間之間… 使用相同之程式結構 細 日,各式結構可爲相同或不同。”本文丨丨在 ,以致—一索引〜構,且孩索扑結構達成總體變數之分離 ,障喊社^、現可輕易存取每—總體變數。使用本發明之記 此種本文,啓始_程==要《特殊本又’且藉由使用 教式,其中孩程式運作於該特殊本文以 ^用(平面)或共用(空間)記憶體以外。 广更月雀地說’本文索引結構連接每-總體變數之一效數 二1特識別,例如記憶體位址。例如,如圖6所:, 工以體,,、,且在平面2中存在分離 、 1 2祆示成爲G4(平面ι,本文J,A平面, 本,2)’ G“平面r本文平面2,本文0之總體資料2變 數是標示成爲位於共用(平面),位於空間以内。第— 之本又i’與第二平面之本文2,皆能夠使用一索引法來轉譯 其本身足總體變數之整數識別成爲該等總體變數之 別。如圖所示,共用(平面 件0 圖7描繪多個空間,每一空間具有多個平面與一共用。, 、’,且孩等空間是藉由共用(空間)記憶體來連接。空間=^ 平面i與平面2,且平面t與平面2皆使用程式〆空間2包=二 同义平面1與平面,且平面與平面使用不同 1 2 八2。共用 -16- 本紙張尺度適用中@s家標準(CNS)规购⑽297公爱) 505856 A7 B7 五、發明説明(14 ) (空間)記憶體可供空間1與空間2之每一空間使用。以類似於 圖6之方式.,圖8展示每一空間之本文如何使用不同之索引 識別來存取共用(空間)總體資料物件G6。例如,語言元件 可提供定義或語法,以致該等本文可存取共用(平面)或共 用(空間)之總體變數。共用(空間)記憶體可包含資訊,且該 資訊可爲本發明之記憶體結構之不同空間的不同程式所共 享。因此,資料可儲存於只可供一特殊平面存取之預設總 體資料記憶體,可供一空間之不同平面之本文存取的共用( 平面)記憶體,或可供不同空間之本文存取的共用(空間)記 憶體。如圖所示,共用(空間)之G6,G5,,G8„與G7,,,是相同 之物件。 一依照IEEE標準148 1-1 999來產生之可互換函式表最好 產生於本發明之記憶體結構,其中爲每一空間產生一此種 函式表。該等函式表描繪於下文之表1與2,其中爲用於一 特殊空間之選定函式名稱(FCN名稱)建立一函式指標(FCN 指標)。 表1 FCN名稱 FCN1 FCN2 FCN3 * FCN指標 * * * -17- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505856 A7 B7 五、發明説明(15 ) 表2 FCN指標 FCN名稱 * FCN4 * FCN5 * FCN6 一應用程式可載入一程式於每一空間。該應用與載入之 程式皆執行一函式表互換。函式表互換表示應用與載入於 一特殊空間之程式間之服務互換。所有函式呼叫皆具有一 本文引數,以在共用(平面)或共用(空間)記憶體中尋找請求 之資料。本文傳達索引結構所在之處。函式呼叫,藉由應 用或載入之程式,包含本文之識別以定址資料於一平面, 此位置視爲預設位置,或共用(平面)或共用(空間)記憶體位 置。 DCL(延遲計算器語言)是許多特殊應用積體電路(ASIC) 販售者用以描述他們之技術之語言。該等DCL庫是一應用 動態載入之可執行模組。一定義良好之標準同時獲得應用 販售者與ASIC販售者之遵循。DCL與此界面定義可用以根 據本發明來建立平行處理之系統。DCL系統(包含一執行期 間環境,一編譯程式,與其之編譯模組)建構一本文系統, 其中最多一流執行於每一本文。一本文係依照應用或該庫 之請求來受到建造。回應於一新本文請求,DCL執行期間 環境產生每一狀態變數之一分離拷貝。狀態變數包含藉由 ASSIGN敘述,表與模組結構結構所產生之變數。每一狀態 是以一狀態變數陣列來表示,其中每一本文具有其本身之 -18 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505856 A7 B7 五、發明説明(16 ) 狀態變數。對於每一新本文,系統執行該等啓始化敘述於 該本文,以致該等狀態變數預先設定成爲已知値。 DCL之基本運作要求目前之本文變數(標準結構)必須傳 送至所有敘述。本文變數提供控制流程與資料空間與執行 所在之平面之一完整描述。執行期間支援設施將透通地選 擇適當之記憶體物件,其中該等記憶體物件爲支援應用請 求與DCL程式之平行執行所必需。藉由使用DCL,總體變 數可藉由使用ASSIGN敘述來產生。這允許總體變數在編譯 期間藉由敘述類別(AS SIGN)來辨識,且總體變數之更新可 透過單一函式來集中。 本發明藉由本文來分離ASSIGN結果,例如一陣列之 AS SIGN變數結果,其中每一陣列元件關聯於一本文。此將 允許,在無串列化之下,ASSIGN變數値之平行讀取與寫入 。DCL之TABLEDEF敘述讀入及搜尋該等資訊表。本發明 藉由前述之本文系統來分離該等表,而此允許該等表,在 無串列化之下,以一眞正平行之方式來受到讀取,搜尋及 更新。 雖然DCL允許應用附加額外模組,稱爲子規則,至一已 存在之系統,但是本發明也分離附加至一空間之子規則與 附加至另一空間之子規則。這將允許應用維持受到載入之 各個庫之獨立觀點。本發明也提供一些構造,以依照庫開 發者之請求,允許相同之狀態變數可存在於多個本文;與 一些構造,以在該等點強迫進行申列化。本文一般假設狀 態變數是獨立的,除了受到庫開發者之外顯請求之處以外 -19- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 505856
〇因爲只有共用之必暴处愛I A 、、, 〜▲受點而要雙到評察,所以這大幅改良 平行演算法之開發之容易度。 在運作中,本發明藉由自然分離關聯於一流之所有活動 至本文來達成一優點。不同流運作於不同本文,且因此 彼此不進行互動,除了當外顯受到請求時以外。這去除常 見於平行處理之串列化限制,以致本發明可簡化構思過程 以及實際建構。 南效能無阻塞之平行儲存管理器 本發明進一步運用流本文來提供適用於平行環境之無阻 塞,高效率儲存管理。此儲存管理器維持每一本文之分離 可用圮憶體群組,且只配置該等群組之記憶體給討論之本 文。在大多數之時間執行不會受到阻塞之下,許多流(每一 本文具有一流’如前所述)可同時存取儲存管理器以取得或 釋放記憶體。雖然每一次當多於一流要求一記憶體區同時 受到配置或釋放時,以前技術就阻塞執行,但是本發明只 有在下列情形方阻塞執行:當多於一本文同時用盡其之記 憶體群組,且必須對於配置記憶體之系統服務提出一呼叫 時。本發明最好自系統取得一些,大記憶體區,且依照該 等流之需求來分割記憶體區。因爲只有當試圖取得該流之 少數’大記憶體區,且另一流也正在向系統取得其之大記 憶體區時,一流之阻塞方會發生,所以通常本發明之效能 遠超過傳統方法之效能。即使一流對於系統配置另一大記 憶體區之呼叫受到阻塞,只要該等流之關聯記憶體群組仍 具有位於他們之記憶體區,則本系統仍可服務其他流之記 -20- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505856 A7 ___ B7 五、發明説明(18 ) 憶體請求。在正常情況之下,平行應用可能只會遭受一執 行之部份阻塞,且即使如此,這將很少發生。 釋放一記憶體區之問題有二維度。如果一本文只釋放其 配置之記憶體區,則釋放運作可繼續,而無需阻塞需要該 區之流,或任何其他流。爲使當一本文釋放另一本文所配 置之1己憶體區時發生之串列化最小化,一,,延後釋放”表列 受到產生。當一本文釋放一其未配置之記憶體區時,本發 明置放此區於一”延後表列’’。每一本文具有一組延後表列 ,且每一組延後表列具有針對每一其他本文之一延後表列 。該記憶體區接著放入延後表列,以辨識釋放該區之本文 與其嘗試釋放至之另一本文,且在無阻塞之下執行繼續。 該等表列成長至他們超過一標準爲止,而該標準可由應用 開發者來設定。當超過該標準時,每一其他本文之延後表 列以一無阻塞方式轉移至現在擁有該延後表列之另一,接 收本文。每一記憶體區本身具有一標記,且該標記顯示那 一本文配置該區。一旦該轉移完成,則在無任何阻塞之下 ,該轉移本文在該接收本文之一已知點設定一旗標。 當一本文必須配置記憶體區時,但是在其向系統請求空 間之前’其查看是否其已收到來自其他本文之任何延後釋 放。如果答案是肯定的,則其收回該等記憶體區,且試圖 滿足來自他們之請求,而非呼叫系統服務。這可消除更多 之阻塞。 接收本文之延後阻塞之收回是以無阻塞之方式來完成, 且可爲非同步以避免阻塞。控制程式結構之佈局與運作之 -21 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 五、發明説明(19 順隸得、,在只需耗費遺失在處理期間加入之一些收回之 可把下,一非同步環境之收回將成功。該等遺失之 收回未受到喪失,而將在下一 < 仏Γ 收回循環中受到回復。 如圖9所示,運作於平行處理之第—流之本(依照一啓 始需求自系統堆積記憶體取得閒置記憶體31〇之〆部份 或群、、且其中包含充當該特殊本文之堆積之記憶體區塊 31〇a’ 31()b’ 310c,31〇d。任何數目之多個本文可取得 他們本身之分離記憶體群組,例如流Ν之本文Ν取得其本身 之記憶體群組320,其中包含記憶體區塊320a,N320b,320c 32〇d。在配置記憶體之前,群組3 10,320之每一區塊是 藉由一預先決定之本文辨識碼來預先標示。每一記憶體群 、、且310’ 320皆具有多於針對系統堆積3〇〇之啓始需求所需之 記憶體區塊。圖10更詳細展示未用之記憶體區塊之收回。 在第一種情形中,如果一特定本文釋放一其不需要之記 憶體區塊,且如果該記憶體區塊已預先辨識成爲配置給該 同本文’則其只是辨識成爲仍然可供該特定本文使用。 在第二種情形中,如果一特定本文釋放一其不需要之記憶 體區塊,且如果該記憶體區塊已預先辨識成爲是自另一不 同之本文受到配置,則該記憶體區塊受到收集於該特定本 文之相同記憶體群組,於一對應於該另一不同之本文之收 回表列。圖10描繪此種情形,其肀本文i之記憶體群組3 1〇 釋放無需之記憶體區塊310e-h。因爲該等記憶體區塊31〇e-h先前是藉由本文2之識別來標示,區塊31〇e-h維持在本文 之收回表列312a,而此對應於本文2。當收回表列312a之區 22- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) A7 B7 五、發明説明(2〇 ) 塊之大小及/或内容超過一應用專屬標準時,本文1設定開關 3 14自3 141?至3 14a,以顯示本文可收回收回表列3 12a之記憶 體。本文1將設定開關313成爲313b。所以標示成爲屬於: 文2之後續閒置記憶體區塊置放於收回表列3 12b,直到本文2 收回收回表列3 12a之記憶體爲止。當本文2用完堆積記憶體 3 20時,本文2不是向系統記憶體尋求可供使用之記憶體, 而是檢查是否一收回表列已可供使用,且找出可供使用之 記憶體區塊31〇e-h,其中本文2接著釋放該等記憶體區塊, 及包含該等記憶體區塊於其本身之堆積記憶體群組32〇。本 又2接著設定開關314成爲314b,以顯示本文2已處理該收回 表列且現在可以處理另一收回表列。同樣地,當本文1需要 之圯憶體多於其本身之記憶體群組之可供使用記憶體時, 本文i自其他本文,例如本文2,所產生之收回表列尋找記憶 體,足址可供使用之記憶體320e-h,且釋放該記憶體,並 包含該記憶體於記憶體群組310,而皆未向主系統記憶體尋 求記憶體。當收回表列3 12b超過一應用專屬標準時,一類 似運作發生,其中本文定開關314自3141)至314〇,以顯 示本文2可收回收回表列312b之記憶體,且本文1將設定開關 3 13成爲3 1 3 a,以致標示成爲屬於本文2之後續間置記憶體 區塊置放於收回表列3 12a,直到本文2收回收回表列3 12b之 心憶體爲止。當本文2收回收回表列3 12 b之記憶體時,本文 叹足開關314成爲314b’以顯示本文2已處理該收回表列且 現在可以處理另一收回表列。本發明允許每一本文對可具 有任意數目之收回表列。 -23- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) A7 B7 五 發明説明(21 ) ~--- 两最好,來自一本文且標示成爲另一本文之可供使用記憶 體區塊未實際受到釋放及受到該另一本文之收回,直到該 另一本文尋求額外之記憶體區塊爲止。如果在一預先決定 〈時間週期之後,#另一本文未收回該等記憶體區塊,則 該本文可收回該等記憶體區塊以供使用,且同時仍然保持 落另一本文之識別於該等區塊之上。所有動作皆在任一本 文向主系統記憶體尋求記憶體之前發生。 夕本發明之此方面之測試已顯示,平行處理記憶體存取最 多較傳統以前技術之方法快20.7倍。 使用不同之計算控制流程來做爲可重複使用之抽象資料物 件 不同於以前技術以不同方式來處理本文與資料,本發明 建構一在平行環境中使用本文之新典範。本發明基本上產 生一本文且補獲該本文,連接該本文至一資料物件,且, 自私式設計師之觀點來看,該資料物件是抽象的。這使得 軟體可將一流(或控制流程)視爲一資料物件。這具有一此 優點。一優點是流只受到產生一次,且可依需要而定再受 到使用。這免除一些常見方式所導致之流產生與摧毁成本 。另一優點是流是資料物件,因而消除控制與資料間之常 見二分法,且給與程式設計師更大之思考空間以構思問題 之解決方案。另一優點是,因爲疼是資料物件,軟體開發 者可執行一些以前不可能之運作。該等運作包含, 二 、 4、限 於’附著流於其他資料物件(以供稍後用於執行),以參數 來傳送流(控制流程)等。 -24- 本紙張尺度適用中g a家標ifL(CNS) Α4規格(21GX 297公复)------- 505856 A7 B7 五、發明説明(22 ) 本發明之此方面建構一抽象資料物件,且該資料物件具 有一流來服務他。該資料物件可四處流傳及包含於一程式 之資料結構,如同任何傳統之資料物件。當有需要時,軟 體配置特定工作給該資料物件,且服務流接著甦醒及執行 該工作。在執行該工作之後,該流再度等候其他工作。該 工作可由應用之任何區段在任何想要之時間來配置。該流 不會受到摧毀,直到應用程式決定如此做爲止。 此種方式大幅簡化一軟體之產生,其中該軟體需要藉由 使用諸流來調整平行運作。藉由使得流抽象化,繁重細節 可自程式设计師之工作範圍移除。藉由封裝一等候流成爲 一資料物件,因爲控制流程與資料間之二分法獲得連接, 所以程式設計師具有更高之自由度與更大範圍之解決方案。 圖Π是建構成爲可獲得配置工作之抽象資料物件之諸流 之示意流程圖。第一流是指定成爲一資料物件(f,瓶,,),該資 料物件通常未受到分派且不可用以執行程式結構指定給他 之工作。此種工作可爲任何工作單元,且該等工作單元通 常可由諸流以平行處理來執行,例如受到使用之函式,收 集參數,關於置放結果於何處之指令等。此,,瓶,,關聯於單 一本又,且只可由其他本文來致動以執行其之工作。在本 發明中,最好每一瓶皆無法由其本身之本文來致動。該瓶 具有二狀態狀態,以處理程式結構之工作;與第二 狀,,未受到分派而在等候需要處理之工作,並處^中止 狀態,但未消耗執行時間。該瓶具有一關聯之佇列⑼,且 -或更多其他本文可置放請求之工作於該仵列。在運作期 -25 -
505856 A7 ___B7 五、發明説明(23~^ 間,該瓶檢查用於工作請求之佇列,且如果有工作在佇列 中等候,則該瓶鎖定該佇列,移除一工作單元,釋放該佇 列,且執行請求之工作。當工作單元之請求工作完成時, 其標示該結果成爲完成,JL再度檢查工㈣列。該瓶依序 處理等候之工作,且基本上只要㈣中有工作在等候執行 ,則以-無盡迴圈來運作。如果㈣是空的,則該瓶進入 一死結,未獲分派之狀態,以等候某一其他本文置放工作 於佇列,且接著使得該瓶受到分派,並再度檢查工作佇列。 第一流在圖11中是辨識成爲”發動者”,以表示程式結構 所管理之一獨立控制流程,且該控制流程不同於第一或 ”瓶”流。發動者是用以準備工作來供該,,瓶,,處理。發動者 置放工作於佇列以供第一 ’’瓶”處理,藉由鎖定工作佇列, 置放工作單元於工作佇列,且接著釋放佇列。如果該”瓶,, 受到中止,則發動者使得該瓶受到分派。一發動者可繼續 增加額外工作至瓶佇列。當置放工作於瓶佇列時,其標示 該工作成爲未完成。在假設每一其他本文皆可存取該結果 結構之下,任何其他本文(除了瓶本文以外)皆可檢查是否 一特定結果已完成。 因此,第一流可依所需受到程式結構之再使用,而非在 其完成單一工作之後就受到摧毁。只有在第一流完成一所 要數量之工作之後,程式結構才輝毀第一流。 本文所述之平行軟體系統可產生及儲存於一機器,最好 是位於一電腦可用型媒體之一傳統電腦,使用傳統之電腦 可讀取型程式碼,或位於傳統之程式儲存裝置,例如半導 -26- 本紙張尺度適用中國國家揲準(CNS) A4規格(210X 297公釐) 505856 A7 B7 五、發明説明(24 ) 體晶片,惟讀記憶體,光學讀取媒體,例如CD-ROM或 DVD-ROM,或磁性媒體,例如軟碟片或電腦硬碟機。 因此,本發明提供一較以前技術不易發生錯誤之平行處 理結構。本發明之平行處理結構在存取共用之系統服務, 例如資料結構,上較不易遭受串列化限制。其在配置或釋 放記憶體上也較不易遭受串列化限制。另外,不同流間之 互動較少。本發明提供一在產生,管理及終止一流方面可 降低成本與錯誤之平行處理結構。軟體可進一步將每一流 視爲一資料結構。 雖然本發明已參照一特定較佳實例來明確説明,很明顯 地,藉由前述説明,熟悉本技術領域者應可提出許多替代 方案,修改與變型。因此本文構思,附加之申請專利範圍 應包含屬於本發明之眞正範疇與精神之任何此種替代方案 ,修改與變型。 -27- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)

Claims (1)

  1. 505856 A8 B8 C8 D8 六、申請專利範圍 1. 一種在一平行處理計算系統中配置記憶體之方法,包含: 提供一可供用於平行處理之系統記憶體; 提供第一與第二流,該二流之每一流表示一程式結構 所管理之一獨立控制流程,及執行不同之程式工作; 使用第一流來向系統記憶體請求記憶體; 配置超過請求之第一記憶體群組給第一流,且使得該 記憶體群組關聯於第二流; 使用第二流來向系統記憶體請求記憶體; 配置超過請求之第二記憶體群組給第二流,且使得該 記憶體群組關聯於第一流; 使用第一流來向第二流請求額外之記憶體;及 在不向系統記憶體提出請求之下,配置第二流之第二 記憶體群組之一部份給第一流。 (請先閱讀背面Μ注意事項存填寫本頁) f 經濟部智慧財產局員工消費合作社印製 2·如申請專利範園第1項之方法,其中第一與第二記 組之每一記憶體群組包含系統記憶體爲第一與第 標示之記憶體部份,且其中包含第二流釋放爲第 標示之第一記憶體群組之一部份,及配置爲第二 不之弟—$己憶體群組之該部份給第一流。 3·如申請專利範圍第2項之方法,其中爲第一流所標 二記憶體群組之該部份未配置給第一流,直到第 放一預先決定之最小數量之此種記憶體爲止。 4·如申請專利範圍第2項之方法,其中爲第一流所標 二記憶體群組之該部份未配置給第一流,直到第 第二流提出額外記憶體之請求爲止。 憶體群 二流所 一流所 流所標 示之第 二流釋 示之第 *^流向 -----I I I I I I I I I I----- -28- 505856 申請專利範圍 5.如申請專利範圍第丨項之方法,其中第一與第二記憶體群 組(每一記憶體群組包含系統記憶體爲第一與第二流所 標示之記憶體部份,且其中包含第二流釋放爲第一流所 標不足第二記憶體群組之—部份一段預先決定之時間, 且如果在孩段預先決定之時間之後第一流未請求記憶體 ,則爲第二流收回爲第一流所標示之第二記憶體群組之 該部份。 6· —種可供一機器讀取之程式儲存裝置,以具體實現一可 供m機器執行之指令程式,來執行下列方法步驟,以在 一平行處理計算系統中配置記憶體,該平行處理計算系 統具有一可供用於平行處理之系統記憶體,與第一及第 二流,其中該二流之每一流表示一程式結構所管理之一 獨亙控制流程,及執行不同之程式工作,該方法步驟包 含: / 使用第一流來向系統記憶體請求記憶體; 且使得該 配置超過請求之第一記憶體群組給第一流 記憶體群組關聯於第二流; 使用第二流來向系統記憶體請求記憶體; 經 濟 部 智 慧 財 產 局 員 工 消 費 合 社 印 製 且使得該 配置超過請求之第二記憶體群組給第二流 記憶體群組關聯於第一流; 及 使用弟* 流來向弟二流請求額外之記憶體 在不向系統記憶體提出請求之下,配置第二流之第 記憶體群組之一部份給第一流。 7·如申請專利範圍第6項之程式儲存裝置,其中第一與第 _" 29 ~ 本紙張尺度適用中國國家標準(CMS)A4規格(210 x 297公i) 505856 A8 B8 C8 D8 六、申請專利範圍 記憶體群組之每一記憶體群組包含系統記憶體爲第一與 第二流所標示之記憶體部份,且該方法包含第二流釋放 爲第一流所標示之第一記憶體群組之一部份,及配置爲 第二流所標示之第二記憶體群組之該部份給第一流。 8. 如申請專利範圍第7項之程式儲存裝置,其中爲第一流所 標示之第二記憶體群組之該部份未配置給第一流,直到 第二流釋放一預先決定之最小數量之此種記憶體爲止。 9. 如申請專利範圍第7項之程式儲存裝置,其中爲第一流所 標示之第二記憶體群組之該部份未配置給第一流,直到 第一流向第二流提出額外記憶體之請求爲止。 10. 如申請專利範圍第6項之程式儲存裝置,其中第一與第二 記憶體群組之每一記憶體群組包含系統記憶體爲第一與 第二流所標示之記憶體部份,且其中包含第二流釋放爲 第一流所標示之第二記憶體群組之一部份一段預先決定 之時.間,且如果在該段預先決定之時間之後第一流未請 求記憶體,則爲第二流收回爲第一流所標示之第二記憶 體群組之該部份。 11. 一種用於一平行處理計算系統之記憶體結構,包含: 一可供用於平行處理之系統記憶體; 指定給及可供第一流使用之第一記憶體群組,其中第 一流表示一程式結構所管理之一控制流程;及 指定給及可供第二流使用之第二記憶體群組,其中第 二流表示一程式結構所管理之一控制流程,且第二流與 第一流無關, __ 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) •!t (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 ^ 0 I I I I I I---------I I 經濟部智慧財產局員工消費合作社印製 505856 A8 B8 C8 D8 t、申請專利範圍 第一與第二記憶體群組之每一記憶體群組皆具有爲另 一流所標示之記憶體群組之部份。 12. 如申請專利範圍第1 1項之記憶體結構,其中第一與第二 記憶體群組之每一記憶體群組皆包含,系統記憶體爲第 一與第二流所標示之記憶體部份。 13. —種用於平行計算之電腦程式產品,該電腦程式產品包 含一電腦可用型媒體,該電腦可用型媒體具有實現於該 媒體之電腦可讀取型程式碼,該電腦程式碼定義電腦記 憶體結構,該電腦記憶體結構包含: 指定給及可供第一流使用之第一記憶體群組,其中第 一流表示一程式結構所管理之一控制流程;及 指定給及可供第二流使用之第二記憶體群組,其中第 二流表示一程式結構所管理之一控制流程,且第二流與 第一流無關, 第一與第二記憶體群組之每一記憶體群組皆具有爲另 一流所標示之記憶體群組之部份。 14. 如申請專利範圍第12項之電腦程式產品,其中第一與第 二記憶體群組之每一記憶體群組皆包含,系統記憶體爲 第一與第二流所標示之記憶體部份。 __-31 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) _ *-1 n ϋ ϋ ϋ n ϋ 一:0、* ϋ I ·ϋ I ϋ ϋ I 線 1«1 ——i — κ.----------------
TW090113625A 2000-06-20 2001-06-05 High performance non-blocking parallel storage manager for parallel software executing on coordinates TW505856B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/597,525 US6507903B1 (en) 2000-06-20 2000-06-20 High performance non-blocking parallel storage manager for parallel software executing on coordinates

Publications (1)

Publication Number Publication Date
TW505856B true TW505856B (en) 2002-10-11

Family

ID=24391891

Family Applications (1)

Application Number Title Priority Date Filing Date
TW090113625A TW505856B (en) 2000-06-20 2001-06-05 High performance non-blocking parallel storage manager for parallel software executing on coordinates

Country Status (5)

Country Link
US (1) US6507903B1 (zh)
JP (1) JP3745652B2 (zh)
KR (1) KR100488846B1 (zh)
CN (1) CN1219258C (zh)
TW (1) TW505856B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104828B2 (en) 2011-01-25 2015-08-11 Micron Technology, Inc. State grouping for element utilization
US9146714B2 (en) 2011-01-25 2015-09-29 Micron Technology, Inc. Method and apparatus for compiling regular expressions
US9298437B2 (en) 2011-01-25 2016-03-29 Micron Technology, Inc. Unrolling quantifications to control in-degree and/or out-degree of automaton
US9471290B2 (en) 2011-01-25 2016-10-18 Micron Technology, Inc. Utilizing special purpose elements to implement a FSM
US9785847B2 (en) 2010-06-10 2017-10-10 Micron Technology, Inc. Analyzing data using a hierarchical structure

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629227B1 (en) * 2000-05-04 2003-09-30 Scientific-Atlanta, Inc. System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
US7140018B1 (en) * 2000-06-20 2006-11-21 International Business Machines Corporation Method of using a distinct flow of computational control as a reusable abstract data object
US6848033B2 (en) * 2001-06-07 2005-01-25 Hewlett-Packard Development Company, L.P. Method of memory management in a multi-threaded environment and program storage device
JP2003196553A (ja) * 2001-12-27 2003-07-11 Seiko Epson Corp 会員管理サーバシステム、そのプログラム及び会員管理方法
KR100591755B1 (ko) * 2003-07-22 2006-06-22 삼성전자주식회사 복수의 스레드를 동시에 처리하는 장치 및 방법
US7784057B2 (en) * 2003-08-27 2010-08-24 Intel Corporation Single-stack model for high performance parallelism
US7447829B2 (en) 2003-10-15 2008-11-04 International Business Machines Corporation Heap and stack layout for multithreaded processes in a processing system
US7289998B2 (en) * 2004-06-24 2007-10-30 International Business Machines Corporation Method to update a data structure disposed in an embedded device
KR100709400B1 (ko) * 2005-03-25 2007-04-18 대림통상 주식회사 벽걸이형 위생 소변기
US7823158B2 (en) * 2005-08-18 2010-10-26 International Business Machines Corporation Adaptive scheduling and management of work processing in a target context in resource contention
US8024505B2 (en) * 2006-05-11 2011-09-20 Oracle International Corporation System and method for optimistic creation of thread local objects in a virtual machine environment
US7685409B2 (en) * 2007-02-21 2010-03-23 Qualcomm Incorporated On-demand multi-thread multimedia processor
JP2008299610A (ja) * 2007-05-31 2008-12-11 Toshiba Corp マルチプロセッサ
CN102063330B (zh) * 2011-01-05 2013-04-24 北京航空航天大学 一种大规模并行程序性能数据采集方法
US20140157279A1 (en) * 2011-07-29 2014-06-05 Nec Corporation Information processing apparatus, information processing system, information processing method and control program storage medium
US9760372B2 (en) 2011-09-01 2017-09-12 Hewlett Packard Enterprise Development Lp Parallel processing in plural processors with result register each performing associative operation on respective column data
US9292359B2 (en) * 2012-07-27 2016-03-22 Intel Corporation System and method for memory management
BR112015018496A2 (pt) * 2013-03-14 2017-07-18 Intel Corp operação de módulos de software em paralelo
US20150227586A1 (en) * 2014-02-07 2015-08-13 Futurewei Technologies, Inc. Methods and Systems for Dynamically Allocating Resources and Tasks Among Database Work Agents in an SMP Environment
CN110121704B (zh) * 2016-12-30 2021-09-21 华为技术有限公司 一种用于存储过程的执行方法、设备以及系统
CN110888822B (zh) * 2019-12-03 2022-09-16 北京小米智能科技有限公司 内存处理方法、装置及存储介质
CN112765917B (zh) * 2021-01-08 2022-07-08 华东师范大学 基于内存回收方案的非阻塞算法的形式化验证方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353418A (en) 1989-05-26 1994-10-04 Massachusetts Institute Of Technology System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread
US5129080A (en) 1990-10-17 1992-07-07 International Business Machines Corporation Method and system increasing the operational availability of a system of computer programs operating in a distributed system of computers
US5386525A (en) 1991-10-29 1995-01-31 Pacific Bell System for providing application programs with direct addressability into a shared dataspace
JP2570969B2 (ja) * 1993-07-05 1997-01-16 日本電気株式会社 メモリ管理システム及び方法
US5566321A (en) * 1993-12-13 1996-10-15 Cray Research, Inc. Method of managing distributed memory within a massively parallel processing system
US5928323A (en) 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US6058460A (en) * 1996-06-28 2000-05-02 Sun Microsystems, Inc. Memory allocation in a multithreaded environment
US5937194A (en) 1997-03-12 1999-08-10 International Business Machines Corporation Method of, system for, and article of manufacture for providing a generic reduction object for data parallelism
US6067604A (en) 1997-08-11 2000-05-23 Compaq Computer Corporation Space-time memory
GB9717715D0 (en) 1997-08-22 1997-10-29 Philips Electronics Nv Data processor with localised memory reclamation
JP3794119B2 (ja) 1997-08-29 2006-07-05 ソニー株式会社 データ処理方法、記録媒体及びデータ処理装置
EP0909094A1 (en) 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor
GB2334117A (en) 1998-02-04 1999-08-11 Ibm Performing semantic concurrency control in dispatching server computer client requests
US6209066B1 (en) * 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
WO2000005652A1 (en) * 1998-07-24 2000-02-03 Sun Microsystems, Inc. Method and apparatus for achieving deterministic memory allocation response in a computer system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785847B2 (en) 2010-06-10 2017-10-10 Micron Technology, Inc. Analyzing data using a hierarchical structure
US11488378B2 (en) 2010-06-10 2022-11-01 Micron Technology, Inc. Analyzing data using a hierarchical structure
US9104828B2 (en) 2011-01-25 2015-08-11 Micron Technology, Inc. State grouping for element utilization
US9146714B2 (en) 2011-01-25 2015-09-29 Micron Technology, Inc. Method and apparatus for compiling regular expressions
US9298437B2 (en) 2011-01-25 2016-03-29 Micron Technology, Inc. Unrolling quantifications to control in-degree and/or out-degree of automaton
US9471290B2 (en) 2011-01-25 2016-10-18 Micron Technology, Inc. Utilizing special purpose elements to implement a FSM
US9792097B2 (en) 2011-01-25 2017-10-17 Micron Technology, Inc. Method and apparatus for compiling regular expressions
US9916145B2 (en) 2011-01-25 2018-03-13 Micron Technology, Inc. Utilizing special purpose elements to implement a FSM
US10089086B2 (en) 2011-01-25 2018-10-02 Micron Technologies, Inc. Method and apparatus for compiling regular expressions

Also Published As

Publication number Publication date
KR20020000108A (ko) 2002-01-04
CN1330321A (zh) 2002-01-09
US6507903B1 (en) 2003-01-14
JP2002063040A (ja) 2002-02-28
KR100488846B1 (ko) 2005-05-11
CN1219258C (zh) 2005-09-14
JP3745652B2 (ja) 2006-02-15

Similar Documents

Publication Publication Date Title
TW505856B (en) High performance non-blocking parallel storage manager for parallel software executing on coordinates
TW505855B (en) Parallel software processing system
Organick Computer system organization: the B5700/B6700 series
TW505854B (en) Method of using a distinct flow of computational control as a reusable abstract data object
US6052739A (en) Method and apparatus for object-oriented interrupt system
CN101702134B (zh) 无操作系统干预情况下调度os隔离定序器上的线程的机制
JP2848262B2 (ja) ソフトウエア・アーキテクチャを用いた高度並列コンピュータ・システムの制御方式
CN108351837A (zh) 虚拟地址支持的虚拟机中的直接映射的文件
JPH01188965A (ja) データ処理方法
US20070044104A1 (en) Adaptive scheduling and management of work processing in a target context in resource contention
JPS616741A (ja) 階層型多重計算機システム
Bétourné et al. Process management and resource sharing in the multiaccess system in ESOPE
Barton-Davis et al. Adding Scheduler Activations to Mach 3.0.
Végh et al. The von Neumann computer model on the mirror of new technologies
Panda Operating System
Jagannathan A technique for the architectural implementation of software subsystems
Place et al. The system data structure contention problem and a novel software solution for shared memory, floating control parallel systems
Shaw Gyve, a programming language for protection and control in a concurrent processing environment.
Chen SCOPL: a structured concurrent programming language
George Solution of sparse systems of equations on multiprocessor architectures
Braun et al. Karlsruhe Reports in Informatics 2014, 8
JPH02178747A (ja) 仮想記憶計算システムのメモリ管理方式
NAIK Operating Systems
Leshem Description of operating systems using very-high-level diction (programming languages)
Baba et al. FUJITSU LIMITED

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees