JP5646511B2 - 分散スペースを用いて分散プログラミング環境を提供するための方法、システム及びコンピュータ読み取り可能な記録媒体 - Google Patents
分散スペースを用いて分散プログラミング環境を提供するための方法、システム及びコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP5646511B2 JP5646511B2 JP2011549050A JP2011549050A JP5646511B2 JP 5646511 B2 JP5646511 B2 JP 5646511B2 JP 2011549050 A JP2011549050 A JP 2011549050A JP 2011549050 A JP2011549050 A JP 2011549050A JP 5646511 B2 JP5646511 B2 JP 5646511B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- virtual space
- node
- virtual
- distributed
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
全体システムの構成
図1は、本発明の一実施例における全体システム(overall system)の構成を概略的に示す図である。
本発明の一実施例によると、特定作業を行おうとするアプリケーション300は、当該アプリケーションに割り当てられた仮想空間にデータを保存したり、保存されたデータを利用したりすることによって作業を行う。より具体的には、アプリケーション300によって扱われるデータは、キー(key)と値(value)のペアからなるものでもよい。ここで、キー(key)は、データに対するインデックスとして機能するものでもよく、値(value)は、データの値であってもよい。
クライアントサーバモデル(client server model)は、分散環境のための代表的なネットワークプログラミングモデルである。本発明の一実施例におけるクライアントサーバモデルは、一つの仮想空間を割り当てられ、互いに異なるキー(key)に対して書き込み/取り出し(write/take)関数を用いることにより容易に実現されてもよい。
マスターワーカモデル(master worker model)は、分散環境においてロードバランス(load balance)を維持する並行処理(parallel processing)を支援するために有用に活用されてもよい。従って、分散環境において並行処理を行うためにマスターワーカモデルが有する意味は非常に大きい。
スキャッタギャザーモデル(scatter‐gather model)は、大容量データを分散処理する際に有用である。本発明の一実施例におけるスキャッタギャザーモデルは、データを分散してすぐデータを収集処理することができるオンザフライ(on the fly)方式を支援するため、多様な長所を有するものでもよい。これは分散環境のためのパイプライン(pipeline)のようなものであって、リアルタイムで大量のリクエスト(request)を効率的に分散処理しなければならない場合に卓越した効果を奏する。
本発明の一実施例における分散プログラミング環境は、データレプリケーション(data replication)方式により障害に対応するものでもよい。これは、一つのノード(ここで、「ノード」は物理ノードと仮想ノードの通称として用いられる)に保存されるデータを他のノードに重複して保存することにより、特定のノードに障害が発生した場合にも障害が発生したノードのデータを復元できるようにする方式である。
2.先行オペレーション(スペースid)は、スペースidにスペースidがレプリケーションするデータを伝達する。
3.先行オペレーション(先行オペレーション(スペースid))はスペースidにスペースidがレプリケーションするデータを伝達する。
以下では、本発明の理解を容易にするために、本発明にかかる分散プログラミング環境を用いて作業を処理する他の実施例を説明する。
200 クラスタ
200a〜200f ノード
210〜270 仮想ノード
300 アプリケーション
Claims (11)
- 多数の物理ノードが参加する分散環境においてデータを処理するための方法であって、
前記多数の物理ノードが提供するリソースを統合した仮想空間を生成し、
前記物理ノード上で動作する複数の第1アプリケーションが、前記物理ノードに前記仮想空間からのデータの読み取り又は前記仮想空間へのデータの書き込みを実行させること、を含み、
前記データは、前記データの属性によって決定される前記仮想空間上の特定の位置領域にマッピングされ、
前記複数の第1アプリケーションは、前記物理ノードに前記位置領域における前記データに対する読み取り又は書き込みを実行させ、
前記多数の物理ノードのそれぞれは、前記仮想空間の少なくとも一つの仮想ノードに対応し、
前記仮想空間の生成又は前記仮想空間に参加する仮想ノード数の変化に応じて、前記少なくとも一つの仮想ノードのそれぞれに、当該仮想ノードが担当する前記仮想空間のデータ領域が自動的に割り当てられ、
前記複数の第1アプリケーションの1つが、前記処理の作業を分散処理可能な多数の部分作業に分割して、前記データを前記仮想空間に保存し、前記複数の第1アプリケーションの他の少なくとも1つに前記部分作業を分散処理させ、前記物理ノードに前記分散処理されたデータの取得を実行させる前記仮想空間のデータ領域は、前記多数の物理ノードのうち、前記複数の第1アプリケーションの他の少なくとも1つを動作させる物理ノードのリソースが割り当てられた仮想ノードが担当するデータ領域に限定されることを特徴とする方法。 - 前記位置領域は、前記データに所定のハッシュ関数を適用することにより決定されることを特徴とする請求項1に記載の方法。
- 前記ハッシュ関数は、前記データを前記仮想空間上の特定位置にマッピングさせるためのものであることを特徴とする請求項2に記載の方法。
- 前記ハッシュ関数によって処理されるデータは、予めサンプリングされたものであることを特徴とする請求項3に記載の方法。
- 前記ハッシュ関数又は前記多数の物理ノードのそれぞれが提供する前記仮想空間の一領域は、前記サンプリングを通じて調節されることを特徴とする請求項4に記載の方法。
- 請求項1乃至5のいずれか一項に記載の方法を物理ノードに実行させるためのコンピュータプログラムを記録することを特徴とするコンピュータ読み取り可能な記録媒体。
- 多数の物理ノードと、
前記物理ノード上で動作する複数の第1アプリケーションと、
を含む分散環境においてデータを処理するためのシステムであって、
前記多数の物理ノードが提供するリソースを統合した仮想空間が生成され、
前記複数の第1アプリケーションは、前記物理ノードに前記仮想空間からのデータの読み取り又は前記仮想空間へのデータの書き込みを実行させ、
前記データは、前記データの属性によって決定される前記仮想空間上の特定の位置領域にマッピングされ、
前記複数の第1アプリケーションは、前記物理ノードに前記位置領域における前記データに対する読み取り作業又は書き込み作業を実行させ、
前記多数の物理ノードのそれぞれは、前記仮想空間の少なくとも一つの仮想ノードに対応し、
前記仮想空間の生成又は前記仮想空間に参加する仮想ノード数の変化に応じて、前記少なくとも一つの仮想ノードのそれぞれに、当該仮想ノードが担当する前記仮想空間のデータ領域が自動的に割り当てられ、
前記複数の第1アプリケーションの1つが、前記処理の作業を分散処理可能な多数の部分作業に分割して、前記データを前記仮想空間に保存し、前記複数の第1アプリケーションの他の少なくとも1つに前記部分作業を分散処理させ、前記物理ノードに前記分散処理されたデータの取得を実行させる前記仮想空間のデータ領域は、前記多数の物理ノードのうち、前記複数の第1アプリケーションの他の少なくとも1つを動作させる物理ノードのリソースが割り当てられた仮想ノードが担当するデータ領域に限定されることを特徴とするシステム。 - 前記位置領域は、前記データに所定のハッシュ関数を適用することにより決定されることを特徴とする請求項7に記載のシステム。
- 前記ハッシュ関数は、前記データを前記仮想空間上の特定位置にマッピングさせるためのものであることを特徴とする請求項8に記載のシステム。
- 前記ハッシュ関数によって処理されるデータは予めサンプリングされたものであることを特徴とする請求項9に記載のシステム。
- 前記ハッシュ関数、又は前記多数の物理ノードそれぞれが提供する前記仮想空間の一領域は、前記サンプリングを通じて調節されることを特徴とする請求項10に記載のシステム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020090011103A KR100983479B1 (ko) | 2009-02-11 | 2009-02-11 | 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
| KR10-2009-0011103 | 2009-02-11 | ||
| PCT/KR2009/002014 WO2010093084A1 (ko) | 2009-02-11 | 2009-04-17 | 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012517631A JP2012517631A (ja) | 2012-08-02 |
| JP5646511B2 true JP5646511B2 (ja) | 2014-12-24 |
Family
ID=42561918
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011549050A Active JP5646511B2 (ja) | 2009-02-11 | 2009-04-17 | 分散スペースを用いて分散プログラミング環境を提供するための方法、システム及びコンピュータ読み取り可能な記録媒体 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US8799619B2 (ja) |
| JP (1) | JP5646511B2 (ja) |
| KR (1) | KR100983479B1 (ja) |
| WO (1) | WO2010093084A1 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101140484B1 (ko) * | 2010-08-24 | 2012-04-30 | 엔에이치엔비즈니스플랫폼 주식회사 | 수평적 구조의 파일 시스템을 이용하여 계층적 구조의 파일 시스템을 지원하는 파일 관리 시스템 및 파일 관리 방법 |
| RU2708043C2 (ru) * | 2016-11-01 | 2019-12-03 | Общество с ограниченной ответственностью "НПО Аналитика" | Способ сбора информации в оффлайне для анализа аудиторий в наружной рекламе и измерения эффективности размещения наружной рекламы |
| KR102019799B1 (ko) * | 2016-11-09 | 2019-09-09 | 건국대학교 산학협력단 | 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법 및 장치 |
| RU2725056C1 (ru) * | 2019-08-30 | 2020-06-29 | Общество с ограниченной ответственностью "Шопстер Технологии" | Способ измерения контактов с рекламным носителем в наружной рекламе |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5845331A (en) * | 1994-09-28 | 1998-12-01 | Massachusetts Institute Of Technology | Memory system including guarded pointers |
| KR100349658B1 (ko) * | 2000-12-04 | 2002-08-24 | 한국전자통신연구원 | 분산 가상환경을 위한 실시간 상태관리 서버와 그의공유공간 상태정보 관리방법 |
| US7613796B2 (en) * | 2002-09-11 | 2009-11-03 | Microsoft Corporation | System and method for creating improved overlay network with an efficient distributed data structure |
| JP4068473B2 (ja) | 2003-02-19 | 2008-03-26 | 株式会社東芝 | ストレージ装置、分担範囲決定方法及びプログラム |
| US7640274B2 (en) | 2004-07-21 | 2009-12-29 | Tinker Jeffrey L | Distributed storage architecture based on block map caching and VFS stackable file system modules |
| JP2006065525A (ja) | 2004-08-26 | 2006-03-09 | Hitachi Ltd | 分散環境における仮想共有空間の実現方法 |
| US7734890B2 (en) * | 2006-10-06 | 2010-06-08 | Okralabs Llc | Method and system for using a distributable virtual address space |
| JP5373295B2 (ja) * | 2008-02-04 | 2013-12-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチノード・サーバシステム、負荷分散方法、リソース管理サーバ、およびプログラム |
| US8386750B2 (en) * | 2008-10-31 | 2013-02-26 | Cray Inc. | Multiprocessor system having processors with different address widths and method for operating the same |
| US20110276776A1 (en) * | 2010-05-07 | 2011-11-10 | Tatu Ylonen Oy Ltd | Addressing for Huge Direct-Mapped Object Systems |
| KR101694977B1 (ko) * | 2010-12-17 | 2017-01-11 | 한국전자통신연구원 | 통합 메모리 서비스를 위한 소프트웨어 구조 및 이 소프트웨어 구조를 이용한 통합 메모리 서비스 제공 방법 |
-
2009
- 2009-02-11 KR KR1020090011103A patent/KR100983479B1/ko active Active
- 2009-04-17 JP JP2011549050A patent/JP5646511B2/ja active Active
- 2009-04-17 WO PCT/KR2009/002014 patent/WO2010093084A1/ko not_active Ceased
- 2009-04-17 US US13/201,098 patent/US8799619B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US8799619B2 (en) | 2014-08-05 |
| US20120030446A1 (en) | 2012-02-02 |
| KR100983479B1 (ko) | 2010-09-27 |
| JP2012517631A (ja) | 2012-08-02 |
| KR20100091757A (ko) | 2010-08-19 |
| WO2010093084A1 (ko) | 2010-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112204513B (zh) | 多租户存储系统中的基于组的数据复制 | |
| CN110308994B (zh) | 资源管理系统及方法 | |
| US8290919B1 (en) | System and method for distributing and accessing files in a distributed storage system | |
| US8768981B1 (en) | System and method for distributing and accessing files in a distributed storage system | |
| US12204496B2 (en) | Metadata control in a load-balanced distributed storage system | |
| CN102981929B (zh) | 磁盘镜像的管理方法和系统 | |
| Essa et al. | Mobile agent based new framework for improving big data analysis | |
| US20150254325A1 (en) | Managing a distributed database across a plurality of clusters | |
| US10996993B2 (en) | Adaptive work distribution in distributed systems | |
| EP3452919A1 (en) | Splitting and moving ranges in a distributed system | |
| CN104580439B (zh) | 一种云存储系统中使数据均匀分布的方法 | |
| Long et al. | A toolkit for modeling and simulating cloud data storage: An extension to cloudsim | |
| CN113836238B (zh) | 数据命令的批量处理方法及装置 | |
| CN115964176A (zh) | 云计算集群调度方法、电子设备和存储介质 | |
| JP5646511B2 (ja) | 分散スペースを用いて分散プログラミング環境を提供するための方法、システム及びコンピュータ読み取り可能な記録媒体 | |
| CN107391039B (zh) | 一种数据对象存储方法和装置 | |
| JP7729904B2 (ja) | シャード化データベース内のデータの論理削除 | |
| Fang et al. | Integrating workload balancing and fault tolerance in distributed stream processing system | |
| CN108259608B (zh) | 一种多智能体集群运算方法 | |
| JP2004046372A (ja) | 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体 | |
| Hadadian Nejad Yousefi et al. | IMOS: improved meta-aligner and Minimap2 on spark | |
| Kumar et al. | Graphsteal: Dynamic re-partitioning for efficient graph processing in heterogeneous clusters | |
| CN109716280A (zh) | 灵活的内存列存储布置 | |
| CN115686802B (zh) | 云计算集群调度系统 | |
| KR20110116772A (ko) | 분산 빌드 시스템에서 소스코드 버전관리 시스템 및 참조 파일 전송 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130917 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130924 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131224 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140507 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140807 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140814 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140908 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141007 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141105 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5646511 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |