Font Size: a A A

Research On The Scalability In Service Clouds

Posted on:2015-10-04Degree:DoctorType:Dissertation
Country:ChinaCandidate:J Q YangFull Text:PDF
GTID:1228330467463692Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
The online information and data is growing rapidly, particularly since the advent of the internet. Science, engineering and business computing need to handle large amounts of data, and the requirements of computing and storage is enhanced. With the development of distributed computing, parallel computing and grid computing, a new computing mode, cloud computing, is produced. Some aspects are new in cloud computing. From a hardware point of view, cloud computing provides seemingly infinite computing resources on demand, and it eliminates an up-front investment. From a technology point of view, it will be easier for service providers to develop large-scale distributed systems with cloud computing. Cloud computing liberates programmers from the building and configuring of underlying hardware infrastructures, and they can focus on the development of software or systems. From an energy point of view, cloud computing provides resources according to user requirements, and this can improve the server utilization in data centers, reduce energy consumption and cut greenhouse gas emissions. These characteristics of cloud computing bring opportunities for traditional systems and platforms.Service platforms are based on the service oriented architecture, and the basic component of a service platform is a service. Services are interoperable, modular, location clear and loosely coupled. We can develop highly distributed, synergistic, diverse, cross-platform service platforms in a fast, low costs and composable way with this architecture. But there are some problems in traditional service platforms such as long construction periods, large continued investments, high development costs and low server utilizations. Besides that, the content and information cannot be shared among different service platfonns. These problems have become stumbling blocks of the sustained development of service platforms. It is difficult to fundamentally solve this problem with traditional service network architectures.The emergences of cloud computing and related technologies open up the possibility for solving problems in traditional service platforms, so it is very necessary to construct service clouds. First, the goals of improving service platforms are the decoupling in a service and the convergence among services, which is similar to the underlying idea of cloud computing. Second, it makes sense to apply cloud computing technologies from both the perspectives of solving the problems at hand and developing future platforms. In general, if we use cloud computing technologies in constructing service platfonns, we can make use of cloud computing’s unique characteristics in tenns of on-demand resource provisioning, scalability, and so on. Furthennore, cloud computing provides the sharing of resources and services, by which integrated service platforms can be developed.A major characteristic of cloud computing is that it can provide scalable resources to users. In order to make full use of cloud computing’s advantages, we investigate some related issues of the scalability. This dissertation mainly talks about the following issues.1. A workload prediction method is proposed in service clouds, and it is the basis for scaling resources automatically. Workloads of services change dynamically. In order to achieve scalability the server cluster should add or release virtual resources dynamically according to workloads. But there is a problem that it will take a certain amount of time to complete the scaling, and the scaling time ranges from a few milliseconds to a few minutes. During the scaling periods, new resources cannot be used, and the perfonnance of services will be affected. A combined workload prediction method is proposed to solve this problem, and the method can predict workloads of services accurately. With this method, service clouds can find out service workloads and scale resources before the platform performance is affected. The method predicts workloads by a linear regression model when the resource utilization is high, and it predicts workloads by a modified KMP string matching algorithm when the resource utilization is low. This combined method can predict workloads more accurately than existing methods without impacting the performance of service clouds.2. Based on predicted workloads, an auto-scaling algorithm is proposed to scale virtual resources at different resource levels in service clouds. This algorithm can increase resource utilizations and reduce platform costs while satisfying the user service level agreement. If platforms provide more or less resources than actual demands in service clouds, the costs or performance of platforms will be affected. Platforms need to obtain their resource requirements according to prediction workloads and platform running states, and then scale resources. The scaling algorithm must be comprehensively considered among multiple goals. First, the primary goal of platforms is to provide high-quality services, so the scaling algorithm takes the service quality as the basic objective. Second, platforms need to reduce resources as much as possible to lower costs and energy consumptions. The proposed scaling algorithm, which combines the real-time scaling and the pre-scaling, scales virtual resources at three scaling levels:self-healing scaling, resource-level scaling and virtual machine-level scaling. After analyzing the features of three scaling levels, we know that self-healing scaling and resource-level scaling are suitable to scale the small amount of resources in real-time, virtual machine-level scaling is suitable to scale larger resources with less strict real-time requirements. As a result of these, in this scaling algorithm, it conducts virtual machine-level scaling and resource-level scaling in the pre-scaling based on workload predictions and cost models, conducts self-healing scaling and resource-level scaling in the real-time scaling up, conducts virtual machine-level scaling and resource-level scaling in the real-time scaling down.3. A communication-aware deployment method for communication intensive applications in service clouds is proposed. This method provides a suitable deployment solution for services to lower service latencies and platform traffic loads. The resource allocation is an important part of cloud computing technology, and its efficiency affects the performance of the entire cloud computing environment directly. It is also a key issue to allocate virtual resources to appropriate applications in service clouds. There are two major drawbacks in existing deployment methods. First, existing deployment methods select deploy locations according to the resource capability, energy, failure and cost. But these methods are too general and short of pertinence. Second, the most of existing deployment methods are offline mechanisms which can find an optimal allocation in platforms. But they require relatively long time and are invoked periodically, and they cannot be applied to the dynamic service deployments in service clouds. We propose a method which is composed of the online deployment and the offline deployment for deploying communication-intensive applications in service clouds. The network bandwidth is usually the system bottleneck in a communication-intensive application. This method takes the communication overhead of service deployments as a measure indicator. The target of this deployment approaches is to deploy services with larger communication traffic to cloud nodes with better communication performance, consequently service latencies and traffic loads are reduced in service clouds.4. An automated service deployment mechanism is proposed in service clouds. This mechanism builds entity-relationship models of services, virtual resources and hardware devices in service clouds. With entity-relationship models, platforms can obtain service deployment requests from monitoring data. And then platforms select corresponding virtual resources and physical machines to deploy services automatically to implement automated service deployments.Through the above investigations and studies in this dissertation, the scalability of service clouds is improved.
Keywords/Search Tags:service cloud, scalability, workload prediction, resource scaling, service deployment
PDF Full Text Request
Related items