SipaaS: Spot instance pricing as a Service framework and its implementation in OpenStack

Adel Nadjaran Toosi, Farzad Khodadadi, Rajkumar Buyya
2015 Concurrency and Computation  
Designing dynamic pricing mechanisms that efficiently price resources in line with a provider's profit maximization goal is a key challenge in cloud computing environments. Despite the large volume of research published on this topic, there is no publicly available software system implementing dynamic pricing for Infrastructure as a Service cloud spot markets. This paper presents the implementation of a framework called Spot instance pricing as a Service (SipaaS) that supports an auction
more » ... sm to price and allocate virtual machine instances. SipaaS is an open-source project offering a set of web services to price and sell virtual machine instances in a spot market resembling the Amazon EC2 spot instances. Cloud providers, who aim at utilizing SipaaS, should install add-ons in their existing platform to make use of the framework. As an instance, we provide an extension to the Horizon -the OpenStack dashboard project -to employ SipaaS web services and to add a spot market environment to OpenStack. To validate and evaluate the system, we conducted an experimental study with a group of 10 users utilizing the provided spot market in a real environment. Results show that the system performs reliably in a practical test environment. IMPLEMENTATION IN OPENSTACK 3673 Spot market, since introduced by AWS, has been considered as one of the first steps towards a full-fledged market economy for computational resources [8] . In the spot market, customers communicate their bids for an instance-hour to AWS in order to acquire required number of instances. Subsequently, AWS reports a market-wide spot price at which VM instance usage is charged while terminating instances that are executing on a bid price lower than the market price (out-of-bid situation). Prices vary independently for each instance type and available data center (or availability zone in Amazon terminology). SIPAAS FRAMEWORK AND ITS Amazon Web Services has revealed no detailed information regarding their pricing mechanism and the computation of the spot price. At present, the design of dynamic forms of pricing for cloud computing resources is an open research challenge and of great interest to both cloud providers and researchers. An auction mechanism is truthful, if for each bidder irrespective of any choice of bid by all other bidders, the dominant strategy is to report his/her true information. We presented a pricing mechanism called Online Extended Consensus Revenue Estimate (online Ex-CORE) auction that is truthful with high probability and generates a near optimal profit for the cloud provider in [9] . In this paper, we describe an open source framework called Spot instance pricing as a Service (SipaaS). SipaaS § offers a set of web services that can be used by IaaS cloud providers to run a spot market resembling the AWS spot instances. It provides services to price VM instances using the internal pricing module that works based on the online Ex-CORE auction mechanism. The extensible architecture of the SipaaS framework allows for implementation of any new pricing mechanism without the necessity to modify the design of the web services. The purpose of the SipaaS framework is twofold: (1) providing a fully operational open-source software that can be used by IaaS cloud providers to offer a cloud spot market; and (2) providing an extensible software framework for conducting research on dynamic pricing techniques. Using the SipaaS framework, research community are able to plug their own developed pricing mechanisms into a practical environment and test scenarios in a spot market with known pricing module rather than only analysing existing commercial systems such as AWS spot instances without being aware of its pricing mechanism. Cloud providers, who aim at utilizing SipaaS, require to extend their platform to make use of the framework. In this paper, we provide an extension to the OpenStack project ¶ as an example to utilize SipaaS web services. To facilitate research efforts and future advancements in the area of dynamic pricing for cloud spot markets, this paper outlines an extension to the Horizon -the OpenStack dashboard project -to make use of SipaaS and create a spot market environment for the OpenStack platform. To validate and evaluate the system consisting of the SipaaS framework combined with the extension to OpenStack, we conducted an experimental study with a group of ten participants utilizing the provided spot market. Results show that the system is fully operational in a practical test environment and confirm the theoretically proven and using simulation shown truthfulness feature of the Ex-CORE auction. The remainder of this paper is organized as follows: Section 2 discusses some background and related work. Section 3 confers the system design and implementation where we describe SipaaS, extensions to Horizon, and Ex-CORE pricing mechanism in subsections 3.1, 3.2, and 3.3, respectively. Evaluation and validation of the system is conducted in Section 4. And finally, conclusions are presented in Section 5. BACKGROUND AND RELATED WORK Pricing is the process of determining the rate or fee the provider will receive in exchange for offering services or selling resources. Cloud providers can use a variety of pricing strategies when selling their services. Among these strategies, dynamic pricing is a time-based and price discrimination scheme that allows the service provider to vary the price in real-time in response to various factors such as market demands, the time of service offering, the type of customer, and the type of resources § SipaaS in Persian language means thank. ¶ OpenStack: An open source software for building private and public clouds, A. NADJARAN TOOSI, F. KHODADADI, AND R. BUYYA or services. In general, dynamic pricing can be determined as [10]: a provider revenue maximization problem in a monopoly market, for example [3, 6, 11, 12] , or a social welfare maximization problem in a competitive market with multiple providers, studies such as [13] [14] [15] [16] . In this paper, we study the former and propose a framework that can be used by IaaS cloud providers to setup a dynamic pricing-equipped spot market. There are various types of dynamic pricing strategies suggested by the literature for setting the price of cloud resources. These dynamic pricing strategies can be categorized into two main groups: price-discovery and price-posted models [17] . In the former, the provider sets the price based on the communication with the customers, for example, asking them to report their bid. Auction-based and negotiation-based [7, 18] techniques fall into this group. The latter, the price-posted model, does not necessarily require communication with the customers, and the provider posts the predetermined price, which dynamically varies during the time based on some external factors such as demand or time of use [3] . The demand-oriented pricing model [19, 20] and yield management techniques [3, 21, 22] are categorized in the second group. The spot pricing framework proposed in this paper is specifically designed for auction-based techniques where customers submit their bid to acquire resources. Over the recent years, there has been a massive growth in the research of designing auctions, largely motivated by the development of the Internet. Auctions can be in assorted shapes and have different characteristics such as: single-dimensional (e.g., only bid price) or multi-dimensional (e.g., bid price plus quantity), single-sided (e.g., only customers submit bids) or double-sided (e.g., both providers and customers submit bids), open-cry or sealed-bid, single-unit (e.g., a single good or service) or multi-unit (e.g., multiple units of the goods), single item (e.g., one type of service) or multi-item (e.g., combinatorial auction). These have been extensively discussed and analyzed in the economics literature. Interested readers are referred to [23] for a general survey on auction mechanisms from a computer science perspective. Apart from all the different types of auction that can be devised, auction designer might have specific goals in designing auction, for example, truthfulness, revenue maximization, allocative efficiency, and fairness [17] . This work focuses on the design and implementation of a software system where dynamic pricing algorithms working based on customers' bids, can be plugged into it to create a cloud spot market. Here, we use our previously proposed auction-based pricing mechanism called Ex-CORE [9], aiming at revenue maximization, truthfulness, and fairness. There are relevant and similar auction mechanisms in the literature that can be similarly used in the pricing module of the proposed software system. Wang et al. [6] designed near-optimal dynamic auctions scheme to determine how many spot instances must be auctioned-off in each auction period to maximize the seller's revenue. Same authors in [2] have proposed an optimal recurrent auction for a spot market based on the seminal work of Myerson [24] . The mechanism was designed in the context of optimally segmenting the provider's data center capacity between on-demand and spot market requests. They adopt a Bayesian approach wherein it is assumed that the customers' private values are drawn from a known distribution. This is not always the case, and pricing heavily depends on the accuracy of the underlying market analysis. Such analysis also needs to be updated frequently in order to adapt to changes in the market. In contrast, the online Ex-CORE auction mechanism used in our pricing framework is based on a competitive auctioning framework proposed by Goldberg and Hartline [25], in which the mechanism computes a uniform price outcome when the seller knows very little about the bidders' valuations. Xu and Li [3] proposed an infinite horizon stochastic dynamic program to dynamically price the IaaS cloud provider's resources based on stochastic demand arrivals and departures of cloud users. They aim at maximizing revenue specifically for the spot market. Wang et al. [26] investigated the similar problem of how to set the spot price to maximize cloud provider's revenue. They present a demand curve model to capture the characteristic of spot resources and design efficient online algorithms based on the Lyapunov optimization technique in this regard. In order to apply their proposed pricing method, providers need to continuously monitor and analyze the demand arrival and departure rate and to devise and refine demand functions. formulate the competition among cloud providers as a non-cooperative stochastic game to maximize cloud providers' revenue. They provide dynamic resource pricing in which providers propose optimal price policies with regard to the
doi:10.1002/cpe.3749 fatcat:scvpvq64qjhzho6j2dzw5hkkhe