The execution of delay-sensitive mobile applications on an end-user mobile device is challenging due to its resource limitations. To improve application execution time, one can offload its compute-intensive tasks from the device to cloud servers. Still, communication delay between hosts (device and servers) can increase execution time. This calls for finding an optimal allocation of tasks across hosts that minimizes execution time. Finding an optimal task allocation is an NP-hard optimization problem. In this work, we formulate a novel QUBO for task offloading. We then demonstrate its use by applying QAOA on an example workflow, and our best allocation obtained matches that of the exhaustive approach. Here, we aim to provide insight as to how task offloading can be approached using quantum methodology.
Offloading computation-intensive applications from a mobile device to remote servers can improve the response time of the mobile device as well as its battery life. However, the benefits of computation offloading can be affected by faults in computation resources and network links, making resource management and task allocation even more challenging when fault tolerance is a consideration. While several mechanisms exist for protecting against such faults, fault-tolerance mechanisms typically introduce overheads, creating a challenge for efficient resource management in computation offloading. To reduce the overheads of fault-tolerance mechanisms in computation offloading, these mechanisms can be selectively applied to parts of the application with the highest fault impact. This necessitates the identification of such parts, which is a complex and time-consuming undertaking. In this paper, we propose a novel algorithmic approach tailored for cloud resource management that can evaluate the fault impact of tasks of an application, eliminating the need for time-consuming fault injection simulations. This approach enables more rapid analysis of an existing scenario, as well as more efficient exploration of alternative resource allocations. The proposed approach is evaluated on both an example workflow graph and a real face recognition application, and the results are verified against fault injection simulations. We also present a case study and show how the insights obtained from this analysis can be used to selectively apply fault-tolerance mechanisms to tasks with the highest fault impact within an application, to better manage and utilize additional cloud resources when designing for improved fault tolerance.
Offloading computation-intensive tasks of an application from a mobile device to a remote computation resource can improve the runtime of the application as well as improve the lifetime of the mobile device’s battery. However, computation offloading is a complex endeavour: remote computation resources in the cloud and in the fog have different computation capabilities and costs, and the network bandwidth and latency between different resources need to be taken into account. In addition, the mobile device would ideally like to offload multiple applications simultaneously, further adding to the complexity of assigning different tasks of each application to available computation resources. In this paper, we introduce an open-source versatile computation offloading simulator (OVCOSim), capable of simulating and optimizing offloading multiple applications to different cloud and fog resources and visualizing the outcome for users. We demonstrate how OVCOSim can be used to optimize assignment of tasks to computation resources to accommodate different user objectives, runtime, battery life, cost, or a combination of these objectives, using a variety of assignment algorithms. We also provide several examples to demonstrate how OVCOSim can be used, as well as validate its functionality.
We propose a deterministic analytical model that considers dynamic allocation of spark executors while predicting execution time of spark applications. Our new model uses idle time and backlog time metrics to determine whether to add or remove executors. Following the update of executors, this model traverses every stage of a direct acyclic graph using a graph traversal algorithm. We repeat this process until the total execution time of the spark application is calculated. We validate our model against the measured execution time for Query-52 and K-Means workloads that reveal error rates of 4.96% and 4.74%, respectively. A comparison of our model to four classic machine learning models indicates that it is more effective than linear regression, neural networks, decision trees, and random forest. To the best of our knowledge, this is the first deterministic analytical model that accounts for dynamic allocation of executors.
This work proposes a graph-based, deterministic analytical model that predicts the execution time of spark applications. It conceptualizes the structure of the spark application as a monolithic Directed Acyclic Graph (DAG) of stages capturing the precedence relationship among all the stages of the application. The model processes every stage of the DAG using a graph traversal algorithm, combined with a fixed scheduling policy of the spark platform in context (spark platform refers to the cloud that hosts the spark cluster). We validate our model against the measured execution time obtained by running a big data query (Query-64 of TPC-DS benchmark) that involves parallel execution of a large number of stages. The query is executed on the spark cluster of Google Cloud. Our model resulted in an execution time that is at 2.85% error in comparison to the measured execution time.
A session-based software system provides various services to its end users through graphical user interfaces. A novice user of a service's user interface takes more think time—the average time to comprehend the content and its layout on the interface—in comparison to expert users. The think time gradually decreases as she repeatedly comprehends the same interface over time. This decrease in think time is the user learning phenomenon. Owing to this learning behavior, the proportion of users—at various learning levels for different services—changes dynamically leading to a difference in the workload. Traditionally though, workload specifications (required for system performance evaluation) never accounted for user learning behavior. They generally assumed a global mean think time, instead. In this work, we first report an experimental study that demonstrates the impact of user learning of the graphical user interfaces of session-based systems. We measure the performance data of a real system while it is getting used by synthetic users (who are) at various learning levels. Statistical tests on our measured data reveal that different human learning curves, combined with different amounts of users arriving the system with various learning levels for different services, produce different system performance. Next, we explain a queueing network (QN) performance model called CogQN that accounts for user learning. It is a multi-class QN model where each service and its learning level constitute a class of users for the service. We present the concept of learning-level dependent, class-switching probabilities to model the probabilistic transition of learning levels of users for different services. This novel concept enables us to avoid the exponential explosion of classes that would otherwise be suffered by traditional class-switching theory, had it been used in this work. We solve the model using discrete-event simulation and validate it against the empirical data. Our CogQN model captures the effect of user learning on overall mean response times across different learning conditions within 10% absolute error in comparison to empirical data.
This paper investigates the reliability assessment and availability prediction techniques used in modeling of advanced (next generation) wireless communication networks. The 5G, 5G+, beyond 5G (B5G) and 6G communication technologies are leading to emerging applications of wireless communication that use cloud computing, edge computing, and fog computing. In the last decade, various user-centric and service-oriented networks such as internet of things (IoT), smart cities, smart homes, smart grids, drones, and unmanned aerial vehicles (UAV) have been deployed that use technologies such as network function virtualization (NVF), software defined networking (SDN), and 5G. This has led to proliferation of IoT devices and IoT applications in various critical usage systems such as intelligent transportation systems, smart healthcare, and e-commerce. The availability and reliability of wireless connectivity in IoT devices and nodes is of significant importance as unavailability of nodes or end-user devices even for a millisecond could cause failure of healthcare systems or lead to malfunction of connected and autonomous vehicles, or compromise the smart grids power generation and distribution, leading to fatal outcomes.
A fault management system contains managers that detect faults as well as initiate recovery actions. Such management systems often come in an architecture that is not only a distributed one but also decoupled from the applications. Although an arrangement like this promotes scalability, it unfortunately makes the recovery of applications dependent on the fault management system itself. This work introduces two novel equations to meet the performance objectives of applications. To this end, we first create an equation that estimates the maximum number of jobs to be handled by an application instance for meeting a given performance objective. This formula is then used by admission control mechanism to restrict the number of jobs (targeted for operational application instances) to be allowed to enter the system. Next, we create a second equation that computes the response time distribution of an application. Thereafter, we develop a simulation model that predicts the impact of the failure of four sample fault management architectures on application’s performance. Exploiting our equations, we compare the architectures in terms of three distinct ways of handling affected jobs when application instances fail—allow job loss; retry jobs resulting in overload; employ admission control to mitigate the overload. Our simulation results show that boosting the number of managers may not always be beneficial; rather, it could possibly be the interconnection topology (i.e. the layout of interconnects linking the architectural components) of the management architecture, together with the model parameter values that may sometimes have a bigger role to play in the application’s performance.
Offloading heavy computations from a mobile device to cloud servers can reduce the power consumption of the mobile device and improve the response time of mobile applications. However, the gains of offloading can be significantly affected by failures of cloud servers and network links. In this thesis, we propose a fault-aware, multi-site computation offloading model capable of finding efficient allocations of tasks to resources. Our model reduces both response time and energy consumption by incorporating the effect of failures and recovery mechanisms for various offloading allocations. In addition, we create a fault-injection framework to evaluate an allocation under various failure rates and recovery mechanisms. The experiments carried out with our fault-injection framework demonstrate that our fault-aware model can determine an allocation—based on the type of failures, failure rates, and the employed recovery mechanisms—that improves both response time and lower energy consumption compared to model without failures.
A session-based system provides various services to its end users through user interfaces. A novice user of a service's user interface takes more think time-the time to comprehend the content, and the layout of graphical elements, on the interface-in comparison to expert users. The think time gradually decreases, as she repeatedly comprehends the same interface, over time. This decrease in think time is the user learning phenomenon. Owing to this learning behavior, the proportion of users-at various learning levels for different services-changes dynamically leading to a difference in the workload. Traditionally though, workload specifications (required for system performance evaluation) never accounted for user learning behavior. They generally assumed a global mean think time, instead. In this work, we propose a novel queueing network (QN) model called CogQN that accounts for user learning. It is a multi-class QN model where each service and its learning level constitute a class of users for the service. The model predicts overall mean response times across different learning modes within 10% error in comparison to empirical data.
When an application deployed in the cloud faces changing workload, the services of the application need scaling up or down in response. The services run on Virtual Machines (VM) or container instances. Application Providers (APs) decide on how the applications are scaled through VM provisioning and through the placement of the services on those VMs. Various drivers guide this decision making. Application performance and cost are two such drivers. In this paper, we answer the question of how APs can meet the performance constraints of their applications while minimizing the cost of the running VMs. A VM provisioning problem is formulated which expects to meet mean response time constraints and minimize the cost, where VM-types having different cost rates are used. The proposed solution is based on genetic algorithm and bottleneck strength value. For the case study, a decision maker is implemented for a web application. The proposed solution is compared against an exhaustive search, a simple genetic algorithm and a random search. It is shown that our solution is able meet response time constraints with near optimal minimization of cost. The solution also results in better cost than random search and the plain genetic algorithm solution at the expense of slightly longer runtime.
The demand for running complex applications on smart mobile devices is rapidly increasing. However, the limitations of resources are restricting the development of intensive applications on these devices. The restrictions can be overcome by offloading the computation of an application in the powerful cloud servers. The objective of the computation offloading is to offload the parts of an application to the cloud server to minimize the response time, energy consumption and monetary cost of the application. Unlike prior work in computation offloading, this work considers the effect of parallel execution—on different devices (external parallelism) and on the different cores of a single device (internal parallelism). This work models each device as a multi-server queueing station. It uses genetic algorithm to determine the near-optimal offloading allocation. The results show that considering the effect of parallel execution yields better pareto-optimal solution for the allocation problem compared to excluding parallelism.
Cloud-radio access network (C-RAN) is regarded as a promising solution to manage heterogeneity and scalability of future wireless networks. The centralized cooperative resource allocation and interference cancellation methods in C-RAN significantly reduce the interference levels to provide high data rates. However, the centralized solution will not be scalable due to the dense deployment of small cells with fractional frequency reuse by small cells, causing severe inter-tier and inter-cell interference turning the resource allocation and user association into a more challenging problem. In this paper, we propose an auction based distributed resource allocation method (ADRA) for a two-tier OFDM based C-RAN system. We investigate a joint user association, radio resource and power allocation problem for small cells underlying a macro C-RAN system. First, we establish a queueing model in C- RAN. We then formulate an optimization problem for joint user association and resource allocation with the aim to minimize mean response time. Resource allocation, interference and queueing stability constraints are considered in the optimization problem. To solve this problem, we propose a distributed method where small cell users and small cell base stations jointly participate using the concept of auction theory. The ADRA method is evaluated via simulations by considering the different ratio of bandwidth utilization.
End users of cloud applications range from novice to expert depending on how experienced they are in using them. With repeated usage of an application, a user's think time gradually decreases, known as human learning phenomenon. This decrease impacts the system workload thereby affecting the application's transient performance. However, such impact of human learning on system performance has never been accounted for. In this work we propose a closed queueing network model that accounts for human learning in analyzing the transient performance of a tiered cloud application. We solve the model using discrete event simulation. The model results show that the lack of accountability of human learning may lead to incorrectly selecting a virtual machine configuration that fails to meet the system response time requirement.
Increasingly, the application providers are using a separate fault management system that offers out-of-the-box monitoring and alarms support for application instances. A fault management system is usually distributed in nature and consists of a set of management components that does both fault detection and can trigger actions, for example, automatic restart of monitored components. Such a distributed structure supports scalability and helps to ensure that an application meets its quality requirements. However, successful recovery of an application then depends on the fault management architecture and the status of the management components. This paper presents a simulation model that accounts for the effect of management-architecture based coverage on the mean throughput of an application. Such a model would benefit the application providers for choosing the right fault management architecture for their applications.
Deploying and managing a high availability tiered application in the cloud is a challenging task because it requires determining and buying enough number of VMs dynamically such that the application is available. An application is available if it is working and it can respond in a timely manner for varying workloads. For a given workload, we will need a minimum number of working copies for each server and the minimum computing power of VMs necessary to run those copies for meeting the response time requirement. Otherwise, we will end up with response time failures. In this work, we assume that each software server of an application is replicated into one or more copies and each copy runs on a separate virtual machine (VM). VMs can be of different types depending on their computing power, availability and cost. This paper presents a novel optimization model to determine the number and types of VMs needed for each server that minimizes the cost and at the same time guarantees the availability SLA (service-level agreement). The results demonstrate that it is more cost effective to have a mixture of different types of VMs for running the copies of a server rather than restricting the copies to run on a single type of VMs. The results further demonstrate that the decision to buy only the cheapest VMs for an application is not always better cost-wise.
To familiarize herself with a user-interface of a software system, a user needs practice. With practice, a user's think time gradually decreases—the novice to expert transition. We propose a queueing model that accounts for this transition in analyzing the performance of a distributed software system. We solve the model using deterministic simulation. Our model captures system performance in terms of system response time. We use the model to demonstrate how users— who are at various experience levels in the novice to expert continuum—may affect the system response time.
Performance analysis of distributed systems with tiered software architecture has popularly entailed mean response time as the commonly used metric. It must be noted however that as a metric, response-time percentile is of greater importance since it is more desirable to reduce the variability of a system’s response time, rather than minimizing the mean response time. It is a fact that analytical approximations for response time distribution do exist. However these analytical solutions capture only the steady-state behaviour (long-run behaviour) of the system. On the other hand, today’s tiered cloud-based systems are so complex that they never reach steady-state. Consequently, analyzing their transient behaviour (short-term behaviour) becomes far more important than analyzing their steady-state behaviour. Regardless, it is a difficult task to accomplish transient analysis analytically due to the enormous state space of such systems. In this work, we analyze the transient behaviour of a 3-tier cloud-based system using discrete event simulation. We model the system as an open queueing network and estimate the response time distribution through the simulation. The results show that in a 3-tier system, a configuration with large number of virtual machines (VMs) does not necessarily perform better than a configuration with smaller number of VMs. The results further show that different system configurations containing the same number of VMs yield different performance depending on the replication level of software components running in different tiers. We demonstrate that our model can serve as part of a decision support system associated with dynamic VM provisioning. Our model can be used to determine whether a given number of VMs can meet the desired service-level objectives (SLOs) specified in terms of response time percentile. CCS Concepts • Software and its engineering➝Software performance
Increasingly, software applications are being deployed in clouds because cloud computing offers several advantages -- for example, it relieves the application service providers from buying and maintaining data centers thereby reducing the operational costs, it allows dynamic scaling of virtual machines as required on a pay-per-use basis, and, it promotes easy deployment in multiple geographic locations at minimal cost. A key challenge in deploying a multi-tier web application in cloud is to achieve low variability in its response time. In this paper, we analyze the behaviour of a 3-tier cloud-based web application. We propose a hierarchical model to compute the response-time distribution that considers performance degradation of the application due to VM failures. Our model applies order statistics to describe the application's availability behavior and open queueing network to describe its performance behavior. We solve the open queueing network using discrete event simulation. The results show that in a 3-tier system, a configuration with large number of virtual machines (VMs) does not necessarily perform better than a configuration with smaller number of VMs. Moreover, for a given set of performance and availability parameters, the results further show that different system configurations containing the same number of VMs yield different performance depending on the replication level of the VMs in different tiers. We demonstrate that our model can be exploited to support the selection of appropriate number of replicas for different tiers that would meet the service-level agreement specified in terms of response-time percentiles.
Greg Franks合作论文数Department of Systems and Computer Engineering at Carleton University1