604 research outputs found
Availability-aware Service Placement Policy in Fog Computing Based on Graph Partitions
This paper presents a policy for service placement of fog applications
inspired on complex networks and graph theory. We propose a twofold partition
process based on communities for the partition of the fog devices and based on
transitive closures for the application services partition. The allocation of
the services is performed sequentially by, firstly, mapping applications to
device communities and, secondly, mapping service transitive closures to fog
devices in the community. The underlying idea is to place as many inter-related
services as possible in the most nearby devices to the users. The optimization
objectives are the availability of the applications and the Quality of Service
(QoS) of the system, measured as the number of requests that are executed
before the application deadlines. We compared our solution with an Integer
Linear Programming approach, and the simulation results showed that our
proposal obtains higher QoS and availability when fails in the nodes are
considered
Split and Migrate: Resource-Driven Placement and Discovery of Microservices at the Edge
Microservices architectures combine the use of fine-grained and independently-scalable services with lightweight communication protocols, such as REST calls over HTTP. Microservices bring flexibility to the development and deployment of application back-ends in the cloud.
Applications such as collaborative editing tools require frequent interactions between the front-end running on users\u27 machines and a back-end formed of multiple microservices. User-perceived latencies depend on their connection to microservices, but also on the interaction patterns between these services and their databases. Placing services at the edge of the network, closer to the users, is necessary to reduce user-perceived latencies. It is however difficult to decide on the placement of complete stateful microservices at one specific core or edge location without trading between a latency reduction for some users and a latency increase for the others.
We present how to dynamically deploy microservices on a combination of core and edge resources to systematically reduce user-perceived latencies. Our approach enables the split of stateful microservices, and the placement of the resulting splits on appropriate core and edge sites. Koala, a decentralized and resource-driven service discovery middleware, enables REST calls to reach and use the appropriate split, with only minimal changes to a legacy microservices application. Locality awareness using network coordinates further enables to automatically migrate services split and follow the location of the users. We confirm the effectiveness of our approach with a full prototype and an application to ShareLatex, a microservices-based collaborative editing application
Microservices-based IoT Applications Scheduling in Edge and Fog Computing: A Taxonomy and Future Directions
Edge and Fog computing paradigms utilise distributed, heterogeneous and
resource-constrained devices at the edge of the network for efficient
deployment of latency-critical and bandwidth-hungry IoT application services.
Moreover, MicroService Architecture (MSA) is increasingly adopted to keep up
with the rapid development and deployment needs of the fast-evolving IoT
applications. Due to the fine-grained modularity of the microservices along
with their independently deployable and scalable nature, MSA exhibits great
potential in harnessing both Fog and Cloud resources to meet diverse QoS
requirements of the IoT application services, thus giving rise to novel
paradigms like Osmotic computing. However, efficient and scalable scheduling
algorithms are required to utilise the said characteristics of the MSA while
overcoming novel challenges introduced by the architecture. To this end, we
present a comprehensive taxonomy of recent literature on microservices-based
IoT applications scheduling in Edge and Fog computing environments.
Furthermore, we organise multiple taxonomies to capture the main aspects of the
scheduling problem, analyse and classify related works, identify research gaps
within each category, and discuss future research directions.Comment: 35 pages, 10 figures, submitted to ACM Computing Survey
Incremental Multilayer Resource Partitioning for Application Placement in Dynamic Fog
Fog computing platforms became essential for deploying low-latency applications at the network's edge. However, placing and managing time-critical applications over a Fog infrastructure with many heterogeneous and resource-constrained devices over a dynamic network is challenging. This paper proposes an incremental multilayer resource-aware partitioning (M-RAP) method that minimizes resource wastage and maximizes service placement and deadline satisfaction in a dynamic Fog with many application requests. M-RAP represents the heterogeneous Fog resources as a multilayer graph, partitions it based on the network structure and resource types, and constantly updates it upon dynamic changes in the underlying Fog infrastructure. Finally, it identifies the device partitions for placing the application services according to their resource requirements, which must overlap in the same low-latency network partition. We evaluated M-RAP through extensive simulation and two applications executed on a real testbed. The results show that M-RAP can place 1.6 times as many services, satisfy deadlines for 43% more applications, lower their response time by up to 58%, and reduce resource wastage by up to 54% compared to three state-of-the-art methods
Quality of Service Aware Orchestration for Cloud-Edge Continuum Applications
The fast growth in the amount of connected devices with computing capabilities in the past years has enabled the emergence of a new computing layer at the Edge. Despite being resource-constrained if compared with cloud servers, they offer lower latencies than those achievable by Cloud computing. The combination of both Cloud and Edge computing paradigms can provide a suitable infrastructure for complex applications’ quality of service requirements that cannot easily be achieved with either of these paradigms alone. These requirements can be very different for each application, from achieving time sensitivity or assuring data privacy to storing and processing large amounts of data. Therefore, orchestrating these applications in the Cloud–Edge computing raises new challenges that need to be solved in order to fully take advantage of this layered infrastructure. This paper proposes an architecture that enables the dynamic orchestration of applications in the Cloud–Edge continuum. It focuses on the application’s quality of service by providing the scheduler with input that is commonly used by modern scheduling algorithms. The architecture uses a distributed scheduling approach that can be customized in a per-application basis, which ensures that it can scale properly even in setups with high number of nodes and complex scheduling algorithms. This architecture has been implemented on top of Kubernetes and evaluated in order to asses its viability to enable more complex scheduling algorithms that take into account the quality of service of applications.This work has been financially supported by the European Commission through the ELASTIC project (H2020 grant agreement 825473), by the Spanish Ministry of Science, Innovation and Universities (project RTI2018-096116-B-I00 (MCIU/AEI/FEDER, UE)), and by the Basque Government through the Qualyfamm project (Elkartek KK-2020/00042). It has also been financed by the Basque Government under Grant IT1324-19
How to Place Your Apps in the Fog -- State of the Art and Open Challenges
Fog computing aims at extending the Cloud towards the IoT so to achieve
improved QoS and to empower latency-sensitive and bandwidth-hungry
applications. The Fog calls for novel models and algorithms to distribute
multi-service applications in such a way that data processing occurs wherever
it is best-placed, based on both functional and non-functional requirements.
This survey reviews the existing methodologies to solve the application
placement problem in the Fog, while pursuing three main objectives. First, it
offers a comprehensive overview on the currently employed algorithms, on the
availability of open-source prototypes, and on the size of test use cases.
Second, it classifies the literature based on the application and Fog
infrastructure characteristics that are captured by available models, with a
focus on the considered constraints and the optimised metrics. Finally, it
identifies some open challenges in application placement in the Fog
- …