Resource Utilization in Cloud Computing as an Optimization Problem

Similar documents
Logarithms APPENDIX IV. 265 Appendix

Application of Improved Genetic Algorithm to Two-side Assembly Line Balancing

A SELECTIVE POINTER FORWARDING STRATEGY FOR LOCATION TRACKING IN PERSONAL COMMUNICATION SYSTEMS

CHAPTER 5 A NEAR-LOSSLESS RUN-LENGTH CODER

A study on the efficient compression algorithm of the voice/data integrated multiplexer

x y z HD(x, y) + HD(y, z) HD(x, z)

Importance Analysis of Urban Rail Transit Network Station Based on Passenger

Radar emitter recognition method based on AdaBoost and decision tree Tang Xiaojing1, a, Chen Weigao1 and Zhu Weigang1 1

APPLICATION NOTE UNDERSTANDING EFFECTIVE BITS

On Parity based Divide and Conquer Recursive Functions

High Speed Area Efficient Modulo 2 1

Making sure metrics are meaningful

Data Acquisition System for Electric Vehicle s Driving Motor Test Bench Based on VC++ *

Intermediate Information Structures

Compound Controller for DC Motor Servo System Based on Inner-Loop Extended State Observer

X-Bar and S-Squared Charts

Permutation Enumeration

arxiv: v2 [math.co] 15 Oct 2018

ELEC 204 Digital Systems Design

A New Basic Unit for Cascaded Multilevel Inverters with the Capability of Reducing the Number of Switches

Performance Analysis of Channel Switching with Various Bandwidths in Cognitive Radio

A New Space-Repetition Code Based on One Bit Feedback Compared to Alamouti Space-Time Code

Optimal Arrangement of Buoys Observable by Means of Radar

PROJECT #2 GENERIC ROBOT SIMULATOR

Implementation of Fuzzy Multiple Objective Decision Making Algorithm in a Heterogeneous Mobile Environment

Procedia - Social and Behavioral Sciences 128 ( 2014 ) EPC-TKS 2013

ECONOMIC LOT SCHEDULING

Combinatorics. Chapter Permutations. Reading questions. Counting Problems. Counting Technique: The Product Rule

Sapana P. Dubey. (Department of applied mathematics,piet, Nagpur,India) I. INTRODUCTION

Roberto s Notes on Infinite Series Chapter 1: Series Section 2. Infinite series

Wi-Fi or Femtocell: User Choice and Pricing Strategy of Wireless Service Provider

Unit 5: Estimating with Confidence

Density Slicing Reference Manual

Ch 9 Sequences, Series, and Probability

Efficient Energy Consumption Scheduling: Towards Effective Load Leveling

The Institute of Chartered Accountants of Sri Lanka

1. How many possible ways are there to form five-letter words using only the letters A H? How many such words consist of five distinct letters?

sible number of wavelengths. The wave~~ngt~ ~ ~ ~ c ~ n b~dwidth is set low eno~gh to interfax One of the most im

Design of FPGA- Based SPWM Single Phase Full-Bridge Inverter

A Novel Three Value Logic for Computing Purposes

AkinwaJe, A.T., IbharaJu, F.T. and Arogundade, 0.1'. Department of Computer Sciences University of Agriculture, Abeokuta, Nigeria

Fingerprint Classification Based on Directional Image Constructed Using Wavelet Transform Domains

Single Bit DACs in a Nutshell. Part I DAC Basics

Cross-Layer Performance of a Distributed Real-Time MAC Protocol Supporting Variable Bit Rate Multiclass Services in WPANs

Design and Construction of a Three-phase Digital Energy Meter

A New Design of Log-Periodic Dipole Array (LPDA) Antenna

COS 126 Atomic Theory of Matter

LETTER A Novel Adaptive Channel Estimation Scheme for DS-CDMA

Optimization of Base Station and Maximizing the Lifetime of Wireless Sensor Network

OPTIMIZATION OF RNS FIR FILTERS FOR 6-INPUTS LUT BASED FPGAS

Laboratory Exercise 3: Dynamic System Response Laboratory Handout AME 250: Fundamentals of Measurements and Data Analysis

Optimal Geolocation Updating for Location Aware Service Provisioning in Wireless Networks

POWERS OF 3RD ORDER MAGIC SQUARES

The Detection of Abrupt Changes in Fatigue Data by Using Cumulative Sum (CUSUM) Method

A New Method for Traffic Prediction in Emerging Mobile Networks

7. Counting Measure. Definitions and Basic Properties

History and Advancement of the Family of Log Periodic Toothed Planer Microstrip Antenna

Hybrid BIST Optimization for Core-based Systems with Test Pattern Broadcasting

Selective Periodic Component Carrier Assignment Technique in LTE and LTE-A Systems

Counting on r-fibonacci Numbers

Indoor Localization by Pattern Matching Method Based On Extended Database

Analysis of SDR GNSS Using MATLAB

Radio Resource Calendaring in Cloud-based Radio Access Networks

Department of Electrical and Computer Engineering, Cornell University. ECE 3150: Microelectronics. Spring Due on April 26, 2018 at 7:00 PM

Grade 6 Math Review Unit 3(Chapter 1) Answer Key

Message Scheduling for the FlexRay Protocol: The Dynamic Segment

Towards Acceleration of Deep Convolutional Neural Networks using Stochastic Computing

Problem of calculating time delay between pulse arrivals

Alignment in linear space

Concurrent Fault Detection in Random Combinational Logic

Combined Scheme for Fast PN Code Acquisition

202 Chapter 9 n Go Bot. Hint

Adaptive Resource Allocation in Multiuser OFDM Systems

Lecture 4: Frequency Reuse Concepts

A Heuristic Method: Differential Evolution for Harmonic Reduction in Multilevel Inverter System

Joint Rate Control and Scheduling for Real-Time Wireless Networks

H2 Mathematics Pure Mathematics Section A Comprehensive Checklist of Concepts and Skills by Mr Wee Wen Shih. Visit: wenshih.wordpress.

Computational Algorithm for Higher Order Legendre Polynomial and Gaussian Quadrature Method

A New Energy Consumption Algorithm with Active Sensor Selection Using GELS in Target Coverage WSN

PERMUTATIONS AND COMBINATIONS

CHAPTER 8 JOINT PAPR REDUCTION AND ICI CANCELLATION IN OFDM SYSTEMS

A study on traffic accident measures in municipal roads by using GIS

International Power, Electronics and Materials Engineering Conference (IPEMEC 2015)

Test Time Minimization for Hybrid BIST with Test Pattern Broadcasting

The Firing Dispersion of Bullet Test Sample Analysis

CS 201: Adversary arguments. This handout presents two lower bounds for selection problems using adversary arguments ëknu73,

Extra Practice 1. Name Date. Lesson 1.1: Patterns in Division

Survey of Low Power Techniques for ROMs

Encode Decode Sample Quantize [ ] [ ]

Integrating Machine Reliability and Preventive Maintenance Planning in Manufacturing Cell Design

Design of FPGA Based SPWM Single Phase Inverter

High-Order CCII-Based Mixed-Mode Universal Filter

SHORT-TERM TRAVEL TIME PREDICTION USING A NEURAL NETWORK

lecture notes September 2, Sequential Choice

A Class of Interconnection Networks for Multicasting

Distributed Resource Management in Multi-hop Cognitive Radio Networks for Delay Sensitive Transmission

Measurements of the Communications Environment in Medium Voltage Power Distribution Lines for Wide-Band Power Line Communications

Using Color Histograms to Recognize People in Real Time Visual Surveillance

Markov Modulated Punctured Autoregressive Processes for Traffic and Channel Modeling *

Joint Power Allocation and Beamforming for Cooperative Networks

Transcription:

Resource Utilizatio i Cloud Computig as a Optimizatio Problem Ala'a Al-Shaikh, Hebatallah Khattab, Ahmad Sharieh, Azzam Sleit Departmet of Computer Sciece Kig Abdulla II School for Iformatio Techology Uiversity of Jorda Amma, Jorda Abstract I this paper, a algorithm for resource utilizatio problem i cloud computig based o greedy method is preseted. A privately-owed cloud that provides services to a huge umber of users is assumed. For a give resource, hudreds or thousads of requests accumulate over time to use that resource by differet users worldwide via the Iteret. A prior kowledge of the requests to use that resource is also assumed. The mai cocer is to fid the best utilizatio schedule for a give resource i terms of profit obtaied by utilizig that resource, ad the umber of time slices durig which the resource will be utilized. The problem is proved to be a NP-Complete problem. A greedy algorithm is proposed ad aalyzed i terms of its rutime complexity. The proposed solutio is based o a combiatio of the 0/1 Kapsack problem ad the activityselectio problem. The algorithm is implemeted usig Java. Results show good performace with a rutime complexity O((F- S)Log). Keywords Activity Selectio; NP-Complete; Optimizatio Problem; Resource Utilizatio; 0/1 Kapsack I. INTRODUCTION The term cloud computig has become a buzzword i the recet years due to the publicity ad widespread of the term i all aspects of life. Cloud computig i its basic form is a model of o-demad provisioig of computig resources to users [1]. Resources such as computers, etwork servers, storage, applicatios, services, etc. are shared ad reusable amog users, this is referred to as Multi-teacy [2]. Cloudig has a great ifluece o the cost of operatio of iformatio techology (IT) ifrastructure. Compaies o loger eed to sped o buildig o-premises IT departmets to support their operatios. Adoptig the pay-as-you-go strategy, i.e. pay oly for resource usage, will cut the costs of IT operatios which iclude maiteace, employmet, traiig, etc. I its simplest form, provisioig of resources via clouds is similar to the way of obtaiig electricity from power statios without the eed for everyoe to establish his privately-owed statio [3]. Resources lie at the heart of cloud computig. Resource utilizatio (poolig) is a importat topic i the field of computer sciece, yet it is a hot research area. The eed for resource utilizatio ever stops as log resources are limited compared to the icreasig demad o computers ad computig. Resources are pooled to serve multiple cosumers usig a multi-teat model, with differet physical ad virtual resources dyamically assiged ad reassiged accordig to cosumer demad [1]. Iteret plays a importat role i sigifyig the importace of resources. The demad o the Iteret ad the resources are ever icreasig. The advet of cloud computig ecouraged compaies ad computer professioals to use more ad more resources eve if they are ot available o their premises. However, this might icur fees to be paid by those users, o the other had, service providers have to fid how to best utilize their resources so as they ca serve more users durig specific operatio time. The mai idea of cloud computig is about providig (leasig) services to users. The service providers ca thik i leasig their services i ways that maximize their overall profit. I this paper, a privately-owed cloud that provides services to a huge umber of users is assumed. For a give resource, hudreds or thousads of requests accumulate over time to use that resource by differet users worldwide via the Iteret. The mai cocer is to fid the best utilizatio schedule for a give resource i terms of profit obtaied by utilizig that resource, ad the umber of time slices durig which the resource will be utilized. A prior kowledge of the requests to use that resource is assumed. The proposed algorithm, based o a greedy method, is a combiatio betwee the solutios of two differet problems, the Kapsack Problem ad the Activity-Selectio Problem. Based o these two techiques, this utilizatio problem is a NP-Complete problem. After formalizig the problem ad defiig it, a greedy algorithm to solve that problem is proposed. The proposed algorithm is the aalyzed i terms of rutime complexity. Fially, experimetal results are recorded ad discussed. The paper is orgaized as follows: i Sectio II, a sample of related work is preseted. I Sectio III, a mathematical formulatio to the problem, the proposed algorithm ad a detailed discussio of algorithm desig, complexity, ad NP- Completeess of the problem are itroduced. I Sectio IV, the experimetal results are discussed. Fially, coclusio ad future work are preseted i sectios V ad VI. II. RELATED WORK Maya Hristakeva et al [4], preseted a umber of methods to solve the 0/1 Kapsack problem. Oe of the methods preseted is the greedy method. At the begiig, the 0/1 Kapsack problem is idetified ad formalized, the a greedy 336 P a g e

algorithm is discussed, aalyzed, ad compared to other algorithms for differet methods used i the research. I [5], authors described a algorithm which geerates a optimal solutio for the 0/1 iteger Kapsack problem o the NCUBE hypercube computer. Experimetal data which supports the theoretical claims were provided for large istaces of the oe- ad two-dimesioal Kapsack problems. I Kapsack problem, a umber of items have to be chose to fill the kapsack without exceedig its capacity so as the kapsack profit is maximized [6]. The 0-1 Kapsack Problem is formulated as follows: The kapsack (K) has a capacity C. The item (T) is a tuple T < w, p >, such that w is the weight of the item ad p is the profit. The objective is as i (1): Maximize p i x i i=1 Subject to w i x i c such that x i {0, 1}, i = 1,, (1) I [7], authors cosidered a settig i which they orgaized oe or several group activities for a group of agets. Their goal was to assig agets to activities i a desirable way. They gave a geeral model, the studied some existece ad optimizatio problems related to their solutios. Their results were positive as they foud desirable assigmets that proved to be tractable for several restrictios of the problem. The Weighted Activity-Selectio problem is a optimizatio problem [8], ad it is a variat of the Activity- Selectio Problem. Compoets of the problem are as follows: A activity (A) is a tuple A < s, f, p >, such that s is the activity s start time, f is its fiish time, ad p is the profit of that activity. i=1 For a activity A i, s i < f i ad p i 0. Two activities A i ad A j are said to be compatible if ad oly if s j f i or s i f j. A feasible schedule (S) is a set S {1, 2,, }, such that every two distict umbers i S are compatible. The profit (P) of a schedule (S) is P(S) = i S p i. The objective is to fid a schedule that maximizes the profit. III. ALGORITHM Assume a resource R, with a start time S, fiish time F, maximum capacity C, ad Profit per Uit of Weight PU. The resource R is expressed as a tuple R < S, F, C, PU >. The resource is coected to a etwork, maily a public etwork like the Iteret, ad receives a huge umber of requests. Each request Q is idetified by its Id, ad has a start time S, fiish time T, ad weight W. The request Q is expressed as a tuple Q < S, F, W >. Two requests q i ad q j are said to be compatible if ad oly if they do ot overlap, i.e. the start time of the latter must be greater tha or equal to the fiish time of the former. The goal is to allocate the resource i a way that achieves best utilizatio withi the followig costraits: Maximize the profit of utilizatio. The weight of each request must ot exceed the maximum capacity of the resource. Start ad fiish time of selected requests must ot go beyod the boudaries of start ad fiish time of the resource. Requests must be compatible (must ot overlap). Formally, Let: R < S, F, C, PU >. Q is a set of Requests Q = {q i i = 1, 2,, }, such that q i < s i, f i, w i >, whereas s i, f i, ad w i are the start time, fiish time, ad weight of request i respectively. x 1, x 2,, x are biary variables that idicate item selectio (x i = 1) or exclusio (x i = 0). P is the total profit of utilizatio, W is the total weight of solutio. Maximize P = i=1 x i p i, such that W = i=1 x i w i C where p i = w i (f i s i ) PU, s i S, f i F, ad x i = { 1 s i f j = ad w i C, 0 otherwise such that S, F, C, PU, s i, f i, w i, P, W, x i, p i N. (2) A. Explaatio Figure 1 shows the proposed algorithm. It comprises four phases, they are: (1) filterig, (2) maximum-request selectio, (3) fill-right-to-max, ad (4) swipe phase. Lies 7 11 represet the filterig phase. I this phase, all requests that do ot meet the costraits of the resource are filtered (removed from the request array). I other words, ay request with a weight exceeds the capacity of the resources, or ay request that exceeds ay of the boudaries of start ad fiish time of the resource, is filtered. 337 P a g e

Fuctio: MaxProfitSchedule() Iput: ReqArr: Requests Array, C, S, F: resource capacity, start time, ad fiish time Output: Schedule: Maximum profit schedule array 1 left = S C 1 2 right = F C 2 3 available = C C 3 4 5 while (!ReqArr.isEmpty()) C 4 (K + 1) 6 { 7 for each (Req i ReqArr){ C 5 K( + 1) 8 if (Req.weight> available or Req.S< left or Req.F> right){ C 6 K 9 remove Req from ReqArr C 7 K 10 } 11 } 12 13 sort (o-icreasig order) ReqArr by profit KLog 14 MaxReq = ReqArr[0] C 8 K 15 add MaxReq to Schedule C 9 K 16 remove ReqArr[0] from ReqArr C 10 K 17 available = available - MaxReq.weight C 11 K 18 left = MaxReq.F C 12 K 19 20 sort (o-decreasig order) ReqArr by start time KLog 21 for each (Req i ReqArr){ C 13 K( + 1) 22 if (Req.S>=left ad Req.weight<= available){ C 14 K 23 add Req to Schedule C 15 K 24 remove Req from ReqArr C 16 K 25 available = available - Req.weight C 17 K 26 left = Req.F C 18 K 27 } 28 } 29 30 for each (Req i ReqArr){ C 19 K( + 1) 31 if (Req.S>= MaxReq.F){ C 20 K 32 remove Req from ReqArr C 21 K 33 } 34 } 35 right = MaxReq.S C 22 K 36 left = S C 23 K 37 } 38 sort (i o-decreasig) Schedule by start time Log 39 retur Schedule C 24 Fig. 1. The proposed algorithm with time complexity for each step This step is ecessary, as it miimized the size of the request array through differet iteratios of the selectio process. Back to lie 5, a while statemet is used to keep o iteratig util the request array is empty. Lies 13 18 represet the maximum-request selectio phase. It starts by sortig the request array i a o-icreasig order by profit. This makes the maximum compatible request at the first locatio of the request array. As a result of the filterig phase, the first request is guarateed to be compatible as log its weight is less tha the capacity of the resource, or the remaiig capacity i later iteratios, ad it does ot exceed the boudaries of the start ad fiish time of the resource. I lie 15, the request is added to the schedule, removed from the request array i lie 16, its weight is deducted from the resource capacity i lie 17, ad set the ew start time to the ed time of that maximum request. The third phase is the fill-right-to-max phase. Here, all the time slots to the right of the maximum request selected i the previous phase are filled. This phase starts i lie 20 by sortig the request array i a o-decreasig order by start time of requests. Lies 21-23 iterate through all requests, pick up ay request with weight less tha the remaiig capacity of the resource, ad with a start time greater tha or equal to the ew left boudary. Util ow, it is the fiish time of the maximum request already selected i lie 14. Fially, add this request i lie 23 to the schedule. Similar to the previous phase, ay request selected to be i the schedule: (1) is removed from the request array (lie 24), (2) its weight is deducted agai from the available resource capacity (lie 25), ad (3) its fiish time is set temporarily to be the ew resource start time (lie 26). Lies 30-35 sigal the start of the swipe phase. The phase comprises iteratio through the request array ad removig all 338 P a g e

requests that have start time greater tha or equal to the fiish time of the maximum request. These requests are still existet i the request array because they are icompatible with either the maximum request or the request to the right of it. They are removed to resize the array ad start a ew iteratio with a fewer umber of requests. I lie 35, the start time of the maximum request is set to be the ew resource fiish time, ad i lie 36, the left boudary of the resource is set back agai to the origial start time S. Iteratios cotiue util there are o remaiig requests i the request array, i.e. size of the request array equals zero. The iteratio will stop at that poit. The schedule array will be sorted i a o-decreasig order by start time i lie 39, ad the schedule is retured to the callig routie. B. Aalysis All the terms that precede lie 5 are costats. Lie 5 itroduces the term K which is the umber of iteratios of the outer while loop. The loop is expected to ru util the request array is empty. I the worst case, the umber of iteratios is equal to the umber of itervals of the resource (K = F S). Assumig that all requests have weights less tha or equal to the capacity of the resource, each with start ad fiish time withi the boudaries of the start ad fiish time of the resource, ad assumig a worst-case sceario i which the maximum request, i.e. the oe with the highest profit, is at the ed of the request array. Accordig to the algorithm ad the assumptios aforemetioed, the filterig phase will ot be applicable to the iitial settig, so o items will be removed from the request array. I the maximum-request selectio phase, the maximum request will be added to the schedule ad removed from the request array. The third phase, fill-right-to-max, is ot applicable too, as log there are o requests to the right of the maximum request that has bee just selected. Similarly, the swipe phase will ot be applicable, because there remais o further requests right to the maximum request that are ot added to the schedule. Repeatig the same steps for K times, a empty array is obtaied. The sortig of a array takes Log time, i case of usig oe of the sortig algorithms of logarithmic rutimes such as the merge sort. Whe implemetig the algorithm usig Java, the Collectios.sort() method is used which has O(Log) rutime complexity accordig to Java documetatio [9]. Complexity of the algorithm is evaluated as follows: The largest term of equatio (3) is KLog, so the effort of the algorithm is O(KLog), As metioed earlier K = F S, thus, the effort of the algorithm is expressed as O((F S)Log). The value of F S i the complexity of the algorithm is arguable i the sese whether to remove it from the equatio or ot. I the case of cloud computig ad resource utilizatio, time slots ca be measured i secods or i factios of secods. If a time slot of 1 secod is assumed, for a 24-hour duty for a resource is equal to 86,400 secods (time slots), which approximates to 84K of slots. This implies that the value F S might be ifluetial i the calculatio of the complexity of the algorithm, so the complexity is expressed as O((F S)Log). C. Example Cosider a privately-owed cloud with a umber of resources available to users each with a capacity C ad is due to service hours startig from S = 08: 00 ad edig i F = 18: 00. The service provider charges a amout of PU as a profit per uit of weight. Assume 15 requests with capacities less tha the resource capacity (C) ad radom profits as show i Fig. 2 (a). The iitial schedule for the resource utilizatio is show i Fig. 2 (d). Whe ruig the algorithm that is show i Fig. 1, the followig steps will be executed: 1) Step 1:Sort the requests accordig to their profits i a o-icreasig order. The result is show i Fig. 2 (b). 2) Step 2:Comprises the followig steps: Add request R 11 which has the maximum profit to the schedule ad remove it from the requests array. The schedule will look like as i Fig. 2 (d) row MRS. Sort the remaiig requests i a o-decreasig order accordig to their startig times as show i Fig. 2 (c). 3) Step 3: Select a request that ca be fit after R 11 ito the schedule, i.e. its start time is equal to or greater tha the fiish time of R 11. R 2 is the selected request. The result of addig R 2 ito the schedule is show i Fig. 2 (d) row FRM. Now, R 2 must be removed from the requests array. The, ay further requests' selectios must be after the fiish time of R 2. 4) Step 4: Repeat step-3 for each request that follows R 2, each time chagig the ew start time to the selected request s fiish time util o further requests ca be added. Each time, the selected request is removed out of the request array. After this step R 3 ad R 7 will be selected to the schedule as i Fig. 2 (c), secod row labelled MRS. 5) Step 4: Repeat step-1 to step-4 util o requests ca be scheduled. The fial schedule will be as show i Fig. 2 (d) row Fial, with a total profit of 1630. 339 P a g e

ID Iterval Profit ID Iterval Profit ID Iterval Profit R 1 08-09 250 R 11 10-14 680 R 1 08-09 250 R 2 13-14 200 R 12 11-14 550 R 14 08-12 400 R 3 14-16 300 R 4 12-14 500 R 5 09-12 250 R 4 12-14 500 R 8 15-18 450 R 9 09-13 220 R 5 09-12 250 R 14 08-12 400 R 6 11-13 180 R 6 11-13 180 R 3 14-16 300 R 12 11-14 550 R 7 17-18 200 R 5 09-12 250 R 4 12-14 500 R 8 15-18 450 R 10 13-16 250 R 2 13-14 200 R 9 09-13 220 R 1 08-09 250 R 13 13-15 150 R 10 13-16 250 R 9 09-13 220 R 10 13-16 250 R 11 10-14 680 R 7 17-18 200 R 3 14-16 300 R 12 11-14 550 R 2 13-14 200 R 8 15-18 450 R 13 13-15 150 R 6 11-13 180 R 7 17-18 200 R 14 08-12 400 R 13 13-15 150 R 15 17-18 100 R 15 17-18 100 R 15 17-18 100 (a) (b) (c) Itervals Phase 8 9 10 11 12 13 14 15 16 17 18 Iitial MRS R 11 FRM R 11 R 2 FRM R 11 R 2 R 3 R 7 Fial R 1 R 11 R 2 R 3 R 7 (d) Fig. 2. A example: (a) Array of 15 requests to use the resources. (b) Requests array after sortig it i a o-icreasig order by requests weights. (c) The requests array after removig the request with the maximum profit ad sortig it agai i a o-decreasig order by the startig times of requests. (d) Resources Utilizatio Schedule; each row represets a phase: Iitial: iitial settig; MRS: Maximum-Request Selectio Phase; FRM: Fill-Right-to-Max phase; Fial: Fial Resource Utilizatio Schedule D. NP-Completeess Provig the NP-Completeess of a certai problem represeted i a laguage L is a two-step process. It ivolves [10]: (1) Prove that L NP, ad (2) Prove that L is NP-Hard: if there exists a laguage L, such that L NPC, ad L is polyomially reducible to L (L p L). To check that L NP, for the laguage L that does t have a polyomial-time solutio, there must be a algorithm (A) that checks (verifies) a proposed solutio i polyomial time. This algorithm is referred to as the certificate [11]. Figure 3 shows a list of kow NP-Complete problems orgaized i a hierarchical way so as a problem i a lower level of the tree ca be polyomially reduced to a problem i a higher level of the hierarchy. Fig. 3. A family tree of reductios [11] 340 P a g e

3M 9960.13 8582.96 8396.89 8766.30 8773.53 8558.79 9396.24 8603.12 9484.08 8704.05 8922.61 2M 4652.05 4737.74 4510.62 4931.98 4743.48 4478.73 4787.84 4678.89 4501.99 4911.64 4693.49 1M 2103.97 2093.14 2066.18 2126.77 2062.16 2066.81 2123.03 2079.78 2069.10 2119.20 2091.01 512K 957.36 936.62 936.57 943.66 1031.68 967.55 923.58 923.01 924.04 927.52 947.16 256K 463.88 350.29 352.48 347.63 347.63 345.24 352.96 371.47 373.05 373.04 367.77 128K 256.39 205.83 204.05 197.31 200.54 199.60 208.70 204.15 199.46 201.77 207.78 64K 95.02 90.04 68.17 76.03 78.27 72.25 76.67 76.38 73.63 70.54 77.70 1 2 3 4 5 6 7 8 9 10 DS Average (IJACSA) Iteratioal Joural of Advaced Computer Sciece ad Applicatios, Theorem 1. The resource utilizatio problem is a NP- Complete problem. Proof. Accordig to the two steps discussed earlier: The result of ruig the algorithm show i Fig. 1 ca be take to verify that it is a solutio to the resource utilizatio problem. A iteratio through the requests i the fial schedule checkig that all of them are withi the start ad fiish time of the resource workig hours takes oly O() for the verificatio process. This meas that a solutio is verifiable i a polyomial time, which meas that Resource-Utilizatio-Problem NP. To prove that the resource-allocatio problem is NP- Hard, there must be a laguage (L ) to which L ca be polyomially reduced, that is the kapsack problem. To show that Kapsack-Problem p Resource- Utilizatio-Problem, resource utilizatio must be casted to a istace of a kapsack problem to prove its NP-Hardess. Let the resource R be the kapsack ad the capacity of the resource be the kapsack capacity. The objective is to fill the kapsack, or utilize the resources, with requests so as they do ot exceed the capacity of the kapsack ad the profit is maximized. It is clear that the resource-allocatio problem is polyomially reducible to the kapsack problem, Kapsack-Problem p Resource-Utilizatio- Problem, which meas that the resource utilizatio problem is NP-Hard. From the previous two steps, it is prove that the resources utilizatio problem is a NP-Complete problem, Resource-Utilizatio-Problem NPC. TABLE I. RUNTIMES (IN MILLISECONDS) OF 10 EXPERIMENTS CONDUCTED ON DIFFERENT SIZES OF DATASETS Experimet IV. RESULTS Tests are coducted o differet datasets of sizes: 32K, 64K, 128K, 256K, 512K, 1M, 2M ad 3MB. Datasets with further sizes were uable to be tested o the test PC due to memory limitatios. Tests are performed o a Itel Core(TM) i5-3230m CPU with 2.60 GHz ad 3 MB cache with 4 cores ad 4 GB of RAM (3.86 GB is oly usable). The PC rus widows 7 Eterprise editio 32-bit. The applicatio program was writte i Java. Datasets are geerated by the applicatio ad saved to disk files. Each dataset is experimeted 10 times, rutime i millisecods is recorded, ad a average rutime is calculated. The parameters are set as follows: start time: 1, fiish time: 86400 (umber of secods i a 24-hour period), resource capacity: 1048576, PU: 0.001. Results are show i TABLE I. Figure 4 shows the experimetal rutimes depicted directly from TABLE I. Figure 5 shows the chart for the asymptotic otatio O((F S)Log), such that S = 1 ad F = 86,400. It is clear from both Fig. 4 ad Fig. 5 that experimetal ad theoretical results coverge. May terms are removed from the asymptotic otatio of the rutime complexity whe calculated theoretically, ad that explais the slight differece i shape betwee the two graphs. Fig. 4. Rutime chart for experimetal results Figure 6 shows the asymptotic O(Log) complexity. To depict this graph, the same dataset sizes i the experimets eed to be used, the the shapes of the graphs are compared together. This step is very importat i the way it is used to prove the asymptotic otatio. The cotroversial part i the asymptotic otatio was the use of F S i the expressio. Some ca argue that this term is ot ifluetial i the otatio. Mathematically, based o the values used above for both S ad F, the differece is very high which may lead the results of comparig both otatios to differ sigificatly. 341 P a g e

problem is a NP-Complete problem. Asymptotically, the algorithm s rutime is O((F S)Log). Results proved the asymptotic rutime is O((F S)Log). A importat part i that proof was whether to omit the term F S from the asymptotic otatio or ot by depictig two charts for the otatios, oe for O(Log) ad the other for O((F S)Log). The secod otatio was proved whe compared to the experimetal rutime results. Fig. 5. Theoretical rutime graph whe complexity is expressed as O((F s)log) Fig. 6. Theoretical rutime graph for complexity O(Log) From Fig. 5 ad Fig. 6, it is clear that the value F S is highly ifluetial o the overall performace of the algorithm, which meas it is ot possible to be removed from the rutime complexity. Thus the complexity is asymptotically expressed as O((F S)Log). This proves our asymptotic rutime complexity of the proposed algorithm. V. CONCLUSION I this paper, a optimizatio to the resources utilizatio problem i cloud computig is suggested. The solutio is based o a combiatio betwee the 0/1 Kapsack problem ad the activity-selectio problem. The problem was itroduced. The proposed greedy algorithm was aalyzed, ad the implemeted usig a Java program. It is proved that the VI. FUTURE WORK As a future work, the algorithm could be implemeted o a supercomputer. The schedulig ca be made olie by usig preemptio to obtai better utilizatio ad higher profits. As a additio to the curretly suggested model, differet pricig schemes for differet periods of the workig hours might be added, for example the peak time. REFERENCES [1] P. Mell ad T. Grace, "The NIST Defiitio of Cloud Computig, Recommedatios of the Natioal Istitute of Stadards ad Techology," Natioal Istitute of Stadards ad Techology, U.S. Departmet of Commerce, 2011. [2] H. AlJahdali, A. Albatli, P. Garragha, P. Towed, L. Lau ad J. Xu, "Multi-Teacy i Cloud Computig," i 2014 IEEE 8th Iteratioal Symposium o Service Orieted System Egieerig, 2014. [3] Azeez, S. Perera, D. Gamage, R. Lito ad P. Siriwardaa, "Multi- Teat SOA Middleware for Cloud Computig," i 3rd Iteratioal Coferece o Cloud Computig, Florida, 2010. [4] M. Hristakeva ad D. Shrestha, "Shrestha, Differet Approaches to Solve the 0/1 Kapsack Problem," i Midwest Istructio ad Computig Symposium, 2005. [5] L. J., S. E. ad S. S., "A HYPERCUBE ALGORITHM FOR THE 0/1 KNAPSACK PROBLEM," Joural of Parallel & Distributed Computig, vol. 5, o. 4, pp. 438-456, 1988. [6] D. Pisiger, Algorithms for Kapsack Problems, PhD Thesis, Dept. of Computer Sciece: Uiveristy of Copehage, 1995. [7] D. A., E. E., K. S., L. J., S. J. ad W. G., "Group Activity Selectio Problem," Lecture Notes i Computer Sciece, vol. 7695, pp. 157-170, 2012. [8] V. K. Patel ad M. H. Padya, "Learig of Schedulig Algorithm with Maximum Compatible Activity or Miimum Makespa," Iteratioal Joural of Egieerig Developmet ad Research (IJEDR), vol. 1, o. 2, pp. 121-124, 2014. [9] Java Documetatio, "Class Collectios, Java Doc," Oracle, [Olie]. Available: http://docs.oracle.com/javase/7/docs/api/java/util/collectios.html. [Accessed 28 12 2015]. [10] T. H. Corme, C. E. Leiserso, R. L. Rivest ad C. Stei, Itroductio to Algorithms, 3rd ed., The MIT Press, 2009. [11] T. H. Corme, Algorithms Ulocked, The MIT Press, 2013. 342 P a g e