본문 바로가기 주메뉴 바로가기
국회도서관 홈으로 정보검색 소장정보 검색

목차보기

표제지

목차

ABSTRACT 10

제1장 서론 12

제2장 관련 연구 17

제1절 가상 컴퓨팅 자원 배치 스케줄러 17

1. 오픈네뷸라 MM 스케줄러 (OpenNebula Match-Making Scheduler) 17

2. Haizea 스케줄러 (Haizea Scheduler) 19

3. 오픈스택 스케줄러 (OpenStack Scheduler) 20

4. 클라우드스택 스케줄러 (CloudStack Scheduler) 21

5. 유칼립투스 스케줄러 (Eucalyptus Scheduler) 22

제2절 가상 클러스터 관리 연구 23

제3장 가상 클러스터 스케줄링 28

제1절 VM 스케줄링과 VM 스케줄러의 개념 및 한계 28

제2절 VM 스케줄링과 VC 스케줄링의 차이점 분석 31

제3절 VC 스케줄링 작업 (VC Scheduling Job) 모델 35

제4절 VC 스케줄링 메커니즘 39

1. VC 배치 스케줄링 메커니즘 39

2. VC 시간 스케줄링 메커니즘 43

제4장 VirtPlex VC 스케줄링 프레임워크 아키텍처 46

제1절 요구 사항 및 특징 46

1. VirtPlex 프레임워크 요구 사항 46

2. VirtPlex 프레임워크 특징 48

제2절 VirtPlex 프레임워크 아키텍처 50

제3절 VirtPlex 프레임워크 설계 및 구현 53

1. VC 스케줄링 요청 핸들러 61

2. VC 스케줄 관리자 62

3. VC 제어 엔진 66

4. VMMS 접근 드라이버 69

제4절 VC 스케줄링 요청 종류 및 처리 과정 76

1. VC 스케줄링 요청 종류 76

2. VC 스케줄링 요청 처리 과정 77

3. VM 종료 감지 및 VC 종료 처리 85

제5절 가상 컴퓨팅 시스템 모델 88

제6절 비 VC 지원 가상 머신 관리 시스템 연동 방법 92

1. 전형적인 가상 클러스터와 단일 VM 기반 가상 클러스터의 차이 92

2. 가상 머신 스케줄링 기능 구현 형태에 따른 연동 방법 94

3. 비 VC 지원 VM 관리 시스템 연동 지원 모듈 96

4. 비 VC 지원 가상 컴퓨팅 자원 관리 시스템 연동 과정 97

제7절 확장 가능 요소들에 대한 자동화된 인식 및 관리 99

제8절 가상 컴퓨팅 자원 배치 스케줄러 비교 102

제5장 VC 배치 엔진 및 배치 스케줄링 메커니즘 105

제1절 가상 클러스터 배치 엔진 설계 105

제2절 가상 클러스터 배치 엔진 내부 처리 과정 109

1. 가상 클러스터 스케줄 기반 호스트 자원 상태 계산 방법 113

제3절 가상 클러스터 배치 스케줄링 메커니즘 117

1. 가상 클러스터 분할 개념 및 유형 119

2. VC 분할 기반 배치 스케줄링 방식 123

3. 비 VC 분할 (직접 사상) 기반 배치 스케줄링 방식 128

제4절 가상 클러스터 배치 전략 실행 알고리즘 129

제5절 가상 클러스터 배치 전략 및 기능 모듈 139

1. VC 배치 전략 (VC Placement Strategy) 140

2. 배치 계산 기능 모듈 (Function Module) 144

제6절 가상 클러스터 배치 전략 및 기능 함수 구현 예시 146

1. 정적 VC 분할 기반 First-Fit 배치 알고리즘 (FirstFit-VM) 146

2. 동적 VC 분할 기반 First-Fit 배치 알고리즘 (FirstFit-VC) 148

제7절 실험 152

1. 실험 환경 및 방법 152

2. 실험 결과 154

제6장 VC 시간 엔진 및 구동 시간 스케줄링 메커니즘 161

제1절 가상 클러스터 시간 계산 엔진 설계 161

제2절 가상 클러스터 생성 시간 계산 종류 164

제3절 데드라인 기반 가상 클러스터 생성 시작 시간 계산 방법 165

1. 가상 머신 생성 시간 모델 165

2. 데드라인 기반 가상 클러스터 생성 시작 시간 계산 알고리즘 168

제4절 가상 클러스터 생성 시간 및 생성 시작 시간 예측 176

제5절 주기성을 가진 가상 클러스터 구동 스케줄 생성 방법 181

제6절 실험 185

1. 실험 환경 및 방법 185

2. 실험 결과 190

제7장 결론 및 향후 연구 196

참고문헌 198

국문초록 208

표목차

〈표 3-1〉 배치 스케줄링 관점에서의 VM 스케줄링과 VC 스케줄링 차이 32

〈표 3-2〉 VC 스케줄링에 대한 주요 요구 사항 정리 35

〈표 3-3〉 근원 배치 알고리즘 사상에 따른 VM 배치 알고리즘 분류 39

〈표 4-1〉 VirtPlex 프레임워크 요구 사항 47

〈표 4-2〉 VirtPlex 프레임워크 특징 49

〈표 4-3〉 VMMS 접근 드라이버 제공 함수 목록 73

〈표 4-4〉 가상 머신 및 가상 클러스터 종료 감지 및 처리 알고리즘 86

〈표 4-5〉 가상 머신 시스템 모델의 구성 요소 및 설명 88

〈표 4-6〉 VirtualSystemSection 세부 구성 요소 및 설명 89

〈표 4-7〉 호스트 시스템 모델의 구성 요소 및 설명 90

〈표 4-8〉 HardwareResourceSection 세부 구성 요소 및 설명 91

〈표 4-9〉 가상 컴퓨팅 자원 배치 스케줄러 비교 104

〈표 5-1〉 시간 조건 기반 호스트 자원 상태 계산 알고리즘 114

〈표 5-2〉 '선 처리(Pre-Processing)' 흐름 실행 알고리즘 129

〈표 5-3〉 '주 처리(Main-Processing)' 흐름 실행 알고리즘 133

〈표 5-4〉 VC 배치 전략 구조 140

〈표 5-5〉 기능 모듈 유형 및 설명 142

〈표 5-6〉 VC 배치 계산 기능 모듈 클래스 144

〈표 5-7〉 정적 VC 분할 기반 First-Fit 배치 알고리즘의 배치 전략 147

〈표 5-8〉 FirstFit-VC 배치 알고리즘의 배치 전략 148

〈표 5-9〉 동적 VC 분할 기반 FirstFit 배치 알고리즘 Pseudo Code 150

〈표 6-1〉 데드라인 기반의 VC 내 VM 생성 시작 시간 계산 알고리즘 171

〈표 6-2〉 주기적으로 구동되는 가상 클러스터 스케줄링 방법 182

〈표 6-3〉 VC 생성 시간 스케줄링 실험 환경 186

그림목차

〈그림 3-1〉 Hadoop 기반 가상 클러스터의 예 29

〈그림 3-2〉 VC 스케줄링 작업 메타 모델 36

〈그림 3-3〉 VC 배치 스케줄링 메커니즘 41

〈그림 3-4〉 VM 생성 호스트에 따른 생성 시간 차이 발생 44

〈그림 4-1〉 VirtPlex Framework 구동 위치 51

〈그림 4-2〉 VirtPlex 프레임워크 전체 아키텍처 51

〈그림 4-3〉 VirtPlex 프레임워크 내부 설계 53

〈그림 4-4〉 XML-RPC 기반 VC 스케줄링 요청 핸들러 설계 61

〈그림 4-5〉 Schedule Manager 내부 설계 63

〈그림 4-6〉 가상 클러스터 제어 엔진 내부 아키텍처 66

〈그림 4-7〉 VC 제어 엔진 내부 설계 68

〈그림 4-8〉 VMMS 접근 드라이버의 사용 관계 70

