TW505855B - Parallel software processing system - Google Patents

Parallel software processing system Download PDF

Info

Publication number
TW505855B
TW505855B TW090113624A TW90113624A TW505855B TW 505855 B TW505855 B TW 505855B TW 090113624 A TW090113624 A TW 090113624A TW 90113624 A TW90113624 A TW 90113624A TW 505855 B TW505855 B TW 505855B
Authority
TW
Taiwan
Prior art keywords
space
program
level
data
planes
Prior art date
Application number
TW090113624A
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 TW505855B publication Critical patent/TW505855B/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

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

505855 A7 ______B7 五、發明説明(1 ) 相關專利申請 本專利申請係關於下列專利申請所描述及宣告之内容: 美國專利申請(流水號FIS9903 18US),名稱爲,’High Performance Nonblocking Parallel Storage Manager For Parallel Software”,與美國專利申請(流水號 FIS9903 19US) ,名稱爲"Method Of Using A Distinct Flow Of
Computational Control As A Reusable Data Object,,,且前述 二專利申請案皆讓與給本專利申請案之發明者,並與本專 利在同一日申請。 發明背景 1·發明領域 本發明係關於電腦處理,且尤其係關於平行電腦程式設 計或處理。 2·相關技術説明 在使用分離,非平行處理之以前技術計算中,程式通常 共牟資料與其他服務。此種斗算之一範例展示於圖1,其中 分離之程序記憶體1 9a與];9b包含用於整個程序皆可看見之 資料項目之總體變數i己憶體2 0 a,2 0 b,用於資料結構之堆 積g己憶體2 1 a ’ 2 1 b ’用於函式引數與局部資料項目之堆疊 記憶體23a ’ 23b ’與視需要而定可做爲堆積或堆疊記憶體 2間之閒置記憶體空間22a,22b,,其中該等程序記憶體可 實體分離於不同之儲存記憶體,或邏輯分離於相同之儲存 έ己憶體。閒置記憶體空間之一郅份可指定做爲可供程式a ,24a或程式B,24b使用之共用記憶體22c,其中該二程式 -4- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 50585^ 五、發明説明(2 :別運作於分離之程序記憶體。每一程式A與b只 :存取共用區22^所指定之程序記憶體,但是無法存取該二 ί式間足其他元憶體。運用圖1之系統之程式設計師,在限 伟i對於共用记憶體之資料結構之存取上,自系統只可獲得 相當少之協助。 因爲單秋式可同時執行該程式所管理之不同流或獨立 控制流程,所以平行處理提供許多改良。多重流可藉由平 =來執行,且該等流可藉由鬆散或緊密耦合之方式來 /、子^訊。一平行處理配置之範例展示於圖2,其中具有一 共用總體記憶體12〇與—共用堆積空間121之單—料記情 體119包含多個堆疊空間123a,咖,與操作多個流之單一 :士: m *中每一程式流具有一堆疊。展示之程序記憶體 、口可知作任何數目之流bN’且包含任何數目之對應堆叠 1-N,如圖所示。 諸流間之協調資料存取通常需要作業系統協助(具有相 關(損耗),例如信號與鎖但是,在典型之平行處理應 用中’使用系統服務,何如儲存管理,所導致之串列化: 與記憶體存取之協調,通常大幅降低一平行演算法 心效能優勢。當多^_流存取或請求—資 統資源時’串列化發生。如果此種衝突發生,則 可存取且所有其他流皆受到拒絕哼無法存取,直 使:系統資源完畢爲止。例如,因爲當不同流試圖同二 取相同之資科結構時,包含受到程式操縱之資 間容易遭受碰撞,所以圖2所示之結構很容易發生錯誤:; -5- i張尺度適财s S家鮮(ds) A4規格(⑽〉公爱〉 505855 A7 __ —___ B7 五、發明説明(3 ) 這發生時,一或更多流必須等候直到另一程式流存取該資 料結構爲止。 在目前之實例中,平行軟體之記憶體管理也屬於複雜度 與低效率是主要缺點之領域。平行執行之好處可受到抵消 ’或甚至惡化至’當使用呼叫來配置或釋放記憶體時,循 序執行反而較快。這是由於目前之串列化技術,其中當二 或更多控制流程,亦即流,試圖取撂或釋访記憶體區時, 必眉使用該等技術來防止碰撞。這可大幅降低平行程式之 放把,追使私式没計與建構之異常執行。該等扭曲損壞可 、,隹漢性,可延伸性,且是一錯誤來源。更糟的是,關聯於 該等程式之成本可使得開發者甚至不考慮其他可存活之平 行解決方案。 在平行程式設計中,如前所述,每一流皆獲得配置一要 執仃心特足工作單元,通當以平扞方式,且當該工作完成 時’該等流就消失。產生一流,終止一流,與管理一流需 要花費一成本。該成本具有4器循環元件與程式設計複雜 度元件。程式設計複雜度元件是軟體之建構與設計之一錯 誤源。在使用流之常見典範中,流與資料受到不同之處理 。存在一些控制流程(流),且存在一些資料。合成之二方 法產生一環境,其中傾向於對於所構思之解決方案之種類 造成限制,且在建構期間產生複_度與合成之易錯性。 由於以前技術之問題與缺陷,因此本發明之一目標是提 供一較不易發生錯誤之平行處理結構。 本發明之另一目標是提供一平行處理結構,且該平行處 -6- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505855 A7 B7 五、發明説明(4 ) 理結構在存取共用之系統服務,例如資料結構,方面較不 受到串列化限制。 本發明之另一目標是提供一平行處理結構,且該平行處 理結構在配置或釋放記憶體方面較不受到串列化限制。 本發明之另一目標是提供一平行處理結構,其中不同流 間之互動較少。 本發明之另一目標是提供一平行處理結構,且該平行處 理結構降低產生,管理與終止一流之成本與錯誤。 本發明之其他目標與優點之一邵份是顯而易見的,且藉 由本説明也應可明瞭另一部份。 發明範圍 本發明達成熟悉本技術領域者應明瞭之前述與其他目標 及優點,且本發明係針對,在第一方面,一用於平行計算 之電腦記憶體結構,該電腦記憶體結構具有第一階層位準 ,且該位準包含一平面。該平面包含一流,其中該流表示 一程式結構所管理之一獨立/控制流程,用於該資料結構之 一堆積部份,用於函式?f數之一堆疊部份,與該程式結構 之任何部份皆可存取之局部變數及總體資料。該記憶體結 構進一步具有第二階層位準,且該位準包含一空間。該空 間包含該等平面之二或更多平面,以及包含該程式結構之 空間之平面。該空間進一步包含等程式結構在每一該等空 間之間可存取之共用資料。 最好,記憶體結構進一步具有第三階層位準,且該位準 包含該等S間之二或更多S間。該等2間包含相同或不同 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 505855 A7 B7 五、發明説明(5 ) 之程式結構,與該程式結構在每一該等空間之間可存取之 共用資料。該程式結構包含一程式庫,且進一步包含每一 空間之一函式表,以及受到調整以與每一空間之函式庫互 換服務之函式表。 在一相關方面,本發明提供一用於平行計算之電腦程式 產品,該電腦程式產品包含一電腦可用型媒體,且該電腦 可用型媒體具.有實現於該媒體之電腦可讀取型程式碼。該 電腦程式碼定義一電腦記憶體結構,且包含前述之第一及 第二階層位準,與最好也包含第三階層位準。 本發明之另一相關方面提供一平行處理方法,其中首先 提供一具有前述之第一與第二階層位準之電腦記憶體結構 。該方法接著包含運用該空間之第一平面之程式結構所管 理的第一流,及存取第一平面之資料與每一該等平面間之 共用資料,與運用該空間之第二平面之程式結構所管理的 第二流,及存取第二平面之資料與每一該等平面間之共用 資料。除了當受到程式結構/之外顯請求時以外,第一與第 二流無需彼此互動。 ' 該程式結構包含一程式庫,且進一步提供該空間之一函 式表,以及受到調整以與該空間之程式庫互換服務之函式 庫。該方法可包含運用第一與第二流來執行對於函式表之 函式呼叫,以存取每一該等平面巧之共用資料與該空間之 共用資料。最好,進一步提供第三階層位準,且第三階層 位準包含該等空間之二或更多空間,以及包含相同或不同 之程式結構之空間,與該程式結構在每一該等空間之間可 -8- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 505855 A7 B7 五、發明説明(6 ) 存取之共用資料。該方法接著包含藉由第一與第二流來存 取每一該等空間間之共用資料。 另一相關方面提供一程式儲存裝置,其中該程式儲存裝 置可供一機器讀取,且具體實現可供該機器執行之一指令 程式,以使用一電腦記憶體結構來執行用於平行計算之該 等前述方法步驟,其中該電腦記憶體結構具有前述之第一 ,第二,與最好第三階層位準。 裝 在另一方面,本發明提供一用以在一平行處理計算系統 中配置記憶體之方法,其中首先提供一可供用於平行處理 之系統記憶體,與第一及第二流,且該二流之每一流表示 一程式結構所管理之一獨立控制流程,並執行不同之程式 工作。該方法包含使用第一流來向系統記憶體請求記憶體 ;配置超過請求之第一記憶體群組給第一流,且使得該記 憶體群組關聯於第二流;使用第二流來向系統記憶體請求 記憶體;配置超過請求之第二記憶體群組給第二流,且使 得該記憶體群組關聯於第一 "k ;使用第一流來向第二流請 / 求更多之記憶體;且在未向系統記憶體提出請求之下,配 置第二流之第二記憶體群組之一部份給第一流。 最好,第一與第二記憶體群組之每一群組包含系統記憶 體爲第一與第二流户斤標示之記憶體部份。該方法接著包含 第二流釋放爲第一流所標示之第一記憶體群組之一部份, 且配置爲第二流所標示之第二記憶體群組之該部份給第一 流。爲第一流所標示之第二記憶體群組之該部份不可配置 給第一流,直到第二流釋放一預先決定最小數量之此種記 -9 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505855 A7 B7 五、發明説明(7 ) 憶體爲止,且爲第一流所標示之第二記憶體群組之該部份 不可配置給第一流,直到第一流向第二流提出進一步之記 憶體請求爲止。最好,第一與第二記憶體群組之每一群組 包含系統記憶體爲第一與第二流所標示之記憶體部份。該 方法接著包含第二流釋放爲第一流所標示之第二記憶體群 組之一邵份一段預先決定之時間,且如果第一流在該預先 決定之時間之後未請求記憶體,則爲第二流收回爲第一流 所標示之第二記憶體群組之該部份。 在一相關方面,本發明提供一程式儲存裝置,該程式儲 存裝置可供一機器讀取,且具體實現可供該機器執行之一 指令程式,以在一平行處理計算系統中執行用以配置記憶 體之前述方法步驟。 另一相關方面提供一用於一平行處理計算系統之記憶體 結構’其中該記憶體結構包含一可供用於平行處理之系統 記憶體;指定及可供用於第」流之第一記憶體群組,其中 第一流表示一程式結構所管/理之一控制流程;與指定及可 / 供用於第二流之第二記憶體群組。第一流表示一程式結構 所管理之一控制流程,該程式結構無關於第一流,且第一 與第二記憶體群組之每一群組皆具有爲另一流所標示之記 憶體群組之部份。,好,第一與第二記憶體群組之每一群 組皆包含系統記憶體爲第一與第二疼所標示之記憶體部份。 另一相關方面提供一用於平行計算之電腦程式產品,該 電腦程式產品包含一電腦可用型媒體,該電腦可用型媒體 具有實現於該媒體之電腦可讀取型程式碼,且該電腦程式 -10- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 裝 訂 線 505855 A7 -_________B7 五、發明説明(8 )" ' 碼定義前述之電腦記憶體結構。 本發明之另-方面提供—平行處理方法,其中首先提供 第一流’以表示—程式結構所管理之-獨立_流程,第 一,具有二狀態,其中第一狀態處理該程式結構之工作, 且第二狀態是未受到分派,而在等候需要處理之工作;與 第二流,、以表示不同於第一流之一程式結構所管理之一獨 立控制流程。該方法包含使用第二流來準備工作以供第一 流處理,與置放第二流所準備之工作於一佇列,以供第一 流處理。如果當第二流所準備之工作放入佇列時,第一流 正在=候需要處理之工作,則該方法包含分派第一流,且 使用第一流來處理佇列之工作。如果當第二流所準備之工 作放入仵列時,第一流正在處理其他工作,則該方法包含 使用第一流來完成該等其他工作之處理,存取佇列之工^ ’且接著處理仔列之工作。 罘^流可繼續置放其他工作於佇列,且當第一流處理完 畢先刖工作時,第一流循序/處理佇列之其他工作。最好, $二流標示置放於第一流佇列之工作成爲未完成。如果當 第一流所準備之工作置放於佇列時,第一流正在處理其他 工作,且當第一流完成佇列之工作之處理時,該方法包含 使用第一流來標示完成之工作成爲完成。來自第二流之隨 後工作必須等冑’直到第_流之朱前工作標示成爲完成爲 止。第一泥可再受到使用以處理其他工作,且在第一流完 成一所要數量之工作之後,程式結構可摧毁第一流。 一相關万面提供一程式儲存裝置,該程式儲存裝置可供 -11 - 張尺度it财® @家標規格(咖χ 297公董)
機㈣取,且具體實現可供該機器執r、— 以使用下列二流來執行用 丁 < —指令程式, 第-沪,㈣-Γ 千仃處理之前述方法步驟:⑴ 見以表π一程式結構所管理之_ 、、 中第一流具有二狀態,第一 二控制泥程,其 且第二狀態是未受到分派而力筌& 6 〜構(工作, 第二流,以表示不夂π 處理之工作;與(2) 立控制流程。式結構所管理的-獨 =發明之特點據信爲新奇,且本發明之元件特徵詳細陳 2附加之中請專利範圍。該等圖形只是做爲示範,且未 明:際比例來描繪。但是’當參照附圖來閱讀下列詳細説 時,應最易瞭解本發明本身,無論是組織與運作方法, 其中: 圖1疋用於分離程式之一以前技術記憶體結構之示意圖。 圖2疋用於平行程式之一以前技術記憶體結構之示意圖。 圖3是本發明之平行記憶-結構之第一階層位準的示意 圖,其中該第一階層位舉稱爲一平面,且二或更多平面組 成一空間。 圖4是本發明之平行記憶體結構之第二階層位準的示意 圖,以描緣圖3所示之多個空間。 圖5疋描緣圖3所示之空間之本冬或索引結構的示意圖, 以展示對於一平面之預設總體資料與共用(平面)記憶體之 資料的存取。 圖6是連接每一總體變數之整數識別至一獨特識別之本 -12- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) A7
文索引結構的示意圖。 圖7是多個空間之示意圖,農 一丑 、 M /、肀母一芝間具有多個平面與 v、用矛王式’且該•等空間葬 R δ σ 精由共用(空間)記憶體來連接。 圖8疋連接共用(空間)飧 一立园 〈门)〜植貝料物件之本文索引結構之 不意圖。 流本文之分離記憶體群組 圖9是系統記憶體配置给多個 之示意圖。 圖/〇是圖9之分離記憶體群組之示意圖,以展示爲其他流 所‘示之未用:!己憶體區塊之收回。 圖η是建構成爲抽象資㈣件之料狀*意流程圖, 其中工作配置給該等抽象資料物件。 例説明_ ,龙明本發明之較佳實例時,本文將參考附圖之圖1至u ,其中類似 < 參考號碼意謂本發明之類似特點。在該等圖 形中,本發明之特點不一定是,按照實際比例來描繪。 平行軟體處理系統 / 爲克服在平行處理期間/存取系統服務之串列化限制之問 題,本發明以高階語言語法來建立一程式設計方法,其中 茲程式設計方法自程式設計師之觀點内隱地去除該等顧慮 ’且導致平行應用之大幅改良。本發明提供必要之結構, 以自然使得程式設計師可獲得較,效能之解決方案。尤其 ’本發明提供,在不同方面,一協調系統,以自然分離每 一平行流之資料空間;一關聯該等流與資料空間之方法; 與用以描述及管理此分離之高階語言。融入進一步描述於 -13- I紙張尺度適财@國家標準(CNS) A4規格(21G X 297公爱厂 ' --- 505855 A7 B7 五、發明説明(11 ) 下文之結構之本發明的系統可儲存於一傳統電腦程式,或 記憶體儲存裝置,例如半導體晶片,惟讀記憶體,或磁性 媒體,例如軟碟片或電腦硬碟機。 在本發明所產生之結構中,每一流皆具有其本身之資料 空間,亦即關聯於單一流之記憶體區,且該等記憶體區與 所有其他資料空間是分離的,除了外顯宣告成爲共用之資 料空間以外。使用本發明可自然藉由最少與定義良好之資 料空間互動來完成平行演算法之設計與建構,因而提供低 成本,高效能之平行性,且程式設計師無需是平行性管理 之專家。 裝 本發明之平行結構提供不同之堆疊,每一流具有一堆疊 ,且提供下列外觀與功能:每一堆疊具有不同之分離總體 記憶體,堆積空間與閒置區。圖3描繪本發明之平行記憶體 / 線 結構之第一階層位準,在本文中稱爲一 ”平面”,且二或更 多平面組成一 ’’空間”。記憶體細分成爲分離之平面225a, 225b。平面225 a,225b具有〆同之平面記憶體區219a,219b 。來自程式結構224之一流執行於每一平面之一堆疊,且多 個流1-N分別執行於多個堆疊1-N。雖然該等流同時執行於 平行計算系統,在任何給定之瞬間最多只有一流存取一平 面記憶體。平面記憶體219a,2 19b分別包含總體記憶體220a ,220b,堆積空間221a,22 lb與巧置空間222a,222b,且 平面記憶體2 1 9a 1 2 19b分別受到組織及提供給每一平面 225a,225b。每一平面接著包含該流,總體記憶體,堆積 記憶體與堆疊記憶體所定義之一本文。在任何特定時間只 -14- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 505855 A7 B7 五、發明説明(12 ) 有一流可使用一本文。一共用(空間)區222c也受到外顯宣 告,且是由分離之平面記憶體219a,21 9b來共享。因此, 自程式設計師之觀點來看,平面記憶體結構具有執行分離 程式之外觀與功能,如圖1所示,然而實際上其運作成爲平 行流,因爲共用(平面)記憶體222c之所有資料結構可供堆 疊223a,223b之每一流使用,且堆積221a,221b之選定資 料結構在不同平面也可供堆疊223a,223b之每一流使用。 裝 一記憶體結構之多個平面之群組在本文中稱爲”空間π, 其中所有該等平面皆平行執行單一程式結構之不同流。一 組程式構成此種空間之單——致程式結構。空間230表示本 發明之平行處理系統之第二階層位準。多個空間230,230f ,23 0”描繪於圖4,其中每一空間包含一或更多平面記憶體 結構。每一空間包含一不同程式224,224f,224”,且該等 程式之執行無關於其他任何程式。以類似於共用(平面)記 憶體之方式,閒置記憶體可指定成爲不同空間之共用(空間 )。不同空間230,230’,230^間之指定共用(空間)記憶體是 』匕 /=* 。J . ^ 々 /ret rrr* 0曰士 t 片 ctCT 二 你 一 iri-k KT /i.、、杜 線 彳自之狀两z z z u。τ夕ΊΙ^Ι芏间衣TF +艰、π <币二|甘尽1立平0 未外顯配置成爲共用之總體或堆積記憶體物件是以特別 語言元件來表示。此種物件,雖然是藉由相同語言元件來 表示於所有平面,但是由每一平面之分離記憶體來儲存。 因此,每一流之語言元件自動受y實現。這使得程式設計 師無需執行用以管理與分離此種記憶體物件之繁重工作。 本發明之記憶體構造也提供一在平面與空間之間共享資訊 之有規律裝置,以使得程式設計師可免除提供此種規律之 -15- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 五、發明説明(η ) 負擔。 如圖5所示,一指定空間之每一平面包含本文(―户 Π【’總體資料)與相同之程式結構,其中後者:用相 =仃,式碼。空間之每-平面使用相同之程式結構 :在不1 空間之間,程式結構可爲相同或不同。”本文"在 又中思€索引結構,且該索引結構達成總體變數之分 ,以致每-流可輕易存取每'總體變數。使 :::構之:式設計師產生所要之特殊本文,且藉由使用 此種本又,心始-程式,其中該程式運作於該特殊本文以 内,及共用(平面)或共用(空間)記憶體以外。 、、更明確地説,本文索引結構連接每-總體變數之一整數 識別至-獨特識別,例如記憶體位a。例如,如圖㈣示> 在平面i内存在總體變數^^〜且在平^中存在分離 足總體變數Gi,G2。標示成爲〇4(平面i,本文J平面2, 本文2),g5(平面〗,本文MW(平面2,本文2)之總體資料變 數是標示成爲位於共用(平劣),位於空間以内。第一平面 之本文i ’與第二平面之本文2’皆能夠使用一索引法來轉譯 其本身之總體變數之整數識別成爲該等總體變數之獨特識 別。如圖所示,共用(平面)之\及是相同之物 件。 圖7描繪多個空間,每一空間具夸多個平面與一共用程式 ,且該等空間是藉由共用(空間)記憶體來連接。空間1包含 平面i與平面2,且平面1與平面2皆使用程式1。空間2包含不 同之平面1與平面2,且平面^與平面2使用不同之程式2。共用 -16- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公董) 裝 訂 505855 A7 B7 五、發明説明(14 ) (空間)記憶體可供空間1與空間2之每一空間使用。以類似於 圖6之方式,圖8展示每一空間之本文如何使用不同之索引 識別來存取共用(空間)總體資料物件G6。例如,語言元件 可提供定義或語法,以致該等本文可存取共用(平面)或共 用(空間)之總體變數。共用(空間)記憶體可包含資訊,且該 資訊可爲本發明之記憶體結構之不同空間的不同程式所共 享。因此,資料可儲存於只可供一特殊平面存取之預設總 體資料記憶體,可供一空間之不同平面之本文存取的共用( 平面)記憶體,或可供不同空間之本文存取的共用(空間)記 憶體。如圖所示,共用(空間)之G6,G5,,G8,^G7,,,是相同 裝 之物件。
一依照IEEE標準148 1-1 999來產生之可互換函式表最好 產生於本發明之記憶體結構,其中爲每一空間產生一此種 函式表。該等函式表描緣於下文之表1與2,其中爲用於一 特殊空間之選定函式名稱(FCN名稱)建立一函式指標(FCN 指標)。 表1 FCN指標 線 FCN名稱 FCN1 FCN2 FCN3 ’ -17- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505855 A7 B7 五、發明説明(15 ) 表2 FCN指標· FCN名稱 * FCN4 * FCN5 * FCN6 一應用程式可載入一程式於每一空間。該應用與載入之 程式皆執行一函式表互換。函式表互換表示應用與載入於 一特殊空間之程式間之服務互換。所有函式呼叫皆具有一 本文引數,以在共用(平面)或共用(空間)記憶體中尋找請求 之資料。本文傳達索引結構所在之處。函式呼叫,藉由應 用或載入之程式,包含本文之識別以定址資料於一平面, 此位置視爲預設位置,或共用(平面)或共用(空間)記憶體位 置。 ,/ DCL(延遲計算器語言)是許多特殊應用積體電路(ASIC) 販售者用以描述他們之技術i語言。該等DCL庫是一應用 / 動態載入之可執行模組。一定義良好之標準同時獲得應用 販售者與ASIC販售者之遵循。DCL與此界面定義可用以根 據本發明來建立平行處理之系統。DCL系統(包含一執行期 間環境,一編譯程式,與其之編譯模組)建構一本文系統, 其中最多一流執行於每一本文。一本文係依照應用或該庫 之請求來受到建造。回應於一新本文請求,DCL執行期間 環境產生每一狀態變數之一分離拷貝。狀態變數包含藉由 ASSIGN敘述,表與模組結構結構所產生之變數。每一狀態 是以一狀態變數陣列來表示,其中每一本文具有其本身之 -18- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 線 505855 A7 B7 五、發明説明(16 ) 狀態變數。對於每一新本文,系統執行該等啓始化敘述於 該本文,以致該等狀態變數預先設定成爲已知値。 DCL之基本運作要求目前之本文變數(標準結構)必須傳 送至所有敘述。本文變數提供控制流程與資料空間與執行 所在之平面之一完整描述。執行期間支援設施將透通地選 擇適當之記憶體物件,其中該等記憶體物件爲支援應用請 求與DCL程式之平行執行所必需。藉由使用DCL,總體變 數可藉由使用AS SIGN敘述來產生。這允許總體變數在編譯 期間藉由敘述類別(ASSIGN)來辨識,且總體變數之更新可 透過單一函式來集中。 本發明藉由本文來分離ASSIGN結果,例如一陣列之 A S SIGN變數結果,其中每一陣列元件關聯於一本文。此將 允許,在無串列化之下,ASSIGN變數値之平行讀取與寫入 。DCL之TABLEDEF敘述讀入及搜尋該等資訊表。本發明 藉由前述之本文系統來分離該等表,而此允許該等表,在 無串列化之下,以一眞正平/行之方式來受到讀取,搜尋及 更新。 : 雖然DCL允許應用附加額外模組,稱爲子規則,至一已 存在之系統,但是本發明也分離附加至一空間之子規則與 附加至另一空間之子規則。這將允許應用維持受到載入之 各個庫之獨立觀點。本發明也提哥一些構造,以依照庫開 發者之請求,允許相同之狀態變數可存在於多個本文;與 一些構造,以在該等點強迫進行串列化。本文一般假設狀 態變數是獨立的,除了受到庫開發者之外顯請求之處以外 -19 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 線 A7 ____________B7 五、發明説明(17 ) 。因爲只有共用之必要點需要受到詳察,所以這大幅改良 平行演算法之開發之容易度。 在運作中本發明藉由自然分離關聯於一流之所有活動 至一本文來達成一優點。不同流運作於不同本文,且因此 彼此不進行互動,除了當外顯受到請求時以外。這去除常 見於平行處理之串列化限制,以致本發明可簡化構思過程 以及實際建構。 咼政能無阻塞之平行儲存管理器 、本發明進一步運用流本文來提供適用於平行環境之無阻 基,向效率儲存管理。此儲存管理器維持每一本文之分離 可用記憶體群組,且只配置該等群組之記憶體给討論之本 文。在大多數之時間執行不會受到阻塞之下,許多流(每一 本文具有一流,如前所述)可同時存取儲存管理器以取得或 釋放圮憶體。雖然每一次當多於一流要求一記憶體區同時 受到配置或釋放時,以前技術就阻塞執行,但是本發明只 有在下列情形方阻塞執行:/當多於一本文同時用盡其之記 憶體群組,且必須對於配置記憶體之系統服務提出一呼叫 時。本發明最好自系統取得一些,大記憶體區,且依照該 等流之需求來分割1己憶體區。因爲只有當試圖取得該流之 少數,大記憶體區-,且另一流也正在向系統取得其之大記 憶體區時,一流之阻塞方會發生,,所以通常本發明之效能 返超過傳統方法之效能。即使一流對於系統配置另一大記 憶體區之呼叫受到阻塞,只要該等流之關聯記憶體群組仍 具有位於他們之記憶體區,則本系統仍可服務其他流之記 -20- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 線 505855 A7 B7 五、發明説明(18 ) 憶體請求。在正常情況之下,平行應用可能只會遭受一執 行之部份阻塞,且即使如此,這將很少發生。 釋放一記憶體區之問題有二維度。如果一本文只釋放其 配置之記憶體區,則釋放運作可繼續,而無需阻塞需要該 區之流,或任何其他流。爲使當一本文釋放另一本文所配 置之記憶體區時發生之串列化最小化,一 π延後釋放f’表列 受到產生。當一本文釋放一其未配置之記憶體區時,本發 明置放此區於一 ”延後表列”。每一本文具有一組延後表列 ,且每一組延後表列具有針對每一其他本文之一延後表列 。該記憶體區接著放入延後表列,以辨識釋放該區之本文 與其嘗試釋放至之另一本文,且在無阻塞之下執行繼續。 該等表列成長至他們超過一標準爲止,而該標準可由應用 開發者來設定。當超過該標準時,每一其他本文之延後表 列以一無阻塞方式轉移至現在擁有該延後表列之另一,接 收本文。每一記憶體區本身具有一標記,且該標記顯示那 一本文配置該區。一旦該轉/移完成,則在無任何阻塞之下 ,該轉移本文在該接收本:文之一已知點設定一旗標。 當一本文必須配置記憶體區時,但是在其向系統請求空 間之前,其查看是否其已收到來自其他本文之任何延後釋 放。如果答案是肯定的,則其收回該等記億體區,且試圖 滿足來自他們之請求,而非呼叫丰統服務。這可消除更多 之阻塞。 - 接收本文之延後阻塞之收回是以無阻塞之方式來完成, 且可爲非同步以避免阻塞。控制程式結構之佈局與運作之 -21 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂
A7 B7 五 發明説明(2〇 塊之大小及/或内容超過一應用專屬標準時,本文1設定開關 3 14自3 14b至3 14a,以顯示本文可收回收回表列3 12a之記憶 體。本文^將設定開關3 1 3成爲3 1 3b。所以標示成爲屬於本 文2之後續閒置記憶體區塊置放於收回表列312b,直到本文2 收回收回表列3 12a之記憶體爲止。當本文2用完堆積記憶體 320時,本文2不是向系統記憶體尋求可供使用之記憶體, 而是檢查是否一收回表列已可供使用,且找出可供使用之 記憶體區塊3 1 〇e-h,其中本文2接著釋放該等記憶體區塊, 及包含該等記憶體區塊於其本身之堆積記憶體群組32〇。本 文2接著設定開關3 14成爲3 14b,以顯示本文2已處理該收回 表列且現在可以處理另一收回表列。同樣地,當本文1需要 之記憶體多於其本身之記憶體群組之可供使用記憶體時, 本文i自其他本文,例如本文2,所產生之收回表列尋找記憶 體,定址可供使用之記憶體320e-h,且釋放該記憶體,並 包含該$己憶體於記憶體群組3 10,而皆未向主系統記憶體尋 求記憶體。當收回表列3 121/超過一應用專屬標準時,一類 似運作發生,其中本文定開關314自314b至314c,以顯 示本文2可收回收回表列312b之記憶體,且本文1將設定開關 313成爲313a,以致標示成爲屬於本文:之後續閒置記憶體 區塊置放於收回表列3 12a,直到本文2收回收回表列3 12b之 記憶體爲止。當本文2收回收回表列312b之記憶體時,本文 • 2 設定開關3 14成爲-3 14b,以顯示本文2已處理該收回表列且 現在可以處理另一收回表列。本發明允許每一本文對可具 有任意數目之收回表列。 -23- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公爱) 505855
21 瑕好’來自一本文且標示成爲另一本文之可供使用記憶 體區塊未實際受到釋放及受到該另一本文之收回,直到該 另一本文尋求額外之記憶體區塊爲止。如果在一預先決定 之時間週期之後,該另一本文未收回該等記憶體區塊,則 該本文可收回該等己憶體區塊以供使用,且同時仍然保持 該另一本文之識別於該等區塊之上。所有動作皆在任一本 文向主系統記憶體尋求記憶體之前發生。 本發明之此方面之測試已顯示,平行處理記憶體存取最 多較傳統以前技術之方法快20.7倍。 使用不同之4算板制流程來做爲可重複使用之抽象資料物 件 裝 訂 k 不同於以前技術以不同方式來處理本文與資料,本發明 建構一在平行環境中使用本文之新典範。本發明基本上產 生一本文且補獲該本文,連接該本文至一資料物件,且, 自程式設計師之觀點來看,該資料物件是抽象的。這使得 軟體可將一流(或控制流程)彳見爲一資料物件。這具有一此 優點。一優點是流只受到/,產生一次,且可依需要而定再^ 到使用。這免除一些常見方式所導致之流產生與摧毁成: 。另一優點是流是資料物件,因而消除控制與資料間之常 見二分法,且給與程式設計師更大之思考空間以構二二二 之解決方案。另一優點是,因爲4是資料物件,軟體開發 者可執行一些以前不可能之運作。該等運作包含,1又 於,附著流於其他資料物件(以供稍後用於執杆 、 、 丁),以參數 來傳送流(控制流程)等。 -24-
505855 五、發明説明(22 ) 本發明之此方面建構一抽象資料物件,且該資料物件具 有一流來服務他。該資料物件可四處流傳及包含於一程^ 之資料結構’如同任何傳統之資料物件。當有需要時,^ 體配置特足工作給該資料物件,且服務流接著越醒及執行 該工作。在執行該工作之後,該流再度等候其他工作。該 工作可由應用之任何區段在任何想要之時間來配置。該流 不會受到摧毁,直到應用程式決定如此做爲止。 此種方式大幅簡化一軟體之產生,其中該軟體需要藉由 使用諸流來調整平行運作。藉由使得流抽象化,繁重細節 可自程式設計師之工作範圍移除。藉由封裝一等候流成爲 一貝料物件,因爲控制流程與資料間之二分法獲得連接, 所以程式設計師具有更高之自由度與更大範園之解決方案。 、圖u是建構成爲可獲得配置工作之抽象資料物件之諸流 (7F意机程圖。第一流^是指疋成爲一資料物件C,瓶"),該資 料物件通常未受到分派且不可用以執行程式結構指定給他 之工作。此種工作可爲任何/工作單A,且該等工作單元通 常可由諸流以平行處理來執行,例如受到使用之函式,收 集參數,關於置放結果於何處之指纟等。關聯於單 -本文,且只可由其他本文來致動以執行其之工作。在本 發明中j好每一瓶皆無法由其本身之本文來致動。該瓶 具有二狀悲:第一狀態,以處理辞式結構之工作;盥第二 狀態’未受到分派而在等候需要處理之工作,並處於中止 狀態’但未消耗執行時間。該瓶具有—關聯之㈣⑼,且 或更^其他本文可置放請求之工作於該佇列。在運作期 ___—__25- 本紙張尺度適财S ®家標早(CNS) A4規格(210X 297公爱「 裝 訂 五、發明説明(23 間’該瓶檢查用於工作請求. Φ^、、, 3夂又仔列,且如果有工作在佇列 中寺候’則該瓶鎖定該仔列 τ从_ 一 J私除一工作早元,釋放該佇 歹J ’且執行請求之工作。合时- 甘描 田工作早疋心請求工作完成時, 其“示該結果成爲完成,且再 忐_ 丹度查工作佇列。該瓶依序 處理寺候之工作,且基本上口要 4工/、要仔列中有工作在等候執行 i則以-無盡迴圏來運作。如果㈣是空的,則該瓶進入 叱結’未獲分派之狀態’以等候某一其他本文置放工作 於㈣,且接著使得該瓶受到絲,並再度檢查工作件列。 ,:二流在圖11中是辨識成爲"發動者",以表示程式結構 所官理乙一獨互控制流程,且該控制流程不同於第一或 ’’瓶”流。發動者是用以準備工作來供該"瓶"處理。發動者 置放工作=佇列以供第一”瓶”處理,藉由鎖定工作佇列, 置放工作單元於工作佇列,且接著釋放佇列。如果該”瓶" 受到中止’則發動者使得該瓶受到分派。一發動者可繼續 增加額外工作至瓶佇列。當置放工作於瓶佇列時,其標示 該工作成爲未完成。在假設/每一其他本文皆可存取該結果 結構之下,任何其他本文(除了瓶本文以外)皆可檢查是否 一特定結果已完成。 因此,第一流可依所需受到程式結構之再使用,而非在 其完成單一工作之件就受到摧毁。只有在第一流完成一所 要數量之工作之後,程式結構才辉毁第一流。 本文所述之平行軟體系統可產生及儲存於一機器,最好 是位於一電腦可用型媒體之一傳統電腦,使用傳統之電腦 可讀取型程式碼,或位於傳統之程式儲存裝置,例如半導 -26- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 505855 A7 B7 五、發明説明(24 ) 體晶片,惟讀記憶體,光學讀取媒體,例如CD-ROM或 DVD-ROM,或磁性媒體,例如軟碟片或電腦硬碟機。 因此,本發明提供一較以前技術不易發生錯誤之平行處 理結構。本發明之平行處理結構在存取共用之系統服務, 例如資料結構,上較不易遭受串列化限制。其在配置或釋 放記憶體上也較不易遭受串列化限制。另外,不同流間之 互動較少。本發明提供一在產生,管理及終止一流方面可 降低成本與錯誤之平行處理結構。軟體可進一步將每一流 視爲一資料結構。 雖然本發明已參照一特定較佳實例來明確説明,很明顯 地,藉由前述説明,熟悉本技術領域者應可提出許多替代 方案,修改與變型。因此本文構思,附加之申請專利範圍 應包含屬於本發明之眞正範疇與精神之任何此種替代方案 ,修改與變型。 -27- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)

Claims (1)

  1. 505855 、 經濟部智慧財產局員工消費合作社印製 A8 B8 C8 D8 申請專利範圍 h /種用於平行計算之電腦記憶體結構,包含: 包含一平面之第一階層位準,該平面包含一流,其中 該流表示一程式結構所管理之一獨立控制流程,一用於 貨料結構心堆積部份,一用於函式引數之堆疊部份,與 該程式結構之任何部份皆可存取之局部變數及總體資料 ;及 包含一空間之第二階層位準,該空間包含該等平面之 二或更多平面,該空間之該等平面包含該程式結構,且 該空間進一步包含該程式結構在每一該等平面之間可存 取之共用資料。 2·如申請專利範圍第1項之記憶體結構,進一步包含第三階 層位準’第二階層位準包含該等空間之二或更多空間, 其中該等空間包含相同或不同之程式結構,與該程式結 構在母一該等空間之間可存取之共用資料。 3.如申請專利範圍第2項之記德體結構,其中第三階層位準 包含不同之程式結構。/ 4·如申請專利範圍第2項之記憶體結構,其中第三階層位準 包含相同之程式結構。 5·如申請專利範圍第2項之記憶體結構,其中該程式結構包 含一程式庫,且進一步包含每一空間之一函式表,其中 該函式表是調整成爲與每一空間之程式庫互換服務。 6. —種用於平行計算之電腦記憶體結構,包含: 包含一平面之第一階層位準,該平面包含一流,其中 該流表示一程式結構所管理之一獨立控制流程,一用於 -28- 本紙張尺度適用中國國豕標準(CNS)A4規格(210 X 297公髮) ----------------------訂--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 505855 A8 B8 C8 D8 六、申請專利範圍 資料結構之堆積部份,一用於函式引數之堆疊部份,與 該程式結構之任何部份皆可存取之局部變數及總體資料; 包含一空間之第二階層位準,該空間包含該等平面之 二或更多平面,該空間之該等平面包含該程式結構,且 該空間進一步包含該程式結構在每一該等平面之間可存 取之共用資料;及 包含該等空間之二或更多空間之第三階層位準,其中 該等空間包含相同或不同之程式結構,與該程式結構在 每一該等空間之間可存取之共用資料,且該等程式結構 具有一程式庫。 7. 如申請專利範圍第6項之記憶體結構,其中第三階層位準 包含不同之程式結構。 8. 如申請專利範圍第6項冬記憶體結構,其中第三階層位準 包含相同之程式結構。 9. 一種用於平行計算之電腦旒式產品,該電腦程式產品包 含一電腦可用型媒體,該電腦可用型媒體具有實現於該 媒體之電腦可讀取型程式碼,該電腦程式碼定義該電腦 記憶體結構,該電腦記憶體結構包含: 包含一平面之第一階層位準,該平面包含一流,其中 該流表示一程式結構所管理之一獨立控制流程,一用於 資料結構之堆積部份,一用於函式引數之堆疊部份,與 該程式結構之祛何部份皆可存取之局部變數及總體資料 ;及 包含一空間之第二階層位準,該空間包含該等平面之 _-29-_ 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱1 '·-----------t--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 505855 A8 B8 C8 D8 六、申請專利範圍 二或更多平面,該空間之該等平面包含該程式結構,且 該空間進一步包含該程式結構在每一該等平面之間可存 取之共用資料。 10. 如申請專利範圍第9項之電腦程式產品,其中該記憶體結 構進一步包含第三階層位準,第三階層位準包含該等空 間之二或更多空間,其中該等空間包含相同或不同之程 式結構,與該程式結構在每一該等空間之間可存取之共 用資料。 11. 一種平行處理方法,包含: 提供一電腦記憶體結構,該電腦記憶體結構具有包含 一平面之第一階層位準,該平面包含一流,其中該流表 示一程式結構所管理之一獨立控制流程,一用於資料結 構之堆積部份,一用於/函式引數之堆疊部份,與該程式 結構之任何部份皆可存取之局部變數及總體資料;與包 含一 2間之第二階層位準,該空間包含該等平面之二或 更多平面,該空間之該等/平面包含該程式結構,且該空 間進一步包含該程式結構在每一該等平面之間可存取之 共用資料; 運用該空間之第一平面之該程式結構所管理的第一流 ,及存取第一平面之資料與每一該等平面間之共用資料 ;及 , 運用該空間乏第二平面之該程式結構所管理的第二流 ,及存取第二平面之資料與每一該等平面間之共用資料 ,其中除了當受到該程式結構之外顯請求時以外,第一 _-30-____ 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) " L--裝--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 505855 A8 B8 C8 D8 經濟部智慧財產局員工消費合作社印製 申請專利範圍 與第二流避免進行彼此互動。 12·如申請專利範圍第11項之方法,其中該程式結構包含一 程式庫,且進一步提供一用於該空間之函式表,該函式 表是調整成爲與該空間之程式庫互換服務,且包含運用 該第一與第二流來向該函式表提出函式呼叫,以存取每 一該等平面間之共用資料與該空間之共用資料。 13.如申請專利範圍第丨丨項之方法,其中進一步提供第三階 層位準,第三階層位準包含該等空間之二或更多空間, 4等全間包含相同或不同之程式結構,與該程式結構在 每一孩等2間之間可存取之共用資料,且包含藉由該第 一與第二流來存取每一該等空間之間之共用資料。 14·如申請專利範圍第1 3項之方法,其中該程式結構包含一 程式庫,且進一步提供一用於每一空間之函式表,該函 式表是調整成爲與每一空間之程式庫互換服務,且包含 運用該弟一與第二流來向襄函式表提出函式呼叫,以存 取每一該等平面間之共用資料與每一該等空間之間之共 用資料。 I5· —種可供一機器讀取之程式儲存裝置,以具體實現一可 供該機咨執行之指令程式,以使用一電腦記憶體結構來 執行該等平行處珲方法步驟,該電腦記憶體結構具有包 含一平面之第一階層位準,該平面包含一流,·其中該流 表示一程式結構所管理之一獨立控制流程,一用於資料 結構之堆積部份,一用於函式引數之堆疊部份,與該程 式結構之任何部份皆可存取之局部變數及總體資料;與 ί · ^--------訂---------^---- (請先閱讀背面之注意事項再填寫本頁) 良紙張T關家鮮(CNS)A4規格 -31 - (210 X 297 公釐) 經濟部智慧財產局員工消費合作社印製 505855 A8 B8 C8 D8 六、申請專利範圍 包含一空間之第二階層位準,該空間包含該等平面之二 或更多平面,該空間之該等平面包含該程式結構,且該 空間進一步包含該程式結構在每一該等平面之間可存取 之共用資料,該方法步驟包含: 運用該空間之第一平面之該程式結構所管理的第一流 ,及存取第一平面之資料與每一該等平面間之共用資料 •,及 運用該空間之第二平面之該程式結構所管理的第二流 ,及存取第二平面之資料與每一該等平面間之共用資料 ,其中除了當受到該程式結構之外顯請求時以外,第一 與第二流避免進行彼此互動。 16. 如申請專利範圍第15項之程式儲存裝置,其中該程式結 構包含一程式庫,且進/一步提供一用於該空間之函式表 ,該函式表是調整成爲與該空間之程式庫互換服務,且 包含運用該第一與第二流来向該函式表提出函式呼叫, 以存取每一該等平面間之用資料與該空間之共用資料。 17. 如申請專利範圍第15項之程式儲存裝置,其中進一步提 供第三階層位準,第三階層位準包含該等空間之二或更 多空間,該等空間包含相同或不同之程式結構,與該程 式結構在每一該等空間之間可存取之共用資料,且包含 藉由該第一與第二流來存取每-Γ該等空間之間之共用資 料。 _ 18. 如申請專利範圍第17項之程式儲存裝置,其中該程式結 構包含一程式庫,且進一步提供一用於每一空間之函式 __ 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------------11 ^--------丨 (請先閱讀背面之注意事項再填寫本頁) 505855 A8 B8 C8 D8 六、申請專利範圍 表,該函式表是調整成爲與每一空間之程式庫互換服務 ,且包含運用該第一與第二流來向該函式表提出函式呼 叫,以存取每一該等平面間之共用資料與每一該等空間 之間之共用資料。 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 -33- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
TW090113624A 2000-06-20 2001-06-05 Parallel software processing system TW505855B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/597,523 US6832378B1 (en) 2000-06-20 2000-06-20 Parallel software processing system

Publications (1)

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

Family

ID=24391880

Family Applications (1)

Application Number Title Priority Date Filing Date
TW090113624A TW505855B (en) 2000-06-20 2001-06-05 Parallel software processing system

Country Status (5)

Country Link
US (1) US6832378B1 (zh)
JP (1) JP3790681B2 (zh)
KR (1) KR100488836B1 (zh)
CN (1) CN1148649C (zh)
TW (1) TW505855B (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 (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3600189B2 (ja) * 2001-06-19 2004-12-08 松下電器産業株式会社 パケット送受信装置及びパケット伝送方法
US7069556B2 (en) * 2001-09-27 2006-06-27 Intel Corporation Method and apparatus for implementing a parallel construct comprised of a single task
US7284107B2 (en) * 2004-04-30 2007-10-16 Microsoft Corporation Special-use heaps
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
US7831317B2 (en) * 2005-11-14 2010-11-09 Rockwell Automation Technologies, Inc. Distributed historian architecture
US7526617B2 (en) * 2005-12-29 2009-04-28 Sap Ag System and method for memory management using memory windows
US7743087B1 (en) 2006-03-22 2010-06-22 The Math Works, Inc. Partitioning distributed arrays according to criterion and functions applied to the distributed arrays
US7865885B2 (en) * 2006-09-27 2011-01-04 Intel Corporation Using transactional memory for precise exception handling in aggressive dynamic binary optimizations
WO2008098070A1 (en) 2007-02-06 2008-08-14 Mba Sciences, Inc. A resource tracking method and apparatus
JP5007867B2 (ja) * 2007-05-11 2012-08-22 ナグラスター エル.エル.シー. 安全な環境におけるプロセッサ実行を制御するための装置
CN102362256B (zh) * 2010-04-13 2014-07-30 华为技术有限公司 处理公共数据结构的方法及装置
US9489183B2 (en) * 2010-10-12 2016-11-08 Microsoft Technology Licensing, Llc Tile communication operator
US9430204B2 (en) 2010-11-19 2016-08-30 Microsoft Technology Licensing, Llc Read-only communication operator
US9507568B2 (en) 2010-12-09 2016-11-29 Microsoft Technology Licensing, Llc Nested communication operator
US9395957B2 (en) 2010-12-22 2016-07-19 Microsoft Technology Licensing, Llc Agile communication operator
CN102508704A (zh) * 2011-11-10 2012-06-20 上海市共进通信技术有限公司 计算机软件系统中实现任务分解和并行处理控制的方法
EP3065051A1 (en) * 2015-03-05 2016-09-07 Ingo Josopait Flow control for language-embedded programming in general-purpose computing on graphics processing units
US11775543B1 (en) * 2022-04-19 2023-10-03 Sap Se Heapsort in a parallel processing framework

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06100981B2 (ja) * 1983-12-28 1994-12-12 株式会社日立製作所 記憶階層制御方式
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
ATE130112T1 (de) * 1990-09-03 1995-11-15 Ibm Rechner mit erweitertem virtuellem speicher.
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
JPH05151064A (ja) * 1991-11-29 1993-06-18 Yokogawa Electric Corp 密結合マルチプロセツサシステム
US5640584A (en) * 1994-12-12 1997-06-17 Ncr Corporation Virtual processor method and apparatus for enhancing parallelism and availability in computer systems
JP3348367B2 (ja) * 1995-12-06 2002-11-20 富士通株式会社 多重アクセス方法および多重アクセスキャッシュメモリ装置
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
EP0825544A1 (en) 1996-08-23 1998-02-25 The Pharmacy Fund Inc. Computerized healthcare accounts receivable purchasing, collections, securitization and management system
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
US6397299B1 (en) * 1998-01-21 2002-05-28 Micron Technology, Inc. Reduced latency memory configuration method using non-cacheable memory physically distinct from main memory
US6209066B1 (en) * 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
US6349363B2 (en) * 1998-12-08 2002-02-19 Intel Corporation Multi-section cache with different attributes for each section
US6473833B1 (en) * 1999-07-30 2002-10-29 International Business Machines Corporation Integrated cache and directory structure for multi-level caches

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
KR20020000107A (ko) 2002-01-04
KR100488836B1 (ko) 2005-05-11
CN1330314A (zh) 2002-01-09
JP3790681B2 (ja) 2006-06-28
JP2002073357A (ja) 2002-03-12
CN1148649C (zh) 2004-05-05
US6832378B1 (en) 2004-12-14

Similar Documents

Publication Publication Date Title
TW505855B (en) Parallel software processing system
TW505856B (en) High performance non-blocking parallel storage manager for parallel software executing on coordinates
CN109144679B (zh) 中断请求的处理方法、装置及虚拟化设备
US9823851B2 (en) Secure migratable architecture having security features
Lister Fundamentals of operating systems
TW505854B (en) Method of using a distinct flow of computational control as a reusable abstract data object
US10620988B2 (en) Distributed computing architecture
CN110275722A (zh) 用于升级应用的方法、装置、设备和存储介质
US7661115B2 (en) Method, apparatus and program storage device for preserving locked pages in memory when in user mode
US20090100249A1 (en) Method and apparatus for allocating architectural register resources among threads in a multi-threaded microprocessor core
US8677045B2 (en) Transaction reordering system and method with protocol indifference
JP2014017012A (ja) パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換
CN104094235B (zh) 多线程计算
CN105051682B (zh) 用于硬件设备的软件接口
US20070143315A1 (en) Inter-partition communication in a virtualization environment
CN103034524A (zh) 半虚拟化的虚拟gpu
US20130219154A1 (en) Context state management for processor feature sets
EP3835956B1 (en) Data structure execution framework using virtual computing domains
CN108292267A (zh) 总线-装置-功能地址空间的推测性枚举
CN105229600B (zh) 基于能力的设备驱动程序框架
CN103218259A (zh) 计算任务的调度和执行
US9141609B2 (en) Reducing sequence cache latch contention in a database system
US7415556B2 (en) Exclusion control
US8689230B2 (en) Determination of running status of logical processor
JP2021060707A (ja) 同期制御システムおよび同期制御方法

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