Sergio Gonzalo San José , Joan Manuel Marquès , Javier Panadero , Laura Calvet
{"title":"NARA: Network-Aware Resource Allocation mechanism for minimizing quality-of-service impact while dealing with energy consumption in volunteer networks","authors":"Sergio Gonzalo San José , Joan Manuel Marquès , Javier Panadero , Laura Calvet","doi":"10.1016/j.future.2024.107593","DOIUrl":null,"url":null,"abstract":"<div><div>A large-scale volunteer computing system is a type of distributed system in which contributors volunteer their computing resources, such as personal computers or mobile devices, to contribute to a larger computing effort. Volunteer resources are connected over the Internet and together form a powerful computing system capable of providing a service without depending on a service provider. Volunteer network resource allocation is the process of assigning computing tasks or services to a network of volunteer resources. The allocation process includes identifying the needed resources, selecting appropriate volunteers, and assigning tasks or services based on their capabilities. Volunteer computing systems consist of a large number of heterogeneous resources - in terms of processing power, storage, and availability - belonging to different authorities - users or organizations - and exhibiting uncertain behavior in terms of connection, disconnection, capacity, and failure. All of this makes resource allocation a challenging task in terms of ensuring a minimum quality of service, requiring complex algorithms and optimization techniques to ensure that services are efficiently allocated while respecting the constraints of the available resource. This paper introduces the Network-Aware Resource Allocation mechanism, which leverages the location, connectivity, and network latency of volunteer nodes to minimize the time a service runs with degraded quality of service and aims to deal with the energy consumption resulting from data replication requirements. This resource allocation mechanism applies to both the initial deployment of the service in the network and to the reallocation of nodes in the event that one of the allocated nodes fails or becomes unavailable. Our method has been validated in a simulation environment of a realistic volunteer system. The analysis of the results shows how our mechanism meets the quality requirements of users while minimizing the synchronization and replication times of service data replicas, as well as the time that services run with degraded quality of service, reducing the times by more than 70% in the service deployment phase and by more than 60% in the service execution phase. It also helps to reduce overall energy consumption.</div></div>","PeriodicalId":55132,"journal":{"name":"Future Generation Computer Systems-The International Journal of Escience","volume":"164 ","pages":"Article 107593"},"PeriodicalIF":6.2000,"publicationDate":"2024-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Future Generation Computer Systems-The International Journal of Escience","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167739X24005570","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
Abstract
A large-scale volunteer computing system is a type of distributed system in which contributors volunteer their computing resources, such as personal computers or mobile devices, to contribute to a larger computing effort. Volunteer resources are connected over the Internet and together form a powerful computing system capable of providing a service without depending on a service provider. Volunteer network resource allocation is the process of assigning computing tasks or services to a network of volunteer resources. The allocation process includes identifying the needed resources, selecting appropriate volunteers, and assigning tasks or services based on their capabilities. Volunteer computing systems consist of a large number of heterogeneous resources - in terms of processing power, storage, and availability - belonging to different authorities - users or organizations - and exhibiting uncertain behavior in terms of connection, disconnection, capacity, and failure. All of this makes resource allocation a challenging task in terms of ensuring a minimum quality of service, requiring complex algorithms and optimization techniques to ensure that services are efficiently allocated while respecting the constraints of the available resource. This paper introduces the Network-Aware Resource Allocation mechanism, which leverages the location, connectivity, and network latency of volunteer nodes to minimize the time a service runs with degraded quality of service and aims to deal with the energy consumption resulting from data replication requirements. This resource allocation mechanism applies to both the initial deployment of the service in the network and to the reallocation of nodes in the event that one of the allocated nodes fails or becomes unavailable. Our method has been validated in a simulation environment of a realistic volunteer system. The analysis of the results shows how our mechanism meets the quality requirements of users while minimizing the synchronization and replication times of service data replicas, as well as the time that services run with degraded quality of service, reducing the times by more than 70% in the service deployment phase and by more than 60% in the service execution phase. It also helps to reduce overall energy consumption.
期刊介绍:
Computing infrastructures and systems are constantly evolving, resulting in increasingly complex and collaborative scientific applications. To cope with these advancements, there is a growing need for collaborative tools that can effectively map, control, and execute these applications.
Furthermore, with the explosion of Big Data, there is a requirement for innovative methods and infrastructures to collect, analyze, and derive meaningful insights from the vast amount of data generated. This necessitates the integration of computational and storage capabilities, databases, sensors, and human collaboration.
Future Generation Computer Systems aims to pioneer advancements in distributed systems, collaborative environments, high-performance computing, and Big Data analytics. It strives to stay at the forefront of developments in grids, clouds, and the Internet of Things (IoT) to effectively address the challenges posed by these wide-area, fully distributed sensing and computing systems.