Task Scheduling Scheme Based on Cost Optimization in 5G/Hetnets C-RAN

. With the increase of data traffic in global mobile network, data computing close to the edge is going more and more memorandum to deal with the resources limitations. This paper, addresses Cloud Radio Access Network (C-RAN) architecture and proposes to provide extra computing and storage resources in the edge in order to allow the offloading of a set of mobile users services from the remote cloud computing infrastructure to a cloud computing infrastructure deployed in the edge next to Remote Radio Heads (RRHs). This approach raises many challenges. One of the challenges is the scheduling strategy of the offloading. Therefore, the main contribution described in this paper is a novel cost based service scheduling (CBSS) mechanism which takes into account deployment cost, deadline and available resources in order to make offloading decisions more efficient and to increase user experience. The solution was implemented in a simulator to highlight the benefit of the approach compared to existing approach.


Introduction
The evolution toward global mobile networks is characterized by an exponential growth of traffic.It is estimated that the data traffic will grow at a compound annual growth rate of 47 percent from 2016 to 2021 [1].This growth is mainly due to the huge success of smart phones and tablet.Nowadays, smartphones and tablets are real computers capable to run a large variety of applications in all areas of backend: entertainment, health care, business, social networking, traveling, news… More and more applications are virtualized and running in the cloud overcoming the limited capacities of the end-user devices.However, this necessitates an end to end communication from the mobile terminal to the application or service deployed in the far end cloud computing infrastructure.With the concept of Mobile Cloud Computing (MCC), the idea is to deploy additional cloud computing resources to allow some parts of the applications/services to run locally and offload the communications from the backend towards this local cloud to save resources and increase end users experience.
More precisely, cloud-based radio access network has been already proposed in the 5G to decouple the Base Band Units (BBUs) from remote radio heads (RRHs) and to move them into the cloud enabling a centralized processing and management.With this approach, traditional complicated base stations can be simplified to cost-effective and power-efficient radio units (RRHs) by centralizing the processing allowing the efficient management of large-scale small-cell systems.Centralized processing power enables indeed more advanced and efficient network coordination and management.
On the other side, mobile data offloading to external extra resources (such as using wifi) is also an important and popular issue in the cellular network.This consists on offloading the data communication from the mobile network access to another wireless access network (wifi, femto, etc) using therefore additional resources.This offloading can also target the processing using alternative storage and processing capabilities close to the end users.Several state of art proposals exploit therefore cloud computing technology for this purpose [2].
Our work is related to this context.We propose a novel Cloud RAN heterogeneous architecture where we introduce an edge cloud: the Cloud-RRH.It consists on additional computational and storage resources added to High RRHs (macro-cells) close to mobile end users.Using this infrastructure, mobile users will be able to offload their applications/services from the far end cloud computing infrastructure close to them in Cloud-RRH.The technology to support this offloading is containers [3] that provides a higher level of abstraction in terms of virtualization and isolation compared to other virtualization techniques.Therefore, in order to fully profit from this architecture we need to efficiently schedule offloading requests among different containers.That's why we propose a cost based task scheduling scheme.Especially we focus on overload and migration costs.Moreover, load balancing between containers has been taken into consideration.
This paper is organized as follows.After this introduction, section II describes the related works.In section III, we present a model of the system, the formulation of the problem, and the basic idea of the proposed solution.The following section IV presents a simulation of the system and the solution as well as initial results.Finally, section V concludes this paper.

