We are developing a shared-variable refinement calculus in the style of the sequential calculi of Back, Morgan, and Morris. As part of this work, we're studying different theories of shared-variable programming. U...
详细信息
ISBN:
(纸本)3540000291
We are developing a shared-variable refinement calculus in the style of the sequential calculi of Back, Morgan, and Morris. As part of this work, we're studying different theories of shared-variable programming. Using the concepts and notations of Hoare & He's unifying theories of programming (UTP), we give a formal semantics to a programming language that contains sequential composition, conditional statements, while loops, nested parallel composition, and shared variables. We first give a UTP semantics to labelled action systems, and then use this to give the semantics of our programs. Labelled action systems have a unique normal form that allows a simple formalisation and validation of different logics for reasoning about shared-variable programs. In this paper, we demonstrate how this is done for Lamport's Concurrent Hoare Logic.
The first Spanish parallel programming Contest was organized in September 2011 within the Spanish Jornadas de Paralelismo. The aim of the contest is to disseminate parallelism among Computer Science students. The webs...
详细信息
ISBN:
(纸本)9780769546766
The first Spanish parallel programming Contest was organized in September 2011 within the Spanish Jornadas de Paralelismo. The aim of the contest is to disseminate parallelism among Computer Science students. The website and the material generated can be used for educational purposes. This paper comments on the organization of the contest and summarizes some training activities in which the material of the contest is being or can be used.
parallel programs are increasingly being written using programming frameworks and other environments that allow parallel constructs to be programmed with greater ease. The data structures used allow the modeling of co...
详细信息
ISBN:
(纸本)9783642038686
parallel programs are increasingly being written using programming frameworks and other environments that allow parallel constructs to be programmed with greater ease. The data structures used allow the modeling of complex mathematical structures like linear systems and partial differential equations using high-level programming abstractions. While this allows programmers to model complex systems in a more intuitive way, it;also makes the debugging and profiling of these systems more difficult due to the complexity of mapping these high level abstractions down to die low level parallel programming constructs. This work discusses mapping mechanisms, called variable blame, for creating these wrappings and using them to assist in the profiling and debugging of programs created using advanced parallel programming techniques. We also include an example of a. prototype implementation of the system profiling three programs.
In this work, the parallel Hierarchical Interface Decomposition Algorithm (PHIDAL) and a hybrid parallel programming model were applied to finite-element based simulations of linear elasticity problems in media with h...
详细信息
ISBN:
(纸本)9783540754435
In this work, the parallel Hierarchical Interface Decomposition Algorithm (PHIDAL) and a hybrid parallel programming model were applied to finite-element based simulations of linear elasticity problems in media with heterogeneous material properties using parallel preconditioned iterative solvers. Reverse Cuthill-McKee reordering with cyclic multicoloring (CM-RCM) was applied for parallelism on each SNIP node through OpenMP. The developed code has been tested on the IBM p5-575 and the TSUBAME Grid Cluster using up to 512 cores. Preconditioners based on PHIDAL provide a superior scalable performance and robustness on both architectures in comparison to conventional block Jacobi-type localized preconditioners.
Multicore computers are ubiquitous, and proposals to extend existing languages with parallel constructs mushroom. While everyone claims to make parallel programming easier and less error-prone, empirical language usab...
详细信息
ISBN:
(纸本)9781450304450
Multicore computers are ubiquitous, and proposals to extend existing languages with parallel constructs mushroom. While everyone claims to make parallel programming easier and less error-prone, empirical language usability evaluations are rarely done in-the-field with many users and real programs. Key obstacles are costs and a lack of appropriate environments to gather enough data for representative conclusions. This paper discusses the idea of automating the usability evaluation of parallel language constructs by gathering subjective and objective data directly in every software engineer's IDE. The paper presents an Eclipse prototype suite that can aggregate such data from potentially hundreds of thousands of programmers. Mismatch detection in subjective and objective feedback as well as construct usage mining can improve language design at an early stage, thus reducing the risk of developing and maintaining inappropriate constructs. New research directions arising from this idea are outlined for software repository mining, debugging, and software economics.
The # component model was proposed to meet the growing demands of new complex applications of science and engineering that require productive and efficient use of high-performance computing architectures. This paper p...
详细信息
The # component model was proposed to meet the growing demands of new complex applications of science and engineering that require productive and efficient use of high-performance computing architectures. This paper presents the principles, intuition, and theories underlying the # component model, and the design of an architecture for programming frameworks that comply to the # component model. Copyright (c) 2006 John Wiley & Sons, Ltd.
Single-board computers have recently grown to offer developers a wide range of options where the common denominators are low power and low cost. In this paper, we present an embedded cluster platform for a remote para...
详细信息
ISBN:
(纸本)9781728109305
Single-board computers have recently grown to offer developers a wide range of options where the common denominators are low power and low cost. In this paper, we present an embedded cluster platform for a remote parallel programming lab to be used in an online course. A remote lab server handles all requests coming from the front-end running on an online learning platform and controls the execution of the parallel programming assignments submitted by students. The embedded cluster where the jobs run is made out of single-board computers connected through a gigabit network among them and to the lab server. In our first working prototype, we have tested six different state-of-the-art single-board computers, evaluating their processing latency, price, and tools compatibility. We found that the Vim3Pro performed best overall, being the fastest in most tests, having a mid-range price, and being only two times slower than a much more expensive high-end Xeon processor when using the same amount of cores.
During the software crisis of the 1960s, Dijkstra's famous thesis "goto considered harmful" paved the way for structured programming, i.e. software development with well-defined and disciplined organizat...
详细信息
ISBN:
(纸本)3540425225
During the software crisis of the 1960s, Dijkstra's famous thesis "goto considered harmful" paved the way for structured programming, i.e. software development with well-defined and disciplined organization of control flow. In parallel programming, a new aspect - communication - has an important impact on the structure and properties of programs. This paper shows that many current difficulties of parallel programming are caused by complicated and poorly structured communication, which is a consequence of using low-level send-recv primitives. We argue that, like goto in sequential programs, send-recv should be avoided as far as possible and replaced by collective operations in the parallel setting. We argue against some widely held opinions about the apparent superiority of individual over collective communication and present substantial theoretical and empirical evidence to the contrary. The paper overviews some recent results on formal transformation rules for collective operations that facilitate systematic, performance-oriented design of parallel programs using MPI (Message Passing Interface).
暂无评论