Performance improvement of clustered internet server systems based on the collaboration of linux I/O subsystems and enhancement of OpenLDAP implementation = 리눅스 입출력 시스템의 협업 개선 및 디렉토리 서버 구현 개선을 통한 클러스터 기반 인터넷 서버 시스템의 성능 향상 기법
서명 / 저자 Performance improvement of clustered internet server systems based on the collaboration of linux I/O subsystems and enhancement of OpenLDAP implementation = 리눅스 입출력 시스템의 협업 개선 및 디렉토리 서버 구현 개선을 통한 클러스터 기반 인터넷 서버 시스템의 성능 향상 기법 / San-Seok Lim.
저자명 Lim, Sang-Seok ; 임상석
발행사항 [대전 : 한국과학기술원, 2006].
Online Access 원문보기 원문인쇄





학술문화관(문화관) 보존서고

DEE 06050







The explosion of the Internet and World-Wide-Web technologies has led to the development of many new systems and the severe overload of a current Internet infrastructure. It has also created a critical need for many new Internet server technologies such as server clustering, content delivery networks, and smart proxies. The server clustering technologies have been in the core of the efforts to realize the high-performance Internet platform so as to make it capable of providing the full power of ubiquitous Internet services. In the platform, two types of services infrastructures need to be prepared for a complete support for real Internet service deployment: Internet content service infrastructure and credential information service infrastructure. In the content service infrastructure which mainly targets on HTTP, FTP, and streaming services, the key operation is to deliver contents to clients. It needs to be designed with deep consideration in scalability, high-throughput, and reliability. On the other hand, the credential information service infrastructure which provides standardized access methods to credential information such as user accounts, passwords, certificates, etc, requires a high interoperability and a security level which leads to active research on directory services as a credential information repository. In order to build a complete service infrastructure, both service infrastructures need to be co-located and interoperate with each other. In this thesis, both infrastructures have been improved by a series of techniques on top of a PC-cluster based Internet server. For the Internet content service infrastructure, in order to improve throughput of a Internet server by eliminating avoidable context switching between data copying operations which severely damage cache efficiency, we proposed an event-correlation based event manager (ECEM) in a Linux operating system. In Internet servers that run on general-purpose operating systems such as Linux and UNIX, network subsystems and disk subsystems cooperate with each other for user requests. Many studies have focused on optimizing the data movement across the subsystems by reducing data copying overhead among user buffers, network send buffers, and disk buffers. When data flows across the subsystems, events such as read/write requests and read/write completion notification accompanied with the data are also delivered across the subsystems, which control data copying timing. There have been, however, few study on the optimization of event delivery across the subsystems. In conventional operating systems, an event from a disk subsystem is delivered to a network subsystem regardless of the status of the network subsystem. If the network subsystem is not ready for data sending, the execution of the server will be blocked, which causes scheduling and context switching during data copying. This non-contiguous execution will incur deficiencies such as avoidable context switching and cache pollution. To alleviate the deficiencies, we have developed ECEM, an inter-subsystem event delivery mechanism that defines an event correlation based on the happened-before relation. Based on ECEM we propose a deferred event delivery(DED) scheme to suppress unnecessary context switching for throughput improvement of the server. In addition to ECEM, for further throughput improvement, we narrowed down our focus into data delivery over TCP without involvement of user buffers, investigating thoroughly a file system behavior from the TCP perspective. We found that there were three critical mismatches in a Linux operating system design. The first is non-seamless processing of TCP data and ACK segments in different contexts. The second is an uniform data prefetching for TCP connections irrespective of their TCP characteristics such as bandwidth, latency, and the status of a send buffer. The third is inefficient disk access due to the ignorance of abrupt changes in TCP connections caused by congestion, packet loss, and connection abortion. As a remedy to these mismatches, we newly design a TCP-plugged file system (TPF) which is comprised of three novel mechanisms; Integrated data sending routine, TCP aware data prefetching, and eager disk request cancellation. With the mechanisms, TPF becomes capable of supplying data managed by TPF to TCP connections timely and seamlessly and becomes reactive to abrupt changes in TCP connections. As a result, TPF provides minimal context switching overheads, high memory buffer utilization, and highly-effective disk access utilization. For the credential information service infrastructure, in order to improve its interopearbility, we designed and implemented ASN.1 awareness and Component Matching technology which was published as an Internet standard (RFC 3687). One of popular credential information for providing better security in the Internet is a X.509 certificate which is predominantly stored and retrieved by LDAP. The X.509 certificate stored in an LDAP repository requires secure and flexible means to make assertions against its component values such as the identity of its owner, issuer, and the intended usage of the public key contained therein. LDAP has traditionally lacked this ability because its string based encodings do not have a standard way to carry structural information of complex syntaxes as in X.500 directory. Traditional remedies to this interoperability breach are to provide certificate specific matching for a limited set of components and their combinations or to extract and store the certificate components in separate searchable attributes. Neither of these remedies is considered complete because the former lacks flexibility while the latter heightens complexity in securing and managing the integrity of the LDAP repository. Due to the significant downside of these remedies, we decided to seek after an ASN.1 based Component Matching alternative. In this thesis, we present the design and implementation of an LDAP component matching and ASN.1 awareness for an OpenLDAP directory server as a credential information storage. We also present various optimization mechanisms to increase the performance and interoperability of the component matching and their implementation, followed by the performance of the component matching compared with the existing certificate specific matching and the attribute extraction approach. The analysis convinced us that if equipped with the optimizations, the component matching outperforms the existing approaches while at the same time providing much improved interoperability. With significantly improved throughput and interoperability of our server, harnessing the three proposed technologies will foster the deployment of our cluster server as a Internet service infrastructure for e-Business, e-Commerce, and e-Health.

인터넷과 웹기술의 폭발적인 발전은 많은 새로운 시스템의 개발을 촉진하여왔을 뿐만 아니라 그에 따른 인터넷 기반에 상당한 부하를 주고 있다. 이러한 상황은 서버 클러스터링, 콘텐츠 전달 네트워크, 프락시들과 같은 인터넷 서버 기술들의 개발을 요구하였다. 그중에서 서버 클러스터링 기술은 고성능 인터넷 플랫폼의 핵심기술로 자리잡아 왔고 그리하여 완전한 유비쿼터스 인터넷 서비스를 제공가능하게 하였다. 이러한 플랫폼에서는 크게 인터넷 콘텐츠 서비스를 위한 기반과 신용 정보 서비스를 위한 기반기술이 준비되어져야 한다. 먼저 인터넷 콘텐츠 서비스를 위한 기반에서는 HTTP, FTP 그리고 스트리밍 서비스를 목적으로 하고 클라이언트에게 콘텐츠를 전송하는게 주요한 핵심 기술이다. 이러한 기술의 개발에서는 확장성, 처리량, 안정성이 주요한 요구사항이다. 반면에 신용 정보 서비스를 위한 기반에서는 사용자 계정, 비밀번호, 인증서 등을 접근할수 있는 표준화된 방식을 제공해야 하고 상호 연산성 및 보안성이 보장되어야 한다. 그 기반에서의 핵심 기술로 디렉토리 서비스가 널리 쓰이고 있다. 이러한 두가지 기반은 완전한 인터넷 서비스를 제공하기 위하여 꼭 필요한 기술로서 상호 협력을 통하여 서비스를 제공한다. 본 학위논문에서는 PC 클러스터 기반의 인터넷 서버시스템에서의 두가지 기반 구축에 필요한 핵심 기술들의 향상을 목표로 하였다. 인터넷 서버의 처리량을 최대화 하기 위하여 데이터 메모리를 접근하는 연산들 사이에 발생하는 콘텍스트 스위칭을 최소화 하는 기술을 제안하였다. 그러한 콘텍스트 스위칭은 캐쉬의 효율성을 심각하게 저하시킨다. 본 학위논문에서는 사건연관 기반 사건 관리기를 새롭게 제안하여 리눅스 운영체제에 개발하였다. 인터넷에서의 사용자 서비스 요청을 처리하기 위해서는 디스크 시스템과 네트워크 시스템이 서로 협업을 해야만 한다. 이러한 사용자 요청의 처리를 효과적으로 하기 위하여 기존의 많은 연구들은 사용자 버퍼, 네트워크 및 디스크 버퍼 사이에서의 데이타 복사를 제거하기 위한 연구에 초점을 맞추어왔다. 데이타가 운영체제의 디스크 서브시스템에서 네트워크 서브시스템으로 흘러갈때 읽기, 쓰기 요청, 읽기, 쓰기 연산 완료와 같은 다양한 관련 이벤트들도 함께 전달 되어지며 이러한 이벤트들이 실제로 데이타의 복사 타이밍을 결정한다. 그러나 지금까지 이러한 이벤트들의 흐름에 대한 분석과 최적화는 매우 미흡하다. 기존의 운영체제에서는 디스크 하위 시스템에서의 이벤트는 관련된 네트워크 서브시스템의 상태와 관련없이 즉시 전달된다. 만약 네트워크 서브시스템이 데이타 전송 준비가 되어있지 않다면 서버 프로세스 수행이 중지될 것이고 이러한 중지는 데이타 메모리 접근 연산도중에 콘텍스트 스위칭을 발생시킨다. 이러한 비연속적인 연산의 수행은 불필요한 프로세스 블라킹, 콘텍스트 스위칭 오버헤드, 긴 서비스 지연 시간, 그리고 캐쉬 효율성 저하를 일으킨다. 이러한 문제를 완화 하기 위하여 이벤트 연관성 기반 이벤트 전달기에서는 지연된 이벤트 전달이라는 새로운 스케쥴링 기법을 제안하여 전체 서버의 처리량을 개선하였다. 위와 같은 이벤트 관리기에 더하여 TCP 기반 데이터 전송에서 더 많은 성능 향상을 위하여 TCP에 최적화된 데이터 전송을 위한 파일시스템을 제안하였다. 먼저 네트워크 전송은 TCP로 제한하고 사용자 버퍼를 거치지 않는 데이타 전송을 기반으로 하였다. TCP 기반의 서버 시스템의 정밀한 분석을 통하여 현재 널리 쓰이는 리눅스 운영체제의 세가지 문제점을 발견하였다. 첫번째로 TCP 데이타와 ACK의 서로 다른 콘텍스트에서의 비효율적인 처리이다. 두번째는 TCP 연결에서의 소켓 버퍼의 상태, 연결의 전송량, 연결의 지연을 고려하지 않은 일률적인 데이터 기적재방식이다. 마지막으로 TCP 연결에서 네트워크 전송률에 급격한 변화를 감지하지 못하고 불필요하게 디스크를 접근하는 점이다. 이러한 문제점들에 대처하여 TCP에 최적화된 파일시스템을 만들기 위하여 통합된 데이터 전송 함수, TCP를 지각하는 데이터 적재 알고리즘, 디스크 요청지연 및 제거 기법을 새롭게 제안하였다. 제안된 세가지 기법의 도움으로 새로운 파일시스템은 TCP 연결에 효율적인 데이타 제공이 가능 해지고 TCP연결에서의 갑작스러운 변화에 대처할수 있게 된다. 결론적으로 제안된 파일시스템은 콘텍스트 스위칭 오버헤드를 감소시키고 메모리 버퍼의 사용성을 증가 시키며, 디스크 접근의 효율성을 개선하였다. 신용 정보 기반의 상호 연산성 개선을 위하여 ASN.1 인식 기술 및 콤포논트 매칭 기술을 설계하고 구현하였다. 콤포넌트 매칭 기술은 인터넷 표준 RFC3687에 제안된 기술이다. 인터넷에서 널리 사용 되는 신용 정보는 디지털 인증서이고 이를 통하여 인터넷에서의 보안성을 높이고 있다. 이러한 인증성의 배포를 위하여 LDAP이 널리 사용되고 있다. LDAP 디렉토리에 저장되고 배포되어지는 X.509 인증서는 안전하고 유연한 방식을 통하여 검색되어지는데 이때 인증서에 저장된 일부의 데이타, 콤포넌트,의 값을 비교한다. 그러나 이러한 LDAP은 오래전부터 이러한 콤포넌트 기반 매칭이 어려웠는데 이는 LDAP이 스트리기반 인코딩방식을 통하여 정의 되어졌기 때문이다. 문제는 그러한 인코딩 방식은 내부 데이타 구조 정보를 표준화된 방식으로 저장하지 않기 때문이다. 이러한 문제를 해결하기 위한 전통적인 방식은 별도의 임시의 매칭 방식을 사용하거나 그러한 내부 콤포넌트를 추출하여 별도로 저장하고 그것에 대해 매칭연산을 수행하는 것이다. 전자는 유연성이 매우 떨어지고 후자는 LDAP 저장소의 구조를 복잡하게 하고 보안성 문제를 일으킨다. 이러한 문제점들을 일소하기 위하여 ASN.1 기반의 콤포넌트 매칭기술을 도입하기로 결정하였다. 본 학위 논문에서는 이러한 LDAP 콤포넌트 매칭기술의 설계 및 구현 제안한다. 그리고 다양한 최적화 방식들의 설계 및 구현을 설명한다. 개발되어진 기술을 통하여 기존의 방식들과 비교우위를 폭넓게 분석한다. 최적화 방식과 통합되어진 구현 서버는 다른 두 방식에 비하여 개선된 성능을 보여주었다. 이렇게 개선되어진 성능 및 상호 연산성을 극대화 하여 본 학위논문에서 제안되어진 인터넷 서버 시스템의 배치를 촉진한수 있게 기여 하였고 이러한 시스템은 전자상거래, 전자 정부 및 비디오/오디오 스트리밍에 사용될 수 있다.


청구기호 {DEE 06050
형태사항 x, 96 p. : 삽도 ; 26 cm
언어 영어
일반주기 저자명의 한글표기 : 임상석
지도교수의 영문표기 : Kyu-Ho Park
지도교수의 한글표기 : 박규호
수록잡지명 : "ECEM: Event-correlation based event manager for an I/O-intensive application". Journal of systems and software, 74/3, 229-242(2005)
학위논문 학위논문(박사) - 한국과학기술원 : 전기및전자공학전공,
서지주기 Reference : p. 91-96
주제 Internet Server
TCP Protocol stack
File System
Directory Server
인터넷 서버
전송 프로토콜 스택
파일 시스템
디렉토리 서버
QR CODE qr code