KR101695238B1 - 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법 - Google Patents

다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법 Download PDF

Info

Publication number
KR101695238B1
KR101695238B1 KR1020160081578A KR20160081578A KR101695238B1 KR 101695238 B1 KR101695238 B1 KR 101695238B1 KR 1020160081578 A KR1020160081578 A KR 1020160081578A KR 20160081578 A KR20160081578 A KR 20160081578A KR 101695238 B1 KR101695238 B1 KR 101695238B1
Authority
KR
South Korea
Prior art keywords
simulation
task
resource
information
htc
Prior art date
Application number
KR1020160081578A
Other languages
English (en)
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 KR1020160081578A priority Critical patent/KR101695238B1/ko
Application granted granted Critical
Publication of KR101695238B1 publication Critical patent/KR101695238B1/ko

Links

Images

Classifications

    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • 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/5083Techniques for rebalancing the load in a distributed system
    • 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/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment

Abstract

본 발명은 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법에 관한 것으로서, 물리 HPC 자원, 물리 HTC 자원, 가상화 HPC 자원, 가상화 HTC 자원 중 적어도 하나의 자원으로 구성된 자원부, 시뮬레이션 요청 정보 수신 시, 해당 시뮬레이션 소프트웨어에 대한 정보와 시뮬레이션 수행이력정보를 근거로 해당 시뮬레이션의 메시지 전달 인터페이스 활용 유무 및 작업수행시간을 예측하여, 상기 자원부의 자원에 시뮬레이션 작업을 할당하는 자원 관리부를 포함한다.

Description

다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법{SYSTEM AND METHOD FOR JOB SCHEDULING USING MULTI COMPUTING RESOURCE}
본 발명은 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 다중 컴퓨팅 자원 기반 웹 기반 과학 시뮬레이션 서비스에서 사용자가 실행하고자 하는 시뮬레이션에 적합한 자원을 할당하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법에 관한 것이다.
웹기반 과학 시뮬레이션 서비스의 자원은 물리 서버 기반으로 구성된 고성능 컴퓨팅(HPC : High Performance Computing) 자원과 대규모 계산처리 컴퓨팅(HTC : High-throughput computing) 자원, 가상화 서버 기반으로 구성된 고성능 컴퓨팅 자원(HPC)과 대규모 계산처리 컴퓨팅(HTC) 등으로 나눌 수 있다.
고성능 컴퓨팅 자원의 경우 서브 프로세스간 메시지 전달 인터페이스(MPI : Message Passing Interface)를 통해 계산 자원 간 통신이 빈번하게 일어나는 시뮬레이션 소프트웨어를 서비스할 때 적합하며, 대규모 계산처리 컴퓨팅 자원의 경우 서브 프로세스 간 통신 없이 독립적으로 실행되는 시뮬레이션 소프트웨어를 서비스 할 때 적합하다.
웹기반 과학 시뮬레이션 서비스에서 컴퓨팅 자원의 구성은 이를 활용하는 시뮬레이션 소프트웨어의 특성에 따라 동일한 컴퓨팅 자원을 구성하여 활용하는 경우가 대부분이며, 한번 구성된 자원은 특성의 변화 없이 계속 활용하는 경우가 일반적이다. 이 경우 특성이 다른 특성을 지닌 소프트웨어를 추가적으로 서비스하는 경우, 컴퓨팅 자원의 효율성이 떨어지게 되며, 최적화된 자원 환경을 제공할 수 없게 된다.
선행기술1: 한국등록특허 제1,158,637호(2012.06.26 공고)
본 발명의 목적은 다중 컴퓨팅 자원 기반 웹기반 과학 시뮬레이션 서비스에서 시뮬레이션 소프트웨어들의 통계적 특성을 바탕으로 사용자가 실행하고자 하는 시뮬레이션에 적합한 자원에 시뮬레이션 작업을 할당하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법을 제공함에 있다.
본 발명의 다른 목적은 시뮬레이션 소프트웨어들의 통계자료를 토대로 컴퓨팅 자원을 서비스에 맞게 최적 배치하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법을 제공함에 있다.
한편, 본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 포함될 수 있다.
본 발명의 일 측면에 따르면, 물리 HPC 자원, 물리 HTC 자원, 가상화 HPC 자원, 가상화 HTC 자원 중 적어도 하나의 자원으로 구성된 자원부, 시뮬레이션 요청 정보 수신 시, 해당 시뮬레이션 소프트웨어에 대한 정보와 시뮬레이션 수행이력정보를 근거로 해당 시뮬레이션의 메시지 전달 인터페이스 활용 유무 및 작업수행시간을 예측하여, 상기 자원부의 자원에 시뮬레이션 작업을 할당하는 자원 관리부를 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치가 제공된다.
상기 장치는 사용 가능한 과학 시뮬레이션 목록, 각 시뮬레이션 실행에 필요한 입력정보를 입력하는 인터페이스를 제공하여, 시뮬레이션 목록 및 입력정보를 포함하는 입력받고, 상기 입력된 시뮬레이션 목록 및 입력정보를 포함하는 시뮬레이션 요청 정보를 상기 자원 관리부로 전송하는 웹포털부를 더 포함할 수 있다.
또한, 상기 장치는 각 시뮬레이션 소프트웨어에 대한 정보가 저장된 시뮬레이션 소프트웨어 저장부를 더 포함할 수 있다.
상기 자원 관리부는, 시뮬레이션 수행이력정보가 저장된 통계정보 데이터베이스, 상기 시뮬레이션 요청 정보에 해당하는 시뮬레이션 소프트웨어에 대한 정보를 수집하는 정보 수집부, 상기 시뮬레이션 요청 정보에 포함된 입력정보, 상기 정보 수집부에서 수집된 시뮬레이션 소프트웨어에 대한 정보, 상기 통계정보 데이터베이스로부터의 동일한 시뮬레이션의 실행이력을 근거로, 해당 시뮬레이션의 프로세서간 메시지 전달 인터페이스(MPI) 활용 유무 및 작업수행시간을 예측하여, 물리 HPC 로드벨런서, 가상화 HPC 로드벨런서, 물리 HTC 로드벨런서, 가상화 HTC 로드벨런서 중 적어도 하나에 시뮬레이션 작업을 할당하는 작업 할당부, 물리 HPC 로드벨런서, 가상화 HPC 로드벨런서, 물리 HTC 로드벨런서, 가상화 HTC 로드벨런서중 적어도 하나를 포함하고, 상기 작업 할당부에서 할당받은 시뮬레이션 작업을 대기중인 자원에 할당하는 로드벨런서를 포함할 수 있다.
상기 작업 할당부는, 상기 입력정보와 컴파일러 정보를 근거로 해당 시뮬레이션의 MPI 활용 여부를 판단하고, MPI를 활용하는 경우, 물리 HPC 자원 또는 가상화 HPC 자원에 시뮬레이션 작업을 할당하고, MPI를 활용하지 않는 경우 물리 HTC 자원 또는 가상화 HTC 자원에 시뮬레이션 작업을 할당할 수 있다.
또한, 상기 작업 할당부는 MPI를 활용하는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HPC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HPC 자원에 시뮬레이션 작업을 할당할 수 있다.
또한, 상기 작업 할당부는 MPI를 활용하지 않는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HTC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HTC 자원에 시뮬레이션 작업을 할당할 수 있다.
상기 작업 관리부는 상기 통계정보 데이터베이스에 저장된 정보를 근거로 자원부의 자원을 재구성하는 프로비전부를 더 포함할 수 있다.
상기 프로비전부는 통계정보 데이터베이스에 저장된 각 시뮬레이션 소프트웨어의 실행 빈도수를 분석하여 월별 자원구성비율을 구하고, 그 월별 자원구성비율을 기초로 자원을 재구성해야 하는 시점의 시뮬레이션 수요를 예측하며, 상기 예측된 시뮬레이션 수요가 기 구성된 내부 컴퓨팅 자원으로 수용 가능하지 않은 경우, 필요한 자원만큼을 외부 가상화 자원을 생성할 수 있다.
본 발명의 다른 측면에 따르면, 웹을 통해 시뮬레이션 요청 정보를 입력받아 서비스 장치로 전송하고, 상기 서비스 장치로부터 시뮬레이션 결과 정보를 수신하는 사용자 장치, 상기 시뮬레이션 요청 정보 수신에 따라, 해당 시뮬레이션 소프트웨어에 대한 정보와 시뮬레이션 수행이력정보를 근거로 해당 시뮬레이션의 프로세서간 메시지 전달 인터페이스(MPI:Message Passing Interface) 활용 유무 및 작업수행시간을 예측하고, 상기 MPI 활용 유무 및 예측된 작업수행시간을 근거로 HPC 자원 또는 HTC 자원에 시뮬레이션 작업을 할당하며, 시뮬레이션 결과정보를 상기 사용자 장치로 전송하는 서비스 장치를 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템이 제공된다.
상기 서비스 장치는, MPI를 활용하는 경우, HPC 자원에 시뮬레이션 작업을 할당하고, MPI를 활용하지 않는 경우 HTC 자원에 시뮬레이션 작업을 할당할 수 있다.
또한, 상기 서비스 장치는, MPI를 활용하는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HPC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HPC 자원에 시뮬레이션 작업을 할당할 수 있다.
또한, 상기 서비스 장치는, MPI를 활용하지 않는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HTC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HTC 자원에 시뮬레이션 작업을 할당할 수 있다.
본 발명의 또 다른 측면에 따르면,서비스 장치가 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법에 있어서, (a) 입력정보를 포함하는 시뮬레이션 요청 정보를 수신하는 단계, (b) 상기 시뮬레이션 요청 정보에 해당하는 시뮬레이션 소프트웨어에 대한 정보와 동일한 시뮬레이션의 수행이력 정보를 수집하는 단계, (c) 상기 수집된 정보와 입력정보를 근거로 해당 시뮬레이션의 프로세서간 메시지 전달 인터페이스(MPI) 활용 유무 및 작업수행시간을 예측하여, 물리 HPC 자원, 가상화 HPC 자원, 물리 HTC 자원, 가상화 HTC 자원 중 적어도 하나의 컴퓨팅 자원에 시뮬레이션 작업을 할당하는 단계를 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법이 제공된다.
상기 (c) 단계는, 상기 입력정보와 컴파일러 정보를 근거로 해당 시뮬레이션의 MPI 활용 여부를 판단하는 단계, MPI를 활용하는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HPC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HPC 자원에 시뮬레이션 작업을 할당하며, MPI를 활용하지 않는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HTC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HTC 자원에 시뮬레이션 작업을 할당하는 단계를 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 서비스 장치가 다중 컴퓨팅 자원을 재구성하는 방법에 있어서, 기 저장된 월간 시뮬레이션 수행 데이터를 기초로 자원을 재구성해야 하는 시점의 시뮬레이션 수요를 예측하는 단계, 상기 예측된 시뮬레이션 수요가 기 구성된 컴퓨팅 자원으로 수용 가능한지를 판단하는 단계, 상기 판단결과, 기 구성된 컴퓨팅 자원으로 수용 가능하지 않은 경우, 필요한 자원만큼을 외부 가상화 자원을 생성하는 단계를 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링을 위한 자원 재구성 방법이 제공된다.
상기 판단결과, 기 구성된 컴퓨팅 자원으로 수용 가능한 경우, 상기 예측된 시뮬레이션 수요가 내부 컴퓨팅 자원만으로 가능한지를 판단하고, 내부 컴퓨팅 자원만으로 가능한 경우, 외부 가상화 자원 사용을 해지하며, 내부 컴퓨팅 자원만으로 가능하지 않은 경우, 필요한 외부 가상화 자원을 제외한 나머지 외부 가상화 자원은 사용을 해지할 수 있다.
한편, 이상에 살핀 상기 '다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법'은, 프로그램의 형태로 구현된 뒤에 전자 장치에서 판독 가능한 기록 매체에 기록되거나, 프로그램 다운로드 관리 장치(서버 등)를 통해 배포될 수 있다.
본 발명에 따르면, 다중 컴퓨팅 자원 기반 웹기반 과학 시뮬레이션 서비스에서 시뮬레이션 소프트웨어들의 통계적 특성을 바탕으로 사용자가 실행하고자 하는 시뮬레이션에 적합한 자원에 시뮬레이션 작업을 할당함으로써, 동시실행 가능 시뮬레이션 작업 수 증가, 시뮬레이션 작업 수행시간 감소, 작업 대기시간 최소화가 가능하여 보다 나은 서비스를 제공할 수 있다.
또한, 내부적으로 보유한 컴퓨팅 자원을 서비스하는 다양한 분야의 과학 시뮬레이션 소프트웨어에 맞추어 자원을 구성함으로써, 시스템의 효율성을 높일 수 있다.
또한, 시뮬레이션 요청이 급증하는 시점을 예측하여 외부 가상화 자원을 사용함으로써, 시스템 장애 발생을 예방할 수 있고, 외부 가상화 자원을 효과적으로 활용하여 운영비용을 감소시킬 수 있다.
한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.
도 1은 본 발명의 실시예에 따른 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템을 나타낸 도면이다.
도 2는 본 발명에 따른 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템을 구체적으로 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법을 나타낸 흐름도이다.
도 4는 본 발명의 실시예에 따른 다중 컴퓨팅 자원을 이용한 작업 스케줄링을 위해 자원을 재구성하는 방법을 나타낸 흐름도이다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 '다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법'을 상세하게 설명한다. 설명하는 실시 예들은 본 발명의 기술 사상을 당업자가 용이하게 이해할 수 있도록 제공되는 것으로 이에 의해 본 발명이 한정되지 않는다. 또한, 첨부된 도면에 표현된 사항들은 본 발명의 실시 예들을 쉽게 설명하기 위해 도식화된 도면으로 실제로 구현되는 형태와 상이할 수 있다.
한편, 이하에서 표현되는 각 구성부는 본 발명을 구현하기 위한 예일 뿐이다. 따라서, 본 발명의 다른 구현에서는 본 발명의 사상 및 범위를 벗어나지 않는 범위에서 다른 구성부가 사용될 수 있다.
또한, 각 구성부는 순전히 하드웨어 또는 소프트웨어의 구성만으로 구현될 수도 있지만, 동일 기능을 수행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합으로 구현될 수도 있다. 또한, 하나의 하드웨어 또는 소프트웨어에 의해 둘 이상의 구성부들이 함께 구현될 수도 있다.
또한, 어떤 구성요소들을 '포함'한다는 표현은, '개방형'의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
이하에서는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치를 서비스 장치로 칭하여 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템을 나타낸 도면, 도 2는 본 발명에 따른 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템을 구체적으로 나타낸 도면이다.
도 1을 참조하면, 다중 컴퓨팅 자원 환경을 이용한 작업 스케줄링 시스템은 사용자 장치(100)와 서비스 장치(200)를 포함하고, 이들은 유무선 통신망을 통해 연결된다.
사용자 장치(100)는 사용자 장치(200)가 제공하는 웹을 통해 시뮬레이션 요청 정보를 입력받아 서비스 장치(200)로 전송하고, 서비스 장치(200)로부터 시뮬레이션 결과 정보를 수신한다. 즉, 사용자는 서비스 장치(200)가 제공하는 환경에서 시뮬레이션을 원하는 분야와 소프트웨어를 선택한다. 이때, 사용자는 서비스 장치(200)가 제공하는 웹 UI를 통해 상기 선택한 소프트웨어에서 요구하는 입력정보 즉, 변수정보와 파일을 업로드할 수 있다. 시뮬레이션 요청 정보는 계산과학 분야, 시뮬레이션 소프트웨어 정보, 입력정보 등을 포함할 수 있고, 시뮬레이션 소프트웨어 정보는 소프트웨어 식별정보일 수 있으면, 입력정보는 입력변수와 입력파일을 포함할 수 있다.
이러한 사용자 장치(100)는 통신망을 통하여 서비스 장치(200)에 접속하여 시뮬레이션 요청 및 시뮬레이션 결과를 제공받는 장치로, 사용자의 키 조작에 따라 통신망을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있다.
서비스 장치(200)는 사용자 장치(100)로부터 시뮬레이션 요청 정보 수신 시, 해당 시뮬레이션 소프트웨어들의 통계적 특성을 바탕으로 사용자가 실행하고자 하는 시뮬레이션의 작업 수행시간을 예측하여 적합한 자원에 시뮬레이션 작업을 할당하고, 시뮬레이션 결과 정보를 사용자 장치(100)로 전송한다. 즉, 서비스 장치(200)는 물리 HPC 자원과 물리 HTC 자원, 가상화 HPC 자원과 가상화 HTC 자원으로 구성된 컴퓨팅 환경을 효율적으로 활용하기 위해, 시뮬레이션 소프트웨어들의 통계이력을 바탕으로 작업수행시간을 예측하여 적절한 자원에 시뮬레이션 작업을 할당한다.
이러한, 서비스 장치(200)는 포털부(110), 자원 관리부(120), 자원부(130)를 포함한다.
웹 포털부(110)는 각 과학분야별 사용자가 웹에서 과학 시뮬레이션을 수행할 수 있는 환경을 제공한다.
웹 포털부(110)는 사용 가능한 과학 시뮬레이션 목록 제공, 시뮬레이션 실행에 필요한 입력정보를 입력하는 인터페이스 제공, 실행한 시뮬레이션 작업 목록 및 상태 정보 제공, 시뮬레이션 결과 정보 제공 등의 기능을 수행한다.
웹 포털부(110)는 시뮬레이션 요청 정보를 자원 관리부(120)로 전송하여, 시뮬레이션이 수행될 수 있도록 한다.
자원 관리부(120)는 웹 포털부(110)로부터 전송된 시뮬레이션 요청 정보에 해당하는 시뮬레이션 소프트웨어에 대한 정보를 시뮬레이션 소프트웨어 저장부(미도시)로부터 획득하고, 해당 시뮬레이션 소프트웨어들의 통계적 특성을 바탕으로 사용자가 실행하고자 하는 시뮬레이션의 작업수행시간을 예측하여 적합한 자원에 시뮬레이션 작업을 할당한다.
이러한 자원 관리부(120)는 통계정보 데이터베이스(121), 큐(122), 정보 수집부(123), 자원 할당부(124), 로드벨런서부(125)를 포함한다.
통계정보 데이터베이스(121)에는 각 시뮬레이션 소프트웨어의 시뮬레이션 수행 이력 등이 저장된다. 시뮬레이션 실행 이력은 입력 파일, 입력변수정보, 실제 실행된 작업수행시간 등을 포함할 수 있다.
큐(122)는 웹 포털부(110)로부터 시뮬레이션 요청 정보를 전달받아, 정보 수집부(123)로 전달한다. 또한, 큐(122)는 다분야의 웹 포털부(110)에서 생성된 다양한 시뮬레이션 요청 정보를 수집하여 순차적으로 자원 할당부(124)에 전달하는 역할을 한다.
정보 수집부(123)는 큐(122)에 대기중인 시뮬레이션 요청 정보(시뮬레이션 소프트웨어 식별정보)에 해당하는 시뮬레이션 소프트웨어에 대한 정보를 시뮬레이션 소프트웨어 저장부로부터 수집하여 자원 할당부(124)로 전송한다. 여기서, 시뮬레이션 소프트웨어에 대한 정보는 시뮬레이션 실행파일 경로, 컴파일러 정보 등을 포함할 수 있고, 이러한 정보는 최초 시뮬레이션 소프트웨어가 웹 기반 과학 시뮬레이션 시스템에 등록될 때 저장된 정보일 수 있다.
자원 할당부(124)는 큐(122)로부터의 입력정보, 정보 수집부(123)로부터의 시뮬레이션 소프트웨어에 대한 정보, 통계정보 데이터베이스(121)로부터의 동일한 시뮬레이션의 수행이력을 근거로, 해당 시뮬레이션의 프로세서간 메시지 전달 인터페이스(MPI) 활용 유무 및 작업수행시간을 예측하고, 적절한 로드벨런서(125)에 시뮬레이션 작업을 할당한다. 여기서, 입력정보는 변수정보와 파일을 포함하고, 시뮬레이션 소프트웨어에 대한 정보는 시뮬레이션 실행파일 경로, 컴파일러 정보 등을 포함한다.
즉, 자원 할당부(124)는 입력정보, 시뮬레이션 소프트웨어에 대한 정보, 동일한 시뮬레이션의 수행이력을 근거로, 작업수행시간을 예측한다.
예를 들어, 입력 변수가 a와 b이고, 입력파일이 c.dat이며, 통계정보 데이터베이스(121)에 해당 시뮬레이션의 수행이력이 저장된 경우, 자원 할당부(124)는 해당 시뮬레이션의 수행 이력을 토대로 입력파일과 입력 변수 값에 따라 시뮬레이션 작업수행시간의 변화를 추론하게 된다. 해당 시뮬레이션이 c.dat 파일의 크기가 커지는 경우와 변수 a의 값이 커지면, 시뮬레이션 작업수행시간이 증가하는 시뮬레이션이라 가정하였을 경우, 이를 통계정보 데이터베이스(121)의 기존 시뮬레이션 수행 이력을 토대로 추출하게 되며, 사용자가 입력한 c.dat 파일과 변수 a 값을 토대로 이 시뮬레이션의 수행시간을 추론할 수 있게 된다.
자원 할당부(124)는 시뮬레이션 작업수행시간을 예측한 후, 입력정보와 컴파일러 정보를 근거로 해당 시뮬레이션의 MPI 활용 여부를 판단한다.
그 판단결과, 시뮬레이션이 메시지 전달 인터페이스를 활용하는 경우, 자원 할당부(124)는 물리 HPC 로드벨런서 또는 가상화 HPC 로드벨런서에 시뮬레이션 작업을 할당한다. 이때, 작업 할당부(124)는 예측된 작업수행시간과 작업할당기준시간을 비교하고, 그 비교결과 예측된 작업수행시간이 작업할당기준시간보다 높은 경우, 물리 HPC 로드벨런서에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HPC 로드벨런서에 시뮬레이션 작업을 할당한다. 이는 가상화 자원의 연산량이 물리 자원보다 낮기 때문이며, 물리 자원만으로 구성한 경우보다 컴퓨팅 자원의 개수가 많아 동시에 더 많은 시뮬레이션 작업을 수행할 수 있다.
작업 할당 기준 시간은 통계정보 데이터베이스(121)에 저장된 기존 시뮬레이션 작업들의 평균 작업 수행 시간, 활용 가능한 컴퓨팅 자원의 수, 일 평균 시뮬레이션 수행 수 등을 고려하여 정한다.
예를 들어, 성능이 x인 물리 HPC 자원, 성능이 y인 가상화 HPC 자원이 구성이 되어 있다고 가정하여 설명하기로 한다.
최초의 작업 할당 기준 시간은 수학식 1을 이용하여 구하고, 기존 수행된 모든 시뮬레이션 작업을 물리 HPC 자원에서 수행했을 때의 평균 작업 수행 시간이 된다.
Figure 112016062930832-pat00001
특정 컴퓨팅 자원에 작업이 몰리게 되면, 작업 할당 시간의 기준을 특정 컴퓨팅 자원에 작업이 덜 몰리도록 값을 조정한다. 예를 들면, 물리 HPC 자원 중 n개의 자원이 사용 가능하고, 가상화 HPC 자원 중 m개 자원이 사용 가능하다면, 작업 할당 기준 시간을 높여 가상화 HPC 자원에 작업이 더 할당 되도록 한다. 시뮬레이션 수행 시간의 표준 편차를 구해 1표준편차(
Figure 112016062930832-pat00002
) 이내에서 작업 할당 시간을 정하며, 이렇게 정해진 새로운 작업할당기준시간은 수학식 2와 같이 정해진다.
Figure 112016062930832-pat00003
자원 할당부(124)는 시뮬레이션이 메시지 전달 인터페이스를 활용하지 않은 경우, 물리 HTC 로드벨런서 또는 가상화 HTC 로드벨런서에 작업을 할당한다. 이때, 작업 할당부(124)는 예측된 작업수행시간과 작업할당기준시간을 비교하고, 그 비교결과 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HTC 로드벨런서에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HTC 로드벨런서에 시뮬레이션 작업을 할당한다.
이처럼, 자원 할당부(124)는 통계정보 데이터베이스(121)의 정보 및 현재 자원들의 작업현황을 참고하여, 해당 시뮬레이션에 가장 적합한 자원에 할당하고, 각 컴퓨팅 자원의 로드벨런서를 통해 각 자원의 사용 현황과 시뮬레이션 결과정보를 수신한다. 또한, 자원 할당부(124)는 시뮬레이션 결과정보를 해당 웹 포털부(110)에 전달하여 사용자에게 제공한다.
로드벨런서부(125)는 물리 HPC 로드벨런서, 가상화 HPC 로드벨런서, 물리 HTC 로드벨런서, 가상화 HTC 로드벨런서를 포함하고, 자원 할당부(125)에서 할당받은 시뮬레이션 작업을 대기중인 컴퓨팅 자원에 할당한다. 즉, 물리 HPC 로드벨런서는 자원 할당부(124)로부터 시뮬레이션 작업 할당 요청이 요청되면, 물리 HPC 자원에 시뮬레이션 작업을 할당한다. 가상화 HPC 로드벨런서는 자원 할당부(124)로부터 시뮬레이션 작업 할당 요청이 요청되면, 가상화 HPC 자원에 시뮬레이션 작업을 할당한다. 물리 HTC 로드벨런서는 자원 할당부(124)로부터 시뮬레이션 작업 할당 요청이 요청되면, 물리 HTC 자원에 시뮬레이션 작업을 할당한다. 가상화 HTC 로드벨런서는 자원 할당부(124)로부터 시뮬레이션 작업 할당 요청이 요청되면, 가상화 HTC 자원에 시뮬레이션 작업을 할당한다.
또한, 로드벨런서부(125)는 계속적으로 컴퓨팅 자원의 시뮬레이션 작업 진행 상태를 모니터링하며, 시뮬레이션 작업 진행 상태정보를 자원 할당부(124)에 전달하여, 사용자에게 시뮬레이션 수행 현황을 알려주며, 시뮬레이션 작업이 완료되면, 시뮬레이션 결과 정보를 자원 할당부(124)에 전달해 준다.
한편, 상기와 같이 구성된 자원 관리부(120)는 통계정보 데이터베이스(121)에 저장된 정보를 토대로 컴퓨팅 자원을 서비스에 맞게 배치하는 프로비전부(126)를 더 포함한다.
프로비전부(126)는 통계정보 데이터베이스(121)에 저장된 통계정보를 바탕으로 개별 소프트웨어의 실행 빈도수를 분석하여 최적화된 자원구성비율을 구하고, 구해진 월별 자원구성비율을 토대로 자원을 재구성해야 하는 시점을 예측하여, 자원을 재구성한다. 이때, 프로비전부(126)는 시뮬레이션 수행 수가 증가 감소하는 시점을 자원을 재구성해야 하는 시점으로 예측하고, 시뮬레이션 작업들의 작업 수행 시간, 일 평균 시뮬레이션 수행 수 등을 고려하여 각 컴퓨팅 자원의 비율을 정한다.
또한, 프로비전부(126)는 내부 컴퓨팅 자원에서 수용할 수 없을 정도의 시뮬레이션 실행 요청이 들어오는 시점을 예측하여 필요한 자원만큼의 자원을 외부 가상화 자원으로 생성하여 사용하며, 시뮬레이션 실행 요청이 감소하는 시점에 외부 가상화 자원의 사용을 해지한다.
자원부(130)는 내부 컴퓨팅 자원을 포함하고, 내부 컴퓨팅 자원은 물리 HPC 자원, 물리 HTC 자원, 가상화 HPC 자원, 가상화 HTC 자원을 포함한다. 가상화된 컴퓨팅 자원은 하나의 물리 자원을 여러 개의 가상화 자원으로 나누어 운영할 수 있으므로, 가상화 HPC 자원과 가상화 HTC 자원은 물리 자원을 이용하여 생성된 것일 수 있다. 이처럼 시뮬레이션 소프트웨어의 성능 수준에 맞는 가상화 자원을 여러 개 생성하여 운영하면, 물리 자원 하나로 서비스를 운영하는 것보다 효율적인 서비스 제공이 가능하다.
자원부(130)는 외부 가상화 자원을 더 포함할 수 있다. 외부 가상화 자원은 내부 컴퓨팅 자원만으로 시뮬레이션 수요를 수용할 수 없을 경우에 생성되어 이용되는 자원일 수 있다.
한편, 웹 포털부(110), 자원 관리부(120), 자원부(130) 각각은 컴퓨팅 장치상에서 프로그램을 실행하기 위해 필요한 프로세서 등에 의해 각각 구현될 수 있다. 이처럼 웹 포털부(110), 자원 관리부(120), 자원부(130)는 물리적으로 독립된 각각의 구성에 의해 구현될 수도 있고, 하나의 프로세서 내에서 기능적으로 구분되는 형태로 구현될 수도 있다.
도 3은 본 발명의 실시예에 따른 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법을 나타낸 흐름도이다.
도 3을 참조하면, 서비스장치는 시뮬레이션 소프트웨어 식별정보 및 입력정보를 포함하는 시뮬레이션 요청 정보가 수신되면(S302), 해당 시뮬레이션 소프트웨어에 대한 정보와 동일한 시뮬레이션의 수행이력정보를 수집한다(S304).
그런 후, 서비스 장치는 S304에서 수집된 정보와 입력정보를 근거로 작업수행시간을 예측하고(S306), 입력정보와 컴파일러정보를 근거로 해당 시뮬레이션의 MPI 활용 여부를 판단한다(S308).
S308의 판단결과, 해당 시뮬레이션이 MPI를 활용하는 경우, 서비스 장치는 HPC 자원에 시뮬레이션 작업을 할당하고(S310), HPC 자원은 할당된 시뮬레이션 작업을 수행한다(S312). 이때, 서비스 장치는 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HPC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HPC 자원에 시뮬레이션 작업을 할당한다.
서비스 장치는 각 자원에서 수행된 시뮬레이션 작업을 수집하여 시뮬레이션 결과 정보를 생성하고(S314), 생성된 시뮬레이션 결과정보를 사용자에게 제공하며, 시뮬레이션 수행 이력을 저장한다(S316).
만약, S308의 판단결과, 해당 시뮬레이션이 MPI를 활용하지 않는 경우, 서비스 장치는 HTC 자원에 시뮬레이션 작업을 할당하고(S318), HTC 자원은 할당된 시뮬레이션 작업을 수행한다(S320). 이때, 서비스 장치는 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HTC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HTC 자원에 시뮬레이션 작업을 할당한다.
도 4는 본 발명의 실시예에 따른 다중 컴퓨팅 자원을 이용한 작업 스케줄링을 위해 자원을 재구성하는 방법을 나타낸 흐름도이다.
도 4를 참조하면, 서비스 장치는 기 저장된 월간 시뮬레이션 수행 데이터를 기초로 자원을 재구성해야 하는 시점의 시뮬레이션 수요를 예측한다(S402). 즉, 서비스 장치는 시뮬레이션 수행 수가 증가 감소하는 시점을 자원을 재구성해야 하는 시점으로 예측하고, 그 시점에 시뮬레이션 작업들의 작업수행시간, 일 평균 시뮬레이션 수행 수 등을 고려하여 시뮬레이션 수요를 예측한다.
그런 후, 서비스 장치는 예측된 시뮬레이션 수요가 기존에 구성된 컴퓨팅 자원으로 수용 가능한지를 판단한다(S404).
S404의 판단결과, 기존에 구성된 컴퓨팅 자원으로 수용 가능한 경우, 서비스장치는 예측된 시뮬레이션 수요가 내부 컴퓨팅 자원만으로 가능한지를 판단한다(S406).
S406의 판단결과, 내부 컴퓨팅 자원만으로 가능한 경우, 서비스 장치는 외부 가상화 자원 사용을 해지하여(S408), 자원을 재구성한다(S410).
만약, S406의 판단결과, 내부 컴퓨팅 자원만으로 가능하지 않은 경우, 서비스 장치는 필요한 외부 가상화 자원을 제외한 나머지 외부 가상화 자원은 사용을 해지하고(S412), S410을 수행한다.
만약, S404의 판단결과, 기존에 구성된 컴퓨팅 자원으로 수용 가능하지 않으면, 서비스 장치는 추가적으로 필요한 자원만큼을 외부 가상화 자원으로 할당하고(S414), S410을 수행한다.
한편, 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법은 프로그램으로 작성 가능하며, 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법에 관한 프로그램은 전자장치가 읽을 수 있는 정보저장매체(Readable Media)에 저장되고, 전자장치에 의하여 읽혀지고 실행될 수 있다.
이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 실시 형태로 실시될 수 있다는 것을 인지할 수 있을 것이다. 따라서 이상에서 기술한 실시 예들은 예시적인 것일 뿐이며, 그 범위를 제한해놓은 한정적인 것이 아닌 것으로 이해해야만 한다. 또한, 도면에 도시된 순서도들은 본 발명을 실시함에 있어서 가장 바람직한 결과를 달성하기 위해 예시적으로 도시된 순차적인 순서에 불과하며, 다른 추가적인 단계들이 제공되거나, 일부 단계가 삭제될 수 있음은 물론이다.
본 명세서에서 기술한 기술적 특징과 이를 실행하는 구현물은 디지털 전자 회로로 구현되거나, 본 명세서에서 기술하는 구조 및 그 구조적인 등가물 등을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나, 이들 중 하나 이상의 조합으로 구현 가능하다. 또한 본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 또는 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령어에 관한 모듈로서 구현될 수도 있다.
삭제
또한, 본 명세서에서 기술한 "컴퓨터에서 판독 가능한 매체"는 프로그램 실행을 위해 명령어를 프로세서로 제공하는데 기여하는 모든 매체를 포함한다.
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 의해 본 발명을 제한하려는 의도가 아니다. 따라서, 이상에서 기술한 실시 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 범위를 벗어나지 않으면서도 본 실시 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
100 : 사용자 장치 110 : 웹 포털부
120 : 자원 관리부 121: 통계정보 데이터베이스
122 : 큐 123 : 정보 수집부
124 : 자원 할당부 125 : 로드벨런서부
126 : 프로비전부 130 : 자원부
200 : 서비스 장치

Claims (18)

  1. 물리 HPC(High Performance Computing) 자원, 물리 HTC(High-throughput computing) 자원, 가상화 HPC 자원, 가상화 HTC 자원 중 적어도 하나를 포함하는 내부 컴퓨팅 자원으로 구성된 자원부; 및
    시뮬레이션 요청 정보 수신 시, 해당 시뮬레이션 소프트웨어에 대한 정보와 시뮬레이션 수행이력정보를 근거로 해당 시뮬레이션의 프로세서간 메시지 전달 인터페이스(MPI:Message Passing Interface) 활용 유무 및 작업수행시간을 예측하여, 상기 자원부의 자원에 시뮬레이션 작업을 할당하는 자원 관리부;
    를 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치.
  2. 제1항에 있어서,
    사용 가능한 과학 시뮬레이션 목록, 각 시뮬레이션 실행에 필요한 입력정보를 입력하는 인터페이스를 제공하여, 시뮬레이션 목록 및 입력정보를 입력받고, 상기 입력된 시뮬레이션 목록 및 입력정보를 포함하는 시뮬레이션 요청 정보를 상기 자원 관리부로 전송하는 웹포털부를 더 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치.
  3. 제1항에 있어서,
    각 시뮬레이션 소프트웨어에 대한 정보가 저장된 시뮬레이션 소프트웨어 저장부를 더 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치.
  4. 제1항에 있어서,
    상기 자원 관리부는,
    시뮬레이션 수행이력정보가 저장된 통계정보 데이터베이스;
    상기 시뮬레이션 요청 정보에 해당하는 시뮬레이션 소프트웨어에 대한 정보를 수집하는 정보 수집부;
    상기 시뮬레이션 요청 정보에 포함된 입력정보, 상기 정보 수집부에서 수집된 시뮬레이션 소프트웨어에 대한 정보, 상기 통계정보 데이터베이스로부터의 동일한 시뮬레이션의 실행이력정보를 근거로, 해당 시뮬레이션의 MPI 활용 유무 및 작업수행시간을 예측하여, 물리 HPC 로드벨런서, 가상화 HPC 로드벨런서, 물리 HTC 로드벨런서, 가상화 HTC 로드벨런서 중 적어도 하나에 시뮬레이션 작업을 할당하는 작업 할당부; 및
    물리 HPC 로드벨런서, 가상화 HPC 로드벨런서, 물리 HTC 로드벨런서, 가상화 HTC 로드벨런서중 적어도 하나를 포함하고, 상기 작업 할당부에서 할당받은 시뮬레이션 작업을 대기중인 자원에 할당하는 로드벨런서부를 포함하는 것을 특징으로 하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치.
  5. 제4항에 있어서,
    상기 작업 할당부는, 상기 입력정보와 컴파일러 정보를 근거로 해당 시뮬레이션의 MPI 활용 여부를 판단하고, MPI를 활용하는 경우, 물리 HPC 자원 또는 가상화 HPC 자원에 시뮬레이션 작업을 할당하고, MPI를 활용하지 않는 경우 물리 HTC 자원 또는 가상화 HTC 자원에 시뮬레이션 작업을 할당하는 것을 특징으로 하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치.
  6. 제5항에 있어서,
    상기 작업 할당부는 MPI를 활용하는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HPC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HPC 자원에 시뮬레이션 작업을 할당하는 것을 특징으로 하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치.
  7. 제5항에 있어서,
    상기 작업 할당부는 MPI를 활용하지 않는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HTC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HTC 자원에 시뮬레이션 작업을 할당하는 것을 특징으로 하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치.
  8. 제4항에 있어서,
    상기 통계정보 데이터베이스에 저장된 정보를 근거로 자원부의 자원을 재구성하는 프로비전부를 더 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치.
  9. 제8항에 있어서,
    상기 프로비전부는 통계정보 데이터베이스에 저장된 각 시뮬레이션 소프트웨어의 실행 빈도수를 분석하여 월별 자원구성비율을 구하고, 그 월별 자원구성비율을 기초로 자원을 재구성해야 하는 시점의 시뮬레이션 수요를 예측하며, 상기 예측된 시뮬레이션 수요가 기 구성된 내부 컴퓨팅 자원으로 수용 가능하지 않은 경우, 필요한 자원만큼을 외부 가상화 자원으로 생성하는 것을 특징으로 하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 장치.
  10. 웹을 통해 시뮬레이션 요청 정보를 입력받아 서비스 장치로 전송하고, 상기 서비스 장치로부터 시뮬레이션 결과 정보를 수신하는 사용자 장치; 및
    상기 시뮬레이션 요청 정보 수신에 따라, 해당 시뮬레이션 소프트웨어에 대한 정보와 시뮬레이션 수행이력정보를 근거로 해당 시뮬레이션의 프로세서간 메시지 전달 인터페이스(MPI:Message Passing Interface) 활용 유무 및 작업수행시간을 예측하고, 상기 MPI 활용 유무 및 예측된 작업수행시간을 근거로 HPC 자원 또는 HTC 자원에 시뮬레이션 작업을 할당하며, 시뮬레이션 결과정보를 상기 사용자 장치로 전송하는 서비스 장치;
    를 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템.
  11. 제10항에 있어서,
    상기 서비스 장치는, MPI를 활용하는 경우, HPC 자원에 시뮬레이션 작업을 할당하고, MPI를 활용하지 않는 경우 HTC 자원에 시뮬레이션 작업을 할당하는 것을 특징으로 하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템.
  12. 제11항에 있어서,
    상기 서비스 장치는, MPI를 활용하는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HPC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HPC 자원에 시뮬레이션 작업을 할당하는 것을 특징으로 하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템.
  13. 제11항에 있어서,
    상기 서비스 장치는, MPI를 활용하지 않는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HTC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HTC 자원에 시뮬레이션 작업을 할당하는 것을 특징으로 하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템.
  14. 장치가 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법에 있어서,
    (a) 시뮬레이션 목록 식별정보 및 입력정보를 포함하는 시뮬레이션 요청 정보를 수신하는 단계;
    (b) 상기 시뮬레이션 목록 식별정보에 해당하는 시뮬레이션 소프트웨어에 대한 정보와 동일한 시뮬레이션의 수행이력정보를 수집하는 단계;
    (c) 상기 수집된 정보와 입력정보를 근거로 해당 시뮬레이션의 프로세서간 메시지 전달 인터페이스(MPI) 활용 유무 및 작업수행시간을 예측하고, 상기 MPI 활용 유무 및 예측된 작업수행시간을 근거로 물리 HPC 자원, 가상화 HPC 자원, 물리 HTC 자원, 가상화 HTC 자원 중 적어도 하나의 컴퓨팅 자원에 시뮬레이션 작업을 할당하는 단계;
    를 포함하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법.
  15. 제14항에 있어서,
    상기 (c) 단계는,
    상기 입력정보와 컴파일러 정보를 근거로 해당 시뮬레이션의 MPI 활용 여부를 판단하는 단계;
    MPI를 활용하는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HPC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HPC 자원에 시뮬레이션 작업을 할당하며,
    MPI를 활용하지 않는 경우, 상기 예측된 작업수행시간과 작업할당 기준시간을 비교하여, 예측된 작업수행시간이 작업할당 기준시간보다 높은 경우, 물리 HTC 자원에 시뮬레이션 작업을 할당하고, 예측된 작업수행시간이 작업 할당 기준시간보다 낮은 경우 가상화 HTC 자원에 시뮬레이션 작업을 할당하는 단계를 포함하는 것을 특징으로 하는 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법.
  16. 제14항 내지 제15항 중 어느 한 항에 있어서,
    상기 다중 컴퓨팅 자원을 이용한 작업 스케줄링 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체.
  17. 삭제
  18. 삭제
KR1020160081578A 2016-06-29 2016-06-29 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법 KR101695238B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160081578A KR101695238B1 (ko) 2016-06-29 2016-06-29 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160081578A KR101695238B1 (ko) 2016-06-29 2016-06-29 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101695238B1 true KR101695238B1 (ko) 2017-01-11

Family

ID=57833160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160081578A KR101695238B1 (ko) 2016-06-29 2016-06-29 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101695238B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108573338A (zh) * 2018-03-14 2018-09-25 中山大学 一种基于mpi的分布式差分进化算法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101158637B1 (ko) 2010-10-29 2012-06-26 한국과학기술원 효율적 시뮬레이션 정보 수집을 위한 실험 틀 및 이를 이용한 시뮬레이션 방법 및 시스템
KR20130134569A (ko) * 2012-05-31 2013-12-10 삼성에스디에스 주식회사 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법
KR20140086436A (ko) * 2012-12-28 2014-07-08 삼성에스디에스 주식회사 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
KR20150062634A (ko) * 2013-11-29 2015-06-08 고려대학교 산학협력단 클라우드 컴퓨팅 환경 내 오토 스케일링 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101158637B1 (ko) 2010-10-29 2012-06-26 한국과학기술원 효율적 시뮬레이션 정보 수집을 위한 실험 틀 및 이를 이용한 시뮬레이션 방법 및 시스템
KR20130134569A (ko) * 2012-05-31 2013-12-10 삼성에스디에스 주식회사 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법
KR20140086436A (ko) * 2012-12-28 2014-07-08 삼성에스디에스 주식회사 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
KR20150062634A (ko) * 2013-11-29 2015-06-08 고려대학교 산학협력단 클라우드 컴퓨팅 환경 내 오토 스케일링 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108573338A (zh) * 2018-03-14 2018-09-25 中山大学 一种基于mpi的分布式差分进化算法及装置

Similar Documents

Publication Publication Date Title
US10929165B2 (en) System and method for memory resizing in a virtual computing environment
US10430218B2 (en) Management of demand for virtual computing resources
US20200137151A1 (en) Load balancing engine, client, distributed computing system, and load balancing method
CN111406250B (zh) 无服务器计算环境中的使用经预取的数据的配设
US8825863B2 (en) Virtual machine placement within a server farm
CN113243005A (zh) 按需网络代码执行系统中的基于性能的硬件仿真
US9218196B2 (en) Performing pre-stage replication of data associated with virtual machines prior to migration of virtual machines based on resource usage
Jung et al. Synchronous parallel processing of big-data analytics services to optimize performance in federated clouds
US9590875B2 (en) Content delivery infrastructure with non-intentional feedback parameter provisioning
US20150051942A1 (en) Smart cloud workload balancer
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
JP2010282420A (ja) 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
KR101882383B1 (ko) 데스크톱 가상화 환경에서의 컨테이너 자원할당 장치 및 방법
CN105144109B (zh) 分布式数据中心技术
CN110597626A (zh) 在分布式系统中资源及任务的分配方法、装置及系统
KR101656360B1 (ko) 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템
CN107291536B (zh) 一种云计算环境下应用任务流调度方法
CN111338779B (zh) 资源分配方法、装置、计算机设备和存储介质
US9558039B2 (en) Managing resources of a shared pool of configurable computing resources
JP2023508076A (ja) アプリケーション・ベースのプロファイリングを用いた機械学習ワークロードの弾力的な実行
US20150032897A1 (en) Visualization of workload distribution on server resources
KR20210105378A (ko) 프로그래밍 플랫폼의 사용자 코드 작동 방법 및 플랫폼, 노드, 기기, 매체
Georgiou et al. Topology-aware job mapping
KR101695238B1 (ko) 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법
CN116450290A (zh) 计算机资源的管理方法、装置、云服务器及存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 4