Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems最新文献
Specifying a problem and its solution is often viewed as dreary work. However, identifying the essential properties of a problem, and stating them clearly, is the heart of problem solving. Careful consideration of what a problem requires often leads to a solution, and clear and precise specification is necessary to determine whether a solution is correct. Formal specification is not only the necessary basis for any formal verification, but much of the work--and the most interesting work--of verification is in writing a specification, and iteratively adjusting it until it is suitable. In this talk, I will discuss the value of good specification, both formal and informal, some of its often overlooked benefits, and challenges in doing it well (and indeed, what constitutes doing it well). I will use anecdotes, drawn mostly from my experience in developing and verifying concurrent algorithms, to illustrate both positive and negative examples.
{"title":"Saying What You Mean","authors":"Victor Luchangco","doi":"10.1145/3231104.3231112","DOIUrl":"https://doi.org/10.1145/3231104.3231112","url":null,"abstract":"Specifying a problem and its solution is often viewed as dreary work. However, identifying the essential properties of a problem, and stating them clearly, is the heart of problem solving. Careful consideration of what a problem requires often leads to a solution, and clear and precise specification is necessary to determine whether a solution is correct. Formal specification is not only the necessary basis for any formal verification, but much of the work--and the most interesting work--of verification is in writing a specification, and iteratively adjusting it until it is suitable. In this talk, I will discuss the value of good specification, both formal and informal, some of its often overlooked benefits, and challenges in doing it well (and indeed, what constitutes doing it well). I will use anecdotes, drawn mostly from my experience in developing and verifying concurrent algorithms, to illustrate both positive and negative examples.","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129330204","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this talk, I defend the thesis that computer science research is fundamentally applied-whether the work is theoretical or practical-and that research that fails to consider application will perish. To make these arguments, I draw on historical evidence and share my experience and insights of working in both theory and practice of distributed systems. I conclude with a perspective on exciting new problems and areas of application where distributed systems research will thrive in the next decade.
{"title":"Apply or Perish!","authors":"M. Aguilera","doi":"10.1145/3231104.3231111","DOIUrl":"https://doi.org/10.1145/3231104.3231111","url":null,"abstract":"In this talk, I defend the thesis that computer science research is fundamentally applied-whether the work is theoretical or practical-and that research that fails to consider application will perish. To make these arguments, I draw on historical evidence and share my experience and insights of working in both theory and practice of distributed systems. I conclude with a perspective on exciting new problems and areas of application where distributed systems research will thrive in the next decade.","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126540090","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Typically platform specific programming models for distributed Cyber-Physical Systems provide limited portability, code reuse, rigorous verification, and synthesis. Koord is a new distributed CPS programming model and language, which treats the platform-independent decision and coordination tasks as a separate concern from platform-dependent concerns of low-level sensing, communication, and control. Koord features event-based programming, shared variables for convenient coordination across multiple agents, and interfaces defined by sensor and actuator ports for the (platform independent) application program to interface with program's environment consisting of controllers and the physical plant. We implement the executable semantics of Koord in the K framework. The Koord framework also includes formal analysis tools on top of the semantics to enable semantics driven-verification.
{"title":"Language Semantics Driven Design and Formal Analysis for Distributed Cyber-Physical Systems: [Extended Abstract]","authors":"Ritwika Ghosh, Sasa Misailovic, S. Mitra","doi":"10.1145/3231104.3231958","DOIUrl":"https://doi.org/10.1145/3231104.3231958","url":null,"abstract":"Typically platform specific programming models for distributed Cyber-Physical Systems provide limited portability, code reuse, rigorous verification, and synthesis. Koord is a new distributed CPS programming model and language, which treats the platform-independent decision and coordination tasks as a separate concern from platform-dependent concerns of low-level sensing, communication, and control. Koord features event-based programming, shared variables for convenient coordination across multiple agents, and interfaces defined by sensor and actuator ports for the (platform independent) application program to interface with program's environment consisting of controllers and the physical plant. We implement the executable semantics of Koord in the K framework. The Koord framework also includes formal analysis tools on top of the semantics to enable semantics driven-verification.","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115822272","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Reproducing experimental results is nowadays seen as one of the greatest impairments for the progress of science in general and distributed systems in particular. This stems from the increasing complexity of the systems under study and the inherent complexity of capturing and controlling all variables that can potentially affect experimental results. We argue that this can only be addressed with a systematic approach to all the stages of the evaluation process. This raises the following challenges: i) precisely describe the environment and variables affecting the experiment, ii) minimize the number of (uncontrollable) variables affecting the experiment and iii) have the ability to subject the system under evaluation to controlled fault patterns. In the following, we highlight the research directions we are currently pursuing to address these goals. Our overarching goal is to build an open-source evaluation platform, Angainor, able to deploy an experiment, control the network topology, inject faults, monitor the whole experiment and automatically derive summary statistics of the experimental data.
{"title":"Towards Reproducible Evaluation of Large-Scale Distributed Systems","authors":"M. Matos","doi":"10.1145/3231104.3231113","DOIUrl":"https://doi.org/10.1145/3231104.3231113","url":null,"abstract":"Reproducing experimental results is nowadays seen as one of the greatest impairments for the progress of science in general and distributed systems in particular. This stems from the increasing complexity of the systems under study and the inherent complexity of capturing and controlling all variables that can potentially affect experimental results. We argue that this can only be addressed with a systematic approach to all the stages of the evaluation process. This raises the following challenges: i) precisely describe the environment and variables affecting the experiment, ii) minimize the number of (uncontrollable) variables affecting the experiment and iii) have the ability to subject the system under evaluation to controlled fault patterns. In the following, we highlight the research directions we are currently pursuing to address these goals. Our overarching goal is to build an open-source evaluation platform, Angainor, able to deploy an experiment, control the network topology, inject faults, monitor the whole experiment and automatically derive summary statistics of the experimental data.","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131344161","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We present the design and implementation of Partisan, an Erlang library for enabling real-world experiments of dis- tributed protocols and applications. Partisan is a batteries- included"library facilitating internode communication in Er- lang, runtime selection of cluster topology, pluggable layers that provide additional functionality such as causal delivery and reliable message delivery, and a mechanism for perform- ing deterministic fault injection. Partisan has been used in the evaluation of one research prototype, two real-world ap- plications, and has seen industry adoption in the Erlang and Elixir communities.
{"title":"Partisan","authors":"Christopher S. Meiklejohn","doi":"10.1145/3231104.3231106","DOIUrl":"https://doi.org/10.1145/3231104.3231106","url":null,"abstract":"We present the design and implementation of Partisan, an Erlang library for enabling real-world experiments of dis- tributed protocols and applications. Partisan is a batteries- included\"library facilitating internode communication in Er- lang, runtime selection of cluster topology, pluggable layers that provide additional functionality such as causal delivery and reliable message delivery, and a mechanism for perform- ing deterministic fault injection. Partisan has been used in the evaluation of one research prototype, two real-world ap- plications, and has seen industry adoption in the Erlang and Elixir communities.","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121069349","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","authors":"","doi":"10.1145/3231104","DOIUrl":"https://doi.org/10.1145/3231104","url":null,"abstract":"","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114586544","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes the use of a high-level, precise, and executable language, DistAlgo, for expressing, understanding, running, optimizing, and improving distributed algorithms, through the study of Lamport's algorithm for distributed mutual exclusion. We show how a simplified algorithm, reached by several rounds of better understanding and improvement of the original algorithm, leads to further simplification and improved understanding of fairness. This allows us to use any ordering for fairness, including improved fairness for granting requests in the order in which they are made, over using logical clock values. This leads to the discovery that logical clocks are not fair in general.
{"title":"Logical Clocks Are Not Fair: What Is Fair?","authors":"Yanhong A. Liu","doi":"10.1145/3231104.3231109","DOIUrl":"https://doi.org/10.1145/3231104.3231109","url":null,"abstract":"This paper describes the use of a high-level, precise, and executable language, DistAlgo, for expressing, understanding, running, optimizing, and improving distributed algorithms, through the study of Lamport's algorithm for distributed mutual exclusion. We show how a simplified algorithm, reached by several rounds of better understanding and improvement of the original algorithm, leads to further simplification and improved understanding of fairness. This allows us to use any ordering for fairness, including improved fairness for granting requests in the order in which they are made, over using logical clock values. This leads to the discovery that logical clocks are not fair in general.","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121134551","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
T. Baba, Shinpei Watanabe, B. Jackin, K. Ootsu, Takeshi Ohkawa, T. Yokota, Y. Hayasaki, T. Yatagai
The 3D holographic display has long been expected as a future human interface as it does not require users to wear special devices. However, in addition to the delay of display device technology, its heavy computation requirement prevents the realization of such displays. A recent study says that objects and holograms with several giga-pixels should be processed in real time for the realization of high resolution and wide view angle. To this problem, first, we have proposed a new data distribution method that utilizes a basic FFT-based O(N log N) computation but does not need any inter-node communications during the computation on a multi-GPU cluster. Then, we have implemented the method on a multi-GPU cluster, applying several single-node and multi-node optimization and parallelization techniques. The experimental results show that the intra-node optimizations attain 11.52 times speed-up from the original single node code. Further, multi-node optimizations using 8 nodes, 2 GPUs per node, attain the execution time of 4.28 sec. for generating 1.6 giga-pixel hologram from 3.2 giga-pixel object. It means 237.92 times speed-up of the sequential processing by CPU using a conventional FFT-based algorithm.
{"title":"Data Distribution Method for Fast Giga-scale Hologram Generation on a Multi-GPU Cluster","authors":"T. Baba, Shinpei Watanabe, B. Jackin, K. Ootsu, Takeshi Ohkawa, T. Yokota, Y. Hayasaki, T. Yatagai","doi":"10.1145/3231104.3231105","DOIUrl":"https://doi.org/10.1145/3231104.3231105","url":null,"abstract":"The 3D holographic display has long been expected as a future human interface as it does not require users to wear special devices. However, in addition to the delay of display device technology, its heavy computation requirement prevents the realization of such displays. A recent study says that objects and holograms with several giga-pixels should be processed in real time for the realization of high resolution and wide view angle. To this problem, first, we have proposed a new data distribution method that utilizes a basic FFT-based O(N log N) computation but does not need any inter-node communications during the computation on a multi-GPU cluster. Then, we have implemented the method on a multi-GPU cluster, applying several single-node and multi-node optimization and parallelization techniques. The experimental results show that the intra-node optimizations attain 11.52 times speed-up from the original single node code. Further, multi-node optimizations using 8 nodes, 2 GPUs per node, attain the execution time of 4.28 sec. for generating 1.6 giga-pixel hologram from 3.2 giga-pixel object. It means 237.92 times speed-up of the sequential processing by CPU using a conventional FFT-based algorithm.","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"118 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126852835","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Daniel Brahneborg, W. Afzal, Adnan Causevic, M. Björkman
Businesses often use mobile text messages (SMS) as a cost effective and universal way of communicating concise information to their customers. Today, these messages are usually sent via SMS brokers, which forward them further to the next stakeholder, typically the various mobile operators, and then the messages eventually reach the intended recipients. Infoflex Connect AB delivers an SMS gateway application to the brokers with the main responsibility of reliable message delivery within set quality thresholds. However, the protocols used for SMS communication are not designed for reliability and thus messages may be lost. In this position paper we deduce requirements for a new protocol for routing messages through the SMS gateway application running at a set of broker nodes, in order to increase the reliability. The requirements cover important topics for the required communication protocol such as event ordering, message handling and system membership. The specification of such requirements sets the foundation for the forthcoming design and implementation of such a protocol and its evaluation.
{"title":"Towards a More Reliable Store-and-forward Protocol for Mobile Text Messages","authors":"Daniel Brahneborg, W. Afzal, Adnan Causevic, M. Björkman","doi":"10.1145/3231104.3231108","DOIUrl":"https://doi.org/10.1145/3231104.3231108","url":null,"abstract":"Businesses often use mobile text messages (SMS) as a cost effective and universal way of communicating concise information to their customers. Today, these messages are usually sent via SMS brokers, which forward them further to the next stakeholder, typically the various mobile operators, and then the messages eventually reach the intended recipients. Infoflex Connect AB delivers an SMS gateway application to the brokers with the main responsibility of reliable message delivery within set quality thresholds. However, the protocols used for SMS communication are not designed for reliability and thus messages may be lost. In this position paper we deduce requirements for a new protocol for routing messages through the SMS gateway application running at a set of broker nodes, in order to increase the reliability. The requirements cover important topics for the required communication protocol such as event ordering, message handling and system membership. The specification of such requirements sets the foundation for the forthcoming design and implementation of such a protocol and its evaluation.","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117240085","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
S. Venugopal, Michele Gazzetti, Yiannis Gkoufas, K. Katrinis
Over the years, developments such as cloud computing, Internet of Things, and now edge and fog computing, have probably caused paradigm fatigue among practitioners. The question arises whether adopting a specific paradigm has a fundamental effect on the development and deployment of applications. This talk will examine this question in the context of edge computing, through the lens of developing and deploying an visual inference application.
{"title":"Turn of the Carousel - What Does Edge Computing Change for Distributed Applications?","authors":"S. Venugopal, Michele Gazzetti, Yiannis Gkoufas, K. Katrinis","doi":"10.1145/3231104.3231114","DOIUrl":"https://doi.org/10.1145/3231104.3231114","url":null,"abstract":"Over the years, developments such as cloud computing, Internet of Things, and now edge and fog computing, have probably caused paradigm fatigue among practitioners. The question arises whether adopting a specific paradigm has a fundamental effect on the development and deployment of applications. This talk will examine this question in the context of edge computing, through the lens of developing and deploying an visual inference application.","PeriodicalId":164914,"journal":{"name":"Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128444870","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed systems