KR100584193B1 - 그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법 - Google Patents

그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법 Download PDF

Info

Publication number
KR100584193B1
KR100584193B1 KR1020040005818A KR20040005818A KR100584193B1 KR 100584193 B1 KR100584193 B1 KR 100584193B1 KR 1020040005818 A KR1020040005818 A KR 1020040005818A KR 20040005818 A KR20040005818 A KR 20040005818A KR 100584193 B1 KR100584193 B1 KR 100584193B1
Authority
KR
South Korea
Prior art keywords
mpi
file
middleware
grid
initialization
Prior art date
Application number
KR1020040005818A
Other languages
English (en)
Other versions
KR20050078395A (ko
Inventor
권오경
박경랑
함재균
김상완
이종숙
박형우
김신덕
고광원
Original Assignee
한국과학기술정보연구원
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 한국과학기술정보연구원 filed Critical 한국과학기술정보연구원
Priority to KR1020040005818A priority Critical patent/KR100584193B1/ko
Priority to US11/044,557 priority patent/US7814482B2/en
Publication of KR20050078395A publication Critical patent/KR20050078395A/ko
Application granted granted Critical
Publication of KR100584193B1 publication Critical patent/KR100584193B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Abstract

본 발명은 그리드 컴퓨팅 환경에서 MPI를 실행시키기 위한 시스템 및 방법에 관한 것으로, 보다 구체적으로는 서로 분산되어 있는 컴퓨터들이 네트워크로 연결된 그리드 컴퓨팅 시스템에서, 미들웨어와 MPI(Massage Passing Interface) 프로그램의 역할을 구분하여 별도의 중재 프로세스의 개입 없이 MPI초기화가 이루어지는 파일 기반의 그리드 MPI 작업 할당시스템 및 MPI 작업할당 방법에 관한 것이다.
본 발명에 따른 MPI 작업 할당시스템 및 MPI 작업할당 방법은 그리드 컴퓨팅 시스템의 미들웨어가 MPI 초기화에 필요한 각 노드의 주소와 포트번호 등을 포함하는 파일을 만들어서 상기 파일을 분산된 컴퓨터가 보유하는 각 노드의 MPI 프로그램에 제공하고, MPI 프로그램은 파일이 존재할 때까지 기다렸다가 파일이 존재하면 초기화가 이루어지는 구성을 가지므로, 그리드 컴퓨팅 시스템의 미들웨어와는 독립적으로 MPI 초기화가 이루어진다.
따라서, 현재 그리드 컴퓨팅 시스템에서 미들웨어로 통용되고 있는 OGSA (Open Grid Services Architecture) 기반 응용프로그램은 DUROC(Dynamically- Updated Request Online Coallocator)같은 라이브러리를 통합해서 사용하기 힘든 구조이므로, 라이브러리와는 관계없이 MPI 작업이 할당될 수 있게 해야 하는데, 본 발명은 MPI 프로그램과 그리드 미들웨어가 해야 할일을 명확히 구분할 수 있는 구조이므로 어떤 미들웨어가 디자인되더라도 MPI 프로그램이 그리드 상에서 실행될 수 있는 우수한 효과가 있다.

Description

그리드 컴퓨팅 시스템에서 파일기반의 MPI 초기화방법을 이용한 그리드 MPI 작업 할당 시스템 및 그리드 MPI 작업 할당방법{A Grid MPI Job Allocation System and Method using File-based MPI initialization in Grid Computing System}
도 1은 MPICH-G2에서 미들웨어에 의존적으로 MPI 작업을 수행하는 구동 메커니즘을 도시한 개략도
도 2는 MPICH-P4에서 미들웨어에 의존적으로 MPI 작업을 수행하는 구동 메커니즘을 도시한 개략도
도 3은 본 발명의 일실시예인 파일 기반의 MPI 초기화 메커니즘을 도시한 개략도
도 4는 도3에서 MPI 초기화를 위해 제공되어야 하는 파일 포맷의 일례를 나타낸 파일구성도
도 5는 OGSA 기반의 그리드 컴퓨팅 시스템에서, 도3의 파일 기반 MPI 초기화를 이용한 그리드 MPI 작업할당 흐름도
본 발명은 그리드 컴퓨팅 환경에서 MPI를 실행시키기 위한 시스템 및 방법에 관한 것으로, 보다 구체적으로는 서로 분산되어 있는 컴퓨터들이 네트워크로 연결된 그리드 컴퓨팅 시스템에서, 미들웨어와 MPI(Massage Passing Interface) 프로그램의 역할을 구분하여 별도의 중재 프로세스의 개입 없이 MPI초기화가 이루어지는 파일 기반의 그리드 MPI 작업 할당시스템 및 MPI 작업할당 방법에 관한 것이다.
그리드 컴퓨팅 기술은 네트워크로 연결되어 있는 다양한 종류의 컴퓨팅 자원을 통합하여 보다 효율적으로 고성능 인프라를 구축하는 기술이다. 이러한 기술을 바탕으로 구축된 그리드 컴퓨팅 환경은 현재의 인터넷 환경과 많은 차이가 존재한다. 그리드 환경에서는 기본적으로 인터넷 환경에서 제공되는 단순한 정보 공유 외에 다양한 종류의 컴퓨팅 자원을 공유할 수 있게 된다. 실제 그리드 환경에서 사용자는 자신이 사용할 수 있는 여러 자원들을 동시에 사용할 수 있어야 한다.
현재 세계적으로 그리드 컴퓨팅 기술에 대한 연구가 활발히 이루어지고 있고, 기존의 웹서비스 모델을 참조하여 OGSA(Open Grid Services Architecture)라는 구조를 기반으로 그리드 환경을 지원하는 도구들이 개발되고 있다. OGSA란 상호 연동 가능한 그리드 서비스들의 구조에 대한 명세를 가리키는 용어로서, 그리드 구조 및 어플리케이션에 의해 요구되는 특징에 초점을 맞춰 기존의 웹서비스 모델을 가다듬은 것인데 현재 그리드 컴퓨팅을 위한 미들웨어의 새로운 구조로서 자리 잡고 있다. 그리드 컴퓨팅 기술은 업계의 표준 미들웨어인 글로버스 툴킷을 통해서 적용 되어 왔으며, 현재 OGSA 기반의 글로버스 툴킷 버전 3.0까지 개발 되어 있다.
이와 같은 OGSA를 기반으로 한 프레임워크에서는 모든 기능 요소들이 그리드 서비스로 표현되고, 각각의 그리드 서비스는 서비스 데이터라는 표준화된 방법으로 서비스의 상태를 나타낸다.
한편, MPI(Massage Passing Interface)는 병렬 프로그램을 고성능 컴퓨터에서 응용과학자들이 실행하기 위한 표준 인터페이스로서, 메시지 전달 기법을 기반으로 한 병렬처리 라이브러리이다. MPI 응용 프로그램에 참여하는 모든 프로세스는 각자의 ID(RANK)를 가지고 서로 간에 메시지를 주고받음으로써 특정한 작업을 수행하게 된다. 따라서 모든 프로세스는 전체 프로그램에서 자기의 역할(RANK)과 전체적인 구조 및 상대방의 위치를 우선적으로 파악해야 한다. 이는 MPI_Init함수에서 담당하며 MPI_Init과정이 끝나야 MPI 응용으로서의 수행이 가능해 지는 것이다. 기존의 응용과학자들은 그리드 환경에서 새로운 인터페이스를 통한 응용프로그램을 만드는 것 보다는 이미 만들어져 있는 MPI 코드를 이용해서 작업을 수행하는 것을 선호할 것이다.
한편, 그리드 환경에서 MPI 코드를 이용하여 작업을 수행하는 API로는 현재까지 MPICH-G2와 MPICH-P4가 알려져 있다. MPICH-G2와 MPICH-P4의 MPI 초기화 방식은 모두 중앙형으로 중재 프로세스가 중앙에 위치하여 프로세스간 정보를 교환하는데 중재역할을 지속적으로 수행해야하므로, 중재 프로세스의 위치가 성능에 크게 영향을 미치게 되면 중재 프로세스의 유형에 따라 미들웨어에 대한 의존도가 매우 커지게 된다.
즉, 기존의 글로버스 툴킷 2.x는 MPI 통신이 다른 클러스터 환경과 이루어지도록 하기 위해서 DUROC (Dynamically - Updated Request Online Coallocator)라는 API(Application Program Interface)를 사용하였는데, 글로버스 툴킷 2.x에서 이용할 수 있는 MPI 구현물을 예를 들어 MPICH-G2로써 DUROC API를 이용해서 MPI 작업을 초기화 시키는 경우, DUROC API를 통해서 자원에 대한 MPI할당이 이루어지고 각 자원에 있는 MPI 프로세스가 초기화에 필요한 정보를 주고받게 되는 것이다.
보다 구체적으로 살펴보면, 도1에서 보는 바와 같이 MPICH-G2는 ANL(Argonne National Laboratory)에서 만든 MPICH의 그리드용 확장판으로 글로버스 툴킷 작업의 개시 및 통신 등 MPI수행의 모든 과정에 걸쳐서 글로버스 툴킷의 기능을 활용하게 된다.
다시 말해, MPICH-G2에서의 MPI 초기화 과정은 DUROC을 사용한 중앙집중적인 방식으로 도1을 참조하면 글로버스런(globusrun)과 글로버스 잡 매니저(globus-job -manager)란 프로그램 속에 DUROC가 내장되어 있으며 글로버스런(globusrun)은 중앙에서 원격지 즉 네트워크를 통해 연결된 분산된 컴퓨터의 작업들을 관리하며 MPI 초기화시에 이들 상호간의 메시지 전송을 돕게 되기 때문에, 프로세스의 초기화를 위해서 DUROC이라는 컴포넌트에 대한 의존성이 생기게 되며 또한 중앙 집중적인 초기화 방식으로 중앙에서 모든 정보를 파악해 내어 관리를 해야 하는 단점이 있다.
또한, MPICH의 기본 라이브러리로 P4라는 통신 모듈을 통해 MPI기능을 수행하는 라이브러리인 MPICH-P4를 사용하게 되면, 도2와 같이 사용자는 mpicc 프로그램을 통해 컴파일을 하고 mpirun 프로그램을 통해 시작한다. MPICH-P4에서는 초기화를 위해 1개의 중복된 프로세스를 생성하여 이를 통해 다른 프로세스들을 생성한다. mpirun 프로그램이 호출되면 이는 PIXXX란 환경변수 파일을 생성하고 한개의 a.out 프로세스를 생성한다. 여기서 a.out은 사용자가 컴파일한 실행 프로그램이지만 최초 실행된 a.out은 다른 프로세스를 생성하기 위한 시작프로그램으로 사용이 된다. a.out은 PIXXXX파일을 통해 다른 프로세스가 위치해야할 곳을 알게 되며 이를 rsh를 통해 생성하게 된다. rsh를 통해 프로세스를 생성할 때 각 프로세스의 랭크(RANK)와 마스터의 주소를 동시에 넘겨 주게 되고 슬레이드 노드들은 마스터노드와 통신하여 서로간의 정보를 알게 된다.
이와 같이 MPICH-P4는 사용자의 마스터 프로세스가 중재역할을 담당하며, 계산 프로세스들은 이들과 통신하면서 다른 프로세스의 위치정보 등을 파악하게 되므로 MPICH-G2보다는 미들웨어에 대한 의존성이 낮으나 여전히 중앙 집중형이므로 그 의존성을 벗어날 수 없는 문제점이 있다.
따라서, MPICH-G2 나 MPICH-P4와 같이 DUROC API와 같은 중재 프로세스에 의존해서 통신이 이루어지는 MPI 작업 할당 시스템 및 방법은 그리드 미들웨어가 바뀌면 상기 중재 프로세스에 상응하는 API를 다시 작성해야 하는 의존적인 방법이므로 미들웨어의 표준이 바뀜에 따라 매번 새로운 중재 프로세스에 상응하는 API를 다시 개발해야하는 문제점이 존재한다.
그러므로, 최근의 업계 표준인 글로버스 툴킷 3.0과 같이 다른 자원에 있는 MPI프로세스와 통신을 가능하게 해주는 DUROC API가 없더라도, MPICH-G2 나 MPICH-P4와는 다른 방식을 채택하여 미들웨어와 독립적으로 MPI를 실제 그리드 환경인 여러 클러스터 환경에서 실행 시킬 수 있는 MPI 작업 할당시스템 및 방법에 대한 당 업계의 요구가 다수 존재했다.
상기와 같은 문제점을 해결하기 위해, 본 발명은 그리드 컴퓨팅 환경에서 미들웨어와 MPI(Massage Passing Interface) 프로그램의 역할을 구분하여 별도의 중재 프로세스의 개입 없이 MPI 초기화가 이루어질 수 있는 MPI 작업할당시스템 및 작업할당방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 글로버스 툴킷 3.0과 같이 MPI 초기화에 관여하는 별도의 프로세스가 없는 미들웨어의 구조에서도 쉽게 MPI 초기화가 이루어져서 그리드 작업을 수행할 수 있게 하는 MPI 작업할당시스템 및 작업할당방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 어떠한 그리드 미들웨어에도 쉽게 적용될 수 있도록 파일 기반의 MPI 초기화를 이용한 MPI 작업할당시스템 및 작업할당방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명은 MPI 프로그램을 포함하는 다수의 자원을 보유한 서로 분산되어 있는 컴퓨터들이 네트워크로 연결된 미들웨어 기반의 그리드 컴퓨팅 시스템에서, 상기 미들웨어와 MPI(Massage Passing Interface) 프로그램의 역할을 구분하여 별도의 중재 프로세스의 개입 없이 MPI초기화가 이루어지는 것을 특징으로 하는 그리드 MPI 작업 할당시스템을 제공한다.
상기 시스템은 상기 분산된 컴퓨터들이 보유한 MPI 프로그램을 포함하는 다수의 자원에 작업을 수행하게 하는 작업실행서비스 모듈을 구비하는 다수의 노드; 및 상기 다수의 노드에 작업을 분배하고, 상기 각 다수의 노드로부터 MPI 초기화에 필요한 정보를 전송받아 상기 정보를 포함하는 파일을 만들어 상기 MPI 프로그램에 전송하는 작업할당서비스모듈을 구비하는 미들웨어를 포함하는 것을 특징으로 한다. 여기서, 상기 시스템의 미들웨어인 작업할당서비스모듈과 작업실행서비스모듈은 그리드 환경에서 동작하기 위해서 MPI 프로그램과 통신하는 것이 필요하다. 기존의 시스템은 앞서 언급하였듯이 DUROC을 통해서 서로가 통신을 한다. MPI 프로그램은 특정 그리드 미들웨어와의 의존성을 최소화해야 다른 미들웨어에서 쉽게 사용가능하다. 하지만 DUROC이라는 특정 그리드 라이브러리에 의존성이 크게 커짐에 따라 다른 미들웨어 시스템으로의 이식성을 감소시킨다. 그래서 본 발명은 상기 미들웨어와 MPI 프로그램의 역할을 명확히 하고 통신을 쉽게 하기 위해서 파일을 통해서 하는 것을 특징으로 한다.
상기 미들웨어로부터 전송된 파일은 상기 다수의 노드의 주소와 포트번호 등을 포함하는 것을 특징으로 한다. 여기서 상기 다수의 노드의 주소와 포트번호 등은 MPI 프로그램이 초기화 하는데 필요한 참여하고 있는 계산 노드에 관한 요소이다.
또한, 본 발명은 MPI 프로그램을 포함하는 다수의 자원을 보유한 서로 분산되어 있는 컴퓨터들이 네트워크로 연결된 미들웨어 기반의 그리드 컴퓨팅 시스템에서, 상기 다수의 자원의 일정회선이 교차하여 구성된 다수의 노드로부터 MPI 초기화에 필요한 정보를 상기 미들웨어의 작업할당서비스 모듈이 전송받는 1단계; 상기 전송된 정보를 포함하는 파일이 작업할당서비스 모듈에 의해 만들어져 상기 다수의 노드로 전송되는 2단계; 상기 전송된 파일의 정보를 통해 상기 MPI 프로그램이 초기화되는 3단계; 및 상기 다수의 자원이 MPI 작업을 수행하는 4단계를 포함하는 것을 특징으로 하는 파일 기반의 그리드 MPI 작업 할당방법을 제공한다.
상기 1단계는 상기 작업할당서비스 모듈이 상기 다수의 노드에 각각 작업을 분배하는 단계, 상기 다수의 노드에서 작업 매니저를 실행하는 단계, 상기 실행에 의해 인식되는 하위 자원의 구체적인 주소, 포트번호 등 MPI 초기화에 필요한 정보를 인식하는 단계, 및 상기 인식된 주소를 상기 작업할당서비스 모듈로 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 제2단계는 상기 작업할당서비스 모듈이 상기 다수의 노드로부터 전송된 MPI 초기화에 필요한 정보를 특정 형식으로 포맷하여 파일을 만드는 단계, 및 상기 단계에서 만들어진 특정 형식의 포맷 파일을 상기 다수의 노드로 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 파일의 포맷 형식은 속해있는 프론트 노드 자원 내의 랭크(RANK), 프론트 노드 자원의 개수, 전체 MPI 작업의 개수, 전체 프론트 노드 자원의 수, 전체 MPI 작업에서의 랭크(RANK), MPI 프로세스가 받아들일 수 있는 포트, 사용되는 프로토콜의 수, 사용되는 프로토콜, 프로세스가 수행될 노드의 호스트 이름, 노드의 프로세스가 받아들일 수 있는 포트, 사용자가 지정하는 계층별 전송 웨이트 등이 인식될 수 있도록 포맷되는 것을 특징으로 한다.
이하, 도면을 참조하여 본 발명을 상세하게 설명한다.
본 발명에서는 그리드 컴퓨팅 시스템에서 파일 기반의 MPI 초기화 방법을 이용하여 미들웨어의 구성요소와는 독립적으로 MPI 작업을 할당할 수 있는 시스템 및 작업 할당 방법을 제시한다.
도3은 본 발명의 일실시예인 파일 기반의 MPI 초기화 메커니즘을 도시한 개략도로서, 도3을 참조하면 파일 기반의 MPI 초기화를 이용한 MPI 작업할당시스템의 구조는 전체 그리드 컴퓨팅 시스템의 미들웨어에 위치한 작업할당서비스모듈인 작업할당서비스(Job Execution Service)와, 각 노드에 위치한 작업실행서비스모듈인 작업실행서비스(Job Submission Service)를 포함하는 것을 알 수 있다. 또한 도3을 참조하면 MPI 프로세스가 DUROC 모듈을 통해서 작동하던 기존의 방식에서 DURCO 모듈을 제거하고 파일 정보를 읽어서 초기화하는 절차를 알 수 있다. 여기서 기존의 DUROC 모듈에서 사용되었던 각 노드간의 정보를 읽기 위한 동기화 부분인 배리어(Barrier)를 삭제하고 마지막 부분으로 옮겼다.
상기 작업 할당 서비스모듈은 MPI 초기화에 필요한 각 노드의 주소와 포트번호등을 파일에 만들어서 각 노드의 작업 실행 서비스에 보낸다. 각 작업 실행 서비스는 MPI 작업을 실행하게 되고 MPI 프로그램은 파일이 존재할 때 까지 기다렸다가 파일이 만들어지면 파일의 정보를 통해서 초기화가 이루어지게 된다.
따라서 본 발명은 MPI 프로그램과 미들웨어인 작업할당서비스모듈이 해야 할일을 명확히 구분하는 구조를 가지고 있기 때문에 어떤 미들웨어가 디자인되더라도 MPI 프로그램이 그리드 컴퓨팅 시스템 상에서 실행될 수 있다. 뿐만 아니라 사용자가 MPI 프로그램에 필요한 정보들을 파일로 만들기만 하면, 미들웨어 없이 MPI 프로그램을 그리드 환경에서 실행시킬 수 있다.
도 4는 도3에서 MPI 초기화를 위해 제공되어야 하는 파일 포맷의 일례를 나타낸 파일구성도이다. 도4를 참조하면 상기 파일 포맷의 각 항목에 대한 의미는 다음과 같다.
rank_in_my_subjob: 자신이 속해있는 프론트 노드 자원 내의 RANK
my_subjob_size: 자신이 속해있는 프론트 노드 자원의 개수
MPID_MyWorldSize: 전체 MPI 작업의 개수
nsubjobs: 전체 프론트 노드 자원의 수
MPID_MyWorldRANK: 전체 MPI 작업에서의 자신의 RANK
MPI process listen port: MPI 프로세스가 받아들일 수 있는 포트, 여기서 상기 포트의 값은 하위 포트와 같은 값을 가진다.
Uniqueue value for commworld_id: comworld_id를 만들기 위한 추가적인 값, 여기서 임의의 유일한 값을 할당한다.
s_nprots: 사용되는 프로토콜의 수
s_tcptype: 사용되는 프로토콜,enum proto {tcp, mpi, unknown};
hostname: 프로세스가 수행될 노드의 호스트 이름
port: 노드의 프로세스가 받아들일 수 있는 포트
wan_id_length: wan_id의 길이
wan_id: 사용자가 지정하는 계층별 전송 웨이트
lan_id_length: lan_id의 길이
lan_id: 사용자가 지정하는 계층별 전송 웨이트
localhost_id: localhost-TCP와 LAN/WAN-TCP의 구별을 위해 사용된다.
한편, 작업이 각 프론트 노드에서 동시에 여러 번 실행될 수 있으므로 파일 이름이 결정 되어야 한다. 즉 PBS에 작업을 제출할 때 파일이름을 쉘 환경 변수 "FILENAME"에 값을 할당하면 MPI_Init에서 쉘 환경 변수를 통해서 파일 이름을 알 수 있게 된다. 각 랭크(RANK)의 작업에 대한 해당 번호 또한 "RANK"라는 쉘 환경 변수를 통해서 전달을 하게 된다.
도 5는 OGSA 기반의 그리드 컴퓨팅 시스템에서, 도3의 파일 기반 MPI 초기화를 이용한 그리드 MPI 작업할당 흐름도이다. 도 5를 참조하면, 작업 할당 서비스 모듈은 각 자원 또는 노드(도5에서 자원 영역)에 작업을 분배한다. 각 자원 또는 노드의 구성이 클러스터 환경에서 로컬 배치 스케줄러인 PBS에 의해 구성되어 있다고 가정하는 경우, 상기 작업 할당 서비스 모듈에 의해 각 작업 실행 서비스 모듈에 작업이 할당되면 PBS를 통해 작업을 실행한다(도5에서 2번 화살표). 상기 PBS안에서 작업이 실행 상태(Running)가 되면 각 하위 노드의 구체적인 주소를 알 수 있다(도5에서 6번 화살표). 각 MPI 작업은 파일이 존재할 때까지 기다리게 된다. 각 하위 노드들에서 할당되지 않은 포트번호(도5에서 Cluste Nodes Port Manager로부터)와 주소를 작업할당 서비스에 보고한다(도5에서 8번 화살표). 첫번째 RANK일 경우에는 할당 되지 않은 포트번호를 상기 작업 할당 서비스 모듈에 같이 보고한다. 이것은 다른 RANK들이 파일에 대한 정보를 다 읽고 나서 첫번째 RANK에 파일을 다 읽었다는 것에 대해 보고하기 위한 동기화 작업을 위해 필요하다. 상기 작업 할당 서비스는 모든 RANK 자원들의 주소와 포트 번호가 모아지면 파일을 만든다(도5에서 9번 화살표). 파일을 각 자원 실행 서비스 모듈들에 전송함으로써 MPI 초기화를 위한 상기 작업 할당 서비스 모듈의 역할은 끝난다. 이와 같이 전송된 파일의 정보를 통해 각 자원의 MPI 프로그램이 초기화되어, 상기 다수의 자원이 MPI 작업을 수행하게 된다.
참고로 본 발명에 따른 파일 기반의 MPI 초기화 방법과, 종래에 알려진 MPICH-P4, MPICH-G2의 초기화 방법은 의존성, 관리유형, 정보획득원 세 가지의 특성에 따라 비교할 수 있으며 그 특징은 아래 표1과 같다.
초기화 방법에 따른 MPI 라이브러리의 비교
의존성 관리유형 정보획득원
MPICH-P4 낮음 중앙형 사용자의 마스터프로세스
MPICH-G2 매우 높음 중앙형 중앙관리자
본 발명에 따른 파일 기반MPICH 매우 낮음 분산형 파일
상기 표에서 알 수 있듯이 우선 기존의 MPICH-P4와 MPICH-G2의 초기화방식은 모두 중앙형으로 중재 프로세스가 중앙에 위치하여 프로세스간 정보를 교환하는데 중재역할을 지속적으로 수행하게 되므로 중재 프로세스의 위치가 성능에 크게 영향 을 미치게 되며 중재 프로세스의 유형에 따라 미들웨어에 대한 의존도가 매우 커지게 된다. 이에 비해 본 발명에 따른 파일 기반의 초기화 방법은 특정한 소프트웨어의 의존성이 없이 프로세스를 실행할 수 있는 스크립트만으로 MPI를 실행할 수 있으며 미들웨어나 다른 소프트웨어에 대한 의존성이 존재하지 않는 것을 알 수 있다.
본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
이상에서 살펴본 바와 같이, 본 발명에 따른 파일 기반의 MPI 초기화를 이용한 그리드 MPI 작업 할당시스템 및 작업 할당 방법은 다음과 같은 효과를 갖는다.
본 발명에 따른 파일 기반의 MPI 작업 할당시스템 및 할당방법은 그리드 컴퓨팅 시스템에서 상기 미들웨어와 MPI(Massage Passing Interface) 프로그램의 역할을 구분하여 별도의 중재 프로세스의 개입 없이 MPI초기화가 이루어진다.
또한, 본 발명에 따르면 파일 기반의 MPI 초기화를 통해서 어떠한 그리드 미들웨어에서도 쉽게 MPI 작업을 수행할 수 있다.
따라서, 최근의 업계 표준인 글로버스 툴킷 3.0과 같이 다른 자원에 있는 MPI프로세스와 통신을 가능하게 해주는 DUROC API가 없는 OGSA 에서도 쉽게 본 발명에 따른 파일 기반의 MPI 초기화를 이용하여 MPI 작업 할당이 가능한 우수한 효 과가 있다.

Claims (7)

  1. 삭제
  2. MPI 프로그램을 포함하는 다수의 자원을 보유한 서로 분산되어 있는 컴퓨터들이 네트워크로 연결된 미들웨어 기반의 그리드 컴퓨팅 시스템에서,
    상기 분산된 컴퓨터들이 보유한 MPI 프로그램을 포함하는 다수의 자원에 작업을 수행하게 하는 작업실행서비스 모듈을 구비하는 다수의 노드; 및
    상기 다수의 노드에 작업을 분배하고, 상기 각 다수의 노드로부터 MPI 초기화에 필요한 정보를 전송받아 상기 정보를 포함하는 파일을 만들어 상기 MPI 프로그램에 전송하는 작업할당서비스모듈을 구비하는 미들웨어를 포함하여, 상기 미들웨어와 MPI(Massage Passing Interface) 프로그램의 역할을 구분함으로써 별도의 중재 프로세스의 개입 없이 MPI초기화가 이루어지는 것을 특징으로 하는 그리드 MPI 작업 할당시스템.
  3. 제2항에서, 상기 미들웨어로부터 전송된 파일은 상기 다수의 노드의 주소와 포트번호 등을 포함하는 것을 특징으로 하는 파일 기반의 MPI 작업 할당시스템.
  4. MPI 프로그램을 포함하는 다수의 자원을 보유한 서로 분산되어 있는 컴퓨터 들이 네트워크로 연결된 미들웨어 기반의 그리드 컴퓨팅 시스템에서,
    상기 다수의 자원의 일정회선이 교차하여 구성된 다수의 노드로부터 MPI 초기화에 필요한 정보를 상기 미들웨어의 작업할당서비스 모듈이 전송받는 1단계;
    상기 전송된 정보를 포함하는 파일이 작업할당서비스 모듈에 의해 만들어져 상기 다수의 노드로 전송되는 2단계;
    상기 전송된 파일의 정보를 통해 상기 MPI 프로그램이 초기화되는 3단계; 및
    상기 다수의 자원이 MPI 작업을 수행하는 4단계를 포함하는 것을 특징으로 하는 파일 기반의 그리드 MPI 작업 할당방법.
  5. 제4항에서, 상기 1단계는 상기 작업할당서비스 모듈이 상기 다수의 노드에 각각 작업을 분배하는 단계, 상기 다수의 노드에서 작업 매니저를 실행하는 단계, 상기 실행에 의해 인식되는 하위 자원의 구체적인 주소, 포트번호 등 MPI 초기화에 필요한 정보를 인식하는 단계, 및 상기 인식된 주소를 상기 작업할당서비스 모듈로 전송하는 단계를 포함하는 것을 특징으로 하는 파일 기반의 그리드 MPI 작업 할당방법.
  6. 제4항에서, 제2단계는 상기 작업할당서비스 모듈이 상기 다수의 노드로부터 전송된 MPI 초기화에 필요한 정보를 특정 형식으로 포맷하여 파일을 만드는 단계, 및 상기 단계에서 만들어진 특정 형식의 포맷 파일을 상기 다수의 노드로 전송하는 단계를 포함하는 것을 특징으로 하는 파일 기반의 그리드 MPI 작업 할당방법.
  7. 제6항에서, 상기 파일의 포맷 형식은 속해있는 프론트 노드 자원 내의 랭크(RANK), 프론트 노드 자원의 개수, 전체 MPI 작업의 개수, 전체 프론트 노드 자원의 수, 전체 MPI 작업에서의 랭크(RANK), MPI 프로세스가 받아들일 수 있는 포트, 사용되는 프로토콜의 수, 사용되는 프로토콜, 프로세스가 수행될 노드의 호스트 이름, 노드의 프로세스가 받아들일 수 있는 포트, 사용자가 지정하는 계층별 전송 웨이트 등이 인식될 수 있도록 포맷되는 것을 특징으로 하는 파일 기반의 그리드 MPI 작업 할당방법.
KR1020040005818A 2004-01-29 2004-01-29 그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법 KR100584193B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040005818A KR100584193B1 (ko) 2004-01-29 2004-01-29 그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법
US11/044,557 US7814482B2 (en) 2004-01-29 2005-01-27 System and method for grid MPI job allocation using file-based MPI initialization in grid computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040005818A KR100584193B1 (ko) 2004-01-29 2004-01-29 그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법

Publications (2)

Publication Number Publication Date
KR20050078395A KR20050078395A (ko) 2005-08-05
KR100584193B1 true KR100584193B1 (ko) 2006-05-26

Family

ID=34909923

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040005818A KR100584193B1 (ko) 2004-01-29 2004-01-29 그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법

Country Status (2)

Country Link
US (1) US7814482B2 (ko)
KR (1) KR100584193B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765561B1 (en) * 2005-11-10 2010-07-27 The Mathworks, Inc. Dynamically sizing a collaboration of concurrent computing workers based on user inputs
US7644130B2 (en) * 2005-12-30 2010-01-05 Intel Corporation Method and apparatus for transparent selection of alternate network interfaces in a message passing interface (“MPI”) implementation
KR100793820B1 (ko) * 2005-12-30 2008-01-21 고려대학교 산학협력단 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한웹서비스 획득방법 및 웹 서비스 제공방법
KR100843761B1 (ko) * 2006-12-26 2008-07-04 한국과학기술정보연구원 수정된 홀 펀칭을 통해 그리드 환경에서 사설 ip를지원하는 시스템 수준의 mpi 통신방법
KR100791037B1 (ko) * 2007-04-19 2008-01-03 인하대학교 산학협력단 그리드 기반 대용량 데이터 분류 장치 및 방법
KR100952364B1 (ko) * 2007-11-29 2010-04-09 한국과학기술정보연구원 그리드 컴퓨팅 환경에서 다중 작업 생성 및 실행을 위한방법 및 시스템
US9477529B2 (en) 2012-06-20 2016-10-25 International Business Machines Corporation Job distributed within a grid environment using mega-host groupings of execution hosts based on resource attributes
CN107046510B (zh) * 2017-01-13 2020-06-16 广西电网有限责任公司电力科学研究院 一种适用于分布式计算系统的节点及其组成的系统
CN110543361B (zh) * 2019-07-29 2023-06-13 中国科学院国家天文台 一种天文数据并行处理装置和方法
US11372871B1 (en) 2020-02-21 2022-06-28 Rapid7, Inc. Programmable framework for distributed computation of statistical functions over time-based data
CN112929461B (zh) * 2021-01-21 2022-09-16 中国人民解放军国防科技大学 一种基于高速互连网络的mpi进程管理接口实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020112232A1 (en) * 2001-02-15 2002-08-15 Ream James A. System and process for building host computers
US7512934B2 (en) * 2004-08-25 2009-03-31 Microsoft Corporation Parallel debugger
US7555549B1 (en) * 2004-11-07 2009-06-30 Qlogic, Corporation Clustered computing model and display

Also Published As

Publication number Publication date
KR20050078395A (ko) 2005-08-05
US20050198104A1 (en) 2005-09-08
US7814482B2 (en) 2010-10-12

Similar Documents

Publication Publication Date Title
Jamshidi et al. Microservices: The journey so far and challenges ahead
US20220318184A1 (en) Virtual rdma switching for containerized applications
JP6433554B2 (ja) 計算タスクを処理するためのコンピュータクラスタ構成、およびそれを動作させるための方法
CN108304473B (zh) 数据源之间的数据传输方法和系统
US10379883B2 (en) Simulation of high performance computing (HPC) application environment using virtual nodes
US7814482B2 (en) System and method for grid MPI job allocation using file-based MPI initialization in grid computing system
Appavoo et al. Providing a cloud network infrastructure on a supercomputer
CN112416737B (zh) 一种容器的测试方法、装置、设备和存储介质
Sousa et al. Patterns for software orchestration on the cloud
US10353857B2 (en) Parallel processing apparatus and method for controlling communication
US20180024865A1 (en) Parallel processing apparatus and node-to-node communication method
Gu et al. JBSP: A BSP programming library in Java
US8442939B2 (en) File sharing method, computer system, and job scheduler
Gupta et al. A multi-level scalable startup for parallel applications
US20230138867A1 (en) Methods for application deployment across multiple computing domains and devices thereof
Kazanavičius et al. Evaluation of microservice communication while decomposing monoliths
US20160266932A1 (en) Allocation of large scale processing job processes to host computing systems
Solt et al. Scalable, fault-tolerant job step management for high-performance systems
Schweigler et al. pony-The occam-pi Network Environment.
KR102582777B1 (ko) 에지 컴퓨팅 환경을 위한 경량 큐브에지 구성 방법 및 장치
KR101399111B1 (ko) 헬스 클라우드를 위한 고성능 자바 소켓
Bobroff et al. Scalability analysis of job scheduling using virtual nodes
Jeong et al. D-RDMALib: InfiniBand-based RDMA Library for Distributed Cluster Applications
Lindner et al. Performance prediction based resource selection in grid environments
Agut et al. High-throughput Computation through Efficient Resource Management

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100507

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee