KR102446717B1 - 컨테이너 처리 방법, 컨테이너 처리 장치 및 컨테이너 처리 시스템 - Google Patents

컨테이너 처리 방법, 컨테이너 처리 장치 및 컨테이너 처리 시스템 Download PDF

Info

Publication number
KR102446717B1
KR102446717B1 KR1020200151342A KR20200151342A KR102446717B1 KR 102446717 B1 KR102446717 B1 KR 102446717B1 KR 1020200151342 A KR1020200151342 A KR 1020200151342A KR 20200151342 A KR20200151342 A KR 20200151342A KR 102446717 B1 KR102446717 B1 KR 102446717B1
Authority
KR
South Korea
Prior art keywords
container
calculation
calculation unit
containers
group
Prior art date
Application number
KR1020200151342A
Other languages
English (en)
Other versions
KR20220064816A (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 KR1020200151342A priority Critical patent/KR102446717B1/ko
Publication of KR20220064816A publication Critical patent/KR20220064816A/ko
Application granted granted Critical
Publication of KR102446717B1 publication Critical patent/KR102446717B1/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Supplying Of Containers To The Packaging Station (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

실시예들에 따른 컨테이너 처리 방법은 컨테이너 관리부에 의해, 복수의 계산부들이 특정 시각에 동일한 컨테이너 그룹에 대응하는 컨테이너들을 수행하도록 컨테이너들을 배치하는 단계 및/또는 계산부에 의해, 배치된 컨테이너 그룹들에 기초하여 적어도 하나의 컨테이너(container)를 제어하고 적어도 하나의 컨테이너를 구동하는 단계를 포함할 수 있다.

Description

컨테이너 처리 방법, 컨테이너 처리 장치 및 컨테이너 처리 시스템 {APPARTUS FOR PROCESSING CONTAINER, METHOD THEREOF AND STORAGE STORING A PROGRAM FOR PROCESSING CONTAINER}
정보통신기술이 발전함에 따라서 물리적으로 한정적인 자원을 가지고 있는 서버를 좀 더 효율적으로 사용하기 위한 기술 중에 장치의 가상화(virtualization)가 있다. 가상화가 적용된 서버는 서버에 모든 사용자가 동시에 접근하지는 않는다는 점을 기초로 한정적인 자원으로 수많은 사용자가 요구하는 데이터를 처리할 수 있어, 수요가 점점 증가하고 있다.
컨테이너(container) 기술은 확장성, 이식성, 관리 용이성 등의 장점 때문에 고성능 계산 애플리케이션 (예를 들어, 계산 시뮬레이션, 데이터 처리 등), 웹 애플리케이션 실행하는 데이터센터 구축 및/또는 운영에 널리 활용되고 있다.
그러나, 컨테이너(container) 기술이 여러 계산 서버에 의해 수행되는 경우 각 컨테이너들 간 동기화의 오류가 발생하고, 데이터를 교환하는데 불필요한 지연이 발생할 수 있다. 따라서, 여러 계산 서버에 의해 컨테이너들이 구동되는 경우, 불필요한 지연 내지 동기화 오류 없이 구동되기 위해서는 추가적인 스케줄링(scheduling)을 할 필요가 있다.
이러한 문제점을 해결하기 위한 것으로서 이하의 개시는 컨테이너 그룹(container group)들을 구동하는 순서 또는 시각을 배치하여 처리하는 방법 또는 이에 대응하는 장치를 제공하는 것이다.
상술한 기술적 목적을 달성하기 위하여 실시예들에 따른 컨테이너 처리 장치는 복수의 계산부들, 여기서 계산부는 적어도 하나의 컨테이너(container)를 제어하고 상기 적어도 하나의 컨테이너를 구동함; 및 상기 복수의 계산부들에 의해 구동되는 컨테이너들을 관리하는 컨테이너 관리부; 를 포함할 수 있다.
실시예들에 따른 상기 컨테이너 관리부는, 상기 복수의 계산부들이 특정 시각에 동일한 컨테이너 그룹(container group)에 대응하는 컨테이너들을 수행하도록 컨테이너 그룹들을 배치할 수 있고, 상기 복수의 계산부들은 상기 컨테이너 관리부에 의해 배치된 컨테이너 그룹들에 기초하여 상기 컨테이너들을 구동할 수 있다.
실시예들에 따르면, 각 계산부는 라운드-로빈(round-robin) 방식에 기초하여 각 컨테이너 그룹의 CPU 점유 분배 정도를 결정할 수 있다.
실시예들에 따르면, 각 계산부는 특정 주기 내에 송신 또는 수신되는 네트워크 패킷의 양에 기초하여 각 컨테이너 그룹의 CPU 점유 분배 정도를 결정할 수 있다.
실시예들에 따르면, 각 계산부는 사용자 또는 시스템으로부터 기 설정된 각 컨테이너 그룹의 CPU 점유 분배 정도에 기초하여 컨테이너들을 구동할 수 있다.
실시예들에 따르면, 각 컨테이너는 상기 컨테이너를 식별하는 컨테이너 식별자(container identifier) 및 컨테이너 그룹을 식별하는 컨테이너 그룹 식별자(container group identifier)를 포함할 수 있다.
실시예들에 따른 상기 복수의 계산부들은 제 1 계산부 및 제 2 계산부를 포함할 수 있고,상기 제 1 계산부는 제 1 컨테이너 그룹에 대응하는 제 1 컨테이너를 제 1 시각에 구동할 수 있고, 상기 제 2 계산부는 상기 제 1 컨테이너 그룹에 대응하는 제 2 컨테이너를 상기 제 1 시각에 구동할 수 있고, 상기 제 1 계산부는 상기 특정 시각에 상기 제 2 계산부로 교환 데이터를 전송하고, 상기 제 2 계산부는 상기 교환 데이터에 기초하여 상기 제 2 컨테이너를 구동할 수 있다.
실시예들에 따른 상기 제 1 컨테이너 및 상기 제 2 컨테이너는 동일한 컨테이너 그룹 식별자의 값을 포함할 수 있고, 상기 교환 데이터는 상기 제 1 컨테이너의 식별자, 상기 제 2 컨테이너의 식별자 및 상기 제 1 컨테이너 그룹의 식별자를 포함할 수 있다.
실시예들에 따른 컨테이너(container) 구동 시스템(또는 해당 시스템에 기반한 방법/장치)로 인해 컨테이너 또는 컨테이너 그룹에서 수행되는 병렬 작업의 데이터 교환을 용이하게 할 수 있고, 동기화 지연시간 감소시킬 수 있다. 또한, 이러한 시스템은 컨테이너가 구동되는 계산서버의 단위 시간당 작업 처리량 증가시킬 수 있고, 샌드박스인 컨테이너 내부에서 실행되는 작업 특성/패턴을 인지, 활용함으로써 계산 서버의 자율성을 보장하면서도 서버 효율성 향상시킬 수 있다.
실시예들에 따른 컨테이너(container) 구동 시스템(또는 해당 시스템에 기반한 방법/장치)로 인해 차등 배분 받은 CPU 점유 정도에 기초하여, 논리적으로 동일 또는 유사한 그룹에 속한 컨테이너들은 서로 데이터 교환을 용이하게 할 수 있고, 시간적인 동기화가 필요한 상황에 맞추어 CPU를 할당 받을 수 있다. 즉, 복수의 계산 서버(101)들은 각 계산 서버 내의 각 컨테이너 그룹에 속한 모든 컨테이너들 (또는 일부 컨테이너들)을 같은 시점에 CPU를 점유시켜 실행 함으로써, 컨테이너 구동 시스템은 컨테이너 그룹에서 수행되는 작업의 데이터 교환/동기화 지연시간 감소 및 시스템 효율성을 향상시킬 수 있다.
실시예들에 따른 컨테이너(container) 구동 시스템(또는 해당 시스템에 기반한 방법/장치)로 인해 컨테이너 (또는 컨테이너 그룹) 에서 수행되는 작업의 데이터를 용이하게 교환시키고 동기화 지연시간 감소 및 시스템 효율성 향상시킬 수 있다.
도 1은 실시예들에 따른 컨테이너(container) 구동 시스템을 나타낸다.
도 2는 실시예들에 따른 컨테이너(container) 구동 시스템의 동작의 예시를 나타낸다.
도 3은 실시예들에 따른 컨테이너(container) 구동 시스템의 동작의 예시를 나타낸다.
도 4는 실시예들에 따른 컨테이너(container) 구동 시스템의 동작의 예시를 나타내는 흐름도이다.
이하 실시 예를 용이하게 설명하기 위해 첨부한 도면을 참조하여 실시 예를 설명한다.
도 1은 실시예들에 따른 컨테이너(container) 구동 시스템을 나타낸다.
실시예들에 따른 가상 머신 (virtual machine)은 컴퓨팅 환경을 소프트웨어로 구현한 것으로, 물리적인 컴퓨터를 다중화하여 완전한 시스템 플랫폼을 제공하고 완전한 운영 체제의 실행이 가능하도록 하는 장치 또는 소프트웨어를 의미할 수 있다.
실시예들에 따른 컨테이너(container) 구동 시스템은 컨테이너 처리 시스템, 컨테이너 관리 시스템 등으로 호칭이 가능하다. 실시예들에 따른 컨테이너(container) 구동 시스템은 하나의 서버 또는 장치에서 수행될 수도 있고, 복수의 서버들 또는 복수의 장치들에 의해 유기적으로 수행될 수도 있다.
실시예들에 따른 컨테이너(container) 구동 시스템은 예를 들어, 컨테이너 처리 장치, 또는 컨테이너(container) 구동 시스템이 프로그램 또는 소프트웨어 형태로 내장된 저장/기록 매체에서 수행될 수 있다.
실시예들에 따른 컨테이너(container, 101a) 구동 시스템은 적어도 하나의 관리 서버(100) 및/또는 적어도 하나의 계산 서버(101)를 포함할 수 있다. 실시예들에 따른 계산 서버(101)는 계산부로 호칭할 수도 있다.
실시예들에 따른 컨테이너(container, 101a)는 컴퓨터 및 기록매체에서 구동되는 프로그램, 애플리케이션 등을 실제 구동 환경으로부터 추상화할 수 있는 논리 패키징 메커니즘을 제공하는 모듈일 수 있다. 예를 들어, 컨테이너는 프로그램, 애플리케이션 등을 관련 라이브러리 및/또는 종속 항목과 함께 패키지로 묶어 소프트웨어 서비스 등의 구동을 위한 격리 환경을 마련하는 모듈일 수 있다. 컨테이너(container)는 하나의 소프트웨어로 구성될 수도 있고, 하드웨어 장치로 구성된 모듈일 수도 있다.
컨테이너(container, 101a)는 하이퍼바이저(Hardware emulator)와 게스트 OS(operating system)를 사용하지 않는 가벼운 OS 가상화 방식으로 호스트 자원의 소모량이 거의 없고 기동에 드는 시간이 매우 적어 어플리케이션 가상화에 적합한 기술이다. 또한 OS상의 가상화로 기존 물리 서버(Bare Metal), 가상 서버(Virtual Machine) 등 인프라에 독립적인 구성과 배포가 가능하다. 컨테이너 생성은 커널 가상화(kernel virtualization)이라고 호칭할 수도 있다.
계산 서버(calculating server, 101)는 실시예들에 따른 하나 또는 그 이상의 컨테이너(container, 101a)들을 구동 및/또는 제어한다. 계산 서버(101)는 예를 들어, 물리적인 컴퓨터 또는 물리적인 서버일 수도 있고, 소프트웨어일 수도 있다. 계산 서버(101)는 실시예들에 따른 컨테이너들을 구동 및/또는 제어하기 위한 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 예를 들어, 계산 서버(101)는 하나 이상의 중앙 처리 장치(CPU), 메모리, 저장부(스토리지), 네트워크 인터페이스 등을 포함할 수 있다.
실시예들에 따른 계산 서버(101)는 실시예들에 따른 컨테이너(101a)를 구동하고, 컨테이너가 구동되는 계산서버는, 데이터 처리의 효율을 높이기 위해 수십 개 이상의 컨테이너들이 구동할 수 있다. 실시예들에 따른 계산 서버(101)는 각 컨테이너가 접근 및/또는 사용가능한 계산 서버의 CPU, 메모리, 스토리지 등의 활용 비율을 정할 수 있고, 해당 비율에 따라 CPU, 메모리, 스토리지 등을 사용할 수 있다.
실시예들에 따른 계산 서버(101)는 실시예들에 따른 하나 또는 그 이상의 컨테이너들을 구동함으로써, 고성능 계산 프로그램(또는 고성능 계산 어플리케이션)을 실행 및/또는 처리할 수 있다. 고성능 계산 애플리케이션은 복수 개의 논리적은 태스크들 (예를 들어, 병렬 작업) 로 구성되며, 실행 시 태스크들 사이의 데이터 (데이터 메시지) 또는 동기화 (동기화 메시지)를 주고받을 수 있다. 예를 들어, 8개의 논리 태스크로 구성된 병렬작업을 실시예들에 따른 계산 서버(101)가 수행하는 경우, 실시예들에 따른 계산 서버(101)는 8개의 컨테이너(또는 8개의 컨테이너로 구성된 컨테이너 그룹)를 구동함으로써 해당 작업을 수행할 수 있다.
실시예들에 따른 계산 서버(101)는 복수 개의 컨테이너 (또는 컨테이너 그룹) 들을 동시에 실행할 때, 각 병렬작업을 수행함으로써 발생되는 계산 CPU에 대한 경쟁, 태스크(작업)들의 실행 시점의 불일치로 데이터의 교환(메시지의 교환)에 지연이 있을 수 있다. 이러한 태스크 실행 시점의 불일치는 작업의 실행시간을 늘릴 뿐만 아니라, 계산 CPU의 비효율적인 활용 결과를 가져올 수 있어, 시스템의 작업 처리량을 감소시킬 수 있다.
따라서, 실시예들에 따른 컨테이너(container) 구동 시스템은 실시예들에 따른 계산 서버(101)들 내 각 컨테이너 (또는 컨테이너 그룹에 속한 컨테이너) 들이 같은 시점에 CPU를 점유하여 실행되도록, 계산 서버(101)들의 컨테이너 구동을 관리 및 제어할 필요가 있다.
따라서, 실시예들에 따른 컨테이너 구동 시스템은 관리 서버(100)를 더 포함할 수 있고, 실시예들에 따른 계산 서버(101)는 실시예들에 따른 컨테이너(container, 101a)를 구동하는 컨테이너 구동부(101c), 컨테이너(101a)를 제어하는 컨테이너 제어부(101b)를 더 포함할 수 있다.
컨테이너 구동부(101c)는 하나 또는 그 이상의 컨테이너들을 구동한다. 컨테이너 구동부(101c)는 실시예들에 따른 컨테이너들의 실행을 수행한다.
컨테이너 제어부(101b)는 하나 또는 그 이상의 컨테이너들을 제어한다.
예를 들어, 컨테이너 제어부(101b)는 해당 계산 서버(101)에서 실행 중인 복수 개의 컨테이너 (또는 컨테이너 그룹) 별로 네트워크 패킷들의 송수신 정보 및/또는 송수신 양 등을 주기적으로 수집할 수 있다.
예를 들어, 컨테이너 제어부(101b)는 특정 주기 별로 이러한 네트워크 패킷 송수신 양을 파악하고, 송수신 네트워크 패킷의 양에 따라 해당 컨테이너 (컨테이너 그룹) 들의 CPU 점유의 정도를 동등 또는 차등하여 분배 및/또는 설정할 수 있다. 특정 주기는 예를 들어, 시스템 내에서 기 설정된 값일 수도 있고, 사용자에 의해 설정되는 값일 수도 있다.
예를 들어, 컨테이너 제어부(101b)는 각 컨테이너 (또는 컨테이너 그룹) 별로의 네트워크 정보를 이용하지 않고, 라운드-로빈(round-robin) 방식으로 각 컨테이너 그룹들의 CPU 점유의 정도를 동등 또는 차등하여 분배 및/또는 설정할 수 있다.
이러한 계산 서버(101)의 컨테이너 제어부(101b)를 통해 차등 배분 받은 CPU 점유 정도에 기초하여, 논리적으로 동일 또는 유사한 그룹에 속한 컨테이너들은 서로 데이터 교환을 용이하게 할 수 있고, 시간적인 동기화가 필요한 상황에 맞추어 CPU를 할당 받을 수 있다. 즉, 복수의 계산 서버(101)들은 각 계산 서버 내의 각 컨테이너 그룹에 속한 모든 컨테이너들 (또는 일부 컨테이너들)을 같은 시점에 CPU를 점유시켜 실행 함으로써, 컨테이너 구동 시스템은 컨테이너 그룹에서 수행되는 작업의 데이터 교환/동기화 지연시간 감소 및 시스템 효율성을 향상시킬 수 있다.
관리 서버(100)는 실시예들에 따른 계산 서버(101)의 컨테이너 제어부(101b) 및/또는 컨테이너 구동부(101c)를 제어하거나 관리하는 컨테이너 관리부를 포함할 수 있다. 실시예들에 따른 컨테이너 관리부는 사용자 및/또는 서비스 요청에 따라 실시예들에 따른 계산 서버(101)들을 선택하고 각 계산 서버(101)의 컨테이너 구동부(101c)를 사용 및/또는 제어하여 컨테이너 (또는 컨테이너 그룹)을 배치 및/또는 생성할 수 있다. 실시예들에 따른 컨테이너 관리부는 배치 및/또는 생성된 컨테이너에 대한 정보, 배치 및/또는 생성된 컨테이너들을 컨테이너 제어부(101b)에 알릴 수 있다. 예를 들어, 컨테이너 관리부는 배치 및/또는 생성된 컨테이너에 대한 정보, 배치 및/또는 생성된 컨테이너들을 나타내는 시그널링 정보를 컨테이너 제어부(101b)에 전달할 수 있다.
이러한 구성으로 인해 실시예들에 따른 컨테이너(container) 구동 시스템은 컨테이너 (또는 컨테이너 그룹) 에서 수행되는 작업의 데이터를 용이하게 교환시키고 동기화 지연시간 감소 및 시스템 효율성 향상시킬 수 있다.
도 2는 실시예들에 따른 컨테이너(container) 구동 시스템의 동작의 예시를 나타낸다.
실시예들에 따른 컨테이너(container) 구동 시스템 (또는 시스템이 내장된 장치)는 복수의 계산 서버(200-1, 200-2, 200-3, …, 200-n)들을 포함할 수 있다.
실시예들에 따른 하나의 계산 서버(200-1)는 하나 또는 그 이상의 컨테이너(container)들을 구동할 수 있다. 컨테이너들은 계산 서버마다 정해진 시간 순서에 따라 구동될 수 있다.
도 2에 나타난 계산 서버(200-1, 200-2, 200-3, …, 200-n)는 도 1의 계산 서버(101)를 의미한다. 도 2에 나타난 컨테이너(container)는 도 1에 나타난 컨테이너(101a)를 의미한다. 도 2에 나타난 계산 서버(200-1, 200-2, 200-3, …, 200-n)에서 수행되는 컨테이너들은 도 1의 컨테이너 제어부(101b) 및/또는 컨테이너 구동부(101c)에서 수행될 수 있다.
도 2에 나타난 복수의 계산 서버들(200-1, 200-2, 200-3, …, 200-n)은 편의상 각각 제 1 계산 서버(200-1), 제 2 계산 서버(200-2), 제 3 계산 서버(200-3), …, 제 n 계산 서버(200-n)으로 호칭하도록 한다.
실시예들에 따른 컨테이너 구동 시스템은 동일한 컨테이너 그룹(container group)에 속하는 컨테이너들을 복수의 계산 서버(200-1, 200-2, 200-3, …, 200-n)들을 통해 구동할 수 있다.
컨테이너(container) 그룹이란, 동일 또는 유사한 태스크(작업)을 수행하기 위한 컨테이너들의 다발을 의미할 수 있다. 예를 들어, 도 2에서 200a가 참조하는 컨테이너는 서로 동일 또는 유사한 태스크(작업)을 수행하기 위한 컨테이너이므로 이들은 모두 동일한 컨테이너 그룹에 속하는 컨테이너들이다. 각 컨테이너들은 컨테이너 그룹 아이디(container group identifier)를 보유할 수 있다. 도 2에서는 동일한 컨테이너 그룹에 속하는 컨테이너들은 동일한 무늬로 도시하였으나, 동일한 무늬로 도시한 컨테이너들은 서로 동일한 컨테이너일 수도 있지만 다른 컨테이너일 수도 있다.
실시예들에 따른 각 컨테이너는 컨테이너 그룹(container group)으로 관리됨으로써, 사용자가 원하는 태스크(작업)을 효율적으로 처리할 수 있다. 실시예들에 따른 각 컨테이너는 컨테이너 그룹(container group)을 식별하기 위한 컨테이너 그룹 아이디(container group identifier)를 보유함으로써, 사용자가 원하는 태스크(작업)을 효율적으로 처리할 수 있다.
예를 들어, 제 1 계산 서버(200-1)는 첫 번째 순서로 체크 무늬의 컨테이너(200-1a)를 구동한다. 다음으로 제 1 계산 서버(200-1)는 두 번째 순서로 X 무늬의 컨테이너(200-1b)를 구동한다. 체크 무늬의 컨테이너(200-1a)와 X 무늬의 컨테이너(200-1b)는 서로 다른 컨테이너 그룹에 속하는 컨테이너이다. 제 2 계산 서버(200-2)는 첫 번째 순서로 X 무늬의 컨테이너(200-2b)를 구동한다. 제 2 계산 서버(200-2)는 네 번째 순서로 체크 무늬의 컨테이너(200-2a)를 구동한다. 제 3 계산 서버(200-3)는 첫 번째 순서로 체크 무늬의 컨테이너(200-3a)를 구동한다. 제 3 계산 서버(200-3)는 네 번째 순서로 X 무늬의 컨테이너(200-3b)를 구동한다. 제 n 계산 서버(200-n)는 두 번째 순서로 체크 무늬의 컨테이너(200-4a)를 구동한다. 제 n 계산 서버(200-n)는 세 번째 순서로 X 무늬의 컨테이너(200-4b)를 구동한다.
실시예들에 따른 계산 서버(200-1, 200-2, 200-3, …, 200-n)들은 동일한 컨테이너 그룹 내에 속하는 컨테이너들을 구동하기 위하여, 해당 컨테이너들 간의 통신(데이터 교환 등)이 필요할 수 있다. 따라서, 실시예들에 따른 계산 서버(200)들은 실시예들에 따른 컨테이너 제어부(101b)를 이용하여 각 컨테이너들 간의 통신을 제어할 수 있다.
예를 들어, 제 1 계산 서버에서 첫 번째로 수행되는 컨테이너(즉, 체크 무늬 컨테이너, 200-1a)는 제 3 계산 서버에서 첫 번째로 수행되는 컨테이너(즉, 체크 무늬 컨테이너, 200-3a)와 데이터를 교환할 필요가 있다. 왜냐하면, 위 두 컨테이너들은 동일한 컨테이너 그룹에 속하는 컨테이너로, 동일 또는 유사한 태스트(작업)을 수행하므로 서로의 자원 또는 데이터를 공유할 필요가 있기 때문이다. 따라서, 제 1 계산 서버의 컨테이너 제어부(101b)는 제 3 계산 서버로 데이터를 전송 (또는 데이터를 전송하기 위한 신호를 전송) 할 수 있고, 제 3 계산 서버는 제 1 계산 서버로부터 수신한 데이터 (또는 신호)를 수신하여, 제 3 계산 서버에서 구동되는 첫 번째 컨테이너로 데이터를 전달(201)할 수 있다.
도 2에 나타난 제 1 계산 서버(200-1)와 제 3 계산 서버(200-3)와의 데이터 교환(201)은 시간의 지체 없이 수행될 수 있다. 제 1 계산 서버(200-1)와 제 3 계산 서버(200-3)는 동일한 컨테이너 그룹에 속한 컨테이너를 동일한 시간 내에 수행되어야 하기 때문이다. 따라서, 제 1 계산 서버(200-1)와 제 3 계산 서버(200-3)는 체크 무늬의 컨테이너들(200-1a, 200-3a)을 동시에 구동하면서 동시에 데이터를 교환할 수 있으므로, 시간의 지체가 없다.
다른 예를 들어, 제 2 계산 서버(200-2)에서 네 번째로 수행되는 컨테이너(즉, 체크 무늬의 컨테이너, 200-2a)는 제 4 계산 서버(200-4)에서 두 번째로 수행되는 컨테이너(즉, 체크 무늬의 컨테이너, 200-4a)와 데이터를 교환할 필요가 있다. 이 경우, 제 2 계산 서버(200-2)의 컨테이너 제어부(101b)는 제 4 계산 서버(200-4)로 데이터를 전송 (또는 데이터를 전송하기 위한 신호를 전송) 할 수 있고, 제 4 계산 서버(200-4)는 제 2 계산 서버(200-2)로부터 수신한 데이터 (또는 신호)를 수신하여, 제 4 계산 서버(200-4)에서 구동되는 첫 번째 컨테이너(200-4a)로 데이터를 전달(202)할 수 있다.
도 2에 나타난 제 2 계산 서버(200-2)와 제 4 계산 서버(200-4)와의 데이터 교환(202)은 시간이 지체될 수 있다. 제 2 계산 서버(200-2)와 제 4 계산 서버(200-4)는 동일한 컨테이너 그룹에 속한 컨테이너를 서로 다른 시간에 수행되어야 하기 때문이다. 따라서, 제 2 계산 서버(200-1)와 제 4 계산 서버(200-4)는 체크 무늬의 컨테이너들(200-2a, 200-4a)을 동시에 구동할 수 없기 때문에 동시에 데이터를 교환할 수 없으므로, 시간의 지체가 있다.
따라서, 제 4 계산 서버(200-4)의 컨테이너 제어부(101b)는 제 2 계산 서버(200-2)로 데이터를 전송할 수 있으나, 제 2 계산 서버(200-2)는 체크 무늬의 컨테이너(200-2a)가 구동되는 시점에서 해당 데이터를 처리한다. 따라서, 제 2 계산 서버(200-2)와 제 4 계산 서버(200-4)는 3 단위 시간 만큼 데이터 교환과 동기화에 지체가 발생하게 된다.
동일한 논리로, 제 1 계산 서버(200-1)의 체크 무늬 컨테이너(200-1a)와 제 2 계산 서버(200-2)의 체크 무늬 컨테이너(200-2a) 간의 통신도 4 단위 시간 만큼 데이터 교환 및 동기화의 지연시간이 발생한다.
만약, 제 1 계산 서버(200-1) 내지 제 n 계산 서버가 모두 도 2에 도시된 바와 같이 체크 무늬 컨테이너를 구동할 경우, 가장 마지막으로 체크 무늬 컨테이너가 수행되는 시간까지 데이터 교환 및 동기화의 지연이 발생하므로, 4 단위 시간 만큼 데이터 교환 및 동기화 지연시간이 발생하게 된다.
따라서, 실시예들에 따른 컨테이너(container) 구동 시스템 (또는 시스템이 내장된 장치)는 실시예들에 따른 계산 서버(200-1 내지 200-n)의 컨테이너를 재배치하고 구동 시간을 설정하기 위한 관리 서버 (또는 컨테이너 관리부) 를 더 포함할 수 있다. 컨테이너 관리부(또는 관리 서버)는 도 1에 나타난 관리 서버(100)를 의미한다.
이러한 구성으로 인해 실시예들에 따른 컨테이너(container) 구동 시스템은 컨테이너 (또는 컨테이너 그룹) 에서 수행되는 작업의 데이터를 용이하게 교환시키고 동기화 지연시간 감소 및 시스템 효율성 향상시킬 수 있다.
도 3는 실시예들에 따른 컨테이너(container) 구동 시스템의 동작의 예시를 나타낸다.
실시예들에 따른 컨테이너(container) 구동 시스템 (또는 시스템이 내장된 장치)는 복수의 계산 서버(300-1, 300-2, 300-3, …, 300-n)들을 포함할 수 있다.
도 3에 도시된 실시예들에 따른 계산 서버(300-1 내지 300-n)들은 도 2의 계산 서버(200-1 내지 200-n)들, 도 1의 계산 서버(101)를 의미한다.
실시예들에 따른 하나의 계산 서버(300-1)는 하나 또는 그 이상의 컨테이너(container)들(300-1a, 300-1b 등)을 구동할 수 있다. 컨테이너들은 계산 서버마다 정해진 시간 순서에 따라 구동될 수 있다.
도 3에 나타난 복수의 계산 서버들(300-1, 300-2, 300-3, …, 300-n)은 편의상 각각 제 1 계산 서버(300-1), 제 2 계산 서버(300-2), 제 3 계산 서버(300-3), …, 제 n 계산 서버(300-n)으로 호칭하도록 하며, 도 3에 나타난 각각의 복수의 계산 서버들은 도 2에 나타난 각각의 복수의 계산 서버와 대응될 수 있다.
도 3은 실시예들에 따른 컨테이너(container) 구동 시스템의 컨테이너 관리부 및/또는 계산 서버의 컨테이너 제어부/구동부가, 계산 서버(예를 들어, 300-1, 300-2, 300-3, …, 300-n)들이 특정 시각에 동일한 컨테이너 그룹(container group)에 대응하는 컨테이너들을 수행하도록 컨테이너 그룹들을 배치한 것을 나타낸다. 실시예들에 따른 계산 서버들(300-1, 300-2, 300-3, …, 300-n)은 실시예들에 따른 컨테이너 관리부에 의해 배치된 컨테이너 그룹들에 기초하여 컨테이너들을 구동한다.
예를 들어, 도 3을 참조하면, 체크 무늬의 컨테이너들(300-1a 내지 300-4a)은 서로 다른 계산 서버들에 의해 구동되는 컨테이너이지만, 동일한 컨테이너 그룹(container group) 내에 속하는 컨테이너이기 때문에, 체크 무늬의 컨테이너들은 서로 데이터를 교환하거나 서로 자원이 공유될 필요가 있다. 따라서, 도 2와 같이 동일한 컨테이너 그룹에 속한 컨테이너들이, 각각의 계산 서버에서 서로 다른 시간에 배치되어 구동되는 경우, 불필요한 지연이 발생할 수 있다. 따라서, 실시예들에 따른 컨테이너 관리부 및/또는 계산 서버의 컨테이너 제어부/구동부는 동일한 컨테이너 그룹(container group)에 대응하는 컨테이너들을 동일 또는 유사한 시각에 구동시키거나 구동시키도록 컨테이너들을 배치할 수 있다.
예를 들어, 체크 무늬의 컨테이너들은 첫 번째 시각(첫 번째 순서)에 구동되어, 해당 시각에 서로 데이터(교환 데이터)를 교환할 수 있다. 이 경우, 체크 무늬의 컨테이너들이 복수의 계산 서버들에 의해 안정적으로 구동이 완료되기 위하여 필요한 시간은 1 단위 시간이다.
따라서, 실시예들에 따른 컨테이너 관리부(또는 관리 서버)는 사용자/서비스 요청에 따라 계산서버들을 선택하고 각 컨테이너 그룹을 배치 및/또는 생성할 수 있다. 또는, 실시예들에 따른 컨테이너 관리부(또는 관리 서버)는 사용자/서비스 요청에 따라 계산서버들을 선택하고 각 컨테이너 그룹을 배치 및/또는 생성하도록 각 계산 서버의 컨테이너 구동부(또는 컨테이너 제어부)를 제어할 수 있다. 실시예들에 따른 컨테이너 관리부(관리 서버)는 컨테이너 제어부에 위 사실(예를 들어, 컨테이너의 생성/배치 정보)을 통보할 수 있다.
도 3에서 설명하는 관리 서버(또는 컨테이너 관리부)는 도 1에 나타난 관리 서버(101) 또는 컨테이너 관리부를 의미한다.
실시예들에 따른 관리 서버(컨테이너 관리부)는 컨테이너 그룹(container group)들을 여러 가지의 방법 또는 방법의 조합으로 배치 또는 생성하여, 각 계산 서버로 이를 알릴 수 있다. 또는, 실시예들에 따른 계산 서버(300-1, 300-2, 300-3, …, 300-n)는 컨테이너 그룹(container group)들을 여러 가지의 방법 또는 방법의 조합으로 배치 또는 생성할 수 있다. 즉, 실시예들에 따른 계산 서버(300-1, 300-2, 300-3, …, 300-n) 또는 관리 서버는, 여러 가지 방법에 기초하여 각 컨테이너 그룹들의 CPU 점유율(점유 정도)를 결정 및/또는 분배할 수 있다.
예를 들어, 실시예들에 따른 계산 서버(300-1, 300-2, 300-3, …, 300-n) 또는 관리 서버는, 라운드-로빈(round-robin) 방식에 기초하여 각 컨테이너 그룹의 CPU 점유 분배 정도를 결정할 수 있다. 라운드-로빈 방식이란, 시분할 시스템을 위해 설계된 선점형 스케줄링의 하나로서, 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위(Time Quantum)로 CPU를 할당하는 방식의 CPU 스케줄링 알고리즘을 의미한다. 라운드-로빈 방식은 라운드 로빈 스케줄링(Round Robin Scheduling, RR)이라고 호칭할 수도 있다.
예를 들어, 실시예들에 따른 계산 서버(300-1, 300-2, 300-3, …, 300-n) 또는 관리 서버는, 라운드-로빈(round-robin) 방식 외 비선점 스케줄링 방식(Non-preemptive scheduling), 선점 스케줄링 방식(preemptive scheduling), 최소 잔류 시간 우선 스케줄링(SRT), 선입 선처리 스케줄링 방식(First Come First Served Scheduling, FCFS) 방식, 최단 작업 우선 스케줄링(Shortest Job First Scheduling, SJFS) 방식, 다단계 큐 스케줄링(Multilevel Queue Scheduling) 방식 또는 이들이 조합된 방식에 기초하여 각 컨테이너 그룹의 CPU 점유 분배 정도를 결정할 수 있다.
예를 들어, 실시예들에 따른 계산 서버(300-1, 300-2, 300-3, …, 300-n) 또는 관리 서버는, 특정 주기 내에 송신 또는 수신되는 네트워크 패킷의 양에 기초하여 각 컨테이너 그룹의 CPU 점유 분배 정도를 결정할 수 있다. 예를 들어, 특정 컨테이너 그룹을 구동하는데 송신 또는 수신되는 네트워크 패킷의 양이 많거나 적은 경우, 해당 컨테이너 그룹에 대한 CPU 점유 분배 정도를 낮추거나 높일 수 있다.
예를 들어, 실시예들에 따른 계산 서버(300-1, 300-2, 300-3, …, 300-n) 또는 관리 서버는, 사용자 또는 시스템으로부터 기 설정된 각 컨테이너 그룹의 CPU 점유 분배 정도에 기초하여 컨테이너들을 구동(또는 구동하도록 제어)할 수 있다.
예를 들면, 제 1 계산 서버(300-1)는 제 1 컨테이너 그룹(300-1a 내지 300-4a)에 대응하는 제 1 컨테이너(300-1a)를 제 1 시각에 구동할 수 있다. 제 2 계산 서버(300-2)는 제 1 컨테이너 그룹(300-1a 내지 300-4a)에 대응하는 제 2 컨테이너(300-2a)를 제 1 시각에 구동할 수 있다. 제 1 계산 서버(300-1)는 제 1 시각에 제 2 계산부(300-2)로 교환 데이터를 전송할 수 있고, 제 2 계산 서버(300-2)는 교환 데이터에 기초하여 제 2 컨테이너(300-2a)를 구동할 수 있다.
실시예들에 따른 각 컨테이너는 컨테이너를 식별하는 컨테이너 식별자(container identifier) 및/또는 컨테이너 그룹을 식별하는 컨테이너 그룹 식별자(container group identifier)를 포함할 수 있다.
제 1 컨테이너(300-1a) 및 상기 제 2 컨테이너(300-2a)는 동일한 컨테이너 그룹 식별자의 값을 포함할 수 있다. 또한, 교환 데이터는 제 1 컨테이너(300-1a)의 식별자, 제 2 컨테이너(300-2a)의 식별자 및/또는 제 1 컨테이너 그룹(300-1a 내지 300-4a)의 식별자를 포함할 수 있다.
이러한 구성으로 인해 실시예들에 따른 컨테이너(container) 구동 시스템은 컨테이너 (또는 컨테이너 그룹) 에서 수행되는 작업의 데이터를 용이하게 교환시키고 동기화 지연시간 감소 및 시스템 효율성 향상시킬 수 있다.
도 4는 실시예들에 따른 컨테이너(container) 구동 시스템의 동작의 예시를 나타내는 흐름도이다.
실시예들에 따른 컨테이너(container) 구동 시스템은 복수의 계산부들이 특정 시각에 동일한 컨테이너 그룹에 대응하는 컨테이너들을 수행하도록 컨테이너들을 배치하는 단계(S001) 및/또는 배치된 컨테이너 그룹들에 기초하여 적어도 하나의 컨테이너(container)를 제어하고 적어도 하나의 컨테이너를 구동하는 단계(S002)를 포함할 수 있다.
실시예들에 따른 컨테이너(container) 구동 시스템은 도 1에서 도시한 실시예들에 따른 컨테이너 구동 시스템에 대응된다. 복수의 계산부는 도 1에 나타난 계산 서버(101)들, 도 2 내지 도 3에 나타난 계산 서버들(200-1, 200-2, 200-3, 200-4, 300-1, 300-2, 300-3, 300-4)을 의미한다.
컨테이너들을 배치하는 단계(S001)는 예를 들어, 도 1에 나타난 실시예들에 따른 컨테이너 관리부, 관리 서버에서 수행하는 동작이다. 컨테이너들을 배치하는 단계(S001)는 예를 들어, 도 1에 나타난 컨테이너 제어부(101b), 컨테이너 구동부(101c), 도 2 내지 도 3에 나타난 계산 서버들(200-1, 200-2, 200-3, 200-4, 300-1, 300-2, 300-3, 300-4)에 의해 수행될 수도 있다.
도 4에서 설명하는 관리 서버(또는 컨테이너 관리부)는 도 3에 설명하는 관리 서버(또는 컨테이너 관리부), 도 1에 나타난 관리 서버(101) 또는 컨테이너 관리부를 의미한다.
컨테이너들을 배치하는 단계(S001)는 도 2 내지 도 3에 나타난 방법에 따라 컨테이너 그룹(container group) 및/또는 컨테이너들을 배치 및/또는 생성하는 것을 의미한다.
적어도 하나의 컨테이너(container)를 제어하고 적어도 하나의 컨테이너를 구동하는 단계 (S002)는 예를 들어, 도 1에 나타난 컨테이너 제어부(101b), 컨테이너 구동부(101c), 도 2 내지 도 3에 나타난 계산 서버들(200-1, 200-2, 200-3, 200-4, 300-1, 300-2, 300-3, 300-4)에 의해 수행될 수있다. 적어도 하나의 컨테이너(container)를 제어하고 적어도 하나의 컨테이너를 구동하는 단계 (S002)는 도 2 내지 도 3에 나타난 방법에 따라 배치된 컨테이너 그룹(container group) 및/또는 컨테이너들을 실시예들에 따른 계산 서버들이 구동하는 것을 의미한다.
도 1 내지 도 4에 기술되어 있는 실시예들을 단독으로 수행될 수도 있지만 각 도면의 동작들을 병합하여 새로운 실시예로 수행할 수도 있다. 도 1 내지 4에서 설명한 실시예들을 컴퓨터에서 수행 가능한 프로그램이 있는 기록매체 형태(예를 들어, 컴퓨터로 수행 가능한 기록매체, computer readable medium)로도 가능하다.
실시예들에 따른 모니터링 데이터 처리 시스템은 실시예들에 따른 모니터링 데이터 처리 장치 또는 모니터링 데이터 처리부 등에 포함된 구성요소들에 의해 수행될 수 있다. 실시예들에 따른 구성요소들은 하드웨어(hardware), 소프트웨어(software), 또는 그 조합에 의해 구성될 수 있다. 실시예들에 따른 구성요소들은 각각 하나 이상의 프로그램들을 실행하기 위한 적어도 하나의 프로세서들로 구성될 수 있다. 하나 이상의 프로그램들은 해당 프로그램이 달성하고자 하는 동작을 수행하기 위한 명령어(instructions)들을 포함할 수 있다. 실시예들에 따른 저장부는 휘발성 메모리(예를 들면 RAM 등), 비휘발성 메모리 등을 아우르는 개념일 수 있다. 이 명세서에서 콤마(comma, ',') 또는 슬래쉬(slash, '/')는 '및/또는'으로 해석한다. 이 명세서에서 “또는”은 “추가적이거나 대체적으로”를 의미할 수 있다. 이 명세서에서 '~인 경우', '~때', '~한 후' 등의 조건 표현은 반드시 선택적인 경우로만 제한 해석되지 않는다.

Claims (9)

  1. 복수의 계산부들, 여기서 계산부는 적어도 하나의 컨테이너(container)를 제어하고 상기 적어도 하나의 컨테이너를 구동함, 상기 복수의 계산부들은 제 1 계산부 및 제 2 계산부를 포함하고,
    상기 제 1 계산부는 제 1 컨테이너 그룹에 대응하는 제 1 컨테이너를 제 1 시각에 구동하고,
    상기 제 2 계산부는 상기 제 1 컨테이너 그룹에 대응하는 제 2 컨테이너를 상기 제 1 시각에 구동하고,
    상기 제 1 계산부는 특정 시각에 상기 제 2 계산부로 교환 데이터를 전송하고, 상기 제 2 계산부는 상기 교환 데이터에 기초하여 상기 제 2 컨테이너를 구동하고; 및
    상기 복수의 계산부들에 의해 구동되는 컨테이너들을 관리하는 컨테이너 관리부; 를 포함하고,
    상기 컨테이너 관리부는, 상기 복수의 계산부들이 상기 특정 시각에 동일한 컨테이너 그룹(container group)에 대응하는 컨테이너들을 수행하도록 컨테이너 그룹들을 배치하고,
    상기 복수의 계산부들은 상기 컨테이너 관리부에 의해 배치된 컨테이너 그룹들에 기초하여 상기 컨테이너들을 구동하는,
    컨테이너 처리 장치.
  2. 제1항에 있어서,
    각 계산부는 라운드-로빈(round-robin) 방식에 기초하여 각 컨테이너 그룹의 CPU 점유 분배 정도를 결정하는,
    컨테이너 처리 장치.
  3. 제1항에 있어서,
    각 계산부는 특정 주기 내에 송신 또는 수신되는 네트워크 패킷의 양에 기초하여 각 컨테이너 그룹의 CPU 점유 분배 정도를 결정하는,
    컨테이너 처리 장치.
  4. 제1항에 있어서,
    각 계산부는 사용자 또는 시스템으로부터 기 설정된 각 컨테이너 그룹의 CPU 점유 분배 정도에 기초하여 컨테이너들을 구동하는,
    컨테이너 처리 장치.
  5. 제1항에 있어서,
    각 컨테이너는 상기 컨테이너를 식별하는 컨테이너 식별자(container identifier) 및 컨테이너 그룹을 식별하는 컨테이너 그룹 식별자(container group identifier)를 포함하는,
    컨테이너 처리 장치.
  6. 삭제
  7. 제1항에 있어서,
    상기 제 1 컨테이너 및 상기 제 2 컨테이너는 동일한 컨테이너 그룹 식별자의 값을 포함하고,
    상기 교환 데이터는 상기 제 1 컨테이너의 식별자, 상기 제 2 컨테이너의 식별자 및 상기 제 1 컨테이너 그룹의 식별자를 포함하는,
    컨테이너 처리 장치.
  8. 컨테이너 관리부에 의해, 복수의 계산부들이 특정 시각에 동일한 컨테이너 그룹에 대응하는 컨테이너들을 수행하도록 상기 컨테이너들을 배치하는 단계; 및
    상기 복수의 계산부들에 의해, 상기 배치된 컨테이너 그룹들에 기초하여 적어도 하나의 컨테이너(container)를 제어하고 상기 적어도 하나의 컨테이너를 구동하는 단계로서, 상기 복수의 계산부들은 제 1 계산부 및 제 2 계산부를 포함하고,
    상기 제 1 계산부는 제 1 컨테이너 그룹에 대응하는 제 1 컨테이너를 제 1 시각에 구동하고, 상기 제 2 계산부는 상기 제 1 컨테이너 그룹에 대응하는 제 2 컨테이너를 상기 제 1 시각에 구동하고, 상기 제 1 계산부는 상기 특정 시각에 상기 제 2 계산부로 교환 데이터를 전송하고, 상기 제 2 계산부는 상기 교환 데이터에 기초하여 상기 제 2 컨테이너를 구동하고; 를 포함하는,
    컨테이너 처리 방법.
  9. 복수의 계산부들이 특정 시각에 동일한 컨테이너 그룹에 대응하는 컨테이너들을 수행하도록 상기 컨테이너들을 배치하고, 상기 복수의 계산부들은 제 1 계산부 및 제 2 계산부를 포함하고, 상기 제 1 계산부는 제 1 컨테이너 그룹에 대응하는 제 1 컨테이너를 제 1 시각에 구동하고, 상기 제 2 계산부는 상기 제 1 컨테이너 그룹에 대응하는 제 2 컨테이너를 상기 제 1 시각에 구동하고, 상기 제 1 계산부는 상기 특정 시각에 상기 제 2 계산부로 교환 데이터를 전송하고, 상기 제 2 계산부는 상기 교환 데이터에 기초하여 상기 제 2 컨테이너를 구동하고; 및 상기 배치된 컨테이너 그룹들에 기초하여 적어도 하나의 컨테이너(container)를 제어하고 상기 적어도 하나의 컨테이너를 구동하는 프로그램을 저장한 컴퓨터 판독가능 저장 매체.
KR1020200151342A 2020-11-12 2020-11-12 컨테이너 처리 방법, 컨테이너 처리 장치 및 컨테이너 처리 시스템 KR102446717B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200151342A KR102446717B1 (ko) 2020-11-12 2020-11-12 컨테이너 처리 방법, 컨테이너 처리 장치 및 컨테이너 처리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200151342A KR102446717B1 (ko) 2020-11-12 2020-11-12 컨테이너 처리 방법, 컨테이너 처리 장치 및 컨테이너 처리 시스템

Publications (2)

Publication Number Publication Date
KR20220064816A KR20220064816A (ko) 2022-05-19
KR102446717B1 true KR102446717B1 (ko) 2022-09-27

Family

ID=81804662

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200151342A KR102446717B1 (ko) 2020-11-12 2020-11-12 컨테이너 처리 방법, 컨테이너 처리 장치 및 컨테이너 처리 시스템

Country Status (1)

Country Link
KR (1) KR102446717B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160150002A1 (en) 2014-11-21 2016-05-26 International Business Machines Corporation Cross-Platform Scheduling with Long-Term Fairness and Platform-Specific Optimization
JP2018136588A (ja) 2017-02-20 2018-08-30 日本電信電話株式会社 分散同期処理システムおよび分散同期処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101511098B1 (ko) * 2011-10-10 2015-04-10 네이버 주식회사 분산된 컨테이너들을 사용하여 데이터를 관리하는 시스템 및 방법
US9256467B1 (en) * 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
KR101683818B1 (ko) * 2014-12-29 2016-12-20 주식회사 시큐아이 Cpu 부하 분산 패킷 처리 장치 및 방법
US10719354B2 (en) * 2017-06-20 2020-07-21 Samsung Electronics Co., Ltd. Container workload scheduler and methods of scheduling container workloads

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160150002A1 (en) 2014-11-21 2016-05-26 International Business Machines Corporation Cross-Platform Scheduling with Long-Term Fairness and Platform-Specific Optimization
JP2018136588A (ja) 2017-02-20 2018-08-30 日本電信電話株式会社 分散同期処理システムおよび分散同期処理方法

Also Published As

Publication number Publication date
KR20220064816A (ko) 2022-05-19

Similar Documents

Publication Publication Date Title
US10467725B2 (en) Managing access to a resource pool of graphics processing units under fine grain control
JP6433554B2 (ja) 計算タスクを処理するためのコンピュータクラスタ構成、およびそれを動作させるための方法
US10109030B1 (en) Queue-based GPU virtualization and management system
US11740921B2 (en) Coordinated container scheduling for improved resource allocation in virtual computing environment
KR20160087706A (ko) 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법
KR20150024845A (ko) 물리적 큐들로의 가상 머신 플로우들의 오프로딩 기법
CN114138486A (zh) 面向云边异构环境的容器化微服务编排方法、系统及介质
US8516487B2 (en) Dynamic job relocation in a high performance computing system
Kherbache et al. Scheduling live migration of virtual machines
KR102052964B1 (ko) 컴퓨팅 스케줄링 방법 및 시스템
Lai et al. Sol: Fast distributed computation over slow networks
CN114024962B (zh) 一种数据传输方法及装置
WO2023093843A1 (zh) 一种配置装置、调度装置及配置方法和调度方法
WO2016092856A1 (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラムを記憶する記憶媒体
CN114860387B (zh) 一种面向虚拟化存储应用的hba控制器i/o虚拟化方法
CN108028806A (zh) 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置
KR102446717B1 (ko) 컨테이너 처리 방법, 컨테이너 처리 장치 및 컨테이너 처리 시스템
US20140245300A1 (en) Dynamically Balanced Credit for Virtual Functions in Single Root Input/Output Virtualization
KR20140125893A (ko) 가상화된 매니코어 서버의 작업분배 시스템과 그 방법 및 기록매체
Peng et al. BQueue: A coarse-grained bucket QoS scheduler
Prakash et al. Optimizing Goodput of Real-time Serverless Functions using Dynamic Slicing with vGPUs
KR102014246B1 (ko) 리소스 통합관리를 위한 메소스 처리 장치 및 방법
CN114174991A (zh) 容器镜像的动态分布
Kang et al. Partial migration technique for GPGPU tasks to Prevent GPU Memory Starvation in RPC‐based GPU Virtualization
Kousalya et al. A comparative study of parallel job scheduling algorithms in cloud computing

Legal Events

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