TWI499971B - 聯合多運算叢集系統執行映射化簡程式的方法 - Google Patents
聯合多運算叢集系統執行映射化簡程式的方法 Download PDFInfo
- Publication number
- TWI499971B TWI499971B TW102107657A TW102107657A TWI499971B TW I499971 B TWI499971 B TW I499971B TW 102107657 A TW102107657 A TW 102107657A TW 102107657 A TW102107657 A TW 102107657A TW I499971 B TWI499971 B TW I499971B
- Authority
- TW
- Taiwan
- Prior art keywords
- mapping
- simplification
- cluster
- program
- computing
- Prior art date
Links
Landscapes
- Stored Programmes (AREA)
Description
本發明係關於一種執行映射化簡程式的方法,尤其是聯合多運算叢集系統執行映射化簡程式的方法。
隨著網際網路的普及化與速度提升,大型資料的運算已不再侷限於單一處理器進行,取而代之的,是將該大型資料切割成數個小型資料,再藉由網路將各該小型資料分配至不同的處理器,以進行分散式的運算,最後再將各個小型資料進行匯整,以獲得最後的輸出結果,藉此提升資料運算的速度。
在分散式運算系統中,映射化簡(MapReduce)可利用較簡單的數據處理方式,提供高效率的平行計算,故在近年來已成為分散式系統的重要開發架構。此外,由於Hadoop是一種具有映射化簡架構的運算叢集,因此被廣泛的應用於處理大型資料的雲端運算中。
進一步而言,當數個運算叢集用以進行分散式運算時,各該運算叢集係分別以映射化簡架構進行運算,以獲得數個子運算結果,再將該數個子運算結果匯集至一主運算叢集,並由該主運算叢集以另一映射化簡架構進行運算,以獲得一輸出資料。
請參照第1a圖所示,習知方法在進行WordCount運算時,係以數個運算叢集91對一子資料區B1的資料進行映射運算,以獲得一子運算結果B2,再對該子運算結果B2進行化簡運算,以得到一第一輸出結
果B3。
請參照第1b圖所示,各該第一輸出結果B3係傳送至一主運算叢集92,該主運算叢集92再對該數個第一輸出結果B3進行另一映射運算,以獲得一第二輸出結果B4,接著再對該第二輸出結果B4進行化簡運算,以得到一終端結果B5。
由第1a及1b圖可知,在該運算叢集91及主運算叢集92的映射化簡運算過程中,資料型態的變化不同,因此,為了對匯集至該主運算叢集92之資料進行運算,使用者更需另外設計一個專門用於主運算叢集92的映射化簡程式;此外,當使用者欲得到不同之輸出資料時,必然造成運算需求的改變,此時,該主運算叢集92之映射化簡程式亦必須隨之更改,上述情況皆造成分散式運算的使用不便。
本發明之主要目的係提供一種聯合多運算叢集系統執行映射化簡程式的方法,該方法可提升分散式運算的便利性。
為達到前述發明目的,本發明之聯合多運算叢集系統執行映射化簡程式的方法,其包含一第一運算叢集及至少一第二運算叢集,其中該第一運算叢集用以將一映射化簡運算之一映射程式執行於每個具有運算資料的該第一運算叢集及該至少一第二運算叢集,每個具有運算資料的該第一運算叢集及該至少一第二運算叢集以該映射程式對各自之資料進行映射運算,並得到數個暫時運算結果,接著將該數個暫時運算結果匯集到該第一運算叢集,再由該第一運算叢集執行該映射化簡運算之一化簡程式,對該數個暫時運算結果進行化簡運算,以獲得一最終結果。
本發明之聯合多運算叢集系統執行映射化簡程式的方法,其中每個具有運算資料的該第一運算叢集及該至少一第二運算叢集進行映射運算後,將所獲得之暫時運算結果匯集至該第一運算叢集時,係進行該第
一運算叢集及該至少一第二運算叢集間的資料複製與整合。
本發明之聯合多運算叢集系統執行映射化簡程式的方法,所述之資料複製與整合,係將每個具有運算資料的該第一運算叢集及該至少一第二運算叢集之暫時運算結果複製至該第一運算叢集內,並整合成滿足該映射化簡運算之化簡程式輸入格式要求之資料集。
本發明之聯合多運算叢集系統執行映射化簡程式的方法,其中該第一運算叢集及該至少一第二運算叢集係以可執行映射化簡系統所構成。
本發明之聯合多運算叢集系統執行映射化簡程式的方法,其中該映射程式係為一映射-代理化簡程式。
本發明之聯合多運算叢集系統執行映射化簡程式的方法,其中該化簡程式係為一代理映射-化簡程式。
〔本發明〕
1‧‧‧第一運算叢集
11‧‧‧工作分配程式
2‧‧‧第二運算叢集
3‧‧‧映射化簡程式集
31‧‧‧映射-代理化簡程式
32‧‧‧代理映射-化簡程式
A1‧‧‧資料區
A2‧‧‧子運算結果
A3‧‧‧暫時運算結果
A4‧‧‧最終結果
〔習知〕
91‧‧‧運算叢集
92‧‧‧主運算叢集
B1‧‧‧子資料區
B2‧‧‧子運算結果
B3‧‧‧第一輸出結果
B4‧‧‧第二輸出結果
B5‧‧‧終端結果
第1a圖:習知進行映射化簡運算之資料狀態第一流程圖。
第1b圖:習知進行映射化簡運算之資料狀態第二流程圖。
第2圖:本發明聯合多運算叢集系統執行映射化簡程式的方法較佳實施架構。
第3a圖:本發明進行映射化簡運算之資料狀態第一流程圖。
第3b圖:本發明進行映射化簡運算之資料狀態第二流程圖。
為讓本發明之上述及其他目的、特徵及優點能更明顯易懂,下文特舉本發明之較佳實施例,並配合所附圖式,作詳細說明如下:
請參照第2圖所示,其係本發明聯合多運算叢集系統執行映射化簡程式的方法之較佳實施裝置,係包含一第一運算叢集1、至少一第二運算叢集2及一映射化簡程式集3。該第一運算叢集1及該至少一第二運算叢集2較佳皆為可執行映射化簡之系統構成,且為具有儲存能力之一種分散式檔案系統,藉此,該第一運算叢集1及該至少一第二運算叢集2可進行映射化簡計算,並可進行分散式資料處理。
該映射化簡程式集3係預先儲存數種映射化簡運算要求所相對應之一代理映射部分與一代理化簡部分,並可在接收映射化簡運算要求後,根據該映射化簡運算要求選擇相對應之代理映射部分與代理化簡部分,以分別形成一映射-代理化簡程式31及一代理映射-化簡程式32。其中該數種映射化簡運算包含WordCount、BlockSearch等習知函式運算,在此並不設限。
該第一運算叢集1包含一工作分配程式11,該工作分配程式11係用以將映射-代理化簡程式31分配至相對之該第一運算叢集1及數個第二運算叢集2,以進行分散式運算處理。其中,分配至該第一運算叢集1及各該第二運算叢集2可為一個或數個映射-代理化簡程式31,在此並不設限。
此外,該映射化簡程式集3較佳設置於該第一運算叢集1及各該第二運算叢集2內,當該第一運算叢集1或任一第二運算叢集2接收該映射化簡要求後,可由該映射化簡程式集3中選擇該代理映射部分與代理化簡部分,以進行後續運算。
本發明之聯合多運算叢集系統執行映射化簡程式的方法,係由該第一運算叢集1用以將一映射化簡運算之一映射程式執行於每個具有運算資料的該第一運算叢集1及該至少一第二運算叢集2,每個具有運算資料的該第一運算叢集1及該至少一第二運算叢集2以該映射程式對各自
之資料進行映射運算,得到數個暫時運算結果,接著將該數個暫時運算結果匯集到該第一運算叢集1,再由該第一運算叢集1執行該映射化簡運算之一化簡程式,將所有運算叢集匯集之該數個暫時運算結果進行化簡運算,以獲得一最終結果。
其中,每個具有運算資料的運算叢集進行映射運算後,將所獲得之暫時運算結果匯集至該第一運算叢集1時,需進行叢集間資料複製與整合,以確保原只能於一個叢集內執行之映射化簡運算要求,得以於跨多個運算叢集系統上聯合執行。而該資料複製與整合,係將每個具有運算資料的運算叢集之暫時運算結果複製至該第一運算叢集1內,並整合成滿足該映射化簡運算之化簡程式輸入格式要求之資料集
更詳言之,當該第一運算叢集1接收一映射化簡運算要求,係依據該映射化簡運算要求的映射化簡輸出入之關係,將該映射化簡運算要求拆解成該映射-代理化簡程式31與代理映射-化簡程式32,並將該映射-代理化簡程式31傳送給該至少一第二運算叢集2。其中,該映射程式即為該映射-代理化簡程式31,該化簡程式即為該代理映射-化簡程式32。
該映射化簡程式集3可根據該映射化簡運算要求之輸入與輸出,找出相對應之代理映射部分與代理化簡部份,並將原本之映射化簡運算要求拆解為一映射部分與一化簡部份,再將該代理化簡部份結合至該映射部份以形成該映射-代理化簡程式31,及將該代理映射部份結合至該化簡部份以形成該代理映射-化簡程式32,再將該映射-代理化簡程式31傳送給各該第二運算叢集2,使各該第二運算叢集2進行相對應之映射-代理化簡運算。
在各該第二運算叢集2接收該映射-代理化簡程式31後,各該第二運算叢集2先以該映射-代理化簡程式31之映射部分運算獲得一子運算結果,再以該映射-代理化簡程式31之代理化簡部份將該子運算結果
化簡為一暫時運算結果,並將該暫時運算結果傳送至該第一運算叢集1。
更詳言之,各該第二運算叢集2係對指定之資料區進行該映射-代理化簡程式31,且在映射部分的運算時,可先由該資料區中獲得該子運算結果,在代理化簡部份的運算時,再將該子運算結果化簡成該暫時運算結果。當各該第二運算叢集2皆運算出各自之暫時運算結果後,該數個暫時運算結果可再傳送至該第一運算叢集1,以進行下一步的運算流程。
在該第一運算叢集1接收該暫時運算結果後,該第一運算叢集1執行該代理映射-化簡程式32,先以該代理映射-化簡程式32之代理映射部分將各該第二運算叢集2的暫時運算結果恢復為該子運算結果,再以該代理映射-化簡程式32之化簡部分將該至少一第二運算叢集2的所有子運算結果進行化簡,以獲得並輸出一最終結果。
更詳言之,該映射化簡程式集3所產生之代理映射-化簡程式32係位於該第一運算叢集1中,當該第一運算叢集1接收該數個暫時運算結果後,該第一運算叢集1係對該數個暫時運算結果執行該代理映射-化簡程式32,且在代理映射部分的運算時,先將該數個暫時運算結果恢復成該數個子運算結果,在化簡部份的運算時,再將該數個子運算結果化簡成該最終結果。
為進一步解釋本發明聯合多運算叢集系統執行映射化簡程式的方法與習知方法的差異,以下特以一WordCount計算實施例及其圖式進行說明。
請參照第3a圖所示,本發明聯合多運算叢集系統執行映射化簡程式的方法中,當該第二運算叢集2對該資料區A1的資料進行映射部分運算後,可獲得該子運算結果A2,當該子運算結果A2以代理化簡部份運算後,可得到該暫時運算結果A3。
請參照第3b圖所示,當該暫時運算結果A3傳送至該第一運
算叢集1時,可藉由該代理映射部份將該暫時運算結果A3恢復成子運算結果A2,再藉由化簡部份將該子運算結果A2化簡成該最終結果A4。
由上述說明可知,本發明藉由該映射化簡程式集3的設置,可根據該映射化簡運算之輸出與輸入關係,在原本的映射與化簡運算中,另外產生該代理映射部分與代理化簡部份,並形成該映射-代理化簡程式31及代理映射-化簡程式32。如此一來,使用者不需要再為最後匯集至該第一叢集1的暫時運算結果A3,另外設計具有不同輸出與輸入之配對關係的映射化簡程式。
除此之外,當使用者的運算需求改變時,該映射化簡程式集3仍可根據該映射化簡運算需求,以形成較適合之該映射-代理化簡程式31及代理映射-化簡程式32,因此,使用者亦不需要再針對不同的運算需求另外設計新的映射化簡程式。其中,可由此方式形成該映射-代理化簡程式31及代理映射-化簡程式32的映射化簡運算,係為使用Hadoop函式庫中實作InputFormat介面之類別做為輸入格式的所有映射化簡程式。
本發明聯合多運算叢集系統執行映射化簡程式的方法,藉由該該映射-代理化簡程式及代理映射-化簡程式的產生,可提升分散式運算的便利性。
雖然本發明已利用上述較佳實施例揭示,然其並非用以限定本發明,任何熟習此技藝者在不脫離本發明之精神和範圍之內,相對上述實施例進行各種更動與修改仍屬本發明所保護之技術範疇,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1‧‧‧第一運算叢集
11‧‧‧工作分配程式
2‧‧‧第二運算叢集
3‧‧‧映射化簡程式集
31‧‧‧映射-代理化簡程式
32‧‧‧代理映射-化簡程式
Claims (6)
- 一種聯合多運算叢集系統執行映射化簡程式的方法,包含一第一運算叢集及至少一第二運算叢集,其中該第一運算叢集用以將一映射化簡運算之一映射程式執行於每個具有運算資料的該第一運算叢集及該至少一第二運算叢集,每個具有運算資料的該第一運算叢集及該至少一第二運算叢集以該映射程式對各自之資料進行映射運算,並得到數個暫時運算結果,接著將該數個暫時運算結果匯集到該第一運算叢集,再由該第一運算叢集執行該映射化簡運算之一化簡程式,對該數個暫時運算結果進行化簡運算,以獲得一最終結果。
- 根據申請專利範圍第1項所述之聯合多運算叢集系統執行映射化簡程式的方法,其中每個具有運算資料的該第一運算叢集及該至少一第二運算叢集進行映射運算後,將所獲得之暫時運算結果匯集至該第一運算叢集時,係進行該第一運算叢集與該至少一第二運算叢集間的資料複製與整合。
- 根據申請專利範圍第2項之聯合多運算叢集系統執行映射化簡程式的方法,其中該資料複製與整合,係將每個具有運算資料的該第一運算叢集及該至少一第二運算叢集之暫時運算結果複製至第一運算叢集內,並整合成滿足該映射化簡運算之化簡程式輸入格式要求之資料集。
- 根據申請專利範圍第1項所述之聯合多運算叢集系統執行映射化簡程式的方法,其中該第一運算叢集及該至少一第二運算叢集係以可執行映射化簡系統所構成。
- 根據申請專利範圍第1項所述之聯合多運算叢集系統執行映射化簡程式的方法,其中該映射程式係為一映射-代理化簡程式。
- 根據申請專利範圍第1項所述之聯合多運算叢集系統執行映射化簡程式的方法,其中該化簡程式係為一代理映射-化簡程式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102107657A TWI499971B (zh) | 2013-03-05 | 2013-03-05 | 聯合多運算叢集系統執行映射化簡程式的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102107657A TWI499971B (zh) | 2013-03-05 | 2013-03-05 | 聯合多運算叢集系統執行映射化簡程式的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201435732A TW201435732A (zh) | 2014-09-16 |
TWI499971B true TWI499971B (zh) | 2015-09-11 |
Family
ID=51943389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102107657A TWI499971B (zh) | 2013-03-05 | 2013-03-05 | 聯合多運算叢集系統執行映射化簡程式的方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI499971B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102098B2 (en) | 2015-12-24 | 2018-10-16 | Industrial Technology Research Institute | Method and system for recommending application parameter setting and system specification setting in distributed computation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222092A (zh) * | 2011-06-03 | 2011-10-19 | 复旦大学 | 一种MapReduce平台上的海量高维数据聚类方法 |
CN102426609A (zh) * | 2011-12-28 | 2012-04-25 | 厦门市美亚柏科信息股份有限公司 | 一种基于MapReduce编程架构的索引生成方法和装置 |
TW201239665A (en) * | 2011-03-31 | 2012-10-01 | Verisign Inc | Systems, apparatus, and methods for network data analysis |
CN102915365A (zh) * | 2012-10-24 | 2013-02-06 | 苏州两江科技有限公司 | 基于Hadoop的分布式搜索引擎构建方法 |
-
2013
- 2013-03-05 TW TW102107657A patent/TWI499971B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201239665A (en) * | 2011-03-31 | 2012-10-01 | Verisign Inc | Systems, apparatus, and methods for network data analysis |
CN102222092A (zh) * | 2011-06-03 | 2011-10-19 | 复旦大学 | 一种MapReduce平台上的海量高维数据聚类方法 |
CN102426609A (zh) * | 2011-12-28 | 2012-04-25 | 厦门市美亚柏科信息股份有限公司 | 一种基于MapReduce编程架构的索引生成方法和装置 |
CN102915365A (zh) * | 2012-10-24 | 2013-02-06 | 苏州两江科技有限公司 | 基于Hadoop的分布式搜索引擎构建方法 |
Non-Patent Citations (1)
Title |
---|
"http://www.cs.rutgers.edu/~pxk/417/notes/content/mapreduce.html",A framework for large-scale parallel processing,Paul Krzyzanowski,November 2011 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102098B2 (en) | 2015-12-24 | 2018-10-16 | Industrial Technology Research Institute | Method and system for recommending application parameter setting and system specification setting in distributed computation |
Also Published As
Publication number | Publication date |
---|---|
TW201435732A (zh) | 2014-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lu et al. | Internet-based virtual computing environment: Beyond the data center as a computer | |
Xin et al. | Graphx: A resilient distributed graph system on spark | |
Gu et al. | Sector and Sphere: the design and implementation of a high-performance data cloud | |
Zhang et al. | Moving SWAT model calibration and uncertainty analysis to an enterprise Hadoop-based cloud | |
Grover et al. | Data Ingestion in AsterixDB. | |
US8943372B2 (en) | Systems and methods for open and extensible integration of management domains in computation and orchestration of resource placement | |
CN104536937B (zh) | 基于cpu‑gpu异构集群的大数据一体机实现方法 | |
CN104008007A (zh) | 基于流式计算和批处理计算的互操作数据处理系统及方法 | |
US20150154052A1 (en) | Lazy initialization of operator graph in a stream computing application | |
JP2014093080A (ja) | 仮想化シミュレーション・エンジンのための方法、システム、およびコンピュータ・プログラム | |
CN114598631B (zh) | 面向神经网络计算的分布式数据路由的建模方法和装置 | |
Ying et al. | Bluefog: Make decentralized algorithms practical for optimization and deep learning | |
Dichev et al. | Optimization of collective communication for heterogeneous hpc platforms | |
TWI499971B (zh) | 聯合多運算叢集系統執行映射化簡程式的方法 | |
Varghese et al. | Acceleration-as-a-service: Exploiting virtualised GPUs for a financial application | |
Schreiber et al. | Shared memory parallelization of fully-adaptive simulations using a dynamic tree-split and-join approach | |
Huang et al. | Flexible architecture for cluster evolution in cloud computing | |
Murray | A distributed execution engine supporting data-dependent control flow | |
US10374915B1 (en) | Metrics processing service | |
Zhang et al. | PROAR: a weak consistency model for Ceph | |
Saey et al. | Skitter: A dsl for distributed reactive workflows | |
Gao et al. | Low-cost cloud computing solution for geo-information processing | |
Stolz et al. | GALOIS: A Hybrid and Platform-Agnostic Stream Processing Architecture | |
Guo et al. | Machine Learning on Commodity Tiny Devices: Theory and Practice | |
Cappellari et al. | A scalable platform for low-latency real-time analytics of streaming data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |