Cloud storage systems have been introduced to provide a scalable, secure, reliable, and highly available data storage environment for the organizations and end-users. Therefore, the service provider should grow in a geographical extent. Consequently, extensive storage service provision requires a replication mechanism. Replication imposes many costs on the cloud storage, including the synchronization, communications, storage, etc., costs among the replicas. Moreover, the synchronization process among replicas is a major challenge in cloud storage. Therefore, consistency can be defined as the coordination among the replicas. In this paper, we propose an extension to the strict timed causal consistency by adding the considerations for the monetary costs and the number of violations in the cloud storage systems and call it the extended strict timed causal consistency. Our proposed supports monotonic read, read your write, monotonic write, and write follow read, models by taking into account the causal relations between users' operations, at the client-side. Besides, it supports timed causal at the server-side. We employed the Cassandra cloud database that supports various consistencies such as all, one, quorum, etc. Our method performs better in reducing staleness rate, the severity of violations, and monetary cost in comparison with all, one, quorum, and causal.
In ubiquitous environments today, there are numerous sensors that generate a large amount of data. The results of processing this massive data can be applied through peripheral actuators in the surrounding environment of users. On the other hand, users are more interested in running compute-intensive applications on their mobile devices in the minimum possible time and regardless of resource limitations. Due to resource limitations in ubiquitous and mobile environments, processing in a completely local manner is either impossible or very time-consuming. As a result, researchers propose running computational ubiquitous and mobile applications on clouds within a minimum possible time and without any resource limitations. This can be achieved by utilizing the elastic features of computational clouds and the offloading technique. The present research proposes a mechanism for computation offloading decision making, whose main purpose is to simultaneously reduce energy consumption and execution time in ubiquitous and mobile devices. Based on energy saving and execution time criteria and the consideration of some context-aware parameters, the proposed online mechanism performs the decision-making process for task offloading. Through simulation and the usage of real workload data, the current work evaluates the efficiency of the proposed offloading decision mechanism and the results show it to be satisfactory.
Cloud computing is a model of distributed systems. This system allows users to access virtual resources including the processing power, storage, applications, etc. Storage as a Service (SaaS) is one of the cloud computing services. Cloud storage systems provide this service for the end-users, and deliver data availability and durability as well as global accessibility throughout the Internet. High data availability and scalability are very crucial criteria for the end-users in cloud storage systems. To achieve them, we need replication in these systems. However, the replication brings about asynchronization of data among replicas in different cloud data-centers. It reduces the performance of the cloud storage systems as well. Therefore, replication is one of the crucial challenges in cloud storage systems. These systems need to ensure that the data are synchronized among different replicas by implementing consistency policies. In this paper, we present the Strict Timed Causal Consistency (STCC) as a hybrid consistency model which can be considered as an extension to the cloud computing. This consistency model has two components: client-side, and server-side. At the client-side, this model supports monotonic read, monotonic write, read your write, and write follow read consistencies. At the server-side, it supports the Timed Causal Consistency (TCC) as well. Additionally, it is stronger than the client-centric and is more flexible than the data-centric approaches. In spite of partition tolerance, our proposed method guarantees the consistency and satisfies data availability. Cassandra is a NoSQL database with high scalability and availability. Cassandra comes with multiple consistency levels as a service such as ONE, ALL, QUORUM, etc. We have examined the proposed approach with respect to different consistency levels of Cassandra and Causal Consistency (CC). Yahoo Cloud Serving Benchmark (YCSB) consists of a number of workloads which are used to evaluate our proposed method. We have executed different workloads on the Cassandra clusters and with respect to which we have made a comparison between the performance of our proposed method and the four other different consistency levels in Cassandra. The experimental results based on the comparison between the proposed method and ONE, ALL, QUORUM, as well as the CC consistencies, on a Cassandra cluster with 24 nodes, testify that on average our approach has reduced the stale read rate by 24% on workload-A, and on workload-B by 25%. Also, the system throughput with respect to workload-A has increased by more than 20%. Besides, when we applied our proposed STCC on workload-B the system throughput increased by almost 35%.
The replication mechanism resolves some challenges with big data such as data durability, data access, and fault tolerance. Yet, replication itself gives birth to another challenge known as the consistency in distributed systems. Scalability and availability are the challenging criteria on which the replication is based upon in distributed systems which themselves require the consistency. Consistency in distributed computing systems has been employed in three different applicable fields, such as system architecture, distributed database, and distributed systems. Consistency models based on their applicability could be sorted from strong to weak. Our goal is to propose a novel viewpoint to different consistency models utilized in the distributed systems. This research proposes two different categories of consistency models. Initially, consistency models are categorized into three groups of data-centric, client-centric and hybrid models. Each of which is then grouped into three subcategories of traditional, extended, and novel consistency models. Consequently, the concepts and procedures are expressed in mathematical terms, which are introduced in order to present our models' behavior without implementation. Moreover, we have surveyed different aspects of challenges with respect to the consistency i.e., availability, scalability, security, fault tolerance, latency, violation, and staleness, out of which the two latter i.e. violation and staleness, play the most pivotal roles in terms of consistency and trade-off balancing. Finally, the contribution extent of each of the consistency models and the growing need for them in distributed systems are investigated.
In ubiquitous and mobile computing environments, most of user requests have timing constraints. Therefore, for their execution, real-time scheduling mechanisms should be employed. In such environments, some mechanisms, such as Earliest Deadline First and Least Slack Time Rate (LSTR), are the most used real-time scheduling algorithms today. However, these existing mechanisms cannot guarantee the execution of the most critical user tasks. Furthermore, the results of executed tasks should also be provided to users on time so as to not waste the resources processing these tasks. The existing scheduling mechanisms, such as Dynamic Adjustment with Time Constraint and Dynamic Priority-based Heuristic action (DPH), are not suitable for this due to some limitations. The current paper proposes two new lightweight real-time mechanisms for scheduling input tasks (received requests) and output tasks (execution results) and evaluates their performance. The first mechanism satisfies users based on the classification of similar tasks and the use of the LSTR algorithm. The second mechanism is an improved form of the combination of the LSTR and DPH algorithms, and aims provide users with the maximum number of services by considering a possibility matrix. Extensive simulation experiments on real workload data demonstrate the superiority of the proposed mechanisms over existing algorithms, in terms of the percentage of executed tasks, makespan, and average turnaround time criteria.
Challenges in pure ubiquitous computing, including the limitation of being multi-domain, absence of a uniform namespace, impossible intensive mobility of users, limited resources, lack of scalability, intensive applications, and so forth, have led researchers to provide hybrid ubiquitous architectu res that are generally cloud-based. However, various types of services have not been considered in the introduced hybrid architectures nor have any of these architectures provided a general categorization of services independent of application type. The current paper introduces a cloud-based ubiquitous architecture called as CLOUBI. The main purpose of this architecture is to remove restrictions on pure ubiquitous architectures. In addition, two general categories of services are presented in this architecture, of which one is based on the nature of services and the other on the distance between the requesting and responding entities, with both being independent of application type. In the nature-based categorization, services are divided into four types: data, context-aware, software, and hardware. In the distance-based categorization, services are of five types: near, local, remote, global, and far. In order to design CLOUBI architecture and formulate its proposed categorization, various criteria are examined, including the types of inputs, nature of requests, characteristics of an ideal ubiquitous architecture, and features expected from the services in hybrid architectures. In addition, the most important security concerns related to ubiquitous cloud computing architectures are discussed.
Affinity-aware thread mapping is a method to effectively exploit cache resources in multicore processors. We propose an affinity- and architecture-aware thread mapping technique which maximizes data reuse and minimizes remote communications and cache coherency costs of multi-threaded applications. It consists of three main components: Data Sharing Estimator, Affine Mapping Finder and Maximum Speedup Predictor. Data Sharing Estimator creates application-specific data dependency signatures used by Affine Mapping Finder to determine the appropriate thread mapping of application for a given architecture. To prevent excessive thread migration, Maximum Speedup Predictor estimates the speedup of the obtained mapping and ignores it if it causes no significant performance improvement. The proposed framework is evaluated using Phoenix benchmark suite on two different multicore architectures. The proposed thread mapping approach gives 25% improvement in performance compared to default Linux scheduler. We also elucidate that affinity-based thread mapping approaches, which only consider the number of shared blocks, are not appropriate enough to accurately estimate data dependency between threads and determine the proper thread mapping.
Cloud computing is able to allocate different resources as virtual machines (VMs) to users, who need only pay for the amount of resources used. Two of the challenges in clouds are resource allocation and pricing in such a way to satisfy both cloud providers and users. Existing allocation and pricing mechanisms cannot guarantee increased profits due to various reasons. A better solution to increase the satisfaction of both parties, which is supported by economic theory, is the employment of auction-based allocation and pricing mechanisms. In these mechanisms, cloud resources and services are awarded based on the highest bids, while winners receive the quality of services expected. However, most existing auction-based mechanisms are inefficient and cannot be used in real clouds due to high computational or communication overhead, the bid function’s time complexity, and/or its inaccurate estimates. In the present paper, a lightweight mechanism is introduced which can be utilized in the real-world application of clouds. The currently proposed mechanism is a winner-bid auction game that seals users’ bids by a multi-criteria valuation-based bid function and sends them to the auctioneer. During scheduling, the auctioneer awards VMs exclusively to users with the highest bids. The presented approach is an online auction whose main aim is to increase the profits of the provider and user from different criteria. While determining the Nash equilibrium, the current study specifies the prices to be paid by users in various cases and proves the truthfulness of the proposed method. Finally, the effectiveness of the presented mechanism is examined through extensive experiments on different simulation scenarios and actual workload data.
Huge energy consumption in cloud infrastructure has turned into a challenging problem. Virtualization technology, which can be regarded as the first step in energy conservation by offering benefits like on-demand resource provisioning and live migration, creates a platform on which different resource allocation and scheduling policies can be defined on how to accumulate VMs on fewer number of hosts while respecting performance metrics. In this paper, after presenting a classification on VM placement strategies, we propose different combinatorial placement policies that take load dispersion of hosts into account to dynamically adapt their placement decisions. Simulated experiments through Cloudsim showed noteworthy results concerning energy-performance tradeoff.
Although the growth in the scale and complexity is the response of High Performance Computing (HPC) systems like computational grids to the ever-increasing demand for high processing capacity, it also makes these systems considerable energy consumers. In fact, high energy consumption is the new challenge in front of performance improvement of HPC systems and thus power management is now a necessity for them. One of the major components that can have a great role in the power-saving process is the scheduler. In this paper, a new power-aware scheduling algorithm is proposed by incorporating the characteristics of both job and resource into the jobmapping and ordering, and frequency-setting decision steps. In addition to the analytical study, the proposed scheduler has been evaluated based on results obtained from experiments in different resources heterogeneity levels and workload conditions. The results show the greater capability of the proposed scheduling algorithm in comparison with other related approaches.
Efficient energy use has become a critical issue for resource management in Cloud data centers. Virtualization is a key technology for reducing energy cost and improving resource utilization in data centers. One of the challenges faced by virtualized data centers is to decide how to pack VMs on the least number of hosts. This paper presents a decentralized scheduling policy for dynamic consolidation of VMs equipped with ARIMA model to improve resource allocation by predicting resource usage of VMs in the near future so as to minimize Service Level Agreement (SLA) violations and energy consumption in Cloud data centers.
Parallelism is a suitable approach for speeding up the massive computations of applications, but parallel programming is difficult yet. Algorithmic skeleton is a parallel programming model that provides a high level of abstraction for programmers. This approach uses the pre-defined components to facilitate easier parallel programming. Divide and conquer (DC) is an appropriate parallel pattern for implementation as a skeleton. The solution of the original problem is obtained by dividing it into smaller sub-problems and solving them in parallel. Today, graphics processor unit (GPU) is an attractive computational processor for doing tasks in parallel, because it has a large number of process units. In this paper, divide and conquer skeleton on GPU has been proposed and named OC_GFV.DC_GPU is a divide and conquer skeleton that is implemented on GPU that using a consistent programming interface in C++ for easier parallel programming. Performance of this skeleton has been evaluated by mergesort and sobeledge detection. The results show that obtained speedup at this skeleton is more than 2 on GPU.
Power management in large-scale computational environments can significantly benefit from predictive models. Such models provide information about the power consumption behavior of workloads prior to running them. Power consumption depends on the characteristics of both the machine and the workload. However, combinational features such as the cache miss rate cannot be considered due to their unavailability before running the workload. Therefore, pre-execution power modeling requires both machine-independent workload characteristics and workload-independent machine characteristics. In this paper the predictive modeling problem is tackled by the proposal of a two-stage modeling framework. In the first stage, a machine learning approach is taken to predict single-threaded workload power consumption at a specific frequency. The second stage analytically scales this output to any intended thread/frequency configuration. Experimental results show that the proposed approach can yield highly accurate predictions about workload power consumption with an average error of 3.7 % on six different test platforms.
Computer benchmarking is a common method for measuring the parameters of a computational model. It helps to measure the parameters of any computer. With the emergence of multicore computers, the evaluation of computers was brought under consideration. Since these types of computers can be viewed and considered as parallel computers, the evaluation methods for parallel computers may be appropriate for multicore computers. However, because multicore architectures seriously focus on cache hierarchy, there is a need for new and different benchmarks to evaluate them correctly.To this end, this paper presents a method for measuring the parameters of one of the most famous multicore computational models, namely Multi-Bulk Synchronous Parallel (Multi-BSP). This method measures the hardware latency parameters of multicore computers, namely communication latency (gi) and synchronization latency (Li) for all levels of the cache memory hierarchy in a bottom-up manner. By determining the parameters, the performance of algorithms on multicore architectures can be evaluated as a sequence.
Volunteer computing which benefits from idle cycles of volunteer resources over the Internet can integrate the power of hundreds to thousands of resources to achieve high computing power. In such an environment the resources are heterogeneous in terms of CPU speed, RAM, disk capacity, and network bandwidth. So finding a suitable resource to run a particular job becomes difficult. Resource discovery architecture is a key factor for overall performance of peer-to-peer based volunteer computing systems. The main contribution of this paper is to develop a proximity-aware resource discovery architecture for peer-to-peer based volunteer computing systems. The proposed resource discovery algorithm consists of two stages. In the first stage, it selects resources based on the requested quality of service and current load of peers. In the second stage, a resource with higher priority to communication delay is selected among the discovered resources. Communication delay between two peers is computed by a network model based on queuing theory, taking into account the background traffic of the Internet. Simulation results show that the proposed resource discovery algorithm improves the response time of user’s requests by a factor of 4.04 under a moderate load.
SLA-based job scheduling and resource allocation are based on the concept of agreement between supplier and consumer, and negotiation is the first step in establishing a service level agreement (SLA) between two participants. This article presents a bilateral negotiation protocol using the alternate offers model for scheduling and resource allocation in Grid-Federation. This method with considering the user's and resources owner's criteria aims to meet the users' quality of service (QoS) requirements and improves job migration conditions as well as realizes utility for the resource owners. Our simulations on GridSim toolkit explain the usefulness of this approach in providing QoS to users and its impact on superscheduling in Grid-Federation.
By becoming more popular and complex, HPC systems like computational grids, clusters, clouds and the supporting data centers are now changed to remarkable energy consumers. A wide variety of researches, ranging from power-aware hardware design to developing optimized programs and to power-aware job scheduling, have been done hitherto in order to reduce their energy consumption. However, the success of these approaches highly depends to having a precise knowledge about power consumption behavior of the target system. In this paper, some neglected facts are shown about combinational effects of jobs' and resources' characteristics on energy consumption rate and define corresponding parameters which make these facts practically utilizable by formulating them as functions of job-machine characteristics. These facts are supported by the experimental analyses on real machines and analytical studies. The outcome of this paper can be exploited to have more energy efficient task mapping process in large-scale heterogeneous computational systems.
As compared with supercomputers and PCs, the higher rate of unsuccessful job execution in today's distributed and large systems like clusters and grids is a significant reason behind squandering of their resources. Although many approaches have been proposed in order to make these environments more fault tolerant, their great overhead convinces the researchers to look for preventive methods. In this work, we employ a job futurity predictor to manage the arriving jobs efficiently. To this end, a novel meta-scheduler sub-component called Job Submission Manager JSM is proposed. The main role of JSM is to filter the incoming jobs according to some parameters such as current system load, job failure probability. The experimental results based on two different modelling approaches indicate that this managing component can effectively influence the system throughput and increase the utilisation of computing resources.
One of the main challenges in peer-to-peer-based volunteer computing systems is an efficient resource discovery algorithm. Load balancing is a part of resource discovery algorithm and aims to minimize the overall response time of the system. This paper introduces an analytical model based on distributed parallel queues to optimize the average response time of the system in a distributed manner. The proposed resource discovery algorithm consists of two phases. In the first phase, it selects peers in a load-balanced manner based on QoS constraints of request. In the second phase, a proximity-aware feature is applied to select the peer with minimum communication overhead among selected peers in the first phase. Two dispatching strategies are proposed for the load balancing based on stochastic analysis of routing in the distributed parallel queues. These policies adopt probabilistic and deterministic sequences to redirect requests to the capable peers in the system. Simulation results show that the proposed resource discovery algorithm improves the response time of user’s requests by a factor of 1.8 under a moderate load.
Mohammad R. Akbarzadeh-Totonchi合作论文数Department of Electrical Engineering;Faculty of Engineering1