1 Introduction
The last decade has witnessed an explosion of data traffic over the communication network attributed to the rapidly growing cloud computing and pervasive mobile devices. This trend is expected to continue for the foreseeable future with a whole new generation of applications including 4K/8K UHD video, hologram, interactive mobile gaming, tactile Internet, virtual/augmented reality (VR/AR), missioncritical communication, smart homes, and a variety of IoT applications [1]. As the cloud infrastructure and number of devices will continue to expand at an accelerated rate, a tremendous burden will be put on the network. Thus, it is imperative for network operators to develop innovative solutions to meet the soaring traffic demand and accommodate diverse requirements of various services and use cases in the next generation communication network.
Thanks to the economy of scale and supercomputing capability advantages, cloud computing will likely continue to play a prominent role in the future computing landscape. However, cloud data centers (DC) are often geographically distant from the enduser, which induces enormous network traffic, along with significant communication delay and jitter. Hence, despite the immense power and potential, cloud computing alone is facing growing limitations in satisfying the stringent requirements in terms of latency, reliability, security, mobility, and localization of many new systems and applications (e.g., embedded artificial intelligence, manufacture automation, 5G wireless systems)
[1]. To this end, edge computing (EC) [2], also known as fog computing (FC) [1], has emerged as a new computing paradigm that complements the cloud to enable the implementation of innovative services right at the network edge.EC forms a virtualized platform that distributes computing, storage, control, and networking services closer to endusers to smarten the edge network. The size of an EN is flexible ranging from smartphones, PCs, smart access points (AP), base stations (BS) to edge clouds [3]. For example, a smartphone is the edge between wearable devices and the cloud, a home gateway is the edge between smart appliances and the cloud, a cloudlet, a telecom central office, a micro DC is the edge between mobile devices and cloud core network. Indeed, the distributed EC infrastructure encompasses any computing, storage, and networking nodes along the path between end devices and cloud DCs, not just exclusively nodes located at the customer edge [3]. By providing elastic resources and intelligence at the edge of the network, EC offers many remarkable capabilities, including local data processing and analytics, distributed caching, location awareness, resource pooling and scaling, enhanced privacy and security, and reliable connectivity.
These capabilities combined with the shorter communication distance allow operators to efficiently handle both downstream and upstream data between the cloud and the customer edge, which translates into drastic network traffic reduction and significant user experience improvement. For instance, with edge caching, locationawareness, and realtime data processing and analysis, not only can service providers serve user content requests locally, but also can adaptively optimize video coding and resolution according to the user device information and the varying wireless channel conditions. Also, it is envisioned that most of data produced by IoT sensors will be processed at the edge and only important information and metadata will be sent to the cloud for further analytics. Additionally, EC is the key enabler for ultrareliable lowlatency applications such as AR/VR, cognitive assistance, autonomous driving, industrial automation, remote robotics, and healthcare. A myriad of benefits and other use cases (e.g., computation offloading, caching, advertising, smart homes/grids/cities) of EC can be found in [3, 2, 1].
Today, EC is still in the developing stages and presents many new challenges, such as network architecture design, programming models and abstracts, IoT support, service placement, resource provisioning and management, security and privacy, incentive design, and reliability and scalability of edge devices [3, 2, 1]. To unlock the huge potential of this new technology, it requires significant collaborative efforts between various entities in the ecosystem. In this work, we focus on the EC resource allocation problem. Unlike cloud computing, where computational capacity of large DCs is virtually unlimited and network delay is high, EC is characterized by relatively low network latency but considerable processing delay due to the limited computing power of ENs. Also, there are a massive number of distributed computing nodes compared to a small number of large DCs. Moreover, ENs may come with different sizes (e.g., number of computing units) and configurations (e.g., computing speed) ranging from a smartphone to an edge cloud with tens/hundreds of servers. These nodes are dispersed in numerous locations with varying network and service delay towards endusers.
On the other hand, different services may have different requirements and properties. Some services can only be handled by ENs satisfying certain criteria. Additionally, different services may be given different priorities. While every service not only wants to obtain as much resource as possible but also prefers to be served by its closest ENs with low response time, the capacities of ENs are limited. Also, due to the diverse preferences of the services towards the ENs, some nodes can be underdemanded while other nodes are overdemanded. Thus, a fundamental problem is: given a set of geographically distributed heterogeneous ENs, how can we efficiently allocate their limited computing resources to competing services with different desires and characteristics, considering service priority and fairness? This work introduces a novel marketbased solution framework which aims not only to maximize the resource utilization of the ENs but also to make every service happy with the allocation decision.
The basic idea behind our approach is to assign different prices to resources of different ENs. In particular, highly soughtafter resources are priced high while prices of underdemanded resources are low. We assume that each service has a certain budget for resource procurement. The budget can be virtual or real money. Indeed, budget is used to capture service priority/differentiation. It can also be interpreted as the market power of each service. Given the resource prices, each service buys the favorite resource bundle that it can afford. When all the resources are fully allocated, the resulting prices and allocation form a market equilibrium (ME). If there is only one EN, an ME can be found easily by adjusting the price gradually until demand equals supply or locating the intersection of the demand and supply curves. However, when there are multiple heterogeneous ENs and multiple services with diverse objectives and different buying power, the problem becomes challenging. We consider two distinct market models in this work.
In the first model, the money does not have intrinsic value to the services. Given resource prices, each service aims to maximize its revenue from the allocated resources, without caring about how much it has to pay as long as the total payment does not exceed its budget. This model arises in many realworld scenarios. For example, in 5G networks, the Mobile Edge Computing (MEC) servers of a Telco are shared among different network slices, each of which runs a separate service (e.g., voice, video streaming, AR/VR, connected vehicles, sensing) and serves a group of customers who pay for the service. The Telco can allot different budgets to the slices depending on their importance and/or potential revenue generation (e.g., the total fee paid by the users/subscribers of each slice).
Similarly, an application provider (e.g., Uber, Pokemon Go) or a sensor network may own a number of ENs in a city and need to allocate the edge resources to handle requests of different groups of users/sensors. The budget can be decided based on criteria such as the populations of users/sensors in different areas and/or payment levels (subscription fees) of different groups of users. Another example is that a university (or other organizations) can grant different virtual budgets to different departments or research labs so that they can fairly share the edge servers on the campus. The first model may also emerge in the setting of cloud federation at the edge where several companies (i.e., services) pool their resources together and each of them contributes a fixed portion of resource of every EN. Here, the budgets are proportional to the initial contributions of the companies. Instead of resource pooling, these companies may agree upfront on their individual budgets, and then buy/rent a given set of ENs together.
In these scenarios, it is important to consider both fairness and efficiency. Thus, conventional schemes such as social welfare maximization, maxmin fairness, and auction models may not be suitable. In particular, a welfare maximization allocation often gives most of the resources to users who have high marginal utilities while users with low marginal utilities receive a very small amount of resources, even nothing. Similarly, in auction models, the set of losers are not allocated any resource. Hence, these solutions can be unfair to some users. On the other hands, a maxmin fairness solution often allocates too many resources to users with low marginal utilities, hence, it may not be efficient.
To strive the balance between fairness and efficiency, we advocate the General Equilibrium Theory [4], with a specific focus on the Fisher market model [5], as an effective solution concept for this problem. Specifically, the first model can be cast as a Fisher market in which services act as buyers as ENs act as different goods in the market. For the linear additive utility function as considered in this work, given resource prices, a service may have an infinite set of optimal resource bundles, which renders difficulty in designing distributed algorithms. We suggest several methods to overcome this challenge. Moreover, we show that the obtained allocation is Paretooptimal, which means there is no other allocation that would make some service better off without making someone else worse off [6]. In other words, there is no strictly “better” allocation. Thus, a Paretooptimal allocation is efficient.
We furthermore link the ME to the fair division literature [7] and prove that the allocation satisfies remarkable fairness properties including envyfreeness, sharingincentive, and proportionality, which provides strong incentives for the services to participate in the proposed scheme. Indeed, these properties were rarely investigated explicitly in the ME literature. Envyfreeness means that every service prefers its allocation to the allocation of any other service. In an envyfree allocation, every service feels that its share is at least as good as the share of any other service, and thus no service feels envy. Sharingincentive is another wellknown fairness concept. It ensures that services get better utilities than what they would get in the proportional sharing scheme that gives each service an amount of resource from every EN proportional to its budget. Note that proportional sharing is an intuitive way to share resources fairly in terms of quantity. For the federation setting, sharingincentive implies that every service gets better off by pooling their resources (or money) together. Finally, it is natural for a service to expect to obtain a utility of at least of the maximum utility that it can achieve by getting all the resources, where is the payment of the service and is the total payment of all the services. The proportionality property guarantees that the utility of every service at the ME is at least proportional to its payment/budget. Thus, it makes every service feel fair in terms of the achieved utility.
In the second model, the money does have intrinsic value to the services. The services not only want to maximize their revenues but also want to minimize their payments. In particular, each service aims to maximize the sum of its remaining budget (i.e., surplus) and the revenue from the procured resources, which is equivalent to maximizing the net profit (i.e., revenue minus cost). This model is prevalent in practice. For example, several service providers (SP), each of which has a certain budget, may compete for the available resources of an edge infrastructure provider (e.g., a Telco, a broker). The SPs only pay for their allocated resources and can take back their remaining budgets. Obviously, a SP will only buy a computing unit if the potential gain from that unit outweighs the cost. It is natural for the SPs to maximize their net profits in this case. The traditional Fisher market model does not capture this setting since the utility functions of the services depend on the resource prices.
It is worth mentioning that, conventionally, the optimal dual variables associated with the supply demand constraints (i.e., the capacity constraints of the ENs) are often interpreted as the resource prices [32] and common approaches such as network utility maximization (NUM) [33] can be used to compute an ME. However, these approaches do not work for our models that take budget into consideration. Indeed, the main difficulty in computing an ME in both models stems from the budget constraints which contain both the dual variables (i.e., prices) and primal variables (i.e., allocation). In the second model, the prices also appear in the objective functions of the services. Therefore, the ME computation problem becomes challenging. Note that the pair of equilibrium prices and equilibrium allocation has to not only clear the market but also simultaneously maximize the utility of every service (as elaborated later in Section 4).
Fortunately, for a wide class of utility functions, the ME in the first model can be found by solving a simple EisenbergGale (EG) convex program [9, 10, 8]. However, the EG program does not capture the ME in the second model. Interesting, by reverseengineering the structure of the primal and dual programs in the first model, we can rigorously construct a novel convex optimization problem whose solution is an ME of the second model. Our main contributions include:

Modeling. We formulate a new marketbased EC resource allocation framework and advocate the General Equilibrium theory as an effective solution method for the proposed problem.

Centralized solution. The unique ME in the first model can be determined by the EG program. We also prove some salient fairness features of the ME.

Decentralized algorithms. We introduce several distributed algorithms that efficiently overcome the difficulty raised by the nonunique demand functions of the services and converge to the ME.

Extended Fisher market. We systematically derive a new convex optimization problem whose optimal solution is an exact ME in the extended Fisher market model where buyers value the money.

Performance Evaluation. Simulations are conducted to illustrate the efficacy of the proposed techniques.
The rest of the report is organized as follows. Section 2 describes related work. The system model and problem formulation are given in Section 3 and Section 4, respectively. The centralized solution using the EG program is analyzed in Section 5. Then, we introduce several distributed algorithms in Section 6. The market model in which buyers aim to maximize their net profits is studied in Section 7. Simulation results are shown in Section 8 followed by conclusions and discussion of future work in Section 9.
2 Related Work
The potential benefits and many technical aspects of EC have been studied extensively in the recent literature. First, the hybrid edge/fogcloud system can be leveraged to improve the performance of emerging applications such as cloud gaming and healthcare [12, 11]. A. Mukherjee et. al. [13] present a power and latency aware cloudlet selection strategy for computation offloading in a multicloudlet environment. The tradeoff between power consumption and service delay in a fogcloud system is investigated in [14] where the authors formulate a workload allocation problem to minimize the system energy cost under latency constraints. A latency aware workload offloading scheme in a cloudlet network is formulated in [15] to minimize the average response time for mobile users.
In [16], M. Jia et. al. explore the joint optimization of cloudlet placement and usertocloudlet assignment to minimize service latency while considering load balancing. A unified service placement and request dispatching framework is presented in [17] to evaluate the tradeoffs between the user access delay and service cost. Stackelberg game and matching theory are employed in [18] to study the joint optimization among data service operators (DSO), data service subscribers (DSS), and a set of ENs in a threetier edge network where the DSOs can obtain computing resources from different ENs to serve their DSSs.
Another major line of research has recently focused on the joint allocation of communication and computational resources for task offloading in the Mobile Edge Computing (MEC) environment [19, 21, 20]. MEC allows mobile devices to offload computational tasks to resourcerich servers located near or at cellular BSs, which could potentially reduce the devices’ energy consumption and task execution delay. However, these benefits could be jeopardized if multiple users offload their tasks to MEC servers simultaneously. In this case, a user may not only suffer severe interference but also receive a very small amount of EC resource, which would consequently reduce data rate, increase transmission delay, and cause high task execution time on the servers. Hence, offloading decision, allocation and scheduling of radio resources, and computational resources should be jointly considered in an integrated framework.
Instead of optimizing the overall system performance from a single network operator’s point of view, we study the EC resource allocation problem from the game theory and market design perspectives [8]. Specifically, we exploit the General Equilibrium [4], a Nobel prizewinning theory, to construct an efficient marketbased resource allocation framework. Although this concept was proposed more than 100 years ago [5], only until 1954, the existence of an ME was proved under mild conditions in the seminal work of Arrow and Debreu [4]. However, their proof of existence based on fixedpoint theorem is nonconstructive and does not give an algorithm to compute an equilibrium [8]. Recently, theoretical computer scientists have expressed great interests in understanding algorithmic aspects of the General Equilibrium concept. Various efficient algorithms and complexity analysis for ME computation have been accomplished over the past decade [22, 23, 24, 8, 25, 26]. Note that although the existence result has been established, there is no general technique for computing an ME.
Our proposed models are inspired by the Fisher market [5] which is a special case of the exchange market model in the General Equilibrium theory. An exchange market model consists of a set of economic agents trading different types of divisible goods. Each agent has an initial endowment of goods and a utility function representing her preferences for the different bundles of goods. Given the goods’ prices, every agent sells the initial endowment, and then uses the revenue to buy the best bundle of goods they can afford [8, 4]. The goal of the market is to find the equilibrium prices and allocations that maximize every agent’s utility respecting the budget constraint, and the market clears. In the Fisher market model, every agent comes to the market with an initial endowment of money only and wants to buy goods available in the market. We cast the EC resource allocation problem as a Fisher market. We not only show appealing fairness properties of the equilibrium allocation, but also introduce efficient distributed algorithms to find an ME. More importantly, we systematically devise a new and simple convex program to capture the market in which money has intrinsic value to the buyers, which is beyond the scope of the Fisher and exchange market models.
Note that there is a rich literature on cloud resource allocation and pricing [34]. In [35, 36], the authors propose different profit maximization frameworks for cloud providers. References [37, 38, 39] study how to efficiently share resource and profit among cloud providers in a cloud federation. Several resource procurement mechanisms are introduced in [40] to assist a cloud user to select suitable cloud vendors in a multicloud market. In [41], the interaction between a cloud provider and multiple services is modeled as a generalized Nash game. This model is extended to a multicloud multiservice environment in [42]. A singlecloud multiservice resource provision and pricing problem with flat, ondemand, and onspot VM instances is formulated in [43] as a Stackelberg game, which not only maximizes the revenue of the cloud provider but also minimizes costs of the services.
Auction theory has been widely used to study cloud resource allocation [44, 46, 45]. A typical system consists of one or several clouds and multiple users. First, the users submit bids, which include their desired resource bundles in terms of VM types and quantities as well as the price that they are willing to pay, to an auctioneer. Then, the auctioneer solves a winner determination problem to identify accepted bids. Finally, the auctioneer calculates the payment that each winner needs to pay to ensure truthfulness. In auction, the common objectives are to maximize the social welfare or maximize the profit of the cloud provider. Additionally, only winners receive cloud resources. Furthermore, most of existing auction models do not consider elastic user demands. For example, previous works often assume that cloud users are singleminded, who are interested in a specific bundle only and have zero value for other bundles.
Different from the existing works on cloud economics and resource allocation in general, our design objective is to find a fair and efficient way to allocate resources from multiple nodes (e.g., ENs) to budgetconstrained agents (i.e., services), which makes every agent happy with her resource allotment and ensures high edge resource utilization. The proposed model also captures practical aspects, for example, a service request can be served at different ENs and service demands can be defined flexibly rather than fixed bundles as in auction models.
3 System Model
An EC environment is depicted in Fig. LABEL:fig:sys. Besides local execution and remote processing at cloud DCs, data and requests from enddevices (e.g., smartphones, settopboxes, sensors) can be handled by the EC platform. Note that some data and computing need to be done in the local to keep data privacy. A request typically first goes to a Point of Aggregation (PoA) (e.g., switches/routers, BSs, APs), then it will be routed to an EN for processing. Indeed, enterprises, factories, organizations (e.g., hospitals, universities, museums), commercial buildings (shopping malls, hotels, airports), and other third parties (e.g., sensor networks) can also outsource their services and computation to the intelligent edge network. Furthermore, service/content/application providers like Google, Netflix, and Facebook can proactively install their content and services onto ENs to serve better their customers. In the EC environment, various sources (e.g., smartphones, PCs, servers in a lab, underutilized small/medium data centers in schools/hospitals/malls/enterprises, BSs, telecom central offices) can act as ENs.
We consider a system encompassing various services and a set of geographically distributed ENs with different configurations and limited computing capacities. Each service has a budget for resource procurement and wants to offload as many requests as possible to the edge network. The value of an EN to a service is measured in terms of the maximum revenue that it can generate by using the EN’s resource. An EN may have different values to different services. Since some ENs (e.g., ones with powerful servers) can be overdemanded while some others are underdemanded, it is desirable to harmonize the interests of the services so that each service is happy with its allotment while ensuring high resource utilization. An intuitive solution is to assign prices to ENs and let each service choose its favorite resource bundle. We assume that there is a platform lying between the services and the ENs. Based on the information collected from the ENs (e.g., computing capacity) and the services (e.g., budgets, preferences), the platform computes an ME solution including resource prices and allocation, which not only maximizes the satisfaction of every service but also fully allocates the ENs’ resources.
In the first model, each service seeks solely to maximize its revenue under the budget constraint, without concerning about the money surplus after purchasing resources. This can be the case where the services and ENs belong to the same entity, and each service is assigned a virtual budget representing the service’s priority. For instance, a Telco can give different budgets to different network slices, each of which runs a service (e.g., voice, video streaming, AR/VR, connected vehicles). In the second model, the remaining money does have intrinsic value to the services. In this case, each service aims to maximize the sum of its remaining budget and the revenue from the procured resources. For example, this can be the case where services and ENs are owned by different entities, and each SP (e.g., Google, Facebook, enterprises) has a certain budget for leasing resources from an infrastructure provider (e.g., a Telco). For simplicity, we assume that the values of ENs to the services are fixed. Our model can be extended to capture timevarying valuation in a multiperiod model by considering each pair of an EN and a time slot as an independent EN.
4 Problem Formulation
4.1 EC Resource Allocation Problem
Let , , M, and N be the sets of ENs and services, and the numbers of ENs and services, respectively. Denote as the service index and as the EN index. We assume that each EN has homogeneous computing units (e.g., servers) [18]. If an EN has several types of computing units, we can always divide the EN into several clusters, each of which contains only homogeneous units. Then, each cluster can be considered as a separate EN. While the computing units in each EN are homogeneous, different ENs can have different types of computing units. Let be the number of computing units of EN allocated to service
. The vector of resources allocated to service
is . Finally, define as the budget of service .Our goal is to compute an ME including an equilibrium price vector , where is price of EN , and a resource allocation matrix , in which the element at the th row and th column is . The utility of service is defined as a function of the amount of resources that it receives and the resource prices . The capacity constraint of ENs renders: . Without loss of generality, we normalize the capacity of every EN to be 1 (i.e., ) and scale related parameters (e.g., price, resource allocation) accordingly. This normalization is just to simplify expressions and equations. Hence, we have:
Each service is a player in our market game. Given a price vector , service aims to maximize its utility subject to the budget constraint .
Definition 4.1
An ME solution (,) needs to satisfy the two conditions:

