Applications with different characteristics in the cloud may have different resources preferences.However, traditional resource allocation and scheduling strategies rarely take into account the characteristics of applications. Considering that an I/O-intensive application is a typical type of application and that frequent I/O accesses, especially small files randomly accessing the disk, may lead to an inefficient use of resources and reduce the quality of service (QoS) of applications, a weight allocation strategy is proposed based on the available resources that a physical server can provide as well as the characteristics of the applications. Using the weight obtained, a resource allocation and scheduling strategy is presented based on the specific application characteristics in the data center. Extensive experiments show that the strategy is correct and can guarantee a high concurrency of I/O per second (IOPS) in a cloud data center with high QoS. Additionally, the strategy can efficiently improve the utilization of the disk and resources of the data center without affecting the service quality of applications.
KEYWORDS
IOPS, process scheduling, random I/O, small files, weight
INTRODUCTIONIn recent years, cloud computing has been widely used because of its advantages, such as its high scalability, low energy-consumption, and on-demand provision of virtual resources. Currently, companies such as Google, IBM, Amazon, Microsoft, and Alibaba are the leaders in the development and application of cloud computing technology and services. 1 As a new business mode, cloud computing provides computing, storage, and network services to Internet users by integrating resources. As a result, users conveniently make use of their applications with much lower purchase and maintenance costs. Additionally, cloud computing can greatly improve the resource utilization efficiency of society. Therefore, many enterprises as well as personal users have moved their applications to the cloud environment. In cloud computing, the data center is the key feature, as it owns a large amount of the resource pool that provides powerful resources and serves all types of applications.However, although the resources in a cloud data center are enormous, they are limited. Different consumptions of resources might considerably affect the performance and service capability of a cloud data center. Traditionally, resources are generally allocated based on a virtual machine (VM).Applications are executed on the virtual machine without considering their characteristics or features. Actually, different types of applications have different characteristics and consume different types and amounts of resources during their execution. These resource requirement difference among applications leads to serious problems for cloud resource allocations and task schedule strategies. For example, some types of resources may have been highly overloaded while other types of resources are barely consumed in different virtual machines or by different applications. This occur...