〈그림 4-9〉 VMMS 접근 드라이버 인터페이스 72

〈그림 4-10〉 VC 스케줄링 요청 종류별 처리 과정 78

〈그림 4-11〉 VC 생성 요청 처리 과정 79

〈그림 4-12〉 VC 종료 요청 처리 과정 83

〈그림 4-13〉 일반 VC와 단일 가상 머신 기반 VC의 규모적 차이 93

〈그림 4-14〉 단일 가상 머신 기반 가상 클러스터 스케줄링 96

〈그림 4-15〉 비 VC 지원 가상 머신 관리 시스템과의 연동 흐름 97

〈그림 4-16〉 자동화된 기능성 모듈 관리 100

〈그림 5-1〉 VC 배치 엔진 내부 설계 106

〈그림 5-2〉 VC 배치 엔진 내부 처리 과정 협동 다이어그램 110

〈그림 5-3〉 동적 VC 분할 방법의 예 120

〈그림 5-4〉 분할 크기 1인 정적 VC 분할의 예 122

〈그림 5-5〉 VC 분할 방법을 기반 VC 배치 스케줄링 메커니즘 124

〈그림 5-6〉 비 VC 분할 (직접 사상) 기반 VC 배치 스케줄링 흐름 128

〈그림 5-7〉 VC 배치 알고리즘 별 Throughput 154

〈그림 5-8〉 VC 배치 알고리즘 별 서비스 응답 시간 155

〈그림 5-9〉 VC 배치 알고리즘 별 자원 활용률 156

〈그림 5-10〉 VC 배치 알고리즘 별 계산속도 차이 158

〈그림 5-11〉 배치 알고리즘 별 가상 클러스터 분할 크기 158

〈그림 6-1〉 VC 시간 엔진 설계 161

〈그림 6-2〉 가상 클러스터 생성 시간 조건 164

〈그림 6-3〉 가상 머신 생성 시간 모델 166

〈그림 6-4〉 실행 슬롯 (Execution Slot)의 예 168

〈그림 6-5〉 가상 머신 생성 시간 초과 사례 170

〈그림 6-6〉 VC 생성 시간 실험 시스템 아키텍처 186

〈그림 6-7〉 VC 생성 시간 실험 측정 데이터 종류 188

〈그림 6-8〉 테스트 VM 부트 시간 측정 결과 189

〈그림 6-9〉 각종 부하 상황에서의 VC 대기 시간 측정 결과 191

〈그림 6-10〉 테스트 VM 부트 시간 동안의 CPU 및 디스크 사용량 192

〈그림 6-11〉 VC 생성 시간 및 생성 시작 시간 예측 결과 193

〈그림 6-12〉 VC 생성을 위한 실행 슬롯 배치 예 194

초록보기

 가상화 기술은 물리적으로 제한된 하드웨어 자원을 기반으로 가상의 컴퓨팅 환경을 구성할 수 있도록 한다. 이러한 가상화 기술을 통해 사용자들은 운영체제와 같은 저 수준의 시스템 관리 소프트웨어서부터 미들웨어 또는 사용자 응용 소프트웨어 같은 중간 혹은 상위 수준의 소프트웨어들을 동적으로 구성할 수 있다. 뿐만 아니라, 물리 머신 기반의 기존의 클러스터 시스템과 같이 가상 머신들을 기반으로 가상 클러스터 시스템을 구성할 수 있다. 따라서 기존의 물리 머신 기반의 기존의 클러스터 시스템과는 다르게 높은 신축성과 확장성 있는 고성능 컴퓨팅 환경을 손쉽고 빠르게 구성할 수 있기 때문에 다양한 분야에서 가상 클러스터 시스템들을 도입하고 있다. 하지만, 가상 머신 관리 시스템 내 가상 머신 배치 스케줄러들은 가상 클러스터 시스템들에 대한 컴퓨팅 자원 및 시간을 통합적으로 스케줄링 하기에 적합하지 않다. 대표적인 예로, 가상 머신 단위의 배치 스케줄링 알고리즘과 스케줄러에는 VM 간의 관계성을 식별하기 어렵고, VM들의 집단성을 고려한 자원 할당이 매우 어렵다. 더욱이, 기존 VM 배치 스케줄러들은 특정 VM 관리 시스템에 높은 종속성 가짐에 따라, 효용성 높은 배치 스케줄링 알고리즘을 상이한 VM 관리 시스템에 적용하기 위해 많은 난점들을 해결해야 하며, 높은 통합·연동 비용이 필요하다.