Condition 1: Given the equilibrium resource price vector , every service receives its optimal resource bundle , i.e., we have
(1) 
Condition 2: All the resources are fully allocated, i.e. , we have: .
The first condition can be interpreted as the user satisfaction condition while the second condition is often called the market clearing condition in Economics [6]. The first condition ensures that the equilibrium allocation maximizes the utility of service at the equilibrium prices considering the user budget constraint. The second condition maximizes the resource utilization of the ENs. It also means the ENs’ resources are fully sold in the market, which consequently maximizes the profit of every EN since the equilibrium prices are nonnegative. The services are players competing for the limited EC resources, while the platform tries to satisfy the market clearing condition. Prices are used to coordinate the market.
Let be the gain/profit/revenue of service can achieve from the procured resources. We consider two models. In the first model (basic model), every service wants to maximize and does not care about how much it has to pay as long as the total payment is under its budget. Here, utility of a service is its revenue. In the second model, instead of revenue, the services aim to maximize their net profits (i.e., revenue minus cost). The service utility in this model is . We focus on the first model throughout the report. The second model is examined in Section 7.
4.2 Service Utility Model
In practice, the services may use different criteria to define . Our framework takes as an input to compute an ME solution. How each service evaluates the ENs is not the focus of this work. While the proposed model is generic, we consider linear functions for the ease of exploring the framework. Extensions to more general functions will be discussed throughout the work. Let be the gain of service from one unit of resource of EN . Then, we have: .
In the following, we present an example of how can be computed. We consider only delaysensitive services, which are also the main target application of EC. For simplicity, we assume that the transmission bandwidth is sufficiently large and the data size of a request is small (e.g., Apple Siri, Google Voice Search, Google Maps, AR, and Translation). Hence, the data transmission delay (i.e., size/bandwidth) is assumed to be negligible and we consider only propagation delay and processing delay [27, 41].
The total delay of a request of service from the time a user sends the request to the time she receives a response includes the roundtrip delay between the user and a PoA of the service, the roundtrip network delay between the PoA and an EN hosting the service, and the processing delay at the EN . Note that an EN can be located in the same place with a PoA (e.g., a BS). In reality, is quite small, and we assume it is fixed similar to [15]. In other words, we study the system only from the aggregation level to the EC platform. For simplicity, we assume that each service is located at one PoA (e.g., an IoT gateway, a BS, a building). If a service has several PoAs, we need to take sum over all the PoAs to get the total number of requests of the service handled by the EC platform. Denote as the maximum tolerable delay of service , we have
(2) 
Obviously, the maximum number of requests that EN can process is zero if .
We model the processing delay at ENs using the widely used M/G/1 queues and assume that the workload is evenly shared among computing units [28, 18, 41, 27]. The average response time of EN for processing service can be computed as follows:
(3) 
where be the service rate of one computing unit of EN for handling service , and is the request arrival rate (i.e., number of requests per time unit) of service to EN . For queue stability, we have Otherwise, the queuing delay will be infinite as requests accumulated.
From (3), we have
(4)  
Therefore, if , the maximum number of requests that service can process at EN is
where . Define a successful request as the request whose total delay is smaller or equal to the maximum delay tolerance. Let be the benefit of successfully serving one request of service [18]. Then, given computing units, the revenue of service is
(6) 
with . Thus, we have
(7) 
in which can be computed beforehand. Note that we implicitly assume the request pool of a service is unlimited. We will discuss later how some assumptions can be relaxed.
Definition 4.2
A function is homogeneous of degree , where is a constant, if [8].
From (7), it is easy to verify that is a linear function that is homogeneous of degree 1.
Remark: The value of an EN to a service can be defined flexibly. For example, a service may give higher values to ENs in a populated area or ENs with high reliability. A suitable weight can be added to . In the proposed model, each service informs the platform its budget and how much it values different ENs. Based on these information, the platform computes suitable resource allocation satisfying given design objectives. How each service utilizes its allocated resources in the operation stage is not the focus of this work. The key concern of our work is how to harmonize the interests of different services that may have different preferences towards the ENs. Also, we consider only delaysensitive services to illustrate one way to model the service utility function. It can be justified by the fact that nondelaysensitive services can be handled effectively by cloud DCs and the precious edge resources can be reserved for important lowlatency services. Nevertheless, our model is generic enough to handle other service types as long as we can define the utility of a service as a suitable function of its allocated EC resources. Finally, although we consider computing resources only, the proposed framework can apply to a system in which each service evaluates an EN based on a combination of different resource types of the EN, such as computing, storage, and bandwidth.
5 Centralized Solution
In the first model, each service aims to maximize subject to the budget constraint , . If is a price vector, the ratio is defined as the bangperbuck of EN to service , which indicates the utility gained by service through one unit of money spent on EN (assuming 0/0 = 0). The maximum bangperbuck (MBB) of service over the set of ENs is [22]. The demand set of service includes all ENs giving it the MBB value, i.e., . Intuitively, to maximize its utility, each service will spend full budget to buy resources from only ENs giving it the MBB. Therefore, a pair is an ME if: i) given prices , service will exhaust its budget to buy resources only from ENs in ; and ii) the market clears at prices . In the following, we will show that the ME in the first model can be inferred from the optimal solution of a convex optimization problem. Also, we will describe some properties of the equilibrium. Specifically, for the case of buyers with linear utilities, the ME can be found by solving the EG convex program given below [9, 8]:
(8) 
subject to
(9)  
(10)  
(11) 
This problem always has an interior feasible solution by simply setting , for all and , where is sufficiently small such that all constraints (50)(51) are satisfied with strict inequality. Hence, Slater’s condition holds and the the Karush–Kuhn–Tucker (KKT) conditions are necessary and sufficient for optimality [32]. Denote , , and as the dual variables associated with constraints (49), (50), and (51), respectively. We have the Lagrangian
(12)  
The KKT conditions give
(13)  
(14)  
(15)  
(16) 
We can infer the following
(17)  
(18)  
(19) 
If is a price vector, the ratio is defined as the bangperbuck of EN to service , which indicates the utility gained by service through one unit of money spent on EN (assuming 0/0 = 0). The maximum bangperbuck (MBB) of service over the set of ENs is [22]. The demand set of service includes all ENs giving it the MBB value, i.e., .
The dual variable in the EG program can be interpreted as the price of EN . Hence, conditions (77) and (87) imply that if and only if , i.e., each service buys resources only from ENs giving it the MBB. This also maximizes . The following theorem captures the relationship between the EG program and the ME solution as well as some properties of the equilibrium.
Theorem 5.1
The optimal solution to the EG convex program (48)(51) is an ME. Specifically, the Lagrangian dual variables corresponding to the ENs’ capacity constraints (50) are the equilibrium prices. At the equilibrium, the resource allocation not only maximizes the utility but also exhausts the budget of every service. Furthermore, each service purchases resources only from ENs giving its MBB. Additionally, the optimal utilities of the services as well as equilibrium prices are unique.
Proof: Let and be the optimal solution to the EG program. Then, and need to satisfy the KKT conditions (73)(88). Denote , , and as the optimal dual variables. From (74), we have
(20) 
Multiplying both sides of (20) by and adding the resulting equalities, we get
(21) 
Since , and , equation (21) implies . Thus, the optimal solution to the EG program (48)(51) fully exhausts the budget of every service. Furthermore, as shown above, at the optimality, each service buys resources only from ENs giving its MBB value. In other words, the optimal solution to the EG program maximizes the utility of every service subject to the budget constraint because every service uses all of its money to purchase its MBB resources. This can be inferred from (77) and (87).
We now consider the market clearing condition. From (88), we can observe that resources of ENs with positive price are fully allocated. For ENs with zero prices, their resources can be allocated arbitrarily without affecting the optimal utility of service since the price is zero [8]. Thus, the market clears. Since (, ) satisfies both conditions of an ME, the optimal solution to the EG program is an ME.
Finally, since the objective function (48) is strictly concave in for all , the optimal utilities are unique. The uniqueness of equilibrium prices can be inferred from (87).
From (20), if and , which means an EN has price of zero only when it is not wanted by all services. We can remove this EN from our system. In the following, we consider only the case where . Also, it can be shown that Theorem 5.1 is not only applied to linear utilities, but also true for a wider class of homogeneous concave utility functions [10]. Please refer to Appendix D for more details.
Next, we study the properties of the equilibrium allocation. First, from (48)(51), it can be easily verified that the equilibrium allocation is scalefree. It means that it does not matter if service reports or for some constant , the allocation that it receives is the same. Also, if a service divides its budget into two parts and acts as two different services with the same original utility function, then the total allocation it obtains from the new ME is equal to the original equilibrium allocation. Furthermore, the equilibrium allocation is not only Paretooptimal but also possesses many appealing fairness properties such as envyfreeness, sharing incentive, and proportionality.
An allocation is Paretooptimal if there is no other allocation that would make some service better off without making someone else worse off [6], which means there is no strictly “better” allocation. Hence, a Paretooptimal allocation is efficient and nonwasteful because the remaining resources (if any) cannot improve utility of any service. Envyfreeness means that every service prefers its allocation to the allocation of any other service. When the services have equal budgets, an envyfree allocation implies for all and [7]. In an envyfree allocation, every service feels that her share is at least as good as the share of any other service, and thus no service feels envy. Since the budgets can be different, we need to extend the classical definition of envyfreeness. An allocation is envyfree if .
Let be the allocation where each service receives resource from every EN proportional to its budget, i.e., . Sharingincentive property implies Indeed, is an intuitive resourcefair allocation that allocates resources from every EN to each service proportional to the service budget. We can also understand that each service contributes an amount of to EN in a resource pool consisting of the ENs. Sharingincentive ensures that every service prefers the equilibrium allocation to its initial resource contribution to the pool. This can be interpreted as resourcefairness.
Finally, if , for all , in which is the utility of service when it receives all the resources from the market (i.e., ), we say that the allocation satisfies the proportionality property. Indeed, is the maximum utility that every service can achieve from the EC resource pool. The proportionality property guarantees that the utility of every service at the ME is at least proportional to its payment/budget. Thus, this property can be interpreted as utilityfairness. Obviously, these fairness properties encourage services to participate in the proposed resource allocation scheme.
Theorem 5.2
At equilibrium, the allocation is Paretooptimal and envyfree. It also satisfies the sharingincentive and proportionality properties.
Proof: Since at the equilibrium, every service exhausts its budget and receives its favorite resource bundle, it does not envy with other services. Hence, the equilibrium allocation is envyfree. The Paretooptimality follows directly from the firstwelfare theorem in Economics [6, 8]. Indeed, Paretooptimality can also be inferred from the Nash Bargaining concept [31]. In particular, the problem (48)(51) has the objective in the form of a Nash Social Welfare function with closed, compact, and convex feasible region. Thus, it enjoys all compelling properties of a Nash Bargaining solution such as Pareto efficiency and scaleinvariance. For linear utilities, we can prove the properties above directly as follows.
 Pareto Optimality: We show this by contradiction. Assume allocation is not Paretooptimal. Then, there exists an allocation such that for all , and for some . Note that . Consider any feasible allocation . Recall the MBB of buyer is . We have
