61,210 research outputs found
Deductive Verification of Parallel Programs Using Why3
The Message Passing Interface specification (MPI) defines a portable
message-passing API used to program parallel computers. MPI programs manifest a
number of challenges on what concerns correctness: sent and expected values in
communications may not match, resulting in incorrect computations possibly
leading to crashes; and programs may deadlock resulting in wasted resources.
Existing tools are not completely satisfactory: model-checking does not scale
with the number of processes; testing techniques wastes resources and are
highly dependent on the quality of the test set.
As an alternative, we present a prototype for a type-based approach to
programming and verifying MPI like programs against protocols. Protocols are
written in a dependent type language designed so as to capture the most common
primitives in MPI, incorporating, in addition, a form of primitive recursion
and collective choice. Protocols are then translated into Why3, a deductive
software verification tool. Source code, in turn, is written in WhyML, the
language of the Why3 platform, and checked against the protocol. Programs that
pass verification are guaranteed to be communication safe and free from
deadlocks.
We verified several parallel programs from textbooks using our approach, and
report on the outcome.Comment: In Proceedings ICE 2015, arXiv:1508.0459
Multilevel Decoders Surpassing Belief Propagation on the Binary Symmetric Channel
In this paper, we propose a new class of quantized message-passing decoders
for LDPC codes over the BSC. The messages take values (or levels) from a finite
set. The update rules do not mimic belief propagation but instead are derived
using the knowledge of trapping sets. We show that the update rules can be
derived to correct certain error patterns that are uncorrectable by algorithms
such as BP and min-sum. In some cases even with a small message set, these
decoders can guarantee correction of a higher number of errors than BP and
min-sum. We provide particularly good 3-bit decoders for 3-left-regular LDPC
codes. They significantly outperform the BP and min-sum decoders, but more
importantly, they achieve this at only a fraction of the complexity of the BP
and min-sum decoders.Comment: 5 pages, in Proc. of 2010 IEEE International Symposium on Information
Theory (ISIT
A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs
The actor model is an attractive foundation for developing concurrent
applications because actors are isolated concurrent entities that communicate
through asynchronous messages and do not share state. Thereby, they avoid
concurrency bugs such as data races, but are not immune to concurrency bugs in
general. This study taxonomizes concurrency bugs in actor-based programs
reported in literature. Furthermore, it analyzes the bugs to identify the
patterns causing them as well as their observable behavior. Based on this
taxonomy, we further analyze the literature and find that current approaches to
static analysis and testing focus on communication deadlocks and message
protocol violations. However, they do not provide solutions to identify
livelocks and behavioral deadlocks. The insights obtained in this study can be
used to improve debugging support for actor-based programs with new debugging
techniques to identify the root cause of complex concurrency bugs.Comment: - Submitted for review - Removed section 6 "Research Roadmap for
Debuggers", its content was summarized in the Future Work section - Added
references for section 1, section 3, section 4.3 and section 5.1 - Updated
citation
Iso-energy-efficiency: An approach to power-constrained parallel computation
Future large scale high performance supercomputer systems require high energy efficiency to achieve exaflops computational power and beyond. Despite the need to understand energy efficiency in high-performance systems, there are few techniques to evaluate energy efficiency at scale. In this paper, we propose a system-level iso-energy-efficiency model to analyze, evaluate and predict energy-performance of data intensive parallel applications with various execution patterns running on large scale power-aware clusters. Our analytical model can help users explore the effects of machine and application dependent characteristics on system energy efficiency and isolate efficient ways to scale system parameters (e.g. processor count, CPU power/frequency, workload size and network bandwidth) to balance energy use and performance. We derive our iso-energy-efficiency model and apply it to the NAS Parallel Benchmarks on two power-aware clusters. Our results indicate that the model accurately predicts total system energy consumption within 5% error on average for parallel applications with various execution and communication patterns. We demonstrate effective use of the model for various application contexts and in scalability decision-making
Distributed Detection of Cycles
Distributed property testing in networks has been introduced by Brakerski and
Patt-Shamir (2011), with the objective of detecting the presence of large dense
sub-networks in a distributed manner. Recently, Censor-Hillel et al. (2016)
have shown how to detect 3-cycles in a constant number of rounds by a
distributed algorithm. In a follow up work, Fraigniaud et al. (2016) have shown
how to detect 4-cycles in a constant number of rounds as well. However, the
techniques in these latter works were shown not to generalize to larger cycles
with . In this paper, we completely settle the problem of cycle
detection, by establishing the following result. For every , there
exists a distributed property testing algorithm for -freeness, performing
in a constant number of rounds. All these results hold in the classical CONGEST
model for distributed network computing. Our algorithm is 1-sided error. Its
round-complexity is where is the property
testing parameter measuring the gap between legal and illegal instances
- …