Font Size: a A A

The Study And Implementation Of Scalable Network Services

Posted on:2001-09-27Degree:DoctorType:Dissertation
Country:ChinaCandidate:W S ZhangFull Text:PDF
GTID:1118360092998895Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
The human society has been entering a network-centered information era, in which users need access faster, more reliable and functional network services. The increasing popularity of the World Wide Web leads to an exponential growth in the Internet usage. More and more network sites have attracted traffic at an unprecedented scale, they often worry about how to scale up their systems over time to meet this increasing demand, and how their systems remains 24x7 available. Future applications will need higher throughput, interaction and security, which requires service platform provide more processing power and higher availability. Therefore, the Internet research community faces a number of challenges at providing a feasible framework and design methodologies for constructing high-performance, highly scalable and highly available network services. The scalable network service addressed in this thesis represents a step towards ameliorating this situation.On the analysis of present and future network service requirements, we present the architecture of cluster-based scalable network services called Linux Virtual Server, which has three tiers of load balancer, server pool and backend storage. The load balancer supports IP load balancing and content-based request distribution techniques. The LVS cluster provides load balancing, scalability and availability, which can be deployed to build many scalable network services. Furthermore, we give a geographically distributed LVS clusters, which can save bandwidth, improve quality of network services and be disaster-tolerant.With analyzing the shortcoming of IP load balancing technique VS/NAT and the non-symmetric property of Internet services, we propose two techniques VS/TUN and VS/DR for building a virtual server via IP tunneling and direct routing respectively, which can greatly improve scalability of the system. In order to smooth extremely high variable traffic, we present a dynamic-feedback load balancing algorithm. Combining the weighted connection scheduling algorithms, it can adapt the server weights according to dynamic-feedback load information, therefore it can effectively solve the load imbalance problem among the servers. Finally, we implement IP Virtual Server software inside the Linux kernel, which supports three IP load balancing techniques and five connection scheduling algorithms.On the analysis of the existing content-based request redistribution (Layer-7 switching) methods, we propose the method of using kernel thread to implement content-based request redistribution inside the operating system, which can avoid the overhead of context switching and memory copy between the kernel and user space. Furthermore, we present a locality-based least connection (LBLC) scheduling algorithm, which is toimprove the access locality on individual server when load on the servers is basically balanced. This algorithm can improve hit rate on backend servers' main memory cache, thus increase the performance of the whole cluster system. In order to meet high concurrency requirement, we introduce a multiple-thread event-driven server architecture, and efficiently implement a kernel Layer-7 switch called KTCPVS inside the Linux kernel. Performance testing results show that the kernel Layer-7 switching method has higher throughput.Combining the IP load balancing techniques of IPVS and the content-based request distribution technique of KTCPVS, we design and implement a large-scale content-based request distribution system. A VS/DR or VS/TUN load balancer acts as a single entry point of the system, and distributes the incoming requests to a number of KTCPVS distributors. KTCPVS distributor queries the central Content Location Service to decide the right backend server to process the request, and then forwards the request to that server. We give a locality-based least loaded (LBLL) scheduling algorithm. Furthermore, we apply this architecture to build a large-scale Web cache cluster, and present cache-oriented LBLL algorithm. This algorithm uses content-based r...
Keywords/Search Tags:Server Cluster, Scalable Network Services, Scalability, High Availability, Load Balancing, Scheduling Algorithms
PDF Full Text Request
Related items