권호기사보기
| 기사명 | 저자명 | 페이지 | 원문 | 기사목차 |
|---|
결과 내 검색
동의어 포함
Title Page 1
초록 4
Abstract 4
Contents 5
Chapter 1. Introduction 9
1.1. Contributions 9
1.2. Dissertation Organization 10
Chapter 2. Background 11
2.1. Extended Berkeley Packet Filter 11
2.1.1. Overall design 11
2.1.2. Maps and helper functions 12
2.1.3. Instruction format 13
2.1.4. Static verification 13
2.1.5. Just in time compilation 14
2.2. In Kernel isolation model 14
2.2.1. Hardware based isolation 15
2.2.2. OS-based protection 16
2.2.3. Software fault isolation 16
2.2.4. Language based isolation 17
2.3. Intel MPK 18
Chapter 3. Motivation 20
3.1. Problems from eBPF static verification 20
3.1.1. Unbounded Loop and Loop explosion 20
3.1.2. Instruction Limit (Limited execution time) 21
3.1.3. Restricted synchronization methods 22
3.1.4. Static memory allocation 23
3.2. Problems from single execution model 23
3.2.1. Event-based execution model 23
3.2.2. Fine-grained helper function 24
3.3. Problems from verifier integrity 24
Chapter 4. Design 27
4.1. Design goals 27
4.2. Flexible execution model 27
4.2.1. Thread-based 28
4.2.2. Task-based 28
4.2.3. Fine-grained helper function API 29
4.3. Remove restriction from static verifier 29
4.4. PKS Protection domain 31
4.5. Kernel state concurrency control 33
4.6. Resource isolation 34
Chapter 5. Implementation 35
5.1. BPF verifier 35
5.2. PKS protection domain 36
5.3. Flexible execution model 36
5.4. Resource isolation 37
5.5. Optimistic concurrency control by multiversioning 37
5.6. Additional helper functions 38
5.7. Limitations and future work 38
Chapter 6. Evaluation 41
6.1. vBPF overhead 41
6.2. System call batching 41
6.3. Huge page policy 43
6.3.1. Ingens 43
6.3.2. HawkEye 45
6.3.3. RSS comparison 46
Chapter 7. Related work 47
Chapter 8. Concluding Remark 48
Bibliography 49
Curriculum Vitae in Korean 53
Figure 2.1. Overall design of the BPF program. User-defined BPF program first changes to bytecode by... 12
Figure 3.1. Example of the undefined condition for a dynamic loop. This also includes looping unknown-... 20
Figure 3.2. Example of loop explosion in eBPF. This code is part of the implementation of our evaluation... 20
Figure 3.3. This is an example of kernel extension code that cannot be allowed in a traditional eBPF... 21
Figure 3.4. Some kernel extension works require deep depth of branches or loops. For example, to check... 22
Figure 3.5. This is an example code of thread-based execution model of vBPF. Traditional eBPF cannot... 24
Figure 3.6. This is an example code of the task-based execution model of vBPF. Traditional eBPF... 25
Figure 3.7. Currently, eBPF is suffered from rigid and fixed usage of eBPF helper functions. Developers... 25
Figure 4.1. vBPF adds two more execution models for BPF. The first is a custom system call and the... 28
Figure 4.2. Overall design of BPF program. User-defined BPF program first changes to bytecode by... 32
Figure 5.1. Libbpf API for vBPF. API is a wrapper function for a BPF system call. With Libbpf API,... 35
Figure 5.2. vBPF helper functions for controlling BPFThread. User can safely sleep, park, and unpark... 36
Figure 5.3. Internal implementation of checkpoint in vBPF. vBPF maintains the checkpoint list for... 37
Figure 5.4. We implement additional helper functions for controlling vBPF threads, accessing low-level... 40
Figure 6.1. Both benchmarks use getppid() and complex file system calls with vBPF 41
Figure 6.2. Figure represents the consecutive getpid() execution by horizontal and vertical batching... 42
Figure 6.3. Figure represents the consecutive execution of open(), read(), close() by horizontal... 43
Figure 6.4. Performance result of GAPBS Benchmark with Ingens utilization-based promotion and... 44
Figure 6.5. Redis GET Performance (operations/sec), latency (millisecond), and memory consumption... 44
Figure 6.6. Redis GET Performance (operations/sec), latency (millisecond), and memory consumption... 45
Figure 6.7. Resident set size comparison between Linux THP, vBPF-Ingens, and vBPF-HawkEye. The... 46
확장 버클리 패킷 필터(eBPF)는 리눅스 커널 소스 코드 수정 없이, 다양한 확장 기능을 커널 샌드박스 환경에서 구동시키는 획기적인 기술이다. eBPF는 성능의 지연 없이 강력한 보안을 제공하기 위해서 정적 검정기(Static verification)와 동적 변역을 사용한다. 그러나 eBPF는 이러한 검증 방식으로 인하여 제한된 프로그래밍 방식과 정해진 작동 방식으로만 수행되는 한계를 가지게 되었다. 이에따라, 기존의 방식으로는 완전한 커널 확장을 개발하기에 무리가 있었다.
이 학위 논문은 이러한 eBPF의 단점을 정적 검정기와 하드웨어의 지원을 동시에 사용함으로 극복하는 모델을 제시하였다. 또한 eBPF에 기존 모델은 가지고 있지 않은 다양한 실행 방식(Execution model)을 제공하고 동시성 문제를 해결하여 eBPF의 한계를 극복하여 완전한 커널 확장 환경을 제안하였다. vBPF는 기존의 커널 소스 코드를 수정해야만 했던 커널 정책 수정을 커널 소스 코드 수정과 성능의 저하없이 쉽게 구현할 수 있는 환경을 제시하였다.*표시는 필수 입력사항입니다.
| 전화번호 |
|---|
| 기사명 | 저자명 | 페이지 | 원문 | 기사목차 |
|---|
| 번호 | 발행일자 | 권호명 | 제본정보 | 자료실 | 원문 | 신청 페이지 |
|---|
도서위치안내: / 서가번호:
우편복사 목록담기를 완료하였습니다.
*표시는 필수 입력사항입니다.
저장 되었습니다.