TWI497321B - 多重網路之平行電腦系統中查詢最佳化 - Google Patents

多重網路之平行電腦系統中查詢最佳化 Download PDF

Info

Publication number
TWI497321B
TWI497321B TW097129678A TW97129678A TWI497321B TW I497321 B TWI497321 B TW I497321B TW 097129678 A TW097129678 A TW 097129678A TW 97129678 A TW97129678 A TW 97129678A TW I497321 B TWI497321 B TW I497321B
Authority
TW
Taiwan
Prior art keywords
query
network
node
networks
nodes
Prior art date
Application number
TW097129678A
Other languages
English (en)
Other versions
TW200915111A (en
Inventor
Eric L Barsness
David L Darrington
Amanda E Peters
John M Santosuosso
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 TW200915111A publication Critical patent/TW200915111A/zh
Application granted granted Critical
Publication of TWI497321B publication Critical patent/TWI497321B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

多重網路之平行電腦系統中查詢最佳化
本揭示案大體而言係關於資料庫查詢最佳化,且更特定言之係關於在平行電腦系統中重寫一查詢以利用多個節點及多條網路路徑之查詢最佳化器。
本申請案係關於Barsness等人於___所申請之共同申請之申請案第___號,其標題為"平行電腦系統中查詢最佳化以減少網路流量(Query Optimization In A Parallel Computer System To Reduce Network Traffic)",該案以引用的方式併入本文中。
本申請案係關於Barsness等人於___所申請之共同申請之申請案第___號,其標題為"多重網路之平行電腦系統中自網路故障進行自動錯誤恢復之查詢執行與最佳化(Query Execution and Optimization With Autonomic Error Recovery From Network Failures In A Parallel Computer System With Multiple Networks)",該案以引用的方式併入本文中。
本申請案係關於Barsness等人於___所申請之共同申請之申請案第___號,其標題為"平行電腦系統中利用組合網路之查詢執行與最佳化(Query Execution And Optimization Utilizing A Combining Network In A Parallel Computer System)",該案以引用的方式併入本文中。
資料庫為電腦化的資訊儲存及擷取系統。資料庫系統經 構造以接受使用(例如)諸如結構化查詢語言(SQL)之高階查詢語言來儲存、擷取及刪除資料之指令。術語"查詢"命名用於自所儲存之資料庫擷取資料的一組指令。查詢語言需要回應於一特定查詢而傳回一特定資料集。
資料庫查詢之執行可為資源密集及費時的過程。查詢最佳化器企圖用於最佳化查詢以更好地利用系統資源。為了防止資源之過度消耗,亦可用查詢控制器來組態許多資料庫。查詢控制器藉由參考所界定之臨限值而防止執行大型及資源密集之查詢。若執行查詢之成本超過臨限值,則不執行查詢。
許多大型公共機構之電腦使用者正經歷其資料庫之極大的增長。處理大型資料庫之一種主要方法為將資料分布於平行電腦系統中之多個分區上。該等分區可為用於分布資料之邏輯或實體分區。
大規模平行電腦系統為一種類型的具有大量互連計算節點之平行電腦系統。一系列此等大規模平行電腦由國際商業機器公司(IBM)於藍色基因(Blue Gene)名下開發。藍色基因/L(Blue Gene/L)系統為計算節點之當前最大數目為65,536的可擴充系統。藍色基因/L節點由具有2個CPU及記憶體之單一ASIC(特殊應用積體電路)組成。整個電腦安放於64個機架或機櫃中,其中在每一機架中具有32個節點板(node board)。藍色基因/L超級電腦經由若干通信網路通信。計算節點配置於邏輯樹網路與三維環形網路中。邏輯樹網路連接計算節點以使得每一節點與一父代及一或兩個 子代通信。環形網路以類似於允許每一計算節點與電腦之區域中之其最靠近的6個鄰近者通信之結構的三維柵格而邏輯地連接計算節點。
已開發出評估查詢及基於影響查詢效能之若干不同因素而確定如何最好地執行查詢的資料庫查詢最佳化器。然而,已知的查詢最佳化器均無法針對多重網路上之查詢而重寫查詢或最佳化查詢執行。在先前技術中之平行電腦系統上,查詢最佳化器無法有效地控制跨越一或多個網路之多個節點之資源的總體使用。在不具有更有效地最佳化查詢之方法的情況下,多重網路電腦系統將繼續低效率地利用系統資源以處理資料庫查詢。
在包括多個節點及使節點互連之多重網路的網路電腦系統中,資料庫查詢最佳化器使用多重網路最佳化一查詢以滿足該查詢。查詢最佳化器最佳化一查詢以分割查詢執行來使用多重網路。因此,查詢最佳化器重寫或最佳化一查詢以在多個節點或網路上執行以更有效地執行該查詢及減少網路上之網路流量。查詢最佳化器使用計劃快取記憶體統計以確定是否使用多重網路來最佳化該查詢。
本文中所揭示之實例係針對多重網路之大規模平行電腦系統,但本文中之申請專利範圍可應用於一或多個網路及若干平行節點之任何電腦系統。
上述及其他特徵及優勢將自隨附圖式中所說明之以下更特定描述顯見。
將結合隨附圖式來描述本揭示案,其中相同標號指示相同元件。
1.0概述
本文中之揭示內容及申請專利範圍係關於開發及最佳化一查詢存取資料庫之方式的查詢最佳化器。對於不熟習資料庫、查詢及最佳化器之人員而言,此概述部分將提供額外背景資訊。
已知資料庫及資料庫查詢
存在於此項技術中已知之許多不同類型的資料庫。最常見的稱作關連資料庫(RDB),其將資料組織於表中,該等表具有表示資料庫中之個別項或記錄的列,及界定儲存於每一項或記錄中之內容的行。
為了保持有用,必須能夠有效地擷取儲存於資料庫中之資料。自資料庫擷取資料之最常見方法為產生資料庫查詢。資料庫查詢為由資料庫管理器評估之表式。該表式可含有用於自資料庫擷取資料之一或多個述詞表式。舉例而言,假定存在用於包括雇員表之公司的資料庫,其中該表中之行表示雇員之姓名、住址、電話號碼、性別及薪水。在資料以此格式儲存之情形下,可公式化將擷取具有大於$40,000之薪水之所有女性雇員的記錄的查詢。類似地,可公式化將擷取具有特定區域碼或電話字首之所有雇員的記錄的查詢。定義查詢之一種風行方法為使用結構化查詢語言(SQL)。SQL定義用於產生及處理查詢之語法,其獨 立於資料庫之實際結構及格式。當資料庫接收一查詢請求時,其產生一存取計劃以在資料庫中執行查詢。該存取計劃可儲存於計劃快取記憶體中以供使用該同一存取計劃之隨後查詢使用。在先前技術中,稱作查詢最佳化器之工具評估一查詢中之表式且最佳化該查詢且產生存取資料庫之存取計劃。
查詢最佳化器亦可用於在平行電腦系統中最佳化查詢。本申請案及申請專利範圍係針對使用多重網路以滿足網路電腦系統中之查詢之資料庫查詢最佳化器。如下文進一步所描述,查詢最佳化器最佳化一查詢以將查詢執行分割而使用多重網路。
2.0詳細描述
在包括多個節點及使節點互連之多重網路的網路電腦系統中,資料庫查詢最佳化器使用多重網路最佳化一查詢以滿足該查詢。查詢最佳化器重寫或最佳化一查詢以在多個節點或網路上執行以更有效地執行該查詢及減少網路上之網路流量。本文中之實例係針對在諸如藍色基因超級電腦之大規模平行電腦系統上執行的查詢最佳化器。
由IBM開發之藍色基因超級電腦家族包括經由多個不同網路耦接在一起之數千的計算節點。在藍色基因架構中,環形網路及邏輯樹網路為獨立網路,此意謂其並不共用網路資源(諸如鏈路或封包注入FIFO)。當節點與不同獨立網路互連(如在藍色基因架構之狀況下)時,一或多個網路之使用可影響包括一或多個節點及網路上之資源之資料庫查 詢的效能。查詢最佳化器現可在執行一資料庫查詢時利用多重網路。已知查詢最佳化器在最佳化一資料庫查詢時考慮到許多情況,但已知查詢最佳化器尚未藉由重寫或最佳化該查詢以在多重網路上執行來最佳化一網路之效能及該查詢而最佳化查詢。
關於由國際商業機器公司(IBM)開發之藍色基因/L大規模平行電腦而展開此詳細描述。然而,熟習此項技術者將瞭解本揭示案及申請專利範圍之機制及裝置可同等地應用於多個節點及多重網路之任何平行電腦系統。
圖1展示表示併入有藍色基因/L電腦系統之許多特徵之大規模平行電腦系統100的方塊圖。藍色基因/L系統為計算節點之最大數目為65,536的可擴充系統。每一節點110具有特殊應用積體電路(ASIC)112,其亦稱作藍色基因/L電腦晶片112。該電腦晶片併入有兩個處理器或中央處理器單元(CPU)且安裝於節點子卡114上。該節點亦通常具有512百萬位元組之本端記憶體(未圖示)。節點板120容納32個節點子卡114,每一者具有節點110。因此,每一節點板具有32個節點,其中每一節點具有2個處理器,且每一處理器具有相關聯之記憶體。機架130為含有32個節點板120之外殼。節點板120中之每一者藉由中間平面(midplane)連接器134連接至中間平面印刷電路板132中。中間平面132位於機架之內部且在圖1中未圖示。整個藍色基因/L電腦系統將安放於64個機架130或機櫃中,其中在每一者中具有32個節點板120。整個系統接著將具有65,536個節點及 131,072個CPU(64個機架×32個節點板×32個節點×2個CPU)。
可將藍色基因/L電腦系統結構描述為具有I/O節點表面之計算節點核心,其中至1024個計算節點110之通信由具有連接至服務節點140之I/O處理器170的每一I/O節點來處理。I/O節點不具有本端儲存器。I/O節點經由邏輯樹網路連接至計算節點且亦經由十億位元乙太網路(Gigabit Ethernet)(未圖示)而具有功能性廣域網路能力。十億位元乙太網路連接至位於節點板120上之I/O處理器(或藍色基因/L鏈接晶片)170,該節點板120處理自服務節點140至若干節點之通信。藍色基因/L系統具有位於連接至節點板120之I/O板(未圖示)上的一或多個I/O處理器170。I/O處理器可經組態以與8、32或64個節點通信。服務節點使用超高速網路以藉由對計算節點上之鏈路卡通信而控制連接性。與I/O節點之連接類似於與計算節點之連接,除了I/O節點不連接至環形網路之外。
再次參看圖1,電腦系統100包括藉由軟體處理節點之載入及控制整個系統之操作的服務節點140。服務節點140通常為小型電腦系統,諸如具有控制台(未圖示)之執行Linux的IBM pSeries伺服器。服務節點140藉由控制系統網路150連接至計算節點110之機架130。該控制系統網路為藍色基因/L系統提供控制、測試及調入(bring up)基礎架構。控制系統網路150包括為大規模平行電腦系統提供必要通信之各種網路介面。下文進一步描述該等網路介面。
服務節點140管理專用於系統管理之控制系統網路150。控制系統網路150包括連接至位於節點板120上之Ido晶片180的專用100 Mb/s乙太網路,該節點板120處理自服務節點160至若干節點之通信。此網路有時稱作JTAG網路,因為其使用JTAG協定來通信。經由與服務節點通信之JTAG埠來管理對節點板120上之計算節點110之所有控制、測試及調入。另外,服務節點140包括網路監視器142。節點/網路管理器142包含服務節點中之軟體且可包括節點中之軟體。服務節點140進一步包括查詢最佳化器144。查詢最佳化器144可在服務節點上執行及/或載入至節點中。下文更全面地描述節點/網路管理器142,及查詢最佳化器144。
藍色基因/L超級電腦經由若干通信網路通信。圖2展示一展示藍色基因/L電腦系統上之計算節點的I/O連接的方塊圖。將65,536個計算節點及1024個I/O處理器170配置於邏輯樹網路與邏輯三維環形網路中。環形網路以類似於允許每一計算節點110與其最靠近的6個鄰近者通信之結構的柵格而邏輯地連接計算節點。在圖2中,環形網路由將節點連接至六個各別相鄰節點之X+、X-、Y+、Y-、Z+及Z-網路連接來說明。在圖2中,樹狀網路由樹0、樹1及樹2連接來表示。連接至節點之其他通信網路包括JTAG網路及全球中斷網路。JTAG網路經由圖1中所示之控制系統網路150提供用於來自服務節點140之測試及控制的通信。全球中斷網路用於實施軟體屏障以使計算節點上之類似過程同 步以在完成相同任務後移動至不同處理階段。此外,存在每一計算節點110之時脈信號及功率信號。
參看圖3,系統300經展示為包括經由多重網路310A、310B、310C,......,310N耦接在一起的多個節點305。系統300表示圖1中所示之電腦系統100的一部分。多重網路亦耦接至網路監視器142,其監視網路且將網路特徵記錄於網路檔案322中。網路監視器142將輸入資料提供至查詢最佳化器(或最佳化器)144。查詢最佳化器144包括計劃快取記憶體統計檔案324,其保持可由查詢最佳化器使用之關於先前所執行之查詢的資訊。查詢最佳化器亦包括節點屬性表326,其用於確定如何確定節點之網路是否過載及是否可再最佳化查詢以在不同網路上執行。下文更全面地描述此等資訊結構、網路檔案322、計劃快取記憶體統計檔案324及節點屬性表326。在較佳實施例中,多重網路為獨立網路,所以一個網路之問題並不影響不同網路之功能。然而,亦可使用依從性網路。
圖4、圖5及圖6說明所儲存資訊之資訊結構,該資訊可由查詢最佳化器使用以確定如何在平行電腦資料庫系統中經由多個節點及網路最佳化查詢。圖4說明由查詢最佳化器使用之網路檔案322。網路檔案322由網路監視器142(圖1、圖3)維持。網路檔案322較佳包括記錄關於電腦系統中之網路之狀態資訊所需的多個記錄。所說明之網路檔案322具有記錄410A、410B及410C。網路檔案記錄410A至410C含有資訊,諸如網路識別符(ID)、時間戳記、當前利 用率、未來利用率、網路可用性、延時及重新傳輸之百分率。當前利用率表示網路在時間戳記之時間在頻寬利用方面之忙碌程度。在可能情況下,預測及儲存網路之未來利用率。類似於上文所描述之節點可用性,網路之可用性指示網路可用還是不可用。儲存於網路檔案322中之資料包括關於網路狀態及負載之歷史及即時資訊。
圖5說明由查詢最佳化器使用之節點屬性表326。節點屬性表326較佳由使用圖形使用者介面(GUI)之系統管理員設定。節點屬性表326含有具有關於電腦系統中之節點及網路之狀態資訊的多個記錄。在所說明之實例中,屬性表326中之記錄510A及510B含有資訊,諸如節點識別符(ID)、節點資源之重要性及連接至節點之網路。查詢最佳化器檢查節點屬性表以如下文進一步所描述確定查詢是否可執行於給定網路上。
圖6說明由查詢最佳化器使用之計劃快取記憶體統計表324。計劃快取記憶體統計表324較佳由查詢最佳化器設定且如下文進一步所描述在執行查詢時加以更新。計劃快取記憶體統計表324含有具有關於執行於電腦資料庫系統上之查詢之執行效能度量的多個記錄。在所說明之實例中,屬性表324中之記錄610A及610B含有資訊,諸如查詢ID、查詢之執行時間、查詢之節點相關清單,及輸入/輸出自/至節點以執行查詢所需之位元組的數目。因此,為每一查詢儲存記錄且每一記錄可具有涉及該查詢之多重網路。
圖7展示兩個節點之方塊圖,其說明分割查詢執行至多 重網路之查詢最佳化的實例。第一節點(節點1 710)經由網路730連接至節點2 720。節點1 710、節點2 720及網路730表示諸如圖1中所示之藍色基因電腦系統之平行電腦系統中的節點及網路。對於此實例,吾人假定節點1 710上之查詢A(圖6)需要存取節點2 720上之資料。該查詢首先由最佳化器以正常方式接收。查詢最佳化器針對關於該查詢中所涉及之網路的資訊而檢查計劃快取記憶體統計。查詢最佳化器確定可將該查詢分割至多重網路以最佳化查詢之效能。查詢最佳化器可基於網路檔案322及快取記憶體計劃統計檔案324中之各種資料而進行此確定。在此實例中,可藉由確定若查詢僅使用網路A,則其將使網路A之利用率增加至80%,從而引起回應時間之顯著降級來進行該分割查詢的確定。分割查詢跨越網路A與網路B執行將允許網路A之利用率保持足夠低以避免增加之回應時間。
再次參看圖7,當查詢最佳化器確定不可分割查詢時,查詢最佳化器將以正常方式最佳化查詢。當查詢最佳化器確定可將查詢分割至多重網路時,檢查每一網路以得知其可用。可將查詢過程之某部分移動至另一可用網路。另一網路可添加至此查詢所涉及之網路的清單(圖6)。
圖8展示計算節點及網路之方塊圖,其說明分割查詢執行以使用多重網路之查詢最佳化的另一實例。第一組節點(節點1 810、節點2 820及節點3 830)由區域網路830連接。此外,第一組節點及節點4 850連接於全球網路860上。此實例中之節點及網路表示諸如圖1中所示之藍色基因電腦 系統之平行電腦系統中的節點及網路。對於此實例,吾人假定節點1 810上之查詢需要存取節點(節點2 820、節點3 830及節點4 850)上之資料。該查詢首先由最佳化器以正常方式接收。查詢最佳化器針對關於查詢中所涉及之網路的資訊而檢查計劃快取記憶體統計。查詢最佳化器確定可將查詢分割至多重網路以最佳化查詢之效能。進行該確定係因為使用全球網路自節點擷取所有資料將使全球網路過度負荷,從而引起該網路上之顯著回應時間。替代地,將查詢分割於全球網路與區域網路之間以使得來自節點2及3之一些或所有資料來自區域網路,從而減少對全球網路之影響。
圖9展示用於藉由多個節點及多重網路最佳化電腦資料庫查詢之方法900。方法900首先接收一查詢(步驟910)。接著,檢查以得知是否可分割該查詢以最佳化查詢執行(步驟920)。若不可分割該查詢(步驟920=否),則最佳化該查詢(步驟930)及執行該查詢(步驟940)。接著該方法完成。若可分割該查詢(步驟920=是),則處理每一節點(步驟950)且處理每一節點之每一網路(步驟960)。在處理節點之每一網路後,返回至步驟950且處理下一節點。當所有節點完成時,進入步驟930。若分割該查詢將不增加網路效能(步驟970=否),則處理下一網路(步驟960)。若分割該網路將增加效能(步驟970=是),則使用當前網路分割該查詢以經由多重網路處理該查詢(步驟980)。該方法可接著處理剩餘網路以發現額外網路來用於將該查詢分割至多重網路上或 該方法可在此節點完成。類似地,可處理所有節點以發現額外網路來將查詢分割至額外網路上。當節點全部被處理(步驟960)時,最佳化該查詢(步驟940)以使用在步驟950至980中發現之多重網路且執行該查詢(步驟950)。接著該方法完成。
圖10展示作為圖9中步驟940之一可能實施過程的方法940。方法940說明用於執行查詢且獲得執行資訊以協助管理電腦資料庫中之查詢的方法。首先,執行查詢(步驟1010)且收集資訊且在以下步驟中將其儲存於查詢檔案中。接著,對於用於查詢中之每一網路,更新計劃快取記憶體統計(步驟1020)。更新計劃快取記憶體統計包括記錄執行時間(步驟1030),接著記錄所要的另一查詢效能度量(步驟1040)。當已記錄網路/節點中之每一者時,該方法完成。
圖11展示用於圖1及圖3中之網路監視器142以確定網路流量及網路特徵的方法1100。該方法可執行於計算節點上或服務節點140(圖1中所示)上。對於每一網路執行此方法以管理資料庫中之資料庫查詢活動。對於每一網路(步驟1110),確定當前網路利用率(步驟1120)。在可能情況下,預測未來網路利用率(步驟1130)。可基於儲存於網路檔案中之先前統計而預測未來網路利用率。在應用程式已在之前被執行或具有可識別樣式之情況下,經預測之未來網路利用率亦可基於歷史記錄,且可基於經提供關於該應用程式之資訊。舉例而言,某些類型之應用程式傳統地執行特 定類型之查詢。因此,財務應用程式可執行對於特定節點之查詢,而科學應用程式執行對於所有節點之查詢。確定每一節點之網路延時(步驟1140)。計算及記錄平均延時(步驟1150)。可接著基於所計算之平均延時而確定網路之可用性(步驟1160)。舉例而言,若所計算之平均延時超過某一規定的臨限值位準,則網路將不過載或不可用,但若所計算之平均延時小於或等於所規定的臨限值位準,則網路將可用。應注意,在圖11中,在步驟1160中由網路監視器對網路是否"可用"的確定係關於在圖9中在步驟970中網路是否過載,且可使用任何適合試探或準則進行確定。
可在設定時間間隔下執行圖11中之方法1100,以使得不斷地更新網路特徵而不管使用之時間。當然,可在需要網路特徵時按要求執行替代方法1100。在需要網路特徵時按要求執行方法1100的益處在於資料將儘可能為最新的。在需要網路特徵時按要求執行方法1100的不利方面在於將由確定網路特徵之網路監視器142所引起的延遲。使網路監視器週期性地搜集網路特徵意謂此等特徵在查詢最佳化器需要其之任何時間係易於可用的。可視需要調整時間間隔之週期以在考慮到資料太陳舊之情況下平衡系統之效能。
此詳細描述介紹藉由在平行電腦系統中分割查詢執行至多重網路而由一查詢最佳化器最佳化查詢之方法及裝置。查詢最佳化器較佳使用計劃快取記憶體統計以確定是否使用多重網路來最佳化查詢。查詢最佳化器允許資料庫查詢較好地利用多重網路平行電腦系統之系統資源。
熟習此項技術者將瞭解許多變化可能在申請專利範圍之範疇內。因此,儘管上文特定展示及描述了本揭示案,但熟習此項技術者將理解在不脫離申請專利範圍之精神及範疇的情況下,可在其中進行形式及細節上的此等及其他改變。
100‧‧‧大規模平行電腦系統
110‧‧‧計算節點
112‧‧‧特殊應用積體電路(ASIC)/藍色基因/L電腦晶片
114‧‧‧節點子卡
120‧‧‧節點板
130‧‧‧機架
132‧‧‧中間平面印刷電路板
134‧‧‧中間平面連接器
140‧‧‧服務節點
140‧‧‧網路監視器/節點/網路管理器
144‧‧‧查詢最佳化器
150‧‧‧控制系統網路
170‧‧‧I/O處理器
180‧‧‧Ido晶片
300‧‧‧系統
305‧‧‧節點
310A‧‧‧網路
310B‧‧‧網路
310C‧‧‧網路
310N‧‧‧網路
322‧‧‧網路檔案
324‧‧‧計劃快取記憶體統計檔案
326‧‧‧節點屬性表
410A‧‧‧網路檔案記錄
410B‧‧‧網路檔案記錄
410C‧‧‧網路檔案記錄
510A‧‧‧節點屬性表記錄
510B‧‧‧節點屬性表記錄
610A‧‧‧節點屬性表記錄
610B‧‧‧節點屬性表記錄
710‧‧‧節點1
720‧‧‧節點2
730‧‧‧網路
810‧‧‧節點1
820‧‧‧節點2
830‧‧‧節點3
840‧‧‧區域網路
850‧‧‧節點4
860‧‧‧全球網路
圖1為具有重寫一查詢以利用平行電腦系統之多個節點及多條網路路徑之查詢最佳化器之電腦的方塊圖;圖2為一計算節點之方塊圖,其說明與該計算節點之網路連接;圖3為表示一查詢最佳化器系統之方塊圖;圖4為含有關於網路利用之資訊之網路檔案記錄的方塊圖;圖5為含有由系統管理員設定之節點及網路資訊之節點屬性表的方塊圖;圖6為計劃快取記憶體統計檔案之方塊圖;圖7為兩個節點之方塊圖,其說明用以減少節點或網路上之網路流量之查詢最佳化的一實例;圖8為展示用以根據圖7之實例減少節點或網路上之網路流量之查詢最佳化的方塊圖;圖9為平行資料庫系統中之一查詢最佳化器之方法流程圖;圖10為表示圖9中之步驟940之一可能實施過程的方法流程圖;及 圖11為建立由查詢最佳化器使用之網路檔案記錄的方法流程圖。
100‧‧‧大規模平行電腦系統
110‧‧‧計算節點
112‧‧‧特殊應用積體電路(ASIC)/藍色基因/L電腦晶片
114‧‧‧節點子卡
120‧‧‧節點板
130‧‧‧機架
132‧‧‧中間平面印刷電路板
134‧‧‧中間平面連接器
140‧‧‧服務節點
142‧‧‧網路監視器/節點/網路管理器
144‧‧‧查詢最佳化器
150‧‧‧控制系統網路
170‧‧‧I/O處理器
180‧‧‧Ido晶片

Claims (8)

  1. 一種電腦裝置,其包含:複數個節點,每一節點具有一記憶體及至少一處理器;一資料庫,其駐存於該記憶體中且可由來自該複數個節點中一節點之查詢存取;複數個獨立網路,其將該複數個節點中該節點連接至該資料庫;一查詢最佳化器,其駐存於該記憶體中且由該至少一處理器執行,其中該查詢最佳化器建立一最佳化查詢,其分割該查詢以在執行該最佳化查詢以存取該資料庫中使用該複數個獨立網路之多重獨立網路,且其中該查詢最佳化器使用來自先前執行查詢之計劃快取記憶體統計以確定是否使用多重獨立網路來最佳化該查詢,其中該等計劃快取記憶體統計包含:查詢識別符(ID)、執行時間、所涉及之節點,及該查詢之位元組的估計數目;且其中該查詢最佳化器使用包含用於該多重獨立網路之網路檔案資訊之一網路檔案,該網路檔案資訊包含:網路ID、一時間戳記、當前利用率、未來利用率、可用性、延時及重新傳輸。
  2. 如請求項1之電腦裝置,其中該最佳化查詢利用額外網路以增加通信速度來允許該查詢較快地執行。
  3. 如請求項1之電腦裝置,其中該複數個網路中的至少一 者將藉由在不使用該額外網路之情況下執行該查詢而過載。
  4. 如請求項1之電腦裝置,其進一步包含一連接至該複數個節點之服務節點,其控制該複數個節點;及一網路監視器,其週期性地監視該複數個網路以確定網路負載。
  5. 一種用於在一平行電腦系統上最佳化一查詢之電腦實施方法,其包含以下步驟:接收對於一資料庫之一查詢;針對關於該查詢中所涉及之網路的資訊而檢查一計劃快取記憶體統計表;其中該等計劃快取記憶體統計係選自下列各項:查詢識別符(ID)、執行時間、所涉及之節點,及該查詢之位元組的估計數目;當可分割該查詢之情況下,檢查其他網路之可用性且分割該查詢以將該查詢之一部分移動至一可用網路;最佳化該查詢以分割該查詢以使用多重網路,該多重網路使用來自先前執行查詢之計劃快取記憶體統計以確定是否使用多重獨立網路來最佳化該查詢;及執行該最佳化查詢。
  6. 一種用於在一具有複數個計算節點之平行電腦系統上執行的製品,其包含:一查詢最佳化器,其從一查詢建立一最佳化查詢以減少該平行電腦系統上之將該複數個計算節點連接至一單一資料庫之複數個獨立網路中之至少一者的網路流量, 其中該查詢最佳化器藉由分割該查詢以使用複數個獨立網路之多重網路以存取該單一資料庫來建立該最佳化查詢,且其中該查詢最佳化器使用來自先前執行查詢之計劃快取記憶體統計以確定是否使用多重獨立網路來最佳化該查詢;及儲存電腦指令之電腦可讀媒體,該等指令在由一電腦讀取時使該電腦執行該查詢最佳化器之步驟;其中該等計劃快取記憶體統計包含:查詢識別符(ID)、執行時間、所涉及之節點,及該查詢之位元組的估計數目;且其中該查詢最佳化器使用包含用於該多重獨立網路之網路檔案資訊之一網路檔案,該網路檔案資訊包含:網路ID、一時間戳記、當前利用率、未來利用率、可用性、延時及重新傳輸。
  7. 如請求項6之製品,其中該最佳化查詢利用額外網路以增加通信速度來允許該查詢較快地執行。
  8. 如請求項6之製品,其中該複數個網路中的該至少一者將藉由在不使用該額外網路之情況下執行該查詢而過載。
TW097129678A 2007-08-07 2008-08-05 多重網路之平行電腦系統中查詢最佳化 TWI497321B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/834,816 US20090043750A1 (en) 2007-08-07 2007-08-07 Query Optimization in a Parallel Computer System with Multiple Networks

Publications (2)

Publication Number Publication Date
TW200915111A TW200915111A (en) 2009-04-01
TWI497321B true TWI497321B (zh) 2015-08-21

Family

ID=40347452

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097129678A TWI497321B (zh) 2007-08-07 2008-08-05 多重網路之平行電腦系統中查詢最佳化

Country Status (2)

Country Link
US (3) US20090043750A1 (zh)
TW (1) TWI497321B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9143562B2 (en) * 2012-04-27 2015-09-22 Hewlett-Packard Development Company, L.P. Managing transfer of data from a source to a destination machine cluster
US8849871B2 (en) 2012-10-04 2014-09-30 Oracle International Corporation Efficient pushdown of joins in a heterogeneous database system involving a large-scale low-power cluster
US10108699B2 (en) * 2013-01-22 2018-10-23 Microsoft Technology Licensing, Llc Adaptive query suggestion
US9135301B2 (en) * 2013-03-14 2015-09-15 Oracle International Corporation Pushdown of sorting and set operations (union, intersection, minus) to a large number of low-power cores in a heterogeneous system
US10204140B2 (en) 2013-03-14 2019-02-12 Oracle International Corporation Massively parallel and in-memory execution of grouping and aggregation in a heterogeneous system
CN104750749B (zh) * 2013-12-31 2018-04-03 阿里巴巴集团控股有限公司 数据处理方法及装置
US10115116B2 (en) 2015-03-02 2018-10-30 Microsoft Technology Licensing, Llc Optimizing efficiency and cost of crowd-sourced polling
US10437821B2 (en) * 2016-10-26 2019-10-08 Sap Se Optimization of split queries
US10534774B2 (en) * 2017-06-21 2020-01-14 Microsoft Technology Licensing, Llc Query performance degradation analysis timing
CN110689325A (zh) * 2019-09-30 2020-01-14 深圳春沐源控股有限公司 信息处理方法、装置及计算机可读存储介质
US11061910B1 (en) * 2020-01-31 2021-07-13 Ocient Holdings LLC Servicing concurrent queries via virtual segment recovery

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037048A1 (en) * 1999-12-22 2003-02-20 Navin Kabra Method and apparatus for parallel execution of sql-from within user defined functions
US20050097078A1 (en) * 2003-10-31 2005-05-05 Lohman Guy M. System, method, and computer program product for progressive query processing
US20070053283A1 (en) * 2005-09-06 2007-03-08 International Business Machines Corporation Correlation and consolidation of link events to facilitate updating of status of source-destination routes in a multi-path network

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371852A (en) * 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
CA2172514C (en) * 1993-09-27 2000-02-22 Gary Hallmark Method and apparatus for parallel processing in a database system
US6173332B1 (en) * 1996-03-06 2001-01-09 Paul L. Hickman Method and apparatus for computing over a wide area network
US6081801A (en) * 1997-06-30 2000-06-27 International Business Machines Corporation Shared nothing parallel execution of procedural constructs in SQL
US6460043B1 (en) * 1998-02-04 2002-10-01 Microsoft Corporation Method and apparatus for operating on data with a conceptual data manipulation language
JP2002135330A (ja) 2000-08-16 2002-05-10 Nippon Telegr & Teleph Corp <Ntt> ノード間制御方式
US6961728B2 (en) * 2000-11-28 2005-11-01 Centerboard, Inc. System and methods for highly distributed wide-area data management of a network of data sources through a database interface
US6691109B2 (en) * 2001-03-22 2004-02-10 Turbo Worx, Inc. Method and apparatus for high-performance sequence comparison
US6763359B2 (en) * 2001-06-06 2004-07-13 International Business Machines Corporation Learning from empirical results in query optimization
US7343418B2 (en) 2002-06-03 2008-03-11 Microsoft Corporation Peer to peer network
US20050165748A1 (en) * 2004-01-15 2005-07-28 Seagate Technology Llc Method and apparatus for querying a computerized database
US7904881B2 (en) * 2006-07-26 2011-03-08 Intel Corporation Using a virtual stack for fast and composable stack cutting
US7917574B2 (en) * 2007-10-01 2011-03-29 Accenture Global Services Limited Infrastructure for parallel programming of clusters of machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037048A1 (en) * 1999-12-22 2003-02-20 Navin Kabra Method and apparatus for parallel execution of sql-from within user defined functions
US20050097078A1 (en) * 2003-10-31 2005-05-05 Lohman Guy M. System, method, and computer program product for progressive query processing
US20070053283A1 (en) * 2005-09-06 2007-03-08 International Business Machines Corporation Correlation and consolidation of link events to facilitate updating of status of source-destination routes in a multi-path network

Also Published As

Publication number Publication date
US20130185283A1 (en) 2013-07-18
US8812645B2 (en) 2014-08-19
US20090043750A1 (en) 2009-02-12
US20130185279A1 (en) 2013-07-18
US8688819B2 (en) 2014-04-01
TW200915111A (en) 2009-04-01

Similar Documents

Publication Publication Date Title
TWI497321B (zh) 多重網路之平行電腦系統中查詢最佳化
US8774057B2 (en) Query execution and optimization with autonomic error recovery from network failures in a parallel computer system with multiple networks
US11650971B2 (en) System and method for large-scale data processing using an application-independent framework
US20220171781A1 (en) System And Method For Analyzing Data Records
US8892558B2 (en) Inserting data into an in-memory distributed nodal database
US8171047B2 (en) Query execution and optimization utilizing a combining network in a parallel computer system
US20190370235A1 (en) Information Processing Method and Apparatus
US9195710B2 (en) Query optimization in a parallel computer system to reduce network traffic
US20080168077A1 (en) Pre-loading of an in memory database
CN106302656A (zh) 云存储平台的医药数据处理方法
US8037184B2 (en) Query governor with network monitoring in a parallel computer system
US9639427B1 (en) Backing up data stored in a distributed database system
CN107102901A (zh) 一种任务处理方法和装置
Alshamrani et al. An efficient approach for storage of big data streams in distributed stream processing systems
CN106302660A (zh) 药品信息分布式存储方法

Legal Events

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