In this article, we complement Elinor Ostrom’s institutional design principles for enduring common-pool resource management with Nicholas Rescher’s theory of distributive justice based on the canon of legitimate claims. Two of Ostrom’s principles are that the resource allocation method should be congruent with the local environment, and that those affected by the allocation method (the appropriators) should participate in its selection. However, these principles do not say anything explicitly about the fairness of the allocation method or the outcomes it produces: for this, we need a mechanism for distributive justice. Rescher identified a number of different mechanisms, each of which had both its merits and demerits, and instead maintained that distributive justice consisted in identifying the legitimate claims in context, accommodating multiple claims in case of plurality, and reconciling them in case of conflict. Accordingly, we specify a logical axiomatisation of the principles with the canon of legitimate claims, whereby a set of claims is each represented as a voting function, which collectively determine the rank order in which resources are allocated. The appropriators vote on the weight attached to the scoring functions, and so self-organise the allocation method, taking into account both the plurality of and conflict between the claims. Therefore, the appropriators exercise collective choice over the method, and the method itself is congruent with the local environment, taking into account both the resources available and the relative claims of the appropriators. Experiments with a variant of the linear public good game show that this pluralistic self-organising approach produces a better balance of utility and fairness (for agents that comply with the rules of the game) compared to monistic or fixed approaches, provide “fairness over time” (a series of ostensibly unfair individual allocations is revealed to be cumulatively fair), and offer an intuition of how to resolve the free-rider phenomenon in provision and appropriation of common-pool resources.
{"title":"Distributive Justice for Self-Organised Common-Pool Resource Management","authors":"J. Pitt, D. Busquets, S. Macbeth","doi":"10.1145/2629567","DOIUrl":"https://doi.org/10.1145/2629567","url":null,"abstract":"In this article, we complement Elinor Ostrom’s institutional design principles for enduring common-pool resource management with Nicholas Rescher’s theory of distributive justice based on the canon of legitimate claims. Two of Ostrom’s principles are that the resource allocation method should be congruent with the local environment, and that those affected by the allocation method (the appropriators) should participate in its selection. However, these principles do not say anything explicitly about the fairness of the allocation method or the outcomes it produces: for this, we need a mechanism for distributive justice. Rescher identified a number of different mechanisms, each of which had both its merits and demerits, and instead maintained that distributive justice consisted in identifying the legitimate claims in context, accommodating multiple claims in case of plurality, and reconciling them in case of conflict. Accordingly, we specify a logical axiomatisation of the principles with the canon of legitimate claims, whereby a set of claims is each represented as a voting function, which collectively determine the rank order in which resources are allocated. The appropriators vote on the weight attached to the scoring functions, and so self-organise the allocation method, taking into account both the plurality of and conflict between the claims. Therefore, the appropriators exercise collective choice over the method, and the method itself is congruent with the local environment, taking into account both the resources available and the relative claims of the appropriators. Experiments with a variant of the linear public good game show that this pluralistic self-organising approach produces a better balance of utility and fairness (for agents that comply with the rules of the game) compared to monistic or fixed approaches, provide “fairness over time” (a series of ostensibly unfair individual allocations is revealed to be cumulatively fair), and offer an intuition of how to resolve the free-rider phenomenon in provision and appropriation of common-pool resources.","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85644636","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
E. Noguera, M. Rebollo, Matteo Vasirani, Alberto Fernández
Structural relations established among agents influence the performance of decentralized service discovery process in multiagent systems. Moreover, distributed systems should be able to adapt their structural relations to changes in environmental conditions. In this article, we present a service-oriented multiagent systems, where agents initially self-organize their structural relations based on the similarity of their services. During the service discovery process, agents integrate a mechanism that facilitates the self-organization of their structural relations to adapt the structure of the system to the service demand. This mechanism facilitates the task of decentralized service discovery and improves its performance. Each agent has local knowledge about its direct neighbors and the queries received during discovery processes. With this information, an agent is able to analyze its structural relations and decide when it is more appropriate to modify its direct neighbors and select the most suitable acquaintances to replace them. The experimental evaluation shows how this self-organization mechanism improves the overall performance of the service discovery process in the system when the service demand changes.
{"title":"Utility-Based Mechanism for Structural Self-Organization in Service-Oriented MAS","authors":"E. Noguera, M. Rebollo, Matteo Vasirani, Alberto Fernández","doi":"10.1145/2651423","DOIUrl":"https://doi.org/10.1145/2651423","url":null,"abstract":"Structural relations established among agents influence the performance of decentralized service discovery process in multiagent systems. Moreover, distributed systems should be able to adapt their structural relations to changes in environmental conditions. In this article, we present a service-oriented multiagent systems, where agents initially self-organize their structural relations based on the similarity of their services. During the service discovery process, agents integrate a mechanism that facilitates the self-organization of their structural relations to adapt the structure of the system to the service demand. This mechanism facilitates the task of decentralized service discovery and improves its performance. Each agent has local knowledge about its direct neighbors and the queries received during discovery processes. With this information, an agent is able to analyze its structural relations and decide when it is more appropriate to modify its direct neighbors and select the most suitable acquaintances to replace them. The experimental evaluation shows how this self-organization mechanism improves the overall performance of the service discovery process in the system when the service demand changes.","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77769068","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Automated negotiation among self-interested autonomous agents has gained tremendous attention due to the diversity of its broad range of potential real-world applications. This article deals with a prominent type of such negotiations, namely, multiissue negotiation that runs under continuous-time constraints and in which the negotiating agents have no prior knowledge about their opponents’ preferences and strategies. A negotiation strategy called Dragon is described that employs sparse pseudoinput Gaussian processes. Specifically, Dragon enables an agent (1) to precisely model the behavior of its opponents with comparably low computational load and (2) to make decisions effectively and adaptively in very complex negotiation settings. Extensive experimental results, based on a number of negotiation scenarios and state-of-the-art negotiating agents from Automated Negotiating Agents Competitions, are provided. Moreover, the robustness of our strategy is evaluated through both empirical game-theoretic and spatial evolutionary game-theoretic analysis.
{"title":"An Intelligent Agent for Bilateral Negotiation with Unknown Opponents in Continuous-Time Domains","authors":"Siqi Chen, Gerhard Weiss","doi":"10.1145/2629577","DOIUrl":"https://doi.org/10.1145/2629577","url":null,"abstract":"Automated negotiation among self-interested autonomous agents has gained tremendous attention due to the diversity of its broad range of potential real-world applications. This article deals with a prominent type of such negotiations, namely, multiissue negotiation that runs under continuous-time constraints and in which the negotiating agents have no prior knowledge about their opponents’ preferences and strategies. A negotiation strategy called Dragon is described that employs sparse pseudoinput Gaussian processes. Specifically, Dragon enables an agent (1) to precisely model the behavior of its opponents with comparably low computational load and (2) to make decisions effectively and adaptively in very complex negotiation settings. Extensive experimental results, based on a number of negotiation scenarios and state-of-the-art negotiating agents from Automated Negotiating Agents Competitions, are provided. Moreover, the robustness of our strategy is evaluated through both empirical game-theoretic and spatial evolutionary game-theoretic analysis.","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88198742","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We focus on the problem of adding multitolerance to an existing fault-intolerant program. A multitolerant program tolerates multiple classes of faults and provides a potentially different level of fault tolerance to each of them. We consider three levels of fault tolerance, namely failsafe (i.e., satisfy safety in the presence of faults), nonmasking (i.e., recover to legitimate states after the occurrence of faults), and masking (both). For the case where the program is subject to two classes of faults, we consider six categories of multitolerant programs—FF, FN, FM, MM, MN, and NN, where F, N, and M represent failsafe, nonmasking, and masking levels of tolerance provided to each class of fault. We show that the problem of adding FF, NN, and MN multitolerance can be solved in polynomial time (in the state space of the program). However, the problem is NP-complete for adding FN, MM, and FM multitolerance. We note that the hardness of adding MM and FM multitolerance is especially atypical given that MM and FM multitolerance can be added efficiently under more restricted scenarios where multiple faults occur simultaneously in the same computation. We also present heuristics for managing the complexity of MM multitolerance. Finally, we present real-world multitolerant programs and discuss the trade-off involved in design decisions while developing such programs.
{"title":"The Complexity of Adding Multitolerance","authors":"Jingshu Chen, Ali Ebnenasir, S. Kulkarni","doi":"10.1145/2629664","DOIUrl":"https://doi.org/10.1145/2629664","url":null,"abstract":"We focus on the problem of adding multitolerance to an existing fault-intolerant program. A multitolerant program tolerates multiple classes of faults and provides a potentially different level of fault tolerance to each of them. We consider three levels of fault tolerance, namely failsafe (i.e., satisfy safety in the presence of faults), nonmasking (i.e., recover to legitimate states after the occurrence of faults), and masking (both). For the case where the program is subject to two classes of faults, we consider six categories of multitolerant programs—FF, FN, FM, MM, MN, and NN, where F, N, and M represent failsafe, nonmasking, and masking levels of tolerance provided to each class of fault. We show that the problem of adding FF, NN, and MN multitolerance can be solved in polynomial time (in the state space of the program). However, the problem is NP-complete for adding FN, MM, and FM multitolerance. We note that the hardness of adding MM and FM multitolerance is especially atypical given that MM and FM multitolerance can be added efficiently under more restricted scenarios where multiple faults occur simultaneously in the same computation. We also present heuristics for managing the complexity of MM multitolerance. Finally, we present real-world multitolerant programs and discuss the trade-off involved in design decisions while developing such programs.","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82635031","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Context-aware pervasive software is responsive to various contexts and their changes. A faulty implementation of the context-aware features may lead to unpredictable behavior with adverse effects. In software testing, one of the most important research issues is to determine the sufficiency of a test suite to verify the software under test. Existing adequacy criteria for testing traditional software, however, have not explored the dimension of serial test inputs and have not considered context changes when constructing test suites. In this article, we define the concept of context diversity to capture the extent of context changes in serial inputs and propose three strategies to study how context diversity may improve the effectiveness of the data-flow testing criteria. Our case study shows that the strategy that uses test cases with higher context diversity can significantly improve the effectiveness of existing data-flow testing criteria for context-aware pervasive software. In addition, test suites with higher context diversity are found to execute significantly longer paths, which may provide a clue that reveals why context diversity can contribute to the improvement of effectiveness of test suites.
{"title":"Improving the Effectiveness of Testing Pervasive Software via Context Diversity","authors":"Huai Wang, W. Chan, T. Tse","doi":"10.1145/2620000","DOIUrl":"https://doi.org/10.1145/2620000","url":null,"abstract":"Context-aware pervasive software is responsive to various contexts and their changes. A faulty implementation of the context-aware features may lead to unpredictable behavior with adverse effects. In software testing, one of the most important research issues is to determine the sufficiency of a test suite to verify the software under test. Existing adequacy criteria for testing traditional software, however, have not explored the dimension of serial test inputs and have not considered context changes when constructing test suites. In this article, we define the concept of context diversity to capture the extent of context changes in serial inputs and propose three strategies to study how context diversity may improve the effectiveness of the data-flow testing criteria. Our case study shows that the strategy that uses test cases with higher context diversity can significantly improve the effectiveness of existing data-flow testing criteria for context-aware pervasive software. In addition, test suites with higher context diversity are found to execute significantly longer paths, which may provide a clue that reveals why context diversity can contribute to the improvement of effectiveness of test suites.","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81713282","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The evolution of smartphones has given rise to urban-area applications: applications that communicate in a city by means of the public (moving) infrastructure (e.g., buses and trams). In this setting, applications need to communicate with and discover each other using intermediaries that move around the city and transfer data between them. This requires programmers to scatter code that deals with routing messages to the correct place and deal with network failures all over their programs. Our approach allows the programmer to specify urban-area applications in a high-level manner without the burden of directly encoding communication using intermediaries. We present this as a translation from a high-level object-oriented programming paradigm to a low-level communication mechanism. This translation allows the programmer to restrict routing of messages to, for example, a certain number of hops, geographic areas, or even types of carrier devices. In addition, we show how high-level group messaging can be efficiently represented in the low-level communication. Finally, we document our experiences in setting up a small-scale real-world urban-area application.
{"title":"Programming Urban-Area Applications by Exploiting Public Transportation","authors":"Dries Harnie, E. G. Boix, T. D'Hondt, W. Meuter","doi":"10.1145/2619999","DOIUrl":"https://doi.org/10.1145/2619999","url":null,"abstract":"The evolution of smartphones has given rise to urban-area applications: applications that communicate in a city by means of the public (moving) infrastructure (e.g., buses and trams). In this setting, applications need to communicate with and discover each other using intermediaries that move around the city and transfer data between them. This requires programmers to scatter code that deals with routing messages to the correct place and deal with network failures all over their programs. Our approach allows the programmer to specify urban-area applications in a high-level manner without the burden of directly encoding communication using intermediaries. We present this as a translation from a high-level object-oriented programming paradigm to a low-level communication mechanism. This translation allows the programmer to restrict routing of messages to, for example, a certain number of hops, geographic areas, or even types of carrier devices. In addition, we show how high-level group messaging can be efficiently represented in the low-level communication. Finally, we document our experiences in setting up a small-scale real-world urban-area application.","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76810947","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The continuous evolution of information and communication technology (ICT) systems opens a broad range of potential applications in domains such as smart environments, transportation, and energy management. However, it also brings a dramatic increase in complexity: the envisioned ICT systems run in highly dynamic socio-technico-physical environments, often composed of thousands or even millions of connected heterogeneous components, including social networks, web services, mobile computational devices , data centers, and environmental sensors. Traditional centralized approaches hardly deal with those new requirements, especially as far as robustness, resiliency, and complexity are concerned. Rather, computation needs to be carried out in a fully distributed way, and each computational component needs to be autonomous, adaptive, able to perceive contextual information from its environment, and able to collaborate with other components to coordinate emerging complex behaviors. Coordination models and languages, traditionally introduced to tackle interactions in complex systems by suitably designed abstractions such as shared spaces and channels , play a key role in such future and emerging ICT systems. A coordination model simplifies the integration of heterogeneous components (processes, objects, agents, services) and makes the resulting ensemble more smoothly executed as a whole, forming a distributed software system with desired characteristics and functionalities. More specifically, due to the clear separation between computation and interaction they promote , coordination models provide a natural support for injecting self-adaption and self-organization into applications, allowing one to achieve very complex and robust behaviors in terms of a coherent and simple set of coordination rules and mechanisms. All of this is carried out by means of coordination abstractions, languages, algorithms, mechanisms, and middleware specifically focused on the management of component interactions. The " Coordination Models, languages and applications " (CM) track started in 1998 at the ACM Symposium on Applied Computing (SAC) as one of the main scientific events under the umbrella of Coordination, specifically focused to fill the gap between theory and applications. During the successful series of its 17 editions, we have witnessed the emergence of models, formalisms, and mechanisms supporting distributed systems in a number of application scenarios. Most contributions crosscut a number of contemporary software engineering approaches and fields, attracting researchers from many areas inside ICT systems, such as multiagent systems, embedded systems, mobile computing, and robotics. In particular, the latest editions featured an increasing interest in self-adaptive and self-organizing mechanisms and systems. As a result, we decided to foster the development of coordination models …
{"title":"Best ACM SAC Articles on Coordination and Self-Adaptation","authors":"J. Fernandez-Marquez, Mirko Viroli, G. Castelli","doi":"10.1145/2628613","DOIUrl":"https://doi.org/10.1145/2628613","url":null,"abstract":"The continuous evolution of information and communication technology (ICT) systems opens a broad range of potential applications in domains such as smart environments, transportation, and energy management. However, it also brings a dramatic increase in complexity: the envisioned ICT systems run in highly dynamic socio-technico-physical environments, often composed of thousands or even millions of connected heterogeneous components, including social networks, web services, mobile computational devices , data centers, and environmental sensors. Traditional centralized approaches hardly deal with those new requirements, especially as far as robustness, resiliency, and complexity are concerned. Rather, computation needs to be carried out in a fully distributed way, and each computational component needs to be autonomous, adaptive, able to perceive contextual information from its environment, and able to collaborate with other components to coordinate emerging complex behaviors. Coordination models and languages, traditionally introduced to tackle interactions in complex systems by suitably designed abstractions such as shared spaces and channels , play a key role in such future and emerging ICT systems. A coordination model simplifies the integration of heterogeneous components (processes, objects, agents, services) and makes the resulting ensemble more smoothly executed as a whole, forming a distributed software system with desired characteristics and functionalities. More specifically, due to the clear separation between computation and interaction they promote , coordination models provide a natural support for injecting self-adaption and self-organization into applications, allowing one to achieve very complex and robust behaviors in terms of a coherent and simple set of coordination rules and mechanisms. All of this is carried out by means of coordination abstractions, languages, algorithms, mechanisms, and middleware specifically focused on the management of component interactions. The \" Coordination Models, languages and applications \" (CM) track started in 1998 at the ACM Symposium on Applied Computing (SAC) as one of the main scientific events under the umbrella of Coordination, specifically focused to fill the gap between theory and applications. During the successful series of its 17 editions, we have witnessed the emergence of models, formalisms, and mechanisms supporting distributed systems in a number of application scenarios. Most contributions crosscut a number of contemporary software engineering approaches and fields, attracting researchers from many areas inside ICT systems, such as multiagent systems, embedded systems, mobile computing, and robotics. In particular, the latest editions featured an increasing interest in self-adaptive and self-organizing mechanisms and systems. As a result, we decided to foster the development of coordination models …","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91335940","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Diego Didona, P. Romano, Sebastiano Peluso, F. Quaglia
In this article, we introduce TAS (Transactional Auto Scaler), a system for automating the elastic scaling of replicated in-memory transactional data grids, such as NoSQL data stores or Distributed Transactional Memories. Applications of TAS range from online self-optimization of in-production applications to the automatic generation of QoS/cost-driven elastic scaling policies, as well as to support for what-if analysis on the scalability of transactional applications. In this article, we present the key innovation at the core of TAS, namely, a novel performance forecasting methodology that relies on the joint usage of analytical modeling and machine learning. By exploiting these two classically competing approaches in a synergic fashion, TAS achieves the best of the two worlds, namely, high extrapolation power and good accuracy, even when faced with complex workloads deployed over public cloud infrastructures. We demonstrate the accuracy and feasibility of TAS’s performance forecasting methodology via an extensive experimental study based on a fully fledged prototype implementation integrated with a popular open-source in-memory transactional data grid (Red Hat’s Infinispan) and industry-standard benchmarks generating a breadth of heterogeneous workloads.
在本文中,我们将介绍TAS (Transactional Auto Scaler),这是一个用于自动伸缩复制内存中的事务数据网格(如NoSQL数据存储或分布式事务内存)的系统。TAS的应用范围从生产应用程序的在线自优化到QoS/成本驱动的弹性扩展策略的自动生成,以及支持对事务性应用程序的可伸缩性进行假设分析。在本文中,我们提出了TAS核心的关键创新,即一种新的性能预测方法,该方法依赖于分析建模和机器学习的联合使用。通过以协同方式利用这两种经典的竞争方法,TAS实现了两个世界的最佳效果,即高外推能力和良好的准确性,即使面对部署在公共云基础设施上的复杂工作负载也是如此。我们通过一项广泛的实验研究,证明了TAS性能预测方法的准确性和可行性,该实验研究基于一个完全成熟的原型实现,该原型实现集成了一个流行的开源内存事务数据网格(Red Hat的Infinispan)和行业标准基准,生成了广泛的异构工作负载。
{"title":"Transactional Auto Scaler: Elastic Scaling of Replicated In-Memory Transactional Data Grids","authors":"Diego Didona, P. Romano, Sebastiano Peluso, F. Quaglia","doi":"10.1145/2620001","DOIUrl":"https://doi.org/10.1145/2620001","url":null,"abstract":"In this article, we introduce TAS (Transactional Auto Scaler), a system for automating the elastic scaling of replicated in-memory transactional data grids, such as NoSQL data stores or Distributed Transactional Memories. Applications of TAS range from online self-optimization of in-production applications to the automatic generation of QoS/cost-driven elastic scaling policies, as well as to support for what-if analysis on the scalability of transactional applications.\u0000 In this article, we present the key innovation at the core of TAS, namely, a novel performance forecasting methodology that relies on the joint usage of analytical modeling and machine learning. By exploiting these two classically competing approaches in a synergic fashion, TAS achieves the best of the two worlds, namely, high extrapolation power and good accuracy, even when faced with complex workloads deployed over public cloud infrastructures.\u0000 We demonstrate the accuracy and feasibility of TAS’s performance forecasting methodology via an extensive experimental study based on a fully fledged prototype implementation integrated with a popular open-source in-memory transactional data grid (Red Hat’s Infinispan) and industry-standard benchmarks generating a breadth of heterogeneous workloads.","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90077570","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Evangelia Kalyvianaki, Themistoklis Charalambous, S. Hand
Resource management of virtualized servers in data centers has become a critical task, since it enables cost-effective consolidation of server applications. Resource management is an important and challenging task, especially for multitier applications with unpredictable time-varying workloads. Work in resource management using control theory has shown clear benefits of dynamically adjusting resource allocations to match fluctuating workloads. However, little work has been done toward adaptive controllers for unknown workload types. This work presents a new resource management scheme that incorporates the Kalman filter into feedback controllers to dynamically allocate CPU resources to virtual machines hosting server applications. We present a set of controllers that continuously detect and self-adapt to unforeseen workload changes. Furthermore, our most advanced controller also self-configures itself without any a priori information and with a small 4.8% performance penalty in the case of high-intensity workload changes. In addition, our controllers are enhanced to deal with multitier server applications: by using the pair-wise resource coupling between tiers, they improve server response to large workload increases as compared to controllers with no such resource-coupling mechanism. Our approaches are evaluated and their performance is illustrated on a 3-tier Rubis benchmark website deployed on a prototype Xen-virtualized cluster.
{"title":"Adaptive Resource Provisioning for Virtualized Servers Using Kalman Filters","authors":"Evangelia Kalyvianaki, Themistoklis Charalambous, S. Hand","doi":"10.1145/2626290","DOIUrl":"https://doi.org/10.1145/2626290","url":null,"abstract":"Resource management of virtualized servers in data centers has become a critical task, since it enables cost-effective consolidation of server applications. Resource management is an important and challenging task, especially for multitier applications with unpredictable time-varying workloads. Work in resource management using control theory has shown clear benefits of dynamically adjusting resource allocations to match fluctuating workloads. However, little work has been done toward adaptive controllers for unknown workload types. This work presents a new resource management scheme that incorporates the Kalman filter into feedback controllers to dynamically allocate CPU resources to virtual machines hosting server applications. We present a set of controllers that continuously detect and self-adapt to unforeseen workload changes. Furthermore, our most advanced controller also self-configures itself without any a priori information and with a small 4.8% performance penalty in the case of high-intensity workload changes. In addition, our controllers are enhanced to deal with multitier server applications: by using the pair-wise resource coupling between tiers, they improve server response to large workload increases as compared to controllers with no such resource-coupling mechanism. Our approaches are evaluated and their performance is illustrated on a 3-tier Rubis benchmark website deployed on a prototype Xen-virtualized cluster.","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78110698","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Ana Peleteiro-Ramallo, J. C. Burguillo, J. Arcos, J. Rodríguez-Aguilar
In this article we tackle the problem of maximizing cooperation among self-interested agents in a resource exchange environment. Our main concern is the design of mechanisms for maximizing cooperation among self-interested agents in a way that their profits increase by exchanging or trading with resources. Although dynamic coalition formation and partner switching (rewiring) have been shown to promote the emergence and maintenance of cooperation for self-interested agents, no prior work in the literature has investigated whether merging both mechanisms exhibits positive synergies that lead to increase cooperation even further. Therefore, we introduce and analyze a novel dynamic coalition formation mechanism, that uses partner switching, to help self-interested agents to increase their profits in a resource exchange environment. Our experiments show the effectiveness of our mechanism at increasing the agents’ profits, as well as the emergence of trading as the preferred behavior over different types of complex networks.
{"title":"Fostering Cooperation through Dynamic Coalition Formation and Partner Switching","authors":"Ana Peleteiro-Ramallo, J. C. Burguillo, J. Arcos, J. Rodríguez-Aguilar","doi":"10.1145/2567928","DOIUrl":"https://doi.org/10.1145/2567928","url":null,"abstract":"In this article we tackle the problem of maximizing cooperation among self-interested agents in a resource exchange environment. Our main concern is the design of mechanisms for maximizing cooperation among self-interested agents in a way that their profits increase by exchanging or trading with resources. Although dynamic coalition formation and partner switching (rewiring) have been shown to promote the emergence and maintenance of cooperation for self-interested agents, no prior work in the literature has investigated whether merging both mechanisms exhibits positive synergies that lead to increase cooperation even further. Therefore, we introduce and analyze a novel dynamic coalition formation mechanism, that uses partner switching, to help self-interested agents to increase their profits in a resource exchange environment. Our experiments show the effectiveness of our mechanism at increasing the agents’ profits, as well as the emergence of trading as the preferred behavior over different types of complex networks.","PeriodicalId":50919,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems","volume":null,"pages":null},"PeriodicalIF":2.7,"publicationDate":"2014-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78703156","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}