(22) 
The second inequality is due to . Thus
(23) 
Since for some , for some . Adding both sides of (23) over all buyers renders
(24) 
because (i.e., the capacity constraints of ENs). However, (24) means the total prices of all the ENs is greater than the total budget of all buyers, which cannot occur. Thus, the equilibrium allocation is Paretooptimal.
 Envyfreeness: To prove that is envyfree, we need to show: . Let be the total money that service spends on EN . We have
Note that the equalities in the second line of (5) can be inferred from the fact that each buyer only buys resources from ENs in its demand set while the first inequality in the fourth line holds because .
 Proportionality: From Theorem 5.1, . Thus, for linear utilities and the envyfree property, we have
(26)  
Hence, .
 Sharingincentive: At the ME (), no service spends more than its budget. We have
(27) 
Thus, . Consequently, resource bundle costs service : So, service can afford to buy bundle at prices . However, out of all feasible bundles that are affordable to service , its favorite one is . It means
6 Decentralized Solution
A common approach for implementing distributed algorithm is to let the platform iteratively compute prices of the ENs and broadcast the updated prices to the services. Then, each service finds its optimal demand bundle and sends the updated demand to the platform. This pricebased strategy can be implemented in a tatonnment style or using the dual decomposition method [33]. Unfortunately, linear utilities may result in nonunique optimal demand bundles because multiple ENs may give the same MBB to a buyer. Hence, the algorithm cannot terminate without aggregated demand coordination from the platform. Consider an example with two services and three ENs. The system parameters are: = $1, = $4, , and .
Fig. 1(a) presents the ME from the centralized EG program. The value associated with each edge between a service and an EN indicates the amount of resource that the service buys from the EN. For example, in Fig. 1(a), we have: , and The equilibrium price vector is . The demand sets are: and . Given the equilibrium prices, the set of optimal (i.e., utilitymaximizing) resource bundles of service 2 is infinite. Hence, even if a distributed algorithm reaches the exact equilibrium prices at some iteration, it may not stop since the total demand reported by the buyers may not equal to the total supply. For instance, in Fig. 1(b), although the platform announces the exact equilibrium prices, service 2 may choose to buy all resources from EN2 and EN3. Then, the algorithm may never terminate. In the following, we present two distributed algorithms to find the ME.
6.1 Dual Decomposition with Function Approximation
Using Lagrangian relaxation [32, 33], we can decompose the EG convex program into subproblems, each of which can be solved by a service. We observe that the EG program (48)(51) can be written equivalently as follows.
(28)  
subject to 
Relaxing the coupling constraints, the partial Lagrangian is
Thus, given a price vector , each service solves
(30) 
To overcome the difficulty raised by the nonuniqueness of the optimal demand of the services with linear utilities, we propose to approximate the linear utility function by a Constant Elasticity of Substitution (CES) function, which is widely used in Economics and Computer Science [6, 8]. A CES function has the following form: Indeed, the linear utility function is a special case of the CES function family as . We can approximate the original linear utility function by a CES function where with is arbitrarily small. As , . Clearly, a CES function is strictly concave and homogeneous [6]. Hence, the EG program and Theorem 5.1 also apply to CES functions [10, 8]. Additionally, we can observe that maximizing a CES function above is equivalent to maximizing . Since a CES function is strictly concave, the optimal demand bundle of a service is unique. Consider the following optimization problem
(31) 
Proposition 6.1
Proof: Refer to Appendix A.
Thus, based on the dual decomposition method where each service solves the subproblem (38), we have the following distributed algorithm with CES function approximation (Algorithm 1). With a sufficiently small step size, it is guaranteed to terminate and converge to an (approximate) global optimal solution [32, 33]. Our simulation results confirm that Algorithm 1 produces a solution arbitrarily close to the optimal one from the centralized EG program.
6.2 Proportional Response Dynamics Strategy
In this section, we present the Proportional Response Dynamics (PropDyn) algorithm proposed by the P2P community. This distributed algorithm is very simple to implement and has been proved to converge to an ME [29]. Basically, in every iteration , each service updates its bids proportional to the utilities it receives from the previous iteration. Specifically, Since the ENs’ capacities are normalized, the price of an EN equals to the total bids sent to it, i.e., . By bidding to EN , service obtains an amount of resource , and gains a utility . Finally, is the total utility of service at iteration . The salient feature of this algorithm is that it can be implemented efficiently in a distributed manner. In particular, each EN only needs to know the total bid that it receives to compute the price while each buyer only needs to know its own information and learns its utilities achieved in the previous iteration to compute its new bids. The algorithm terminates when the price deviation of every EN is sufficiently small [29]. The major difference between this novel algorithm and traditional distributed algorithms is that in each iteration, every service computes its new bids as mentioned above instead of its optimal demand bundle.
To illustrate the effectiveness of the PropDyn mechanism as well as the ME concept, we compare it with the Proportional Sharing Best Response (BR) mechanism (PropBR) proposed in [30], which aims to find a Nash Equilibrium (NE). In a noncooperative game, a NE is a stable state of a system where no player can gain by a unilateral change of strategy if the strategies of the others are fixed [8]. Both [29] and [30] study a proportional sharing system where the resource of every node is shared proportionally to the services according to their bids. Specifically, we have , where is the total bid of all the services except . In both mechanisms, the actions of the services are the bids () submitted to the ENs. However, instead of updating its bids following the rule in PropDyn, each service in the PropBR mechanism tries to selfishly maximize its utility given strategies taken by other services [30].
Algorithm 2 is the BR algorithm that buyer will execute given the total bid of other buyers. The whole algorithm is implemented in rounds. In each round, each buyer in turns runs Algorithm 2 and updates its bid vector to the platform. The platform broadcasts new bids to all buyers in the system. A round completes when all buyers have updated their bids. Obviously, whenever this BR dynamics strategy converges, it converges to an NE. As mentioned in [30], the algorithm normally converges after a few rounds.
Interestingly, our simulation shows that buyers do not gain significantly by playing BR. Indeed, most of buyers achieve lower utilities in the PropBR scheme compared to the PropDyn scheme. Furthermore, to play BR dynamics, each buyer has to know total bids of others and the actual capacity of every EN [30]. In PropDyn, buyers only need to know their own information. Therefore, in a proportional sharing system, buyers may not have incentives to play BR.
7 Net Profit Maximization
Different from the basic model, in the second model, the services try to optimize their net profits (i.e., revenue minus cost) instead of revenue. Specifically, the net profit of service is Given prices , the objective of service is to maximize subject to: and . Indeed, maximizing the net profit is equivalent to maximizing , where is the surplus money of service after purchasing . Inspired by the EG program for the basic model, we would like to construct a similar convex program to capture the ME in this new model.
Note that without budget consideration, this gametheoretic problem can be solved efficiently by writing down a social welfare maximization problem (i.e., maximizing sum of utilities of all the services), then use the dual decomposition method [33] to decompose it into subproblems, each of which is solved by one service. Each subproblem is exactly a net profit maximization problem of a service. Unfortunately, this strategy fails when we consider budget since the social welfare maximization problem cannot be decomposed due to the coupling budget constraints.
Our derivation of the new convex optimization problem is based on reverseengineering the basic model.
Proposition 7.1
The equilibrium prices in the basic model can be found by solving the following convex problem.
(33)  
subject to 
Proof: We can obtain this convex problem by using Lagrangian and Fenchel conjugate function [32] to construct the dual problem of the original EG program. Indeed, and are the dual variables associated with (49) and (50). See our Appendix B for the full proof.
Clearly, to maximize , service will never buy resource from EN if . In other words, service would only buy resources from ENs in the set From (61), we have . From these observations, we conjecture that the following prorgram captures the equilibrium prices in our second market model (i.e., net profit maximization).
(34) 
subject to
Theorem 7.2
The solution of the following convex program is exactly an ME of the new market model.
(35)  
subject to  
At the equilibrium, the total of money spent and surplus money of every service equals to its budget. Additionally, the optimal utility of every service is unique and greater or equal to its budget. For any buyer who has surplus money, her utility equals her budget.
Proof: See our Appendix C .
The convex problem (63) is indeed the dual program of problem (62). We can interpret problem (63) as follows. First, the utility of a service is the sum of its revenue and its surplus money. The first part of the objective function is the weighted sum of logarithmic utilities of the services similar to that of the EG program. However, since the surplus money does not contribute (i.e., not visible) to the market, we should subtract this amount from the aggregated utility function, i.e., the objective function. Finally, similar to the EG program, although budget constraints are not included in (63), the optimal solution satisfies these constraints. It is worth noting that, somewhat surprisingly, although our reverseengineering approach is specialized for linear revenue functions only, the convex program (63) works also for a wider class of homogeneous concave revenue functions. Interested readers can find more details in Appendix E.
8 Numerical Results
8.1 Simulation Settings
We consider a square area with dimensions of 10km x 10km. The locations of ENs and services are generated randomly in the area. We generate a total of 100 ENs and 1000 locations. We assume that each service is located at one location. For the sake of clarity in analysis, in the base case
, we consider a small system with 8 ENs and 4 services (i.e., M = 8 and N = 4), which are selected randomly in the set of 100 ENs and 1000 services. The network delay between a service and an EN is assumed to be proportional to the distance between them. The maximum tolerable delay of the services follows a uniform distribution over the interval [15, 25]. The service rate
is generated randomly from 80 to 240 requests per time unit. The service price is from 2 to 3 per 100000 requests. The number of computing units in the ENs ranges from 10 to 20. From these parameters, we can compute of the services as in (6). The net profit maximization model is considered in Section 8.5. In the base case, we assume that the services have equal budget. Fig. 2 depicts the valuations of the ENs to the buyers in the base case. The base case is used in all the simulations unless mentioned otherwise.8.2 Performance Comparison
In the first model captured by the EG program, the absolute value of the budget only affects the equilibrium prices by a scaling factor (e.g., all the prices increase twice as the budget of every service is double) and does not affect the allocation and utilities of the services. The budget is normalized such that the total budget of all services is one. The prices act as a means to allocate resources only.
We consider five schemes, including: the proposed ME, the proportional sharing (Prop.), the social welfare maximization with equal weights (SW1), social welfare maximization with different weights (SW2), and the maxmin fairness (maxmin) schemes. In the proportional sharing, each buyer receives portion of resource of every EN. In the social welfare maximization schemes, budget is not considered, and the objective is to maximize subject to the capacity constraints of the ENs. is the weighting factor of service . In SW1, all weights are equal. In SW2, the weight of each service is its budget. Finally, without budget consideration, the maxmin scheme aims to maximize
Comments
There are no comments yet.