서지주요정보
URI-sniffing based load balancing on clustered web servers = 웹 서버 클러스터에서 URI 스니핑에 기초한 부하 분배
서명 / 저자 URI-sniffing based load balancing on clustered web servers = 웹 서버 클러스터에서 URI 스니핑에 기초한 부하 분배 / Jong-Woong Hyun.
발행사항 [대전 : 한국과학기술원, 2003].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8014780

소장위치/청구기호

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

DCS 03033

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

With the rapid growth of World Wide Web, popular sites experience continuous and sometimes disproportionate increase in client requests.Growing demands on scalable systems have led many sites to deploy cluster-based server architecture. As the Web is popularly used as an interface to new applications such as e-commerce, the proportion of resource-intensive dynamic content is also increasing. Processing a dynamic content request on the server usually requires one or two orders of magnitude more system resources compared to processing a static content request. High variation of content increases the variation of resource requirements, which may cause skewed cluster utilization. Bursty requests and high variation of content has placed heavy demands on scalable routing mechanisms and sophisticated load balancing policies which can provide scalable performance and desired level of service quality. Recently, layer-4 (L4) Web switches have been widely used as load balancing front-end routers for Web server clusters. Due to the low-overhead TCP routing mechanism, they can scale to large clusters. However, there is no means for balancing load among the clustered back-end servers besides distributing new connections across them. Therefore, timely and accurate estimation of each server`s load is vital to keep the servers evenly loaded. For this purpose, the typical L4 switch requires some form of load metrics feedback from the servers. Unfortunately, the insufficiency, measurement overhead, and feedback delay of load metrics often cause misestimate of server load. This may often result in significant dynamic load imbalance among the servers when the variation of requested content is high, which increases user-perceived service latency and degrades server performance. As an alternative, layer-7 (L7) Web switches intend to provide high quality of service by dispatching client requests to suitable servers on the basis of the requested content, denoted by Uniform Resource Identifier (URI). However, content-based request dispatching imposes high overhead on the front-end L7 switch, which may often become a bottleneck even for the typical Web workload. This dissertation proposes a new URI-sniffing based load balancing (USLB) policy for the L4 switch used in clustered Web servers that provide dynamic as well as static content. It aims to dynamically balance load among the servers by timely and accurately estimating server load without costly feedback of load metrics from the servers as well as without significant degradation of routing throughput. Timely and accurate load estimation is achieved by a novel URI-sniffing technique that associates the sniffed URIs with the expected usage of server resources. Performance evaluation conducted using various workloads shows that the L4 switch which employs our proposed USLB policy can provide low service latency as well as scalable performance by avoiding the drawbacks of the existing L4 and L7 Web switches.

지난 10여년간 인터넷, 특히 월드 와이드 웹의 사용은 폭발적인 성장을 거듭하였다. 유명 웹 사이트들은 지속적이고 때로는 급격한 서비스 요구의 증가와 그에 따른 서버 성능의 부단한 확장 필요성에 항상 직면하여 왔다. 초기의 웹 사이트에서 사용된 단일 서버 시스템 구조는 성능 확장을 위해 기존의 서버를 새로운 고성능 서버로 빈번히 교체함에 따른 시간과 비용의 낭비를 초래하였다. 이는 많은 웹 사이트들로 하여금 클러스터 형태의 웹 서버 구조를 채택하게 만들었다. 웹 클라이언트와 서버는 동일한 프로토콜 체계인 HTTP/TCP/IP를 사용하여 각각 콘텐트를 요구하고 서비스하는 인터넷으로 연결된 컴퓨터 시스템들을 의미한다. 웹 콘텐트란 HTML과 같은 시스템-독립적인 언어로 작성된 문서나 그래픽스 이미지, 멀티미디어 오브젝트 등을 포함한다. 전자상거래 등 새로운 어플리케이션을 위한 인터페이스로서 웹이 널리 사용됨에 따라 웹 콘텐트 중에서 동적 콘텐트의 비중이 증가하고 있다. 정적 콘텐트 요구는 서버 시스템의 저장장치에 있는 해당 파일을 전송함으로써 비교적 간단히 서비스될 수 있으므로 적은 시스템 자원을 필요로 한다. 반면, 동적 콘텐트를 서비스 하려면 요구 발생 시점에 별도의 서버 프로그램을 실행하여 동적으로 콘텐트를 생성하고 전달해야 하므로 많은 시스템 자원이 필요하다. 동적 콘텐트 서비스에 필요한 CPU 사이클, 메모리 또는 디스크 공간, 입출력 처리 시간 등의 시스템 자원은 정적 콘텐트의 경우에 비해 수십 또는 수백 배 많은 것이 일반적이다. 또한, 어플리케이션의 특성에 따라 개별 동적 콘텐트의 자원 요구량 사이에도 다양한 편차가 존재할 수 있다. 다양한 콘텐트의 서비스에 필요한 시스템 자원의 높은 가변성은 클러스터 내의 서버들의 편중된 활용을 초래할 수 있다. 따라서 클러스터를 구성하는 서버 수에 비례하는 높은 성능을 내려면, 가해지는 부하가 서버들에 고르게 분산될 수 있도록 콘텐트 요구들을 서버들로 할당하는 효과적인 부하 분배 기법이 필수적이다. 웹 클러스터들은 일반적으로 클러스터의 프론트엔드(front-end)에 웹 스위치라는 부하 분배기를 두어 백엔드(back-end) 서버들로 클라이언트의 요구들을 분배한다. 최근 많이 사용되고 있는 Layer-4 (L4) 웹 스위치는 클라이언트로부터 받은 패킷에서 OSI 프로토콜 스택의 2, 3, 4 (즉 MAC/IP/TCP) 계층에 해당하는 정보들을 검사함으로써 패킷을 서비스할 적절한 서버를 선정하고 전달한다. 이 방법은 적은 계산 오버헤드를 수반하므로 단일 시스템 이미지를 지닌 대규모의 클러스터를 구축할 수 있다는 장점이 있다. 반면, 요구되는 HTTP 요구 패킷(콘텐트)의 검사에 기초하여 서버가 선정되는 것이 아니라, 그보다 앞서 클라이언트로부터 커넥션 성립 요구를 받은 시점에 서버가 선정되므로, 서버에 가해지는 부하를 균등하게 하는데 어려움을 초래한다. 커넥션 성립 요구 패킷이 도착하면, 일반적으로 각 서버의 현재의 부하 상태에 대한 평가에 기초하여 적은 부하를 지닌 서버가 선정된다. 부하 분배의 유일한 수단은 현재 적은 부하가 가해져 있다고 판단되는 서버로 상대적으로 많은 수의 새로운 커넥션들을 할당하는 것 뿐이다. 따라서 부하의 균등 분배를 위해서는 서버들의 부하를 정확히 계산하는 것이 필수적이다. 하지만 정확한 부하 계산에 필요한 정보(load metrics)는 L4 스위치 자체에서 측정될 수 없으므로, 서버들에서 별도의 프로세스를 주기적으로 실행시켜 구체적인 부하 정보를 측정하고 전달 받는 방법을 취하게 된다. 이는 서버들에 별도의 계산 오버헤드를 부가할 뿐 아니라 부하 정보 전달에 있어서의 지연을 초래하게 된다. 하나의 부하 정보가 서버의 부하를 직접적으로 반영하는 경우는 드물다. 서버 부하를 간접적으로 반영하는 여러 가지 부하 정보들 사이에 우선 순위를 부여하는 것 역시 쉽지 않다. 이러한 어려움은 종종 부정확한 부하 평가의 위험을 초래한다. 특히 콘텐트 요구들을 처리하는데 필요한 시스템 자원의 편차가 크다면 이러한 부하 분배 기법은 종종 서버들간의 부하 불균형을 초래하고 전체 클러스터의 성능을 저하시키고 응답 지연을 증가시키기 쉽다. 대안으로서, Layer-7 (L7) 웹 스위치는 콘텐트 요구를 검사하고 서비스에 가장 적합한 서버를 선정하는 방법을 취한다. 이를 위해 L7 스위치는 먼저 커넥션 성립 요구를 보낸 클라이언트와 서버를 대신하여 커넥션을 맺는다. 이후 클라이언트로부터 받은 HTTP 요구 패킷에서 URI로 표현되는 콘텐트를 검사해야 한다. 또한, connection-handoff 등의 기법을 사용하여 이미 맺어진 커넥션을 선정된 서버로 이식하고 HTTP 요구를 전달해야 한다. L7 웹 스위치는 URI의 검사에 기초하여 다양하고 효과적으로 클라이언트 요구들을 서버들로 분배할 수 있다는 장점을 지닌다.하지만, 위와 같은 패킷 라우팅 기법은 많은 계산 오버헤드를 초래함으로써 프론트엔드 웹 스위치에 병목현상을 초래하기 쉽다. 본 연구에서는 L4 스위치를 위한 URI 스니핑(sniffing)에 기초한 부하 분배 (USLB) 기법을 제안하고 실험한다. 웹 서버 클러스터는 정적 및 동적 콘텐트 모두를 서비스하는 동종의 웹 서버들로 구성되어 있다고 가정한다. 기본적인 아이디어는 다음과 같다. L4 스위치의 TCP 계층에 별도의 URI-스니퍼라는 소프트웨어 모듈을 두어 각 서버로 전달되는 HTTP 요구 패킷들의 URI를 스니핑한다. 관리자는 클러스터에 존재하는 모든 콘텐트를 URI와 서비스에 필요한 자원의 종류 및 미리 측정한 자원 요구량의 평균값에 따라 분류하고 결과를 콘텐트 분류표의 형태로 URI-스니퍼에게 제공한다. L4 스위치를 경유하여 서버로 전달되는 각 HTTP 요구 패킷에 대해 URI 스니핑과 콘텐트 분류표에 기초하여 각 요구에 의해 서버에 가해지게 될 부하를 예측한다. 콘텐트에 기초하여 L4 스위치 스스로 각 서버의 부하를 예측할 수 있으므로, 신속하고 정확한 서버 부하의 평가가 가능하다. 새로운 커넥션 성립 요구를 받으면 평가된 부하에 기초하여 적은 부하를 지닌 서버를 선정함으로써 다양한 콘텐트의 서비스로 인해 서버들 사이에 불가피하게 발생하는 동적인 부하 불균형(dynamic load imbalance)에 신속히 대처할 수 있다. 제안된 USLB 기법은 기존의 L4 및 L7 스위치의 단점을 극복하기 위한 대안으로서 의미를 지닌다. 즉, L4 스위치에서 사용되는 기존의 부하 분배 기법들과는 달리 백엔드 서버들에게 부하 정보의 전달을 요구하지 않는다. 또한 URI 스니핑 기법은 L7 스위치와는 달리 클라이언트와의 커넥션 성립 및 connection-handoff와 같은 오버헤드를 수반하지 않으므로 프론트엔드에 병목현상을 초래하지 않고 클러스터의 확장성을 심각히 저하시키지 않는다. 다양한 워크로드를 사용하여 수행된 성능 평가의 결과는 제안된 USLB 기법을 적용한 L4 스위치가 서버들간의 동적인 부하 불균형을 최소화함으로써 전체 클러스터의 성능을 높이고 사용자에게 적은 응답 지연으로 웹 서비스를 제공할 수 있음을 보여준다.

서지기타정보

서지기타정보
청구기호 {DCS 03033
형태사항 viii, 76 p. : 삽화 ; 26 cm
언어 영어
일반주기 저자명의 한글표기 : 현종웅
지도교수의 영문표기 : Seung-Ryoul Maeng
지도교수의 한글표기 : 맹승렬
수록잡지명 : "Content sniffer based load distribution in a web server cluster". IEICE transactions on information and systems, v.E86-D no.7, pp.007-018(2003)
학위논문 학위논문(박사) - 한국과학기술원 : 전산학전공,
서지주기 Reference : p. 72-76
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서