With the increasing use of the Internet of Things (IoT) in various fields and the need to process and store huge volumes of generated data, Fog computing was introduced to complement Cloud computing services. Fog computing offers basic services at the network for supporting IoT applications with low response time requirements. However, Fogs are distributed, heterogeneous, and their resources are limited, therefore efficient distribution of IoT applications tasks in Fog nodes, in order to meet quality of service (QoS) and quality of experience (QoE) constraints is challenging. In this survey, at first, we have an overview of basic concepts of Fog computing, and then review the application placement problem in Fog computing with focus on Artificial intelligence (AI) techniques. We target three main objectives with considering a characteristics of AI-based methods in Fog application placement problem: (i) categorizing evolutionary algorithms, (ii) categorizing machine learning algorithms, and (iii) categorizing combinatorial algorithms into subcategories includes a combination of machine learning and heuristic, a combination of evolutionary and heuristic, and a combinations of evolutionary and machine learning. Then the security considerations of application placement have been reviewed. Finally, we provide a number of open questions and issues as future works.
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.
One of the main challenges in volunteer computing systems is scheduling large-scale applications expressed as scientific workflows. This work aims to integrate partitioning scientific workflows and proximity-aware resource provisioning to increase the percentage of workflows that meet the deadline in peer-to-peer based volunteer computing systems. In the partitioning phase, a scientific workflow is partitioned into sub-workflows in order to minimize data dependencies among them. We utilize knowledge-free load balancing policy and proximity of resources to distribute sub-workflows on volunteer resources. Simulation results show that the proposed workflow scheduling system improves the percentage of scientific workflows that meet the deadline with average of 18
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.
As Web services proliferate, finding a service that can perform a given request becomes more difficult. In some cases, a composition of several services may be required. In semantic Web service composition, a repository of services is given in which input and output parameters of each service are annotated with a concept from ontology. Given request is defined by a set of known input concepts and a set of wanted output concepts. Semantic composer should find a sequence of services, called composition that satisfies the wanted output concept. In this paper, a semantic composer based on ant colony optimization method is proposed. This semantic composer is tested using the challenge set of Web Service Challenges (WSC) 2008. The proposed composer can find optimal composition length in each challenge set in a reasonable time. The result of the suggested composition has been compared with the best result reported in WSC 2008 and in most cases; it performs similar or better results than the other systems.
Multiprocessor scheduling belongs to a special category of NP-complete computational problems. The purpose of scheduling is to scatter tasks among the processors in such a way that the precedence constraints between tasks are kept, and the total execution time is minimized. Cellular automata (CA) can be used for multiprocessor scheduling, but one of the difficulties in using CA is the exponentially increasing number of rules with increasing number of processor and neighborhood radius. Here, we propose a combined use of ant colony and evolutionary meta-heuristics to search the rule's feasible space in order to find optimal rule base. Also we introduce a two dimensional cellular automata structure based on the important task attributes in the precedence task graph. The proposed scheduler that uses evolving cellular automata based on ant colony can find optimal response time for some of well known precedence task graph in the multiprocessor scheduling area.
Algorithmic skeleton has received attention as an efficient method of parallel programming in recent years. Using the method, the programmer can implement parallel programs easily. In this study, a set of efficient algorithmic skeletons is introduced for use in implementing parallel genetic algorithm (PGA).A performance model is derived for each skeleton that makes the comparison of skeletons possible in order to select the best one for the application. The performance of the selected skeleton can be increased by specifying the virtual topology required by the application.This is a novel approach with no precedent. Nesting of skeletons used here is another novelty of the study which has been employed only in few previous studies.
Mohammad R. Akbarzadeh-Totonchi合作论文数Department of Electrical Engineering;Faculty of Engineering1