30 research outputs found

    Efficient Data Race Detection for Async-Finish Parallelism

    Full text link
    Abstract. A major productivity hurdle for parallel programming is the presence of data races. Data races can lead to all kinds of harmful program behaviors, includ-ing determinism violations and corrupted memory. However, runtime overheads of current dynamic data race detectors are still prohibitively large (often incurring slowdowns of 10 × or larger) for use in mainstream software development. In this paper, we present an efficient dynamic race detector algorithm targeting the async-finish task-parallel parallel programming model. The async and finish constructs are at the core of languages such as X10 and Habanero Java (HJ). These constructs generalize the spawn-sync constructs used in Cilk, while still ensuring that all computation graphs are deadlock-free. We have implemented our algorithm in a tool called TASKCHECKER and eval-uated it on a suite of 12 benchmarks. To reduce overhead of the dynamic analysis, we have also implemented various static optimizations in the tool. Our experi-mental results indicate that our approach performs well in practice, incurring an average slowdown of 3.05 × compared to a serial execution in the optimized case.

    Scholarly publishing depends on peer reviewers

    Get PDF
    The peer-review crisis is posing a risk to the scholarly peer-reviewed journal system. Journals have to ask many potential peer reviewers to obtain a minimum acceptable number of peers accepting reviewing a manuscript. Several solutions have been suggested to overcome this shortage. From reimbursing for the job, to eliminating pre-publication reviews, one cannot predict which is more dangerous for the future of scholarly publishing. And, why not acknowledging their contribution to the final version of the article published? PubMed created two categories of contributors: authors [AU] and collaborators [IR]. Why not a third category for the peer-reviewer?Scopu

    Automatic verification of determinism for structured parallel programs

    No full text
    Abstract. We present a static analysis for automatically verifying determinism of structured parallel programs. The main idea is to leverage the structure of the program to reduce determinism verification to an independence property that can be proved using a simple sequential analysis. Given a task-parallel program, we identify program fragments that may execute in parallel and check that these fragments perform independent memory accesses using a sequential analysis. Since the parts that can execute in parallel are typically only a small fraction of the program, we can employ powerful numerical abstractions to establish that tasks executing in parallel only perform independent memory accesses. We have implemented our analysis in a tool called DICE and successfully applied it to verify determinism on a suite of benchmarks derived from those used in the highperformance computing community.

    Lessons from Volunteering and Free/Libre Open Source Software Development for the Future of Work

    No full text
    Part 6: Section 5: The Future of Industrial-Institutional Practices and Outcomes through Information TechnologyInternational audienceIn this paper, we review research on voluntary organizations to identify key features of and problems in volunteer work and organizations. We then use the example of free/libre open source software (FLOSS) development teams to examine how those features and problems apply in this situation and how they might be affected by the use of information and communications technologies (ICT). We suggest that understanding volunteer organizations can illuminate the changing nature of all knowledge work, paid as well as unpaid
    corecore