Related Work
Scheduling user's computing tasks is a hot challenge in cloud computing environment.Optimal resource allocation or offloading request scheduling helps to guarantee application performance and to reduce operating costs.A set of existing works are discussed in this section.
Authors in [4] have proposed a selective algorithm that uses standard deviation to decide between the two scheduling algorithms Min-Min and Max-Min in order to minimize the total execution time of tasks.In [5], the improved Max-Min algorithm is modified to define two new algorithms based on the average execution time.Unlike the Max-Min, the task with a just above average run time is selected and assigned to the resource that gives a minimum run time.The average run time is calculated using the arithmetic mean for independent tasks and the geometric mean for dependent tasks.The main objective is to reduce tasks makespan.Authors in [6] have proposed a task scheduling algorithm based on priority.They have defined three levels of priorities: the scheduling level which represents the objective to be achieved by the planner, the level of resources which represents the attributes available to achieve the desired goal and the level of tasks which represents the available alternatives among which the best task should be scheduled first.Therefore, each task will require resources with a given priority and the priorities of the different tasks are compared with each other in order to be scheduled.In [7], authors have proposed a task scheduling algorithm based on credits.The proposed approach is based on two parameters: the priority of the user and the duration of the task.A credit is assigned to each task according to its duration and priority.The task with the highest credit value is executed first.In [8], an optimized algorithm for task scheduling based PSO (Particle Swarm Optimization) is proposed.PSO is a population-based search algorithm inspired by bird flocking and fish schooling, where each particle learns from its neighbors and itself during the time it travels in space.However, like any other metaheuristic method, this algorithm does not give any guarantees on finding the most optimal solution.Consequently, whenever the search space expands, the chance of finding an optimal solution becomes harder and harder.Authors in [9] have proposed a cost-deadline based task scheduling algorithm (CBD).The cost is calculated according to the task length, deadline and the number of processing elements required.Then, a sorting mechanism is used to decide the order of execution of tasks.Their mapping with virtual machines is given by the Min-Min heuristic algorithm.Therefore, the proposed approach is used to minimize missed deadlines.Authors in [10] have investigated cost based scheduling using linear programming.They have proposed a task scheduling algorithm based on delay bound constraint (SAH-DB) in order to improve the task execution concurrency: when a task is received all the resources (CPU, memory and network) are sorted in descending order based on the resources processing capacity, then the task is dispatched to resources with the minimum execution time.
In this paper, we propose a novel C-RAN architecture and corresponding resource management mechanism, where a Cloud-RRH is introduced in the edge of the mobile network.While most previous works have focused on jobs' completion time, we propose in this work a scheduling optimization mechanism that aims to reduce the cost of tasks scheduling.Unlike previous works, we model the cost of tasks as function of overloading and migration.The scheduling process takes mainly into account the available resources, resource requirements, deadlines and load balancing in Cloud-RRH.

OFFLOADING SCHEDULING MECHANISM PROPOSAL
In this section, we will discuss the considered scenario and problem statement before presenting our system model and formulate the optimization problem for the offloading requests scheduling.

3.1
Scenario and problem statement: The scenario is depicted in figure 1.We consider a C-RAN heterogeneous architecture composed of H-RRHs (High RRHs) which acts as macro cells and L-RRHs (Low RRHs) which acts as small cells.In our scenario, we introduce the Cloud-RRH which represents cloud capacity in the edge network.While in a traditional C-RAN architecture all the RAN functionalities are centralized in BBU pools, we propose to flexibly split of these functionalities between edge and central cloud.We suppose also that additional computation and storage resources are available in the Cloud-RRH for computation offloading.These resources are represented by cloud containers.

Fig. 1. Proposed C-RAN architecture
We propose to use cloud containers instead of VM because of performance gain.Indeed VM are usually larger than containers since they include the whole operation system and their startup is much slower than containers.A container is essentially a packaged self-contained, ready-to-deploy set of parts of applications, that might even include middleware and business logic in the form of binaries and libraries to run the applications [11], see figure 2. Containers are characterized by: (i) a lightweight portable runtime, (ii) the capability to develop, test and deploy applications to a large number of servers and (iii) the capability to interconnect them.

Fig. 2. VM vs Container Virtualization Architecture
In current data centers the control of virtual machines (VM) requires a Virtual Infrastructure Manager (VIM), which is the entity in charge of VM lifecycle management.
In our approach and as part of the cloud management, we propose to add a new functional entity called Cloudlet Manager (CM).The main functionalities of the CM are the following: Mobile users can access their services directly in the edge cloud.The CM could instantiate containers in the edge and offload (part of) the service logic computation in these containers.Containers are not always active, rather they are activated or deactivated accordingly.Different interactions schema are represented in figure 3.
Mobile users' application tasks can be offloaded in the Cloud-RRH to achieve better performances.The cloudlet manager is responsible to decide in which container application tasks will be executed.A container is characterized by a triplet of allocated resources (CPU, RAM, and Network Bandwidth).Each offloading request is considered as a set of tasks to instantiate in the Cloud-RRH.Each task has a delay constraint and resource requirements in terms of CPU, RAM and Network Bandwidth.
However, it is necessary to well design the scheduler of tasks and the offloading decision based on the available resources and the concurrent requests.The research questions that we are trying to respond are the following: 1. How to find the most suitable container for application tasks offloading that minimizes the total cost, comprising overloading cost and migration cost? 2. How to schedule offloading requests while respecting load balancing between containers in Cloud-RRH?

System model:
We assume that each Cloud-RRH infrastructure is able to run N predefined containers.Each container is characterized by its available capacity resources CPUi, RAMi and Neti, N i ∈ .An offloading request is specified as a set of M tasks to execute with a deadline D. Each task is characterized by its CPUj, RAMj and Netj requirements, and has an expected execution time j Tex , M j ∈ (time execution if all resources are sat- isfied).We consider a binary variable We associate to each pair container-task allocation a cost C which value depends on whether the container is overloaded after the execution of the task or not and also whether a task migration was necessary due to user mobility.In this work we did not consider the energy consumption cost.The details of the considered costs are presented in the following:

Overload cost.
Let us denote by i cap C _ the computational capacity of container i at time t: the average resource utilization of task j on container i: The utilization rate i µ of container i corresponding to the actual system configuration is given by the following formulation: . When a task j is allocated to an overloaded container, we associate a penalty which we also assume to be positively proportional to the level of overloading.We define the overload cost i t ov cos _ a metric as follows: ( ) Indeed, λ allows to accentuate the overload cost when approaching the saturation.Therefore, the closer we go to the maximum capacity and the more the cost will increase and the choice will go for another container in order to avoid saturation.
The overall overload cost for the Cloud-RRH system to execute all the tasks can be calculated as follows:

Migration cost.
When a mobile user is moving from one cell to another one, the corresponding tasks may be migrated.We associate a penalty j r when a user task j is migrated, from one container to another one, to capture the service downtime incurred by the migration.The overall migration cost is defined as: In this paper, we only consider a migration of the tasks in the same Cloud-RRH and that migration penalty only depends on the type of task.(Migration in the whole network will be considered in future works) Intuitively the two variables, overload cost and migration cost, are correlated.For example, if we completely optimize the overload cost, task will be distributed over all available containers which will increase the migration cost.Therefore, we need to get a trade-off between the two variables.

Optimization model.
Therefore, the goal of the scheduler is to minimize the total cost of overloading and migration in the entire system when executing all the submitted requests.We considered two parameters α and β that represents the importance of weight given to each cost.

Objective function
The optimization is subject to constraints given by ( 8) through (11).Constraint (8) guarantees that each offloading request is executed before the application's deadline.Constraint (9) enforces that all tasks' requirements including number of CPU, amount of memory and network bandwidth are lower than container resources.Constraint (10) guarantees load balancing between containers in the same Cloud-RRH where ε denotes for the maximum tolerance of load balancing.Finally, constraint (11) ensures that each task is scheduled on only one container.
First we set α = β = 0.5 which means that equal weight is given for the different types of resources.We also consider that all tasks are executed in parallel and the deadline D constraint is therefore fixed for the worst case when all tasks are executed in serial.This problem is a MIP and can therefore be solved as a linear program since the objective function is linear to all variables.

SIMULATION AND RESULTS
In order to evaluate the scheduling performance on tasks' execution cost for the proposed cost based scheduling scheme (CBSS), we have compared its results with SAH-DB scheduling mechanism.SAH-DB is a task scheduling algorithm based linear programming.It aims to schedule tasks while reducing the total execution cost within the user-expected delay bound.When a task t is utilizing a resource k, the execution cost is expressed as the cost of the resource k executing the task t.
We considered a Cloud-RRH with N= {25, 50, 75, 100} containers having heterogeneous resources.The computing capacity of containers varies from 1 to 10 CPUs.The memory is set from 128 Mbytes to 512 Mbytes and the network bandwidth is set from 100 Kbps to 200 Kbps.The number of tasks is set as M= {20, 40, 60, 80, 100, 120, 140}.Tasks have heterogeneous requirements: CPU varies from 1 to 4, memory is between 128 and 1024 Kbytes and network bandwidth is varying between 1 and 20 Kbps.Offloading requests are embedded sequentially and their requirements are generated randomly.Simulation parameters are summarized in Table I.As we have mentioned before, we set α= β = 0.5 and λ=2.We have used IBM's linear programming solver CPLEX [12], and solved the problem with multiple data inputs.We have evaluated the scheduling efficiency in terms of execution cost under a varying number of associated tasks.Figure 4 represents the execution cost and its standard deviation by applying the proposed cost based scheduling scheme and SAH-DB scheduling algorithm with 25 to 100 cloud containers respectively.The proposed scheduling algorithm can reduce total execution cost compared with SAH-DB algorithm in the different number of associated tasks.Moreover, the total scheduling cost decreases with the increase of the number of resources and increases with the number of associated tasks.Therefore, the more resources are available the more the scheduling process is efficient.

CONCLUSION AND PERSPECTIVES
This paper proposes a cost based scheduling scheme (CBSS) that aims to minimize scheduling cost while considering available resources, resource requirements, deadline and load balancing in Cloud-RRH.We consider a scenario where users can offload tasks to Cloud-RRH.We focus on scheduling tasks that requests several resources such as CPU, memory and disk.We formulate the problem as cost optimization problem which takes into account user performance in terms of system overload and migration cost.Simulation results show that the proposed scheme is able to schedule offloading requests while minimizing the total execution cost.
As future works, we will try consider mobility between different Cloud-RRHs while scheduling offloading request. .Furthermore, we will try to better investigate and evaluate the network performances by handling the interference and mobility management in C-RAN.

Fig. 4 .
Fig. 4. The execution cost with different resources

Table 1 .
PARAMETERS SETTING