8 research outputs found
Scalable Termination Detection for Distributed Actor Systems
Automatic garbage collection (GC) prevents certain kinds of bugs and reduces
programming overhead. GC techniques for sequential programs are based on
reachability analysis. However, testing reachability from a root set is
inadequate for determining whether an actor is garbage because an unreachable
actor may send a message to a reachable actor. Instead, it is sufficient to
check termination (sometimes also called quiescence): an actor is terminated if
it is not currently processing a message and cannot receive a message in the
future. Moreover, many actor frameworks provide all actors with access to file
I/O or external storage; without inspecting an actor's internal code, it is
necessary to check that the actor has terminated to ensure that it may be
garbage collected in these frameworks. Previous algorithms to detect actor
garbage require coordination mechanisms such as causal message delivery or
nonlocal monitoring of actors for mutation. Such coordination mechanisms
adversely affect concurrency and are therefore expensive in distributed
systems. We present a low-overhead reference listing technique (called DRL) for
termination detection in actor systems. DRL is based on asynchronous local
snapshots and message-passing between actors. This enables a decentralized
implementation and transient network partition tolerance. The paper provides a
formal description of DRL, shows that all actors identified as garbage have
indeed terminated (safety), and that all terminated actors--under certain
reasonable assumptions--will eventually be identified (liveness).Comment: 23 pages, 7 figures. To appear in the proceedings of CONCUR 2020.
Version 2: Fixed TeX error that omitted predicates in the third line of the
Send rule: Actor must have active refobs and $y_1 \dots y_n
Reversible Computation: Extending Horizons of Computing
This open access State-of-the-Art Survey presents the main recent scientific outcomes in the area of reversible computation, focusing on those that have emerged during COST Action IC1405 "Reversible Computation - Extending Horizons of Computing", a European research network that operated from May 2015 to April 2019. Reversible computation is a new paradigm that extends the traditional forwards-only mode of computation with the ability to execute in reverse, so that computation can run backwards as easily and naturally as forwards. It aims to deliver novel computing devices and software, and to enhance existing systems by equipping them with reversibility. There are many potential applications of reversible computation, including languages and software tools for reliable and recovery-oriented distributed systems and revolutionary reversible logic gates and circuits, but they can only be realized and have lasting effect if conceptual and firm theoretical foundations are established first
Reversible Computation: Extending Horizons of Computing
This open access State-of-the-Art Survey presents the main recent scientific outcomes in the area of reversible computation, focusing on those that have emerged during COST Action IC1405 "Reversible Computation - Extending Horizons of Computing", a European research network that operated from May 2015 to April 2019. Reversible computation is a new paradigm that extends the traditional forwards-only mode of computation with the ability to execute in reverse, so that computation can run backwards as easily and naturally as forwards. It aims to deliver novel computing devices and software, and to enhance existing systems by equipping them with reversibility. There are many potential applications of reversible computation, including languages and software tools for reliable and recovery-oriented distributed systems and revolutionary reversible logic gates and circuits, but they can only be realized and have lasting effect if conceptual and firm theoretical foundations are established first
Automated Validation of State-Based Client-Centric Isolation with TLA <sup>+</sup>
Clear consistency guarantees on data are paramount for the design and implementation of distributed systems. When implementing distributed applications, developers require approaches to verify the data consistency guarantees of an implementation choice. Crooks et al. define a state-based and client-centric model of database isolation. This paper formalizes this state-based model in, reproduces their examples and shows how to model check runtime traces and algorithms with this formalization. The formalized model in enables semi-automatic model checking for different implementation alternatives for transactional operations and allows checking of conformance to isolation levels. We reproduce examples of the original paper and confirm the isolation guarantees of the combination of the well-known 2-phase locking and 2-phase commit algorithms. Using model checking this formalization can also help finding bugs in incorrect specifications. This improves feasibility of automated checking of isolation guarantees in synthesized synchronization implementations and it provides an environment for experimenting with new designs.</p
Knowledge Capturing in Design Briefing Process for Requirement Elicitation and Validation
Knowledge capturing and reusing are major processes of knowledge management that deal with the elicitation of valuable knowledge via some techniques and methods for use in actual and further studies, projects, services, or products. The construction industry, as well, adopts and uses some of these concepts to improve various construction processes and stages. From pre-design to building delivery knowledge management principles and briefing frameworks have been implemented across project stakeholders: client, design teams, construction teams, consultants, and facility management teams. At pre-design and design stages, understanding the client’s needs and users’ knowledge are crucial for identifying and articulating the expected requirements and objectives. Due to underperforming results and missed goals and objectives, many projects finish with highly dissatisfied clients and loss of contracts for some organizations. Knowledge capturing has beneficial effects via its principles and methods on requirement elicitation and validation at the briefing stage between user, client and designer. This paper presents the importance and usage of knowledge capturing and reusing in briefing process at pre-design and design stages especially the involvement of client and user, and explores the techniques and technologies that are usable in briefing process for requirement elicitation
An Investigation on Benefit-Cost Analysis of Greenhouse Structures in Antalya
Significant population increase across the world, loss of cultivable land and increasing demand for food put pressure on agriculture. To meet the demand, greenhouses are built, which are, light structures with transparent cladding material in order to provide controlled microclimatic environment proper for plant production. Conceptually, greenhouses are similar with manufacturing buildings where a controlled environment for manufacturing and production have been provided and proper spaces for standardized production processes have been enabled. Parallel with the trends in the world, particularly in southern regions, greenhouse structures have been increasingly constructed and operated in Turkey. A significant number of greenhouses are located at Antalya. The satellite images demonstrated that for over last three decades, there has been a continuous invasion of greenhouses on all cultivable land. There are various researches and attempts for the improvement of greenhouse design and for increasing food production by decreasing required energy consumption. However, the majority of greenhouses in Turkey are very rudimentary structures where capital required for investment is low, but maintenance requirements are high when compared with new generation greenhouse structures. In this research paper, life-long capital requirements for construction and operation of greenhouse buildings in Antalya has been investigated by using benefit-cost analysis study