KR100800615B1 - Agent-based P2P-Message Passing Interface Middleware and Its Design Method - Google Patents
Agent-based P2P-Message Passing Interface Middleware and Its Design Method Download PDFInfo
- Publication number
- KR100800615B1 KR100800615B1 KR1020060070891A KR20060070891A KR100800615B1 KR 100800615 B1 KR100800615 B1 KR 100800615B1 KR 1020060070891 A KR1020060070891 A KR 1020060070891A KR 20060070891 A KR20060070891 A KR 20060070891A KR 100800615 B1 KR100800615 B1 KR 100800615B1
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- ratio
- mpi
- resource provider
- providers
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 P2P기반 분산시스템에 MPI를 적용하여 동적환경에서 자율적인 연산이 이루어지도록 지원하는 에이전트 기반 P2P-MPI 미들웨어 및 그 설계 방법에 관한 것이다. 본 발명의 에이전트 기반 P2P-MPI 미들웨어의 설계방법은, 각 자원제공자들의 연산 지속성 비율 및 연산 가용성 비율을 산출하는 방법을 라이브러리에 적용하는 과정과, 상기 산출된 연산 지속성 비율 및 연산 가용성 비율에 따라 자원제공자들을 분류하며 각 자원제공자들에게 고유의 식별키를 할당하며, 상기 조정자가 다른 자원제공자와 함께 자원식별트리를 구성하는 오버레이 네트워크 형성방법을 라이브러리에 적용하는 과정과, 동일한 하나의 태스크잡(task job)을 연산 가용성 비율이 낮은 여러 개의 자원제공자에서 동시에 실행시켜 이들의 연산을 종합함으로써 연산시간을 단축시키는 연산중복기법을 라이브러리에 적용하는 과정을 포함한다.The present invention relates to an agent-based P2P-MPI middleware that supports autonomous operation in a dynamic environment by applying MPI to a P2P-based distributed system and a design method thereof. In the method of designing agent-based P2P-MPI middleware of the present invention, the method of calculating the computational persistence ratio and the computational availability ratio of each resource provider is applied to the library, and the resource is calculated according to the computed computational persistence ratio and the computational availability ratio. Classifying providers and assigning each resource provider a unique identification key, and the coordinator applies an overlay network formation method to a library that forms a resource identification tree with other resource providers, and the same task It includes the process of applying the operation redundancy technique to the library which shortens the computation time by executing the job) simultaneously in several resource providers with low operation availability ratio and synthesizing these operations.
그리드 컴퓨팅, MPI, P2P, 분산시스템, 그룹핑, 자원제공자, 조정자 Grid Computing, MPI, P2P, Distributed Systems, Grouping, Resource Providers, Coordinators
Description
도 1 및 도 2는 종래의 P2P기반 분산시스템들의 성능을 비교한 테이블이다.1 and 2 are tables comparing the performance of conventional P2P based distributed systems.
도 3은 본 발명에 따른 에이전트 기반 P2P-MPI 미들웨어 설계 과정을 도시한 플로차트이다.3 is a flowchart illustrating an agent-based P2P-MPI middleware design process according to the present invention.
도 4는 P2P기반 분산시스템의 모델을 도시한 그림이다.4 is a diagram illustrating a model of a P2P based distributed system.
도 5는 본 발명에 따라 각 자원제공자들을 연산 지속성 비율 및 연산 가용성 비율에 따라 분류한 그림이다.5 is a diagram illustrating each resource provider classified according to a computation persistence ratio and a computation availability ratio according to the present invention.
도 6은 본 발명에 따라 각 자원제공자들에게 식별자를 할당한 모습을 도시한 그림이다.6 is a diagram illustrating a state in which an identifier is assigned to each resource provider according to the present invention.
도 7은 본 발명에 따른 자원식별트리를 도시한 그림이다.7 is a diagram illustrating a resource identification tree according to the present invention.
도 8은 본 발명에 따른 오버레이 네트워크를 도시한 그림이다.8 is a diagram illustrating an overlay network according to the present invention.
도 9는 본 발명에 따른 연산중복법을 적용하는 과정을 도시한 플로차트이다.9 is a flowchart illustrating a process of applying the operation redundancy method according to the present invention.
도 10은 본 발명에 따른 1:1 연산 의존성 관계를 도시한 그림이다.10 is a diagram illustrating a 1: 1 operation dependency relationship according to the present invention.
도 11은 본 발명에 따른 n:1 연산 의존성 관계를 도시한 그림이다.11 is a diagram illustrating an n: 1 operation dependency relationship according to the present invention.
도 12는 본 발명에 따른 연산 의존성 관계에 따른 의존성 그래프를 도시한 그 림이다.12 is a diagram illustrating a dependency graph according to an operation dependency relationship according to the present invention.
도 13은 본 발명에 따른 연산 의존성 관계에 따라 XML코드화한 모습을 도시한 그림이다.13 is a diagram showing the XML-encoded form according to the operation dependency relationship according to the present invention.
도 14는 본 발명에 따라 각 자원제공자들이 연산 의존성 관계에 따라 연산을 수행하는 모습을 도시한 그림이다.14 is a diagram illustrating a state in which each resource provider performs an operation according to an operation dependency relationship according to the present invention.
도 15는 본 발명에 따른 에이전트 기반 P2P-MPI 미들웨어를 도시한 그림이다.15 is a diagram illustrating an agent-based P2P-MPI middleware according to the present invention.
도 16 및 도 17은 종래의 P2P기반 분산시스템들의 성능과 본 발명에 따른 에이전트 기반 P2P-MPI 미들웨어의 성능을 비교한 테이블이다.16 and 17 are tables comparing the performance of the conventional P2P-based distributed systems and the performance of the agent-based P2P-MPI middleware according to the present invention.
*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings
S30: 각 자원제공자들에 대한 연산 지속성 비율 및 연산 가용성 비율 산출S30: Calculation of computational persistence ratio and computational availability ratio for each resource provider
S32: 연산 지속성 비율 및 연산 가용성 비율에 따른 자원제공자 분류S32: Resource Provider Classification by Compute Persistence Rate and Compute Availability Rate
S34: 오버레이 네트워크 구성방법 적용S34: Apply overlay network configuration method
S36: 연산중복기법 적용 S38: 의존성기법 적용S36: Apply Redundancy Technique S38: Apply Dependency Technique
40: 중앙관리서버 41: 클라이언트40: Central Management Server 41: Client
42: 스토리지 서버 43: 자원제공자 42: storage server 43: resource provider
44: 조정자44: Adjuster
본 발명은 P2P기반 분산시스템에 MPI를 적용하여 동적환경에서 자율적인 연산이 이루어지도록 지원하는 에이전트 기반 P2P-MPI 미들웨어 및 그 설계 방법에 관한 것이다.The present invention relates to an agent-based P2P-MPI middleware that supports autonomous operation in a dynamic environment by applying MPI to a P2P-based distributed system and a design method thereof.
그리드컴퓨팅이란 컴퓨터를 네트워크로 연결하여 다양한 컴퓨터 자원을 통합하여 계산 능력과 효율을 극대화하기 위한 기술이다. '그리드(The Grid)'라고 명명된 이 가상 컴퓨터는 일정 시간 동안 어느 컴퓨터의 자원이 남아도는지 측정해 어느 한 작업에 집중시켜 준다. 즉, 네트워크로 연결된 컴퓨터 간의 자원 효율성을 극대화 시켜 작업의 속도를 향상 시킨다. Grid computing is a technology to maximize computing power and efficiency by integrating various computer resources by connecting computers to a network. Called The Grid, the virtual machine measures which computer's resources remain for a certain amount of time and concentrates on one task. In other words, it maximizes the resource efficiency between networked computers and speeds up work.
상기 그리드 컴퓨팅에서는 메시지 패싱 인터페이스(MPI; Message Passing Interface)기술이 적용되는데, 상기 MPI는, 병렬 프로그램을 고성능 컴퓨터에서 응용과학자들이 실행하기 위한 표준 인터페이스로서, 메시지 전달기법을 기반으로 한 병렬처리 미들웨어이다. MPI 응용 프로그램에 참여하는 모든 프로세스는 각자의 ID(RANK)를 가지고 서로 간에 메시지를 주고받음으로써 특정한 작업을 수행하게 된다. 따라서 모든 프로세스는 전체 프로그램에서 자기의 역할(RANK)과 전체적인 구조 및 상대방의 위치를 우선적으로 파악해야 한다. 이는 MPI_Init 함수에서 담당하며 MPI_Init과정이 끝나야 MPI 응용으로서의 수행이 가능해지는 것이다. 기존의 응용과학자들은 그리드 환경에서 새로운 인터페이스를 통한 응용프로그램을 만드는 것 보다는 이미 만들어져 있는 MPI코드를 이용해서 작업을 수행하는 것을 선호한다.In the grid computing, a message passing interface (MPI) technology is applied. The MPI is a standard interface for application scientists to execute a parallel program on a high-performance computer and is a parallel processing middleware based on a message passing technique. . Every process that participates in an MPI application performs a specific task by exchanging messages with each other with its own ID (RANK). Therefore, every process should first grasp its role (RANK), the overall structure and the other party's position in the overall program. This is handled by the MPI_Init function, and the MPI application can be executed only when the MPI_Init process is completed. Existing applied scientists prefer to work with existing MPI code rather than creating applications with new interfaces in a grid environment.
상기 그리드 환경에서 MPI 미들웨어(라이브러리)를 이용하여 작업을 수행하는 API로는 MPICH가 있는데, 상기 MPICH는 고성능(High Performance)과 이식성(Portability)을 함께 고려하여 구현한 것으로 MPI 표준 중에서 가장 널리 사용되고 있다. 현재까지 MPICH-G2와 MPICH-P4가 알려져 있다. MPICH-G2와 MPICH-P4의 MPI 초기화 방식은 모두 중앙형으로 중재 프로세스가 중앙에 위치하여 프로세스간 정보를 교환하는데 중재역할을 지속적으로 수행해야 하므로, 중재 프로세스의 위치가 성능에 크게 영향을 미치게 되면 중재 프로세스의 유형에 따라 미들웨어에 대한 의존도가 매우 커지게 된다.An API for performing work using MPI middleware (library) in the grid environment is MPICH. The MPICH is implemented in consideration of high performance and portability and is most widely used among MPI standards. To date, MPICH-G2 and MPICH-P4 are known. The MPI initialization methods of MPICH-G2 and MPICH-P4 are both centralized, and the mediation process must be centrally located to continuously intervene in exchanging information. Therefore, if the location of the mediation process greatly affects performance, Depending on the type of mediation process, the dependence on middleware becomes very large.
한편, P2P기반 분산시스템은 기존의 슈퍼컴퓨터에서 수행하던 응용을 대체할 수 있는 수단으로서 다양한 과학응용에 대한 연산을 위해 표준 인터페이스에 관한 연구가 활발히 진행되고 있다. 그러나 현재의 P2P기반 분산시스템 환경은 플랫폼의 제약으로 인해 다양한 응용 수행에 한계가 있다. 대다수의 응용들은 단일 프로그램에 다중 데이터(SPMD; Single Program Multiple Data) 형태나 다중 프로그램에 다중 데이터(MPMD; Multiple Program Multiple Data) 형태를 갖고 있지만, 현재 P2P기반 분산시스템 시스템에서 수행되는 응용들은 단일 프로그램에 단일 데이터(SPSD; Single Program Single Data) 형태로서 수행되고 있다. 또한, P2P기반 분산시스템 환경에서 자원제공자들은 이질적이고 동적인 특징으로 자유롭게 자신의 자원을 연산에 참여시키거나 이탈함으로써 자원의 상태가 동적으로 변하게 된다. 이와 같은 동적인 연산환경에서 광범위하게 분산되어 있는 수많은 이질적인 자원 (자원제공자)들로 SPMD나 MPMD 응용을 수행하기 위해서는 안정적인 연산 환경을 제공해 주어야 하고 의존적인 연산 수행을 위한 표준 인터페이스 기술이 요구된다.On the other hand, P2P-based distributed system is a means to replace the application that was performed in the existing supercomputer, the research on the standard interface for the calculation for various scientific applications is actively being conducted. However, current P2P-based distributed system environment has limitations in performing various applications due to platform limitations. Although most applications have a single program multiple data (SPMD) type in a single program or multiple programs multiple data (MPMD) type in a multi-program, applications currently implemented in a P2P based distributed system system are single program. Is performed in the form of Single Program Single Data (SPSD). In addition, in the P2P-based distributed system environment, resource providers are dynamically and dynamically change their status by allowing them to freely join or leave their resources. In such a dynamic computing environment, in order to perform SPMD or MPMD applications with a large number of heterogeneous resources (resources providers), a stable computing environment must be provided and a standard interface technology for performing dependent computing is required.
따라서 P2P기반 분산 컴퓨팅 환경에서 동적인 연산 환경에 적응하기 위하여 신뢰적인 연산수행을 보장하기 위한 연구와, 다양한 응용 수행을 목표로 하는 MPI기술을 적용하려는 연구로 분류되어 진행되고 있다. 즉, P2P기반 분산 컴퓨팅 프로젝트와 그리드 컴퓨팅에서 MPI 미들웨어 기술을 접목한 프로젝트 연구가 하기와 같이 진행되었다. Therefore, it is classified into researches to ensure reliable computational performance to adapt to dynamic computing environment in P2P-based distributed computing environment and to apply MPI technology aiming at performing various applications. In other words, P2P-based distributed computing projects and project research combining MPI middleware technology in grid computing were conducted as follows.
1) BOINC: 데스크탑 자원의 자발적 참여를 이용하여 분산컴퓨팅(공공 자원 컴퓨팅)을 실현하는 플랫폼으로서 컴퓨팅 공간을 제공하며, 데스크탑 소유자들이 자신의 자원(CPU, disk-space) 등을 나누어 할당함으로써 끊임없이 다중 프로젝트에 참여할 수 있게 한다.1) BOINC: A platform that realizes distributed computing (public resource computing) by using voluntary participation of desktop resources, and provides computing space, and desktop owners divide and allocate their resources (CPU, disk-space) constantly Enable you to participate in the project.
2) JNGI: 선 마이크로 시스템즈 회사에서 개발된 대규모 연산을 지원하는 자바 기반 프레임워크로서 JXTA 포르토콜을 이용하여 참여와 탈퇴가 자유로운 자원제공자들의 그룹화와 P2P 통신을 지원한다.2) JNGI: A Java-based framework that supports large-scale operations developed by Sun Microsystems, Inc., using JXTA protocol to support grouping and peer-to-peer communication of freely available and unsubscribed resources.
3) P3: 일본의 AIST에서 개발되어 JXTA 프로토콜을 이용한 대규모 연산 지원 미들웨어로서, 피어들간의 자가 조직(self-organizing), 발견(discovery), 그룹화 등을 지원한다. P3의 구성원은 일반적인 자원제공자를 의미하는 호스트와, 다른 자원의 참여/탈퇴/작업 수행을 관리하는 콘트롤러로 구분된다. 3) P3: A large-scale operation support middleware developed by AIST in Japan that supports JXTA protocol. It supports self-organizing, discovery, and grouping among peers. Members of P3 are divided into a host, which means a general resource provider, and a controller that manages participation, withdrawal, and performance of other resources.
4) P2P-MPI: 프랑스의 루이스 파스퇴르 대학교에서 개발되어 대규모 연산 지원 미들웨어로서, 자가 구성(self-configuration), 데이터 관리(data management), 프로세스의 강건성, 계산 능력에 대한 추상화 등을 지원한다. P2P-MPI는 기본적으로 메시지 전달 데몬(MPD; Message Passing Daemon), 파일 전송 서비스(FT; File Transfer), 결함 탐지 서비스(FD; Fault Detection)의 3가지 모듈로 구현된다.4) P2P-MPI: Developed at the University of Louis Pasteur in France, it is a large-scale computing support middleware that supports self-configuration, data management, process robustness, and abstraction of computational power. P2P-MPI is basically implemented by three modules: Message Passing Daemon (MPD), File Transfer Service (FT), and Fault Detection Service (FD).
5) MPICH-V는 프랑스의 파리 남주 대학교에서 개발되어 SPMD나 MPMD 응용을 수행하기 위해 노드의 결함이나 네트워크 단절같은 노드의 휘발성에 대처할 수 있는 휘발성 포용적(volatility tolerant) MPI환경이다. 상기 MPICH-V에서는 비동기적 검사점(uncoordinated checkpoint)을 이용한 롤백 회복(rollback recovery) 기법과 분산 메시지 로깅 기법을 사용하여 노드의 휘발성에 대해 확정성과 높은 결함 포용력을 보인다.5) MPICH-V is a volatility tolerant MPI environment developed at the University of Paris-South Paris, France, to cope with node volatility such as node failure or network disconnection to perform SPMD or MPMD applications. In the MPICH-V, a rollback recovery method using an uncoordinated checkpoint and a distributed message logging method are used to show determinism and high fault tolerance for node volatility.
기존의 P2P기반 분산시스템 환경에서는 첫째로 자원제공자의 가용성에 따른 연산 그룹화 기법이나 가용성기반 연산 중복 기법이 부재함으로써 안정적인 연산 수행환경을 제공하지 못하고 연산 수행 방식이 단일화되는 문제가 있었다. 둘째로 연산 간에 의존성이 없는 제한적인 응용의 수행으로 인해 다양한 응용 수행에 한계가 있고 상용화 및 비즈니스 모델 창출의 어려움이 있었다.In the existing P2P-based distributed system environment, there is a problem that the operation execution method is unified without providing a stable operation execution environment because there is no operation grouping method or availability-based operation duplication method according to the availability of resource providers. Secondly, due to the limited application performance without dependence between operations, there are limitations in the performance of various applications and difficulties in commercialization and business model creation.
그런데, 상기 기술한 각 P2P기반 분산시스템은 안정적인 연산 수행을 보장하기 위한 자원제공자 가용성 기반 그룹핑 기법, 가용성기반 중복 수행 기법, 다양한 응용 수행을 위한 P2P기반 MPI 기술 등에 관한 적용에 관해 여전히 미흡한 실정이었다. 즉, 도 1 및 도 2에 도시한 바와 같이, 각 P2P기반 분산시스템은 P2P기반 MPI 적용이나 연산 그룹핑, 결과검사 기법, 복제기법, 가용성 기반의 복제수 기법 에 있어서 모두를 만족하는 결과를 도출하지 못하고 있다. However, each P2P-based distributed system described above is still inadequate in application to resource provider availability-based grouping technique, availability-based redundancy technique, and P2P-based MPI technique for performing various applications. That is, as shown in FIGS. 1 and 2, each P2P-based distributed system does not produce a result that satisfies all in P2P-based MPI application, operation grouping, result inspection method, replication method, and availability-based copy number method. I can't.
상기의 문제점을 해결하고자 본 발명은 안출된 것으로서, P2P기반 분산시스템 환경에서 안정적인 연산 수행을 보장하기 위한 자원제공자 가용성기반 그룹화 기법을 개발하고 가용성 기반 중복을 통한 연산 신뢰성 향상 알고리즘을 개발한다. 또한, 다양한 응용 수행을 위한 표준 인터페이스인 에이전트 기반 P2P-MPI 미들웨어를 제안한다. In order to solve the above problems, the present invention is to develop a resource provider availability-based grouping technique to ensure a stable operation in a P2P-based distributed system environment, and to develop an algorithm for improving operation reliability through availability-based redundancy. We also propose agent-based P2P-MPI middleware, which is a standard interface for performing various applications.
또한, 이러한 에이전트 기반 P2P-MPI 미들웨어를 설계하는데 사용되는 P2P기반의 분산 컴퓨팅 방법을 제안함을 목적으로 한다.In addition, it aims to propose a P2P-based distributed computing method used to design such agent-based P2P-MPI middleware.
결국, 본 발명은 P2P기반 분산시스템에 맞는 메시지 패싱 라이브러리에 대한 설계와 에이전트 기반 자율적 연산을 위한 라이브러리가 들어가 있는 미들웨어를 제안함을 목적으로 한다.After all, an object of the present invention is to propose a middleware that includes a library for a message passing library suitable for a P2P based distributed system and a library for agent-based autonomous operation.
상기 목적을 이루기 위하여 본 발명은, P2P분산 시스템에서의 각 자원제공자들이 일정기간동안 얼마나 많은 시간동안 자원을 제공했는지를 나타내는 연산 지속성 비율과, 각 자원제공자들이 연산에 참여할 확률을 나타내는 연산 가용성 비율을 산출하는 방법을 제1라이브러리에 적용하여 제1라이브러리를 생성하는 과정과, 상기 산출된 연산 지속성 비율 및 연산 가용성 비율에 따라 자원제공자들을 분류하며 각 자원제공자들에게 고유의 식별키를 할당하며, 해당 자원제공자들의 연산 지속성 비율 및 연산 가용성 비율의 성능이 높은 자원제공자를 조정자로서 선택한 후, 상기 조정자가 다른 자원제공자와 함께 자원식별트리를 구성하는 오버레이 네트워크 형성방법을 라이브러리에 적용하여 제2라이브러리를 생성하는 과정과, 동일한 하나의 태스크잡(task job)을 연산 가용성 비율이 낮은 여러 개의 자원제공자에서 동시에 실행시켜 이들의 연산을 종합함으로써 연산시간을 단축시키는 연산중복기법을 라이브러리에 적용하여 제3라이브러리를 생성하는 과정과, 각 자원제공자들 상호간의 연산 의존성 관계에 따라 동적으로 조정자를 중심으로 연산그룹이 형성되도록 상기 연산 의존성 관계를 XML코드화하여 제4라이브러리를 생성하는 과정을 포함한다. In order to achieve the above object, the present invention provides an operation persistence ratio indicating how much time each resource provider has provided resources in a P2P distributed system, and an operation availability ratio indicating a probability that each resource provider participates in the operation. Generating a first library by applying the calculation method to the first library, classifying resource providers according to the calculated operation persistence ratio and operation availability ratio, and assigning a unique identification key to each resource provider, After selecting a resource provider with high performance of resource provider's operation persistence rate and operation availability ratio as coordinator, the coordinator applies the overlay network formation method of forming a resource identification tree with other resource providers to the library to create a second library. The same task The process of creating a third library by applying a task redundancy technique to a library by shortening the computation time by executing a task job simultaneously in multiple resource providers having a low operation availability ratio and synthesizing these operations, and each resource provider And generating a fourth library by XML encoding the operation dependency relationship so that a calculation group is formed around a coordinator dynamically according to operation dependency relationships between the two.
또한, 각 자원제공자 및 조정자들이 상기 생성된 각 라이브러리를 MPI에 적용하여 수행시키는 에이전트 기반 자율적 P2P-MPI 연산모듈을 생성하는 과정을 포함한다. In addition, each resource provider and coordinator includes a process of generating an agent-based autonomous P2P-MPI operation module to apply the generated each library to the MPI.
또한, 상기 제3라이브러리를 생성하는 과정에서의 연산중복기법은, ψi 는 휘발성 특징없이 자원제공자 i에서 수행한 예측된 완료 시간, θt 는 시간 t에 휘발성 특징이 있는 상태에서의 예측된 완료 시간, Λi는 자원제공자 i의 연산 가용성 비율이라 할 때, 동일한 연산을 수행하는 연산중복 자원제공자의 개수(n)를 수식에 의하여 산출하는 과정과, 동일한 연산 작업을 수행하는 상 기 연산중복 자원제공자들 중에서 해당 연산을 완료한 자원제공자가 있을 시에는 해당 연산결과를 다른 연산중복 자원제공자들에게 전송하는 과정과, 상기 연산결과를 수신한 연산중복 자원제공자는 해당 연산을 취소하고 상기 조정자로부터 다른 연산작업을 수령하는 과정과, 해당 연산그룹의 조정자는 모든 작업이 완료될 시에 그룹의 구성원인 연산중복 자원제공자들에게 작업완료 메시지를 전송하고, 상기 연산중복 자원제공자들은 해당 작업완료 시간을 저장하는 과정을 포함한다.In addition, the operation duplication method in the process of generating the third library, ψ i is the predicted completion time performed by the resource provider i without the volatile feature, θ t is the predicted completion in the state having a volatile feature at time t Time, Λ i is the operation availability ratio of the resource provider i, and the number (n) of operation duplication resource providers that perform the same operation A process of calculating according to a formula, and if there is a resource provider that completes the operation among the operation duplication resource providers performing the same operation, transmitting the operation result to other operation duplication resource providers; The operation duplication resource provider receiving the operation result cancels the operation and receives another operation from the coordinator, and the coordinator of the operation group is sent to the operation duplication resource providers who are members of the group when all operations are completed. The task completion message is transmitted, and the operation duplication resource providers include storing a corresponding task completion time.
또한, 본 발명의 에이전트 기반 P2P-MPI 미들웨어는, P2P기반 분산시스템내의 자원제공자간의 P2P 통신을 지원하는 P2P 통신 라이브러리와, P2P기반 분산 시스템에서의 메시지 패싱 인터페이스(MPI)를 지원하는 MPI 라이브러리와, 연산 가용성 비율 및 연산 지속성 비율을 산출을 지원하며, 식별자를 할당하여 오버레이 네트워크를 구성을 지원하며, 다수의 자원제공자로 하여금 동시에 연산을 실행시켜 연산시간을 단축시키는 연산중복기법 및 각 자원제공자들간의 연산 의존성 관계를 나타낸 의존성기법을 적용하는 에이전트 라이브러리와, 동적인 환경에서 환경 변화에 대처하여 특정 자원제공자의 연산 가용성 비율에 따라서 자율적으로 복제를 생성하여 중복된 연산을 수행하며 자율적 이주 및 지속적인 연산을 보장하도록, 상기 MPI 라이브러리와 에이전트 라이브러리를 호출하는 함수를 가지고 있는 에이전트 기반 자율적 P2P-MPI 연산모듈을 구비한다.In addition, the agent-based P2P-MPI middleware of the present invention, a P2P communication library for supporting P2P communication between resource providers in a P2P-based distributed system, an MPI library supporting a message passing interface (MPI) in a P2P-based distributed system, It supports calculation of operation availability ratio and operation persistence ratio, supports configuration of overlay network by assigning identifiers, and operation duplication technique that allows multiple resource providers to execute operations simultaneously to reduce computation time and between resource providers. Agent library that applies dependency method that shows operation dependency relationship, and coping with environment change in dynamic environment, autonomously creates duplicates according to the operation availability ratio of specific resource providers to perform duplicate operation, autonomous migration and continuous operation To ensure, the MPI library and agent It has an agent-based autonomous P2P-MPI operation module that has a function to call the library.
또한, 본 발명에 따른 P2P기반의 분산 컴퓨팅 방법은, P2P분산 시스템에서의 각 자원제공자들이 일정기간동안 얼마나 많은 시간동안 자원을 제공했는지를 나타내는 연산 지속성 비율과, 각 자원제공자들이 연산에 참여할 확률을 나타내는 연산 가용성 비율을 산출하는 과정과, 상기 산출된 연산 지속성 비율 및 연산 가용성 비율에 따라 자원제공자들을 분류하며 각 자원제공자들에게 고유의 식별키를 할당하며, 해당 자원제공자들의 연산 지속성 비율 및 연산 가용성 비율의 성능이 높은 자원제공자를 조정자로서 선택한 후, 상기 조정자가 다른 자원제공자와 함께 자원식별트리를 구성하여 오버레이 네트워크를 형성하는 과정과, 동일한 하나의 태스크잡(task job)을 연산 가용성 비율이 낮은 여러 개의 자원제공자에서 동시에 실행시켜 이들의 연산을 종합함으로써 연산시간을 단축시키는 연산중복기법을 적용하는 과정을 포함한다.In addition, the P2P-based distributed computing method according to the present invention, the operation persistence ratio indicating how much time each resource provider in the P2P distributed system provided resources for a period of time, and the probability that each resource provider to participate in the operation Calculating resource availability ratios, classifying resource providers according to the calculated computed persistence ratios and computed availability ratios, assigning each resource provider a unique identification key, and calculating the computed sustainability ratios and computed availability. After selecting a high-performance resource provider as a coordinator, the coordinator forms a resource identification tree with other resource providers to form an overlay network, and performs the same task job with a low operation availability rate. Simultaneously run these operations on multiple resource providers By including the step of applying the computed redundant techniques to shorten the operation time.
이하, 본 발명의 바람직한 실시 예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 하기에서 각 도면의 구성요소들에 참조부호를 부가함에 있어 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. Hereinafter, the detailed description of the preferred embodiments of the present invention will be described with reference to the accompanying drawings. In the following description of the reference numerals to the components of the drawings it should be noted that the same reference numerals as possible even if displayed on different drawings. In addition, in describing the present invention, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
P2P기반 분산시스템 환경에서 신뢰적인 연산 수행을 위한 자원제공자 가용성기반 신뢰성 향상 알고리즘을 개발한다. 자원제공자들은 연산을 수행하는 중간에 연산에서 탈퇴하는 휘발성의 특징을 갖는다. 이러한 특징으로 인해 연산 간에 의존성이 존재하는 응용을 수행할 경우에 중간에 수행하던 자원제공자가 탈퇴한다면 이후에 수행할 자원제공자들이 수행대기 상태인 연산 대기 상태에 놓이게 되어 전체 연산 수행에 있어서 지연이 발생된다. 이러한 현상을 회피하기 위하여 본 발명에서는 자원제공자 가용성에 따른 그룹화 기법, 가용성기반 중복을 통한 연산 신뢰성 향상 알고리즘, 연산간 의존성을 통한 작업 기술 기법을 적용한 에이전트 기반 P2P-MPI 미들웨어를 제안한다. 결국, 본 발명에서는 P2P기반 분산시스템의 불안정한 연산 환경과 자원/작업 관리의 어려움을 해결하기 위하여 제안 기법을 통해서 안정적이고 효율적인 자원 및 작업관리를 통해서 MPI 응용을 수행할 수 있는 환경을 제공한다.We develop a reliability improvement algorithm based on resource provider availability for reliable operation in P2P based distributed system environment. Resource providers have the characteristic of volatility to withdraw from operations in the middle of performing them. Due to this feature, if a resource provider that is running in the middle of the application with dependencies between operations is withdrawn, the resources to be executed later are put in a waiting state for operation, which causes a delay in performing the entire operation. do. In order to avoid such a phenomenon, the present invention proposes an agent-based P2P-MPI middleware applying a grouping scheme according to resource provider availability, an algorithm for improving reliability of operations through availability-based redundancy, and a task description technique based on inter-operation dependencies. As a result, the present invention provides an environment capable of performing MPI application through stable and efficient resource and task management through the proposed technique in order to solve the unstable computing environment and difficulty of resource / task management of P2P based distributed system.
도 3은 본 발명의 실시 예에 따른 에이전트 기반 P2P-MPI 미들웨어를 설계하는 과정을 도시한 플로차트이다.3 is a flowchart illustrating a process of designing an agent-based P2P-MPI middleware according to an embodiment of the present invention.
본 발명에 따른 에이전트 기반 P2P-MPI 미들웨어를 설계하기 위해서는 자원제공자에 대한 연산 지속성 비율과 연산 가용성 비율(S30)을 바탕으로 분류하는 라이브러리를 생성(S32)한 후, 자원제공자들에 대한 오버레이 네트워크를 구성하는 라이브러리 설계(S34)가 이루어진 후, 연산 가용성 비율이 낮은 다수의 자원제공자들에게 동시에 연산시켜 연산시간을 단축시키는 연산중복기법(S36) 및 각 자원제공자들 상호간의 연산 의존성 관계를 지정한 연산 의존성 기술서를 작성(S38)하고 이를 MPI에 적용시키는 수행모듈을 생성하는 과정(S40)으로서 라이브러리 설계가 이루어져야 한다. In order to design the agent-based P2P-MPI middleware according to the present invention, after generating a library (S32) classified based on the operation persistence ratio and the operation availability ratio (S30) for the resource provider, an overlay network for the resource providers is generated. After the constituent library design (S34) is made, a calculation redundancy method (S36) that simultaneously calculates a plurality of resource providers with a low computational availability ratio to shorten the calculation time and an operation dependency specifying operation dependency relationships between each resource provider. Library design should be made as a process of creating a description (S38) and generating a performance module that applies the MPI to the MPI (S40).
상기 각 단계를 설명하면, 우선, 자원제공자들에 대한 연산 지속성 비율과 연산 가용성 비율을 산출을 지원하는 라이브러리 생성 과정(S30)을 설명 한다. 자원제공자들에 대한 연산 지속성 비율과 연산 가용성 비율을 산출하는 과정의 설명 편 의를 위하여, P2P기반 분산시스템에서 자원제공자들의 모습을 도 4에 간단히 도시하였다.Referring to each of the above steps, first, a library generation process (S30) for supporting calculation of the computational persistence ratio and the computational availability ratio for resource providers will be described. For convenience of explanation of the process of calculating the computational persistence ratio and the computational availability ratio for resource providers, the appearance of resource providers in a P2P based distributed system is briefly shown in FIG.
P2P기반 분산시스템은 클라이언트(Client), 중앙관리서버(Central Management Server), 결과저장서버(Storage Server), 자원제공자(Volunteer), 조정자(Coordinator)로 구성된다. P2P기반 분산시스템에서 중앙관리서버(40)는 작업분배 및 결과수집 역할을 수행하고 나머지 역할은 조정자(44)에 의해서 수행되어 많은 부하를 덜게 된다. 또한, 중앙집중형과는 달리 조정자(44)를 중심으로 동적으로 연산 그룹이 형성되고 각 자원제공자들(43)은 연산간에 의존성에 따라 그들 사이에 P2P통신 기술을 통해서 통신한다. 도한, 상기 조정자(44)는 자원제공자들(43) 중에서 선택되어 조정역할을 하는 객체로서, 소정 조건에 따라 상기 선택된 조정자(44)와 상기 자원제공자(43)들을 묶어서 하나의 그룹핑(45)이 이루어진다.The P2P-based distributed system is composed of a client, a central management server, a result server, a volunteer, and a coordinator. In the P2P-based distributed system, the
상기 중앙관리서버(40)는 도 4와 같은 그룹핑을 수행하기 위하여 각 자원제공자(43)의 연산 지속성 비율과 연산 가용성 비율을 산출하는데, 상기 연산 지속성 비율이란 자원제공자(43)가 연산에 참여하여 얼마나 오랫동안 자원을 제공하는지를 나타낸 수치를 말하며, 상기 연산 가용성 비율이란 자원제공자(43)가 소정 시간동안 참여 가능한 확률을 말한다. The
이하, 본 발명의 이해를 위하여 연산결함, 연산 지속성 비율, 연산 가용성 비율에 대하여 정의하여 사용하기로 한다.Hereinafter, calculation defects, calculation persistence ratios, and calculation availability ratios will be defined and used for understanding of the present invention.
[정의 1] 연산결함(computational failure) ; 연산결함은 자원제공자가 연산 수행 중에 탈퇴하는 것을 의미한다. P2P기반 분산시스템 환경에서는 모든 자원제공 자는 휘발성의 특징에 따라서 연산 결함이 발생할 수 있다고 가정한다.[Definition 1] computational failure; An operation defect means that a resource provider withdraws while performing an operation. In the P2P-based distributed system environment, all resource providers assume that computational faults can occur depending on the characteristics of volatility.
[정의 2] 연산 지속성 비율(Ξ; computation time rate) ; 연산 지속성 비율은 하루(24시간)를 기준으로 자원제공자가 얼마나 자원을 제공하는지를 나타낸다. 이것은 지속적인 연산수행을 위한 신뢰성과도 일치한다. 하기 [수식 1]에 의해 구해진다. [Definition 2] computation time rate; The computational persistence rate indicates how much resources are provided by the provider on a daily basis (24 hours). This is consistent with the reliability for continuous computation. It is calculated | required by following formula (1).
[정의 3] 연산 가용성 비율(Λ; computation availability rate) ; 연산 가용성 비율은 연산이 시간 t에 수행 가능할 확률을 나타낸 인자로서, 이러한 인자는 자원제공자가 연산중에 탈퇴할 횟수를 나타낸다. 하기 [수식 2]에 의해 구해진다.[Definition 3] computation availability rate (Λ); The computation availability ratio is a factor that indicates the probability that an operation can be performed at time t, and this factor indicates the number of times a resource provider will leave during the operation. It is calculated | required by following formula (2).
[수식 1] [Equation 1]
Ξ(연산 지속성 비율) = 1 - 1/λΞ (Operation Persistence Ratio) = 1-1 / λ
[수식 2][Formula 2]
Λ(연산 가용성 비율) = MTTCF / (MTTCF-MTTCR)Λ (computation availability ratio) = MTTCF / (MTTCF-MTTCR)
상기 [수식 1]에서 파라미터 λ는 연산 탈퇴율을 나타낸다. 또한, 상기 [수식 2]에서 MTTCF(Mean Time To Computation Failure)는 얼마나 자주 자원제공자가 수행하던 연산에서 탈퇴하는지를 나타내는 연산 결함이 발생한 평균을 의미한다. MTTCR(Mean Time to Computation Repair)은 자원제공자가 연산에 참여한 시간 평균을 나타낸다. In
상기와 같이 연산 지속성 비율(Ξ)과 연산 가용성 비율(Λ)을 산출(S30)한 후에는 상기 두 파라미터(Ξ, Λ)에 의해 자원제공자의 성능에 따라 소정의 영역으로 분류(S32)한다. 이러한 분류된 모습을 도 5에 도시하였는데, 가용성 비율은 세로변에 위치하고 연산 지속성 비율은 가로변에 위치함으로써, 자원제공자(43)는, 연산 가용성 비율이 높고 동시에 연산 지속성 비율이 높을수록 LLV(52;Long-Lived Volunteer) 영역에 위치하게 되고, 연산 가용성 비율이 높고 연산 지속성 비율이 낮을수록 HLV(51;Half-Lived Volunteer) 영역에 위치하게 되고, 연산 가용성 비율이 낮고 연산 지속성 비율이 높을수록 FLV(54;Free-Lived Volunteer) 영역에 위치하게 되고, 연산 가용성 비율이 낮고 연산 지속성 비율이 낮을수록 TLV(53;Timeoff-Lived Volunteer) 영역에 위치하게 된다. After calculating the operation persistence ratio Ξ and the operation availability ratio Λ as described above (S30), the two parameters Ξ and Λ are classified into predetermined regions according to the performance of the resource provider (S32). This sorted view is shown in FIG. 5, where the availability ratio is located on the vertical side and the computational persistence ratio is located on the horizontal side, so that the
참고적으로, 상기와 같이 자원제공자를 연산 가용성 비율 및 연산 지속성 비율에 따라 분류하는 알고리즘을 프로그램화하면 하기와 같다.For reference, as described above, an algorithm for classifying a resource provider according to an operation availability ratio and an operation persistence ratio may be programmed as follows.
varvar
Ξ //computation time rateΞ // computation time rate
Λ //computation availability rateΛ // computation availability rate
Vi //property of volunteer iVi // property of volunteer i
volunteerClassification()volunteerClassification ()
while the number of Vwhile the number of V
if 0.8 < Ξ < 1 and 0.5 < Λ thenif 0.8 <Ξ <1 and 0.5 <Λ then
Vi = LLV;Vi = LLV;
else if 0.5 < Ξ < 0.8 and 0.5 < Λ thenelse if 0.5 <Ξ <0.8 and 0.5 <Λ then
Vi = HLV;Vi = HLV;
else if 0.3 < Ξ < 0.5 and 0.0 < Λ < 0.5 then else if 0.3 <Ξ <0.5 and 0.0 <Λ <0.5 then
Vi = FLV;Vi = FLV;
else if 0.0 < Ξ < 0.3 and 0.0 < Λ < 0.5 thenelse if 0.0 <Ξ <0.3 and 0.0 <Λ <0.5 then
Vi = TLVVi = TLV
endwhileendwhile
상기 도 5와 같이 연산 가용성 비율과 연산 지속성 비율에 따라 자원제공자를 HLV 영역(51), LLV 영역(52), TLV 영역(53), FLV 영역(54)로 분류한 결과, 연상 가용성 비율과 연산 지속성 비율이 높은 LLV영역(52)에 있는 자원제공자들이 조정자(43;coordinator)로서 선택된다.As shown in FIG. 5, the resource provider is classified into the
한편, 상기와 같이 연산 가용성 비율과 연산 지속성 비율에 따라 자원제공자를 분류(S32)한 후에는 이를 바탕으로 오버레이 네트워크가 형성(S34)되는데, 상기 오버레이 네트워크는 P2P기반 분산시스템에서 안정적이고 효과적으로 자원의 검색 및 관리를 위해서 도 8과 같이 조정자와 각 자원제공자가 글로벌 레벨과 로컬레벨에 위치시켜 네트워크화 하는 것이다. 상기 오버레이 네트워크화 하는 방법은 시작노드와 자원제공자 사이의 응답 시간을 기준으로 논리적인 거리로서 해쉬 함수를 이용하여 계산하여 구성하는 방법으로서, 이러한 구성방법이 에이전트 기반 P2P- MPI 미들웨어의 라이브러리로서 적용된다.On the other hand, after classifying the resource providers according to the operation availability ratio and the operation persistence ratio as described above (S32), an overlay network is formed based on this (S34), and the overlay network is stable and effective in the P2P-based distributed system. For discovery and management, as shown in FIG. 8, the coordinator and each resource provider are located at the global level and the local level to network. The overlay networking method is a method of calculating and configuring a hash distance using a hash function as a logical distance based on a response time between a start node and a resource provider. This configuration method is applied as a library of agent-based P2P-MPI middleware.
상기 오버레이 네트워크화를 이루는 과정은 다음과 같은 단계를 거친다.The process of forming the overlay network is performed as follows.
우선, 연산 자원에 대한 해쉬 단계를 가진다. 연산 자원제공자의 논리적인 지역성을 고려하기 위한 해쉬 함수는 자원 식별 트리(RID-tree; Resource IDentification tree)를 구성하기 위해 자원제공자에 대한 고유의 식별키를 할당한다. 도 6을 참조하면, 자원제공자들의 식별키는 글로벌 위치 식별자(61;GLID;Global Location IDentifier)로서 a비트, 로컬 위치 식별자(62;LLID;Local Location IDentifier)로서 b 비트, 객체 식별자(63;OID;Object IDentifier)로서 c비트, 그리고 객체 분류 식별자(64;OCID;Object Classification IDentifier)로서 2비트가 할당된다.First, it has a hash step for the compute resource. The hash function for considering the logical locality of the operation resource provider allocates a unique identification key for the resource provider to construct a resource identification tree (RID-tree). Referring to FIG. 6, the identification keys of the resource providers include a bit as a Global Location IDentifier (GLID), b bit as a Local Location IDentifier (62), and an object identifier (OID). C bits as; Object IDentifier) and two bits as an Object Classification IDentifier (64).
즉, 자원제공자들 중에서 상위 레벨인 글로벌 영역에 위치함을 나타내도록 a비트 크기를 가지는 글로벌 위치 식별자(61;GLID), 자원제공자들 중에서 하위 레벨에 로컬 영역에 위치함을 나타내도록 b비트 크기를 가지는 로컬 위치 식별자(62;LLID), 해당 자원제공자의 고유 아이디를 나타내도록 c비트 크기를 가지는 객체 식별자(63;OID), 해당 자원제공자의 기능 역할을 나타내도록 2비트 크기를 가지는 객체 분류 식별자(64;OCID)가 식별키로서 할당된다.That is, a global location identifier 61 (GLID) having a bit size to indicate that it is located in the global area, which is the upper level among the providers, and b bit size to indicate that it is located in the local area at the lower level, among the providers. The local location identifier 62 (LLID), the object identifier 63 (OID) having a c bit size to indicate the unique ID of the resource provider, and the object classification identifier having a 2-bit size to indicate the functional role of the resource provider. 64; OCID) is assigned as an identification key.
응용을 위탁하는 클라이언트가 시작 노드(예컨대, 중앙관리서버)에게 자원 요청 메시지를 보낼 때 시작 노드는 글로벌 위치 식별자(GLID)를 통해서 클라이언트의 위치를 확인하고, 그 후 조정자에게 메시지를 전송한다. 모든 비트 스트링은 a, b, c 그리고 2비트로 구성된다. 글로벌 지역의 크기는 2a+b 이고 로컬 지역의 크기는 (1/2)a 가 된다. 그리고 조정자의 수는 각 로컬 지역, 즉, 연산 그룹에서 연산 가용성 비율과 연산 지속성 비율을 기준으로 하나씩 선발되어 (1/2)a 가 된다. 객체 식별자(OID)는 해쉬 함수로 계산이 되고, 객체 분류 식별자(OCID)는 다음과 같이 결정된다. 예컨대, OCID가 '00'이면 자원제공자이고, 만약 OCID가 '01'이면 조정자, OCID가 '10'이면 시작노드를 가리킨다.When a client entrusting an application sends a resource request message to a starting node (eg, a central management server), the starting node identifies the client's location via a global location identifier (GLID) and then sends a message to the coordinator. Every bit string consists of a, b, c and 2 bits. The size of the global region is 2 a + b and the size of the local region is (1/2) a . And the number of mediators are selected one by one, based on the respective local areas, i.e., arithmetic operations and the availability ratio in the operation group is the persistence ratio (1/2) a. The object identifier (OID) is calculated with a hash function, and the object classification identifier (OCID) is determined as follows. For example, if OCID is '00', it is a resource provider. If OCID is '01', it is a coordinator. If OCID is '10', it indicates a start node.
상기 도 6과 같이 자원제공자에 대한 식별키를 할당한 후에는, 자원 식별 트리(RID-tree; Resource IDentification tree)가 구성된다. 상기 자원 식별 트리(RID-tree)는 도 7과 같이 지역 크기에 의해 트리의 높이가 결정되어 생성된다. 자원제공자들은 시스템에 참여하여 논리적인 거리에 따라서 그룹에 할당이 되어 GLID가 생성이 되고 랜덤 해쉬 함수에 따라서 LLID가 생성이 된다. 그런 후에 자원제공자의 특징에 따라서 에이전트가 생성되어 연산을 수행한다.After allocating an identification key for a resource provider as shown in FIG. 6, a resource identification tree (RID-tree) is constructed. The resource identification tree (RID-tree) is generated by determining the height of the tree according to a region size as shown in FIG. Resource providers participate in the system and are assigned to groups according to logical distances to generate GLIDs and LLIDs according to random hash functions. Then, an agent is created and performed according to the characteristics of the resource provider.
한편, 조정자기반 오버레이 네트워크(CONet; Coordinator-initiated Overlay Network)는 다차원 대칭 구조에서 자원제공자들에 대해서 논리적인 네트워크를 구성한다. 즉, 조정자기반 오버레이 네트워크의 크기는 자원제공자 수에 따라 글로벌 레벨과 로컬레벨이 동적으로 구성된다. 도 8에서는 상기와 같이 글로버 레벨과 로컬 레벨에 따른 2차원 조정자기반 오버레이 네트워크를 표현하였다. 상기 글로벌 레벨은 로컬 레벨의 상위 레벨로서 조정자 역할을 수행하고 상기 로컬 레벨은 상위 글로벌 레벨에 있는 조정자의 중재를 받은 자원제공자의 역할을 수행한다.Meanwhile, a coordinator-initiated overlay network (CONet) forms a logical network for resource providers in a multidimensional symmetric structure. That is, the size of the coordinator-based overlay network is dynamically configured at the global level and the local level according to the number of resource providers. In FIG. 8, the 2D coordinator-based overlay network according to the glover level and the local level is represented as described above. The global level serves as a coordinator as a higher level of the local level, and the local level serves as a mediator of a mediator of the coordinator at the higher global level.
상기와 같이 자원제공자가 오버레이 네트워크에 참여하고자 하는 경우, 시작노드에 프로파일과 아이피 주소같은 정보를 등록해야만 한다. 이를 위하여 상기 살핀바와 같이 자원제공자들은 연산 가용성 비율과 연산 지속성 비율에 따라서 네 그룹(HLV, LLV, TLV, FLV)으로 분류한 후, 시작노드는 자원제공자의 응답시간으로 논리적인 거리를 계산한 후 글로벌 위치가 결정되고, 랜덤 해쉬 함수에 따라서 로컬 위치를 결정한다.As described above, when a resource provider wants to participate in the overlay network, it must register information such as a profile and an IP address with a start node. To this end, like the Salping Bar, the resource providers are classified into four groups (HLV, LLV, TLV, and FLV) according to the operation availability ratio and the operation persistence ratio, and then the start node calculates a logical distance based on the response time of the resource provider. The global position is determined and the local position is determined according to the random hash function.
결국, 자원제공자가 오버레이 네트워크에 참여 시에, P2P분산 시스템은 글로벌 레벨의 유일한 식별자(글로벌 식별자)와 로컬 레벨의 랜덤한 식별자(로컬 식별자)를 얻기 위해서 소정의 조정 공간에 적합하게 할당한 후, 이웃의 글로벌 식별자와 로컬 식별자와 IP주소를 얻기 위하여 오버레이 네트워크상의 이웃 자원제공자를 찾게 된다.After all, when a resource provider joins the overlay network, the P2P distribution system allocates appropriately to a predetermined coordination space in order to obtain a global level unique identifier (global identifier) and a local level random identifier (local identifier). The neighbor resource provider on the overlay network is searched to obtain the neighbor's global identifier, local identifier and IP address.
만약, 자원제공자가 시스템에서 탈퇴할 때 해당 그룹에서 중복에 의한 수행을 하지 않고 있다고 한다면, 그룹의 조정자는 그룹 내에서 수행 가능한 자원제공자를 선발하고 그렇지 않다면 이웃 조정자에게 자원요청 메시지를 보내게 된다. 또한, 자원제공자의 특징에 따라서 검사점 기법이나 연산 이주 기법에 의해서 수행하고 있던 연산에 대한 지속성을 보장할 수 있다.If a resource provider does not perform due to duplication in the group when leaving the system, the group coordinator selects a resource provider that can be performed in the group, and otherwise sends a resource request message to the neighbor coordinator. In addition, depending on the characteristics of the resource provider, it is possible to guarantee the persistence of the operation performed by the checkpoint method or the operation migration method.
한편, 상기와 같이 오버레이 네트워크가 구성(S34)된다고 할 시에 도 5의 TLV영역(53), FLV영역(54)과 같이 연산 가용성 비율이 낮은 영역에 있는 자원제공자의 경우 연산 시간이 길어질 수 있다. P2P기반 분산시스템에서 작업 완료시간은 연산 에 참여하는 개별 자원제공자의 성능, 특히, 자원제공자의 연산 가용성 비율에 의존하기 때문이다. 이를 개선하기 위하여 본 발명의 에이전트 기반 P2P-MPI 미들웨어는 오버레이 네트워크를 통한 그룹핑이 완료된 후 연산시간을 단축시키도록 연산중복기법을 미들웨어에 적용(S36)시킨다. 즉, 동일한 하나의 태스크잡(task job)을 연산 가용성 비율이 낮은 여러 개의 자원제공자에서 동시에 실행시켜 이들의 연산을 종합함으로써 연산시간을 단축시키는 것이다.On the other hand, when the overlay network is configured as described above (S34), in the case of the resource provider in the region having a low operation availability ratio, such as the
상기 연산중복기법은 신뢰적인 연산 수행을 보장하고 자원제공자의 연산결함에 대처하여 전체 연산의 수행 시간을 줄이는 방법인데, 본 발명의 에이전트 기반 P2P-MPI 미들웨어는 상기 연산중복기법을 적용하는 과정을 가진다. 상기 연산중복기법의 알고리즘을 도 9의 플로차트에 도시하였다.The operation redundancy technique is a method of guaranteeing reliable operation and reducing the execution time of the entire operation by coping with operation defects of a resource provider. The agent-based P2P-MPI middleware of the present invention has a process of applying the operation redundancy technique. . The algorithm of the above-mentioned operation duplication method is shown in the flowchart of FIG.
도 9를 참조하면, 먼저, 연산중복 자원제공자 수(n)를 산출하는 과정(S91)을 가진다. 상기 연산중복 자원제공자 수(n) 산출은 하기 [수식3]에 의한다. Referring to FIG. 9, first, a process (S91) of calculating an operation duplication resource provider number n is performed. The calculation of the number of redundant resource providers (n) is based on Equation 3 below.
[수식3][Equation 3]
상기에서 ψi 는 휘발성 특징없이 자원제공자 i에서 수행한 예측된 완료 시간을 나타내며, θt 는 시간 t에 휘발성 특징이 있는 상태에서의 예측된 완료 시간을 나타내며, Λi는 자원제공자 i의 연산 가용성 비율을 나타낸다.Where ψ i represents the predicted completion time performed by the resource provider i without the volatile feature, θ t represents the predicted completion time with the volatile feature at time t, and Λ i is the computational availability of the resource provider i Indicates a ratio.
상기와 같이 [수식3]에 의하여 연산중복 연산자원자 수(n)를 산출한 후에는, 산출된 n개의 연산중복 자원제공자에게 동일한 작업을 수행(S92)시킨다. 중복된 작업에 대해서 어느 하나의 연산중복 자원제공자가 작업을 완료(S93)한 경우에는, 먼저 완료된 자원제공자의 결과를 다른 연산중복 자원제공자에게 전송(S94)한다. 그 이후에 수행이 완료된 작업은 작업번호를 확인하여 취소하고 조정자에게 다른 작업 수행을 요청하여 수령(S95)한다. 연산 그룹의 조정자는 모든 작업이 완료되면 그룹의 구성원들에게 작업 완료 메시지를 전송(S96)한다. 여기서 자원제공자는 하기 [수식4]와 같이 작업 수행이 끝날 때마다 작업 완료 시간을 저장한다.After calculating the operation duplication operator atom number n by [Equation 3] as described above, the same operation is performed to the calculated n operation duplication resource providers (S92). When any one of the redundant operation resource provider completes the operation (S93) with respect to the duplicated operation, first, the result of the completed resource provider is transmitted to another operation redundant resource provider (S94). After that, the job whose execution is completed is confirmed by canceling the job number, and requests the coordinator to perform another job and receives it (S95). The coordinator of the operation group transmits a task completion message to the members of the group when all tasks are completed (S96). Here, the resource provider stores the work completion time whenever the work is finished as shown in [Equation 4].
[수식4] [Equation 4]
상기에서 θi 는 자원제공자 i의 프로파일 기반 이전 완료 시간인 θi ' 에 대한 평균 완료 시간을 나타낸다. Θ i denotes an average completion time for θ i ′ , which is a profile-based transfer completion time of resource provider i.
상기 도 9와 같은 연산중복기법의 알고리즘이 에이전트 기반 P2P-MPI 미들웨어에 적용(S36)된 후에는, 연산간 의존성을 통한 작업기술 기법인 의존성기법이 에이전트 기반 P2P-MPI 미들웨어에 적용(S38)된다. After the algorithm of the operation duplication method as shown in FIG. 9 is applied to the agent-based P2P-MPI middleware (S36), the dependency technique, which is a work technique technique using the inter-operation dependency, is applied to the agent-based P2P-MPI middleware (S38). .
연산간 의존성을 통한 의존성기법은 크게 두 가지로 나누어서 생각해 볼 수 있다. 첫째로 1:1 연산간 의존성 관계로 연산 Sj 가 수행되는데 있어서 연산 Si와 의존성 관계에 있다면 Si, Sj는 1:1의존성 관계이다. 둘째로 n:1 연산 간 의존성 관계로 두 노드의 연산 Si, Sj는 의존성이 없으나 두 연산 Si, Sj가 Sk와 의존성 관계가 있다면, Si, Sj 그리고 Sk는 n:1 연산간 의존성 관계로 분류한다. Dependency technique through dependency between operations can be divided into two categories. First of all, if the operation S j is executed in a dependency relationship between 1: 1 operations, S i and S j are 1: 1 dependencies if the operation is in a dependency relationship with S i . Secondly, if there are no dependencies S i , S j of two nodes, but the two operations S i , S j have a dependency relationship with S k , then S i , S j and S k are n: 1 Classified as dependency relationship between operations.
상기 1:1 연산간 관계는 하기 [정의 4] 및 도 10에 나타내었고, 상기 n:1 연산간 의존성 관계는 하기 [정의 5] 및 도 11에 나타내었다.The relationship between the 1: 1 operations is shown in [Definition 4] and FIG. 10, and the dependency relationship between the n: 1 operations is shown in [Definition 5] and FIG. 11.
[정의 4] 1:1 연산간 의존성 관계(도 10)[Definition 4] Dependency relationship between 1: 1 operations (FIG. 10)
각 자원제공자의 연산 Si, Sj에서 연산 Sj가 previous(Sj) -> current(Sj) 일 때 두 연산 Si, Sj가 의존성 있는 관계라면, 로 표현된다.If the operation S i , S j of each resource provider is dependent on the operation S i , S j when operation S j is previous (S j )-> current (S j ), It is expressed as
[정의 5] n:1 연산간 의존성 관계(도 11)[Definition 5] Dependency relationship between n: 1 operations (FIG. 11)
두 노드의 연산 Si, Sj는 의존성이 없으나 previous(Sk) -> current(Sk)일 때 두 연산 Si, Sj가 Sk와 의존성이 있는 관계라면, 로 표현된다.If two nodes S i and S j have no dependence but previous (S k )-> current (S k ), if two operations S i and S j are dependent on S k , It is expressed as
상기에서 살핀 바와 같이 연산 간에는 다양한 의존성이 존재하는데, 이러한 연산간 의존성에 따라 XML 문서로서 작성되어 본 발명의 에이전트 기반 P2P-MPI 미들웨어에 포함된다. 즉, 도 12와 같이 의존성 관계에 따른 그래프가 있다면 이것은 도 13과 같이 XML코드 형태로 표현되어 의존성 기술서로 된 라이브러리로서 에이전트 기반 P2P-MPI 미들웨어에 적용(S38)된다. 그 후, 상기와 같이 상기 의존성 관계를 나타낸 기술서에 따라 이를 MPI에 적용시키는 에이전트 기반 자율적 P2P-MPI 연산모듈을 생성(S40)한다. As described above, various dependencies exist between operations, and are written as XML documents according to the dependencies between operations and included in the agent-based P2P-MPI middleware of the present invention. That is, if there is a graph according to the dependency relationship as shown in FIG. 12, this is expressed in the form of XML code as shown in FIG. 13 and applied to the agent-based P2P-MPI middleware as a dependency description library (S38). Thereafter, according to the description of the dependency relationship as described above to generate an agent-based autonomous P2P-MPI operation module to apply it to the MPI (S40).
상기와 같이 의존성관계의 XML코드를 가지는 에이전트 기반 P2P-MPI 미들웨어를 실장한 각 자원제공자는 동적으로 조정자를 중심으로 도 14와 같이 연산 그룹이 형성되어 연산을 시작하게 된다. 그룹이 형성되기 전에는 각 자원제공자의 가용성에 따라 연산의 중복 수가 결정된 후 그룹을 형성한다.As described above, each resource provider that implements agent-based P2P-MPI middleware having an XML code of dependency relationship dynamically starts an operation by forming an operation group as shown in FIG. Before the group is formed, the number of duplicate operations is determined according to the availability of each resource provider, and then the group is formed.
결국, 도 3에 도시한 바와 같이 연산 가용성 비율 및 연산 지속성 산출(S30)이 있은 후 이를 바탕으로 성능에 따라 분류(S32)한 후 오버레이 네트워크를 구성(S34)한 후에는 연산중복기법(S36)과 의존성기법(S38)을 적용하여 그룹핑을 위한 라이브러리가 생성된다. 상기 생성된 라이브러리들은 본 발명의 에이전트 기반 P2P-MPI 미들웨어에 라이브러리로서 들어가게 된다.As a result, as shown in FIG. 3, after calculating the calculation availability ratio and the calculation persistence (S30), the classification is based on the performance (S32), and then the overlay network is configured (S34). And dependence technique (S38) is applied to generate a library for grouping. The generated libraries are put into the agent-based P2P-MPI middleware of the present invention as a library.
도 15는 본 발명에 따른 에이전트 기반 P2P-MPI 미들웨어의 내부 구성 블록을 도시한 그림이다.15 is a diagram illustrating an internal configuration block of agent-based P2P-MPI middleware according to the present invention.
에이전트 기반 P2P-MPI 미들웨어는 각 자원제공자(조정자 포함)에 설치되는 미들웨어로서, 에이전트기반 자율적 P2P-MPI 연산모듈(151)과, 에이전트 라이브러리(152)와, MPI 라이브러리(153)와, P2P 통신 라이브러리(154)를 가지는 구조를 가진다.Agent-based P2P-MPI middleware is a middleware installed in each resource provider (including coordinator), and agent-based autonomous P2P-
상기 P2P 통신 라이브러리(154)는 자원제공자간의 P2P 통신을 지원하는 라이브러리가 위치하는데, 이러한 P2P 통신 라이브러리는 종래에 알려진 P2P 통신 라이브러리가 사용된다.The
상기 MPI 라이브러리(153)는 P2P기반 분산 시스템에서의 메시지 패싱 인터페이스(MPI) 라이브러리로서, 이러한 MPI 라이브러리는 종래에 알려진 MPI 라이브러리가 사용된다.The
에이전트 라이브러리(152)는 본 발명에 따라 상기 도 3의 과정을 거쳐 형성되는 라이브러리가 위치한다. 즉, 상기에서 설명한 연산 가용성 비율 및 연산 지속성 비율을 산출하는 라이브러리(S30)와, 식별자를 할당하여 오버레이 네트워크를 구성하는데 사용되는 라이브러리(S32,S34)와, 연산중복기법 및 의존성기법을 적용하기 위한 라이브러리(S36,S38)가 적용되어 에이전트 기반 자율적 P2P-MPI 연산모듈(151)에서 호출(S40)된다.
에이전트 기반 자율적 P2P-MPI 연산모듈(151)은 상기 MPI 라이브러리(153)와 에이전트 라이브러리(152)를 호출하여 에이전트 기반의 자율적 P2P-MPI 연산을 수행하는 모듈로서, 동적인 환경에서 환경 변화에 대처하여 자율적으로 이주하여 지속적인 연산 수행을 보장할 뿐만 아니라 특정 자원제공자의 연산 가용성 비율에 따라서 자율적으로 복제를 생성하여 중복된 연산을 수행한다. 또한, 에이전트 기반 자율적 P2P-MPI 연산모듈(151)은 자원제공자의 이전 프로파일에 평균 자원 제공 시간과 가용한 시간을 계산하여 이주를 하거나 검사점 기법을 사용하여 신뢰적인 연산 수행을 보장한다. The agent-based autonomous P2P-
이를 위하여 에이전트 기반 자율적 P2P-MPI 연산모듈(151)은 상기 MPI 라이브러리와 에이전트 라이브러리를 불러오는 다수의 함수로서 이루어지는데, 상기 함수는, 점대점통신, 집합통신, 블로킹모드, 비블로킹모드, 버퍼 개수에 따라 그 호출함수가 달라지는 특징을 가진다.To this end, the agent-based autonomous P2P-
상기 함수들의 일 예를 하기 [표 1]에 간단히 기술하였다.An example of these functions is briefly described in Table 1 below.
[표 1]
삭제delete
상기 [표 1]의 각 함수 기능을 간단히 설명하면, MPI 환경 초기화 함수인 MPI_INIT, 참여 프로세서의 수를 알 수 있는 MPI_COMM_SIZE, 현재 수행 중인 프로세서 번호를 리턴하는 MPI_COMM_RANK, 메시지를 송신/수신하는 MPI_SEND, MPI_RECEIVE, 마지막으로 MPI 프로그램을 종료하는 MPI_FINALIZE 함수가 있다. MPI 라이브러리는 점대점 통신과 집합 통신을 지원하는데 점대점 통신 중에 블로킹 모드(blocking mode)에서 하나의 자원제공자가 통신을 원하는 다른 자원제공자 간에 MPI_SEND 함수와 MPI_RECEIVE를 통해서 통신을 하게 된다. 비블로킹 모드(nonblocking mode)에서는 MPI_ISEND와 MPI_IRECEIVE 함수를 통해서 통신을 하게 된다. 또한, 집합 통신에서는 버퍼가 하나만 있는 경우 또는 하나의 송신버퍼와 하 나의 수신버퍼만 있는 경우, 그리고 결과 환원 시에 따라서 사용되는 다양한 함수들이 존재한다. 그리고 자원제공자의 ID(rank)는 작업이 수행될 때 조정자에 의해서 할당되고, 그리고 그들 간의 의존관계에 대한 그래프를 작업 그룹의 모든 자원제공자에게 보내준다.The functions of each function in [Table 1] are briefly described as follows: MPI_INIT, which is an MPI environment initialization function, MPI_COMM_SIZE, which shows the number of participating processors, MPI_COMM_RANK, which returns the currently running processor number, MPI_SEND, which sends / receives a message, and MPI_RECEIVE. Finally, there is the MPI_FINALIZE function, which terminates an MPI program. The MPI library supports point-to-point communication and aggregate communication. In point-to-point communication, one resource provider communicates with other resource providers through MPI_SEND and MPI_RECEIVE in blocking mode. In nonblocking mode, communication is performed through MPI_ISEND and MPI_IRECEIVE functions. In aggregate communication, there are various functions used when there is only one buffer or when there is only one transmit buffer and one receive buffer, and when the result is reduced. The resource provider's rank is assigned by the coordinator when the job is performed, and sends a graph of the dependencies between them to all resource providers in the workgroup.
상기 함수들을 이용하여, 상기 에이전트 기반 자율적 P2P-MPI 연산모듈(151)은 자원제공자의 동적인 특성에 맞는 이주기법(예컨대, 자원제공자의 특성에 따라 HLV 영역 등으로의 이동), 자원제공자의 프로파일에 따른 검사점 기법(예컨대, 연산에 참여, 탈퇴), 중복 연산 또는 단일 연산 수행을 포함한 스케쥴링 기법, 악의적인 자원제공자에 대한 결과 검사 기법을 제공할 수 있다.By using the functions, the agent-based autonomous P2P-
상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시 될 수 있다. 따라서 본 발명의 특허 범위는 상기 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위 뿐만 아니라 균등 범위에도 미침은 자명할 것이다.In the foregoing description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the patent scope of the present invention is not to be determined by the above-described embodiment, and the claims will be apparent not only in the claims but also in the equivalent ranges.
상기에서 기술한 바와 같이 본 발명은, P2P 기반 분산시스템에 다양한 응용을 수행할 수 있는 기반구조를 제공함으로써, P2P기반 분산컴퓨팅 플랫폼의 다양한 분야로의 활용성을 지원할 수 있고, 첨단과학 및 기술 분야의 응용성과의 확산, 최종적으로는 P2P기반 분산 컴퓨팅의 상용화에 기여할 수 있다. 즉, 종래의 P2P기반 분산시스템과 비교할 때 본 발명의 에이전트 기반 P2P-MPI 미들웨어가 구비되는 P2P 기반 분산시스템의 경우, 도 16, 도 17과 같이 다양한 응용성 확장이 가능하게 되는 효과가 있다.As described above, the present invention, by providing an infrastructure that can perform a variety of applications in the P2P-based distributed system, can support the utilization of various fields of the P2P-based distributed computing platform, advanced science and technology It can contribute to the spread of applicability, and finally to the commercialization of P2P based distributed computing. That is, compared to the conventional P2P-based distributed system in the case of P2P-based distributed system with the agent-based P2P-MPI middleware of the present invention, there is an effect that it is possible to extend the various applications as shown in FIG.
또한, 본 발명의 에이전트 기반 P2P-MPI 미들웨어를 P2P기반 분산시스템에 적용할 시에는, 다양한 첨단과학 분야에 활용할 수 있는 인터넷기반 분산컴퓨팅 서비스를 제공할 수 있다. In addition, when applying the agent-based P2P-MPI middleware of the present invention to a P2P-based distributed system, it is possible to provide an internet-based distributed computing service that can be used in a variety of advanced scientific fields.
또한, P2P기반 분산시스템 활용의 제약 사항이었던 응용 수행의 한계를 극복하여 전체 산업계에 P2P기반 분산시스템에 대해 폭넓은 활용에 대한 가능성을 넓혀 줄 수 있다. In addition, the possibility of widespread use of P2P-based distributed systems in the entire industry can be widened by overcoming the limitations of application performance, which was the limitation of using P2P-based distributed systems.
또한, 의존적이고 신뢰성을 요구하는 다양한 응용분야에 P2P기반 분산시스템의 적용 가능성을 확장시킬 수 있다.In addition, it is possible to extend the applicability of P2P-based distributed systems to a variety of dependent and demanding applications.
Claims (35)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020060070891A KR100800615B1 (en) | 2006-07-27 | 2006-07-27 | Agent-based P2P-Message Passing Interface Middleware and Its Design Method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020060070891A KR100800615B1 (en) | 2006-07-27 | 2006-07-27 | Agent-based P2P-Message Passing Interface Middleware and Its Design Method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20080010626A KR20080010626A (en) | 2008-01-31 |
| KR100800615B1 true KR100800615B1 (en) | 2008-02-05 |
Family
ID=39222587
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020060070891A Expired - Fee Related KR100800615B1 (en) | 2006-07-27 | 2006-07-27 | Agent-based P2P-Message Passing Interface Middleware and Its Design Method |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100800615B1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102126896B1 (en) * | 2018-10-25 | 2020-06-25 | 상명대학교산학협력단 | Method and apparatus for transformation of MPI programs for Memory Centric Computers |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040123291A1 (en) | 2002-12-12 | 2004-06-24 | Jack Ambuel | Deterministic real time hierarchical distributed computing system |
| KR20040084831A (en) * | 2003-03-26 | 2004-10-06 | 김기환 | parallel distributed processing system and method |
-
2006
- 2006-07-27 KR KR1020060070891A patent/KR100800615B1/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040123291A1 (en) | 2002-12-12 | 2004-06-24 | Jack Ambuel | Deterministic real time hierarchical distributed computing system |
| KR20040084831A (en) * | 2003-03-26 | 2004-10-06 | 김기환 | parallel distributed processing system and method |
Non-Patent Citations (1)
| Title |
|---|
| 논문 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20080010626A (en) | 2008-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104461740B (en) | A kind of cross-domain PC cluster resource polymerization and the method for distribution | |
| CN104050042B (en) | The resource allocation methods and device of ETL operations | |
| CN101924650B (en) | The service of fault information system and the realization method of server intelligent autonomy | |
| CN106909451A (en) | A kind of distributed task dispatching system and method | |
| KR101987960B1 (en) | System and method for supporting accurate load balancing in a transactional middleware machine environment | |
| CN100581173C (en) | A Video Grid Adaptive Load Balance Scheduling Method | |
| CN110688213A (en) | Resource management method and system based on edge calculation and electronic equipment | |
| Kim et al. | Creating a robust desktop grid using peer-to-peer services | |
| CN101267449B (en) | A tree structure P2P system resource transmission method based on mobile agent mechanism | |
| CN117688117A (en) | GIS platform, GIS multi-cluster service scheduling method and medium | |
| KR100800615B1 (en) | Agent-based P2P-Message Passing Interface Middleware and Its Design Method | |
| Silva et al. | P3-mobile: Parallel computing for mobile edge-clouds | |
| García-Arenas et al. | Assessing speed-ups in commodity cloud storage services for distributed evolutionary algorithms | |
| Tziritas et al. | An optimal fully distributed algorithm to minimize the resource consumption of cloud applications | |
| Kim et al. | Trade-offs in matching jobs and balancing load for distributed desktop grids | |
| Wang et al. | Virtual network embedding with pre‐transformation and incentive convergence mechanism | |
| Kim et al. | Matching jobs to resources in distributed desktop grid environments | |
| Blochinger et al. | Aspect-oriented parallel discrete optimization on the cohesion desktop grid platform | |
| Kim et al. | Integrating categorical resource types into a P2P desktop grid system | |
| Cao et al. | P2PGrid: integrating P2P networks into the Grid environment | |
| Cao et al. | P2PGrid: Integrating P2P networks into the grid environment | |
| Fernández | Decentralised multiple workflow scheduling via a chemically-coordinated shared space | |
| Módi | Dynamic API proposal to investigate and improve federated learning scalability | |
| Celaya et al. | Scalable architecture for allocation of idle CPUs in a P2P network | |
| Amarasinghe et al. | A Framework for Peer to Peer General Purpose GPU Distributed Computing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| FPAY | Annual fee payment |
Payment date: 20111209 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20130111 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20140129 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20140129 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |