{"title":"FCPP:一个高效和可扩展的域演算框架","authors":"Giorgio Audrito","doi":"10.1109/ACSOS49614.2020.00037","DOIUrl":null,"url":null,"abstract":"The Field Calculus is a promising language for the self-organisation of distributed devices, allowing to express on a high level of abstraction complex distributed algorithms with robust behaviour guarantees. This language has been argued to be fruitfully applicable to many different contexts: wireless sensor networks, internet of things, self-organising edge, fog or cloud computing scenarios, and simulations of such. However, existing implementations of this language rely on the Java Virtual Machine and have an high performance overhead, impairing their usability in contexts where performance is critical (cloud) or computational resources are tightly bounded (WSN/IoT).In this paper we present FCPP, a novel implementation of the Field Calculus as a C++ library. The library is built as a component-based system, in order to be easily extensible to fit different contexts. Furthermore, it leverages C++ template patterns to allow compile-time optimisation and minimal performance overhead, and enables fine-grained parallelism for scalability in self-organising cloud applications. A case study of an edge simulation shows the performance improvement compared to existing Field Calculus implementations, while preserving the same level of abstraction. This translates to a significant speed-up in the development process of distributed algorithms, paving the way towards application scenarios for which existing tools are unsuitable: microcontroller systems and self-organising cloud.","PeriodicalId":310362,"journal":{"name":"2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"17","resultStr":"{\"title\":\"FCPP: an efficient and extensible Field Calculus framework\",\"authors\":\"Giorgio Audrito\",\"doi\":\"10.1109/ACSOS49614.2020.00037\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The Field Calculus is a promising language for the self-organisation of distributed devices, allowing to express on a high level of abstraction complex distributed algorithms with robust behaviour guarantees. This language has been argued to be fruitfully applicable to many different contexts: wireless sensor networks, internet of things, self-organising edge, fog or cloud computing scenarios, and simulations of such. However, existing implementations of this language rely on the Java Virtual Machine and have an high performance overhead, impairing their usability in contexts where performance is critical (cloud) or computational resources are tightly bounded (WSN/IoT).In this paper we present FCPP, a novel implementation of the Field Calculus as a C++ library. The library is built as a component-based system, in order to be easily extensible to fit different contexts. Furthermore, it leverages C++ template patterns to allow compile-time optimisation and minimal performance overhead, and enables fine-grained parallelism for scalability in self-organising cloud applications. A case study of an edge simulation shows the performance improvement compared to existing Field Calculus implementations, while preserving the same level of abstraction. This translates to a significant speed-up in the development process of distributed algorithms, paving the way towards application scenarios for which existing tools are unsuitable: microcontroller systems and self-organising cloud.\",\"PeriodicalId\":310362,\"journal\":{\"name\":\"2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-08-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"17\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ACSOS49614.2020.00037\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ACSOS49614.2020.00037","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 17
摘要
Field Calculus是一种很有前途的分布式设备自组织语言,它允许在高抽象层次上表达具有鲁棒行为保证的复杂分布式算法。这种语言被认为可以有效地应用于许多不同的环境:无线传感器网络、物联网、自组织边缘、雾或云计算场景,以及此类场景的模拟。然而,这种语言的现有实现依赖于Java虚拟机,并且具有很高的性能开销,在性能至关重要(云)或计算资源紧密受限(WSN/IoT)的环境中削弱了它们的可用性。在本文中,我们提出了FCPP,一个新的实现域演算作为一个c++库。该库是作为基于组件的系统构建的,以便易于扩展以适应不同的上下文。此外,它利用c++模板模式来实现编译时优化和最小的性能开销,并为自组织云应用程序中的可伸缩性提供细粒度并行性。一个边缘模拟的案例研究表明,与现有的Field Calculus实现相比,性能有所提高,同时保持了相同的抽象级别。这意味着分布式算法开发过程中的显著加速,为现有工具不适合的应用场景铺平了道路:微控制器系统和自组织云。
FCPP: an efficient and extensible Field Calculus framework
The Field Calculus is a promising language for the self-organisation of distributed devices, allowing to express on a high level of abstraction complex distributed algorithms with robust behaviour guarantees. This language has been argued to be fruitfully applicable to many different contexts: wireless sensor networks, internet of things, self-organising edge, fog or cloud computing scenarios, and simulations of such. However, existing implementations of this language rely on the Java Virtual Machine and have an high performance overhead, impairing their usability in contexts where performance is critical (cloud) or computational resources are tightly bounded (WSN/IoT).In this paper we present FCPP, a novel implementation of the Field Calculus as a C++ library. The library is built as a component-based system, in order to be easily extensible to fit different contexts. Furthermore, it leverages C++ template patterns to allow compile-time optimisation and minimal performance overhead, and enables fine-grained parallelism for scalability in self-organising cloud applications. A case study of an edge simulation shows the performance improvement compared to existing Field Calculus implementations, while preserving the same level of abstraction. This translates to a significant speed-up in the development process of distributed algorithms, paving the way towards application scenarios for which existing tools are unsuitable: microcontroller systems and self-organising cloud.