본 논문에서는 기존의 가상 머신 배치 스케줄러의 문제점들과 제약사항들을 해결한 유연성과 확장성 있는 가상 클러스터 스케줄링 프레임워크 'VirtPlex'를 제시한다. 본 프레임워크는 가상 클러스터 단위의 자원 및 시간에 대한 스케줄링 기능을 통합적으로 제공한다. VirtPlex 프레임워크는 사용자의 다양한 배치 알고리즘 모듈들을 선택적으로 구동할 수 있는 '실행 환경'을 제공하며, 다양한 배치 알고리즘들을 동적으로 재구성(Dynamic Reconfiguration) 할 수 있는 높은 유연성을 가지고 있다. 또한 배치 알고리즘 모듈을 배치 전략과 배치 스케줄링 모듈로 세분화하여 정의할 수 있게 함으로써, 배치 알고리즘 간 특정 배치 계산 기능을 상호 교차 사용할 수 있다. 본 프레임워크에서는 가상 클러스터 내 형성될 수 있는 서브 그룹들의 생성과 '서브 그룹 간', '서브 그룹 내 VM들 간'의 관 계를 고려한 통합/분산 배치될 수 있도록 서브 그룹 단위의 VC 배치 전략 (배치 알고리즘)을 적용할 수 있도록 지원하며, 이에 필요한 각종 배치 계산 기능 모듈들을 제공한다. 한편, 본 프레임워크에서는 다양한 시간 조건 ('즉시 생성', '예약 생성 - 특정 시점 기준', '예약 생성 - 데드라인 기반') 을 기반으로 한 '가상 클러스터 생성 시간 스케줄링' 기능을 제공하며, 주기적/비주기적으로 구동되는 가상 클러스터들에 대해 구동 시간 스케줄링 기능을 제공한다. 추가적으로, VirtPlex 프레임워크는 다양한 가상 머신 관리 시스템과 통합 연동 될 수 있는 확장성 있는 구조를 가지고 있다.

마지막으로, 본 논문에서는 VirtPlex 프레임워크에서 구동 가능한 동적/정적 가상 클러스터 분할 기능 기반 배치 알고리즘들을 제시하며, 배치 알고리즘들 간 처리 성능 분석 결과를 제공한다. 또한 데드라인 기반 가상 클러스터 생성 시간 스케줄링 기능에 대한 실험 결과와 함께 가상 클 러스터 생성 시작 시간 계산 방법의 효용성을 실험한 결과를 제공한다. 실험 결과, 단위 시간당 처리량 (Throughput)과 같은 가상 클러스터 배치 알고리즘의 성능은 자원 활용성에 큰 영향을 받음을 확인하였으며, 동적 VC 분할 기능을 기반으로 VC 배치 알고리즘들은 가상 머신 단위의 배치 알고리즘(정적 VC 분할 배치 알고리즘) 들에 비해 23%~43% 정도 높은 단위 시간당 처리량 (Throughput)을 나타냈으며, 13%~20%가량 자원 활용률을 높일 수 있었다. 데드라인 기반 가상 클러스터 생성 시간 스케줄링 실험 결과, 다양한 시스템 부하는 가상 클러스터 생성 시간에 큰 영향을 미치지 않음을 확인할 수 있었으며, 본 프레임워크에서 제공하는 시간 스케줄링 기능은 제약 조건으로 제시된 데드라인 시간을 위반하지 않도록 가상 클러스터 생성 시작 시간을 계산하는 유용성을 보여준다.