Font Size: a A A

Research On Performance Analysis And Optimization For Embarrassingly Parallel Applications In SaaS Cloud Environments

Posted on:2022-09-25Degree:DoctorType:Dissertation
Country:ChinaCandidate:X L LiFull Text:PDF
GTID:1488306311967329Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Cloud computing is a resource sharing service model based on the Internet,which uses distributed computing and virtual resource management technologies to manage computing resources to provide services for users in the way of online and on-demand.Generally,services of cloud computing can be divided into three categories:infrastructure-as-a-service(IaaS),platform-as-a-service(PaaS)and software-as-a-service(SaaS).In SaaS environments,software applications are centrally hosted in the cloud and provide online application services for users.A special kind of SaaS applications which called embarrassing parallel applications are considered in this paper.A main characteristic of an embarrassing parallel application is that its tasks can be partitioned into multiple independent tasks and thus can be served separately by different servers in parallel without any overhead.Many applications fall into the category of embarrassingly parallel applications,such as rendering applications,translation applications,data cleaning and preprocessing applications,and many machine learning applications.With the rapid development of cloud computing,especially the rise of data-intensive computing field,the workload of embarrassingly parallel application increases rapidly in SaaS environments,which raises higher requirements for performance management.On the one hand,to efficiently and reliably handle a large number of user tasks,SaaS providers need to analyze the relationship between system configurations,task workloads and performance metrics for different types of embarrassingly parallel applications,and thus to optimize cloud resource configuration,task execution strategy and resource allocation algorithm.On the other hand,SaaS providers need to develop an effective resource allocation algorithm,which considers providers' requirements for execution efficiency and users' requirements for quality of service,and thus to meet users' requirements and improve the execution efficiency of applications.At present,due to the scalability of cloud architecture,the diversity of embarrassingly parallel applications and the complexity of users' tasks,there are still many problems in the research of performance management of embarrassingly parallel applications.Therefore,to improve the level of performance management and optimize quality of service for different types of embarrassingly parallel applications in SaaS environments,in this paper,we conduct the following four studies from the two aspects of performance analytical models and resource allocation algorithms.(1)Performance analysis is crucial to the successful development of embarrassingly parallel applications in SaaS environments,for determining a proper degree of parallelism could reduce mean service response time and thus improve the performance of application obviously.In this paper,by leveraging M/M/c/r queuing systems,we propose an approximate multi-station multi-server analytical model for embarrassing parallel application in SaaS environments.This model can predict important performance metrics with different system settings,and guide SaaS providers to optimize the application system settings,such as degree of parallelism of tasks,the number of servers and buffer size,so as to improve the quality of service of embarrassing parallel application.(2)To further optimize the performance of embarrassingly parallel application in SaaS environments,we propose a differentiated parallel processing policy for embarrassingly parallel tasks.The differentiated parallel processing strategy processes tasks with varying degree of parallelism according to the different impact of tasks on the performance of applications,and thus improves the applications' quality of service.Then,based on the queuing theory,we propose a parallel multi-queue and multi-station performance analytical model for embarrassingly parallel applications.The analytical model can study the performance differences of different settings of parallelisms and resource allocation schemes.Based on the proposed analytical model,SaaS providers can determine optimal degree of parallelism and resource allocation schemes for different tasks to improve the performance of embarrassingly parallel applications.In addition,we propose a new metric to quantify the level of performance optimization for tasks,so as to avoid the deterioration of tasks' performance.(3)When processing composite service applications with embarrassingly parallel service,SaaS providers can optimize their quality of services based on refined parallelism settings and resource allocation schemes by leveraging analytical models.However,building such analytical models is particularly challenging due to the fact that an accurate model is required to capture the dependence among sequential or concurrent services and predict response time of each service with varying degrees of parallelism.Faced with these challenges,we propose two performance analytical models for different categories of composite service applications in SaaS environments,which are parallel multi-station tandem queuing network model and multi-class multi-pool analytical model.Based on the prediction results of analytical model,SaaS providers can make efficient task processing and resource allocation policy to optimize the performance of embarrassingly parallel composite service application containing embarrassingly parallel service in SaaS environments.(4)As users may have diverse performance requirements for their own tasks,service level agreements formulated by SaaS providers and users are varied.This leads to a complex issue that cloud resources need to be allocated to embarrassingly parallel tasks in an appropriate and effective manner to satisfy users' diverse SLAs.To address this issue,we propose a novel fair and efficient resource allocation algorithm,which aims to maximize the execution efficiency of embarrassingly parallel applications while satisfying users' diverse SLAs.To satisfy users' diverse SLAs,we first propose a rigorous definition of weighted acceleration ratio fairness,whose guiding principle is that the execution speed of an embarrassingly parallel task should be proportional to its weight determined by users' SLAs.Then,to improve execution efficiency and coordinate efficiency and fairness,we propose a fair and efficient resource allocation algorithm with relaxing fairness in resource competitive and noncompetitive situations separately for embarrassingly parallel tasks in SaaS environments.
Keywords/Search Tags:cloud computing, embarrassingly parallel application, performance analysis, resource allocation, quality of service
PDF Full Text Request
Related items