This paper presents the implementation of multitasking functions of DYNIX Sequent computers on the UNIX operating system. The Sequent computers are shared memory multiprocessor computers running the DYNIX operating sy...
详细信息
parallel programming demands, in contrast to sequential programming, sub-task identification, dependence analysis and task-to-processor assignment. This paper presents a new parallelising tool that supports the progra...
详细信息
ISBN:
(纸本)3540419993
parallel programming demands, in contrast to sequential programming, sub-task identification, dependence analysis and task-to-processor assignment. This paper presents a new parallelising tool that supports the programmer in these early challenging phases of parallel programming. In contrast to existing parallelising tools, the proposed parallelising tool is based on a new graph theoretic model, called annotated hierarchical graph, that integrates the commonly used graph theoretic models for parallel computing. Part of the parallelising tool is an object oriented framework for the development of scheduling and mapping algorithms, which allows to rapidly adapt and implement new algorithms. The tool achieves platform independence by relying on internal structures that are not bound to any architecture and by implementing the tool in Java.
In logic programming, dynamic scheduling refers to a situation where the selection of the atom in each resolution (computation) step is determined at runtime, as opposed to a fixed selection rule such as the left-to-r...
详细信息
ISBN:
(纸本)3540418628
In logic programming, dynamic scheduling refers to a situation where the selection of the atom in each resolution (computation) step is determined at runtime, as opposed to a fixed selection rule such as the left-to-right one of Prolog. This has applications e,g. in parallel programming. A mechanism to control dynamic scheduling is provided in existing languages in the form of delay declarations. Input-consuming derivations were introduced to describe dynamic scheduling while abstracting from the technical details. In this paper, we first formalise the relationship between delay declarations and input-consuming derivations, showing in many cases a one-to-one correspondence. Then, we define a model-theoretic semantics for input-consuming derivations of simply-moded programs. Finally, for this class of Programs, we provide a necessary and sufficient criterion for termination.
An effective execution model is a vital component of any general-purpose implicitly parallel programming system. We introduce SLAM (Spreading Load with Active Messages), an execution model which overcomes many of the ...
详细信息
ISBN:
(数字)9783540453611
ISBN:
(纸本)3540419195
An effective execution model is a vital component of any general-purpose implicitly parallel programming system. We introduce SLAM (Spreading Load with Active Messages), an execution model which overcomes many of the problems with previous approaches. SLAM is efficient enough to operate at low granularity without hard-ware support, and has other necessary properties. Compiling for SLAM presents an unusual set of problems, and we describe how this is done from UFO-Lite, a simplified version of the United Functions and Objects programming language. Linear speedups are obtained for a program with irregular, fine-grain, parallelism on stock hardware.
This article presents first steps in creating intellectual translator from Petri Net notation to C++. For this case Petri Nets have been adopted for programming needs and became capable to include functional programmi...
详细信息
ISBN:
(纸本)3540425225
This article presents first steps in creating intellectual translator from Petri Net notation to C++. For this case Petri Nets have been adopted for programming needs and became capable to include functional programming commands and operators. Properties and operations on Coloured Petri Nets and Compositional Petri Nets were implemented in adopted version of Petri Nets, so that they could use advantages of hierarchical programming and data types. Translation to C++ procedure has been elaborated by a classical scheme: fragmentation, optimization and assembling, - and implemented in an experimental translator from Petri Nets to C++.
In this paper we describe an instrumentation environment for the performance analysis and visualization of parallel applications written in JOMP, an OpenMP-like interface for Java. The environment includes two complem...
详细信息
ISBN:
(纸本)0769512585
In this paper we describe an instrumentation environment for the performance analysis and visualization of parallel applications written in JOMP, an OpenMP-like interface for Java. The environment includes two complementary approaches. The first one has been designed to provide a detailed analysis of the parallel behavior at the JOMP programming model level. At this level, the user is faced with parallel, work-sharing and synchronization constructs, which are the core of JOMP. The second mechanism has been designed to support an in-depth analysis of the threaded execution inside the Java Virtual Machine (JVM). At this level of analysis, the user is faced with the supporting threads layer, monitors and conditional variables. The paper discusses the implementation of both mechanisms and evaluates the overhead incurred by, them.
UPC, or Unified parallel C, is a parallel extension of ANSI C. UPC is developed around the distributed shared-memory programming model with constructs that can allow programmers to exploit memory locality, by placing ...
详细信息
ISBN:
(纸本)0769512585
UPC, or Unified parallel C, is a parallel extension of ANSI C. UPC is developed around the distributed shared-memory programming model with constructs that can allow programmers to exploit memory locality, by placing data close to the threads that manipulate them in order to minimize remote accesses. Under the UPC memory sharing model, each thread owns a private memory, and has a logical association (affininty) with a partition of the shared memory. This paper discusses an early release of UPC_Bench, a benchmark designed to reveal UPC compilers performance weaknesses to uncover opportunities for compiler optimizations. The experimental results from UPC_Bench over the Compaq AlphaServer SC will show that UPC_Bench is capable of discovering such compiler performance problems. Further, it will show that if such performance pitfalls are avoided through compiler optimizations, distributed shared memory programming paradigms can result in high-performance, while the ease of programming is enjoyed*.
Our proposal has the following key features: 1) The separation of a distributed program into a pure algorithm (PurAl) and a distribution/communication declaration (DUAL). This yields flexible programs capable of handl...
详细信息
ISBN:
(纸本)354041729X
Our proposal has the following key features: 1) The separation of a distributed program into a pure algorithm (PurAl) and a distribution/communication declaration (DUAL). This yields flexible programs capable of handling different kinds of data/program distribution with no change to the pure algorithm. 2) Implicit or automatic handling of communication via externally mapped variables and generalizations of assignment and reference to these variables. This provides unified device independent view and processing of internal data and external distributed data at the user programming language level. 3) Programs need only know of the direct binds with distributed correspondents (mailbox driver, file manager, remote task, window manager etc.). This avoids the need for a central description of all the interconnections. The main short-range benefits of this proposal are to facilitate parallel computations. parallel programming is a fundamental challenge in computer science, nowadays. Improving these techniques will lead to simplify the programming, eliminate the communication statements, and unify the various communication by using an implicit method for the transfer of data which is becoming essential with the proliferation of distributed networked environment. We present 2 experiments of separation between PurAl and DUAL, using a preprocessor or an object-type library. This new approach might be of interest to both academic and industrial researchers.
Over the years, hundreds of parallel programming Application programming Interfaces (API) have come and gone. Most grow a small user base and then fade away. A few API's, however, are "winners" and catch...
详细信息
暂无评论