Message-passing and distributed shared memory have their respective advantages and disadvantages in distributed parallel programming. We approach the problem of integrating both mechanisms into a single system by prop...
详细信息
Message-passing and distributed shared memory have their respective advantages and disadvantages in distributed parallel programming. We approach the problem of integrating both mechanisms into a single system by proposing a new message-driven coherency mechanism. Messages carrying explicit causality annotations are exchanged to trigger memory coherency actions. By adding annotations to standard message-based protocols, it is easy to construct efficient implementations of common synchronization and communication mechanisms. Because these are user-level messages, the set of available primitives is extended easily with language- or application-specific mechanisms. CarlOS, an experimental prototype for evaluating this approach, is derived from the lazy release consistent memory of TreadMarks. We describe the message-driven coherency memory model used in CarlOS, and we examine the performance of several applications.
The array update problem in the implementation of a purely functional language is the following: once an array is updated, both the original array and the newly updated one must be preserved to maintain referential tr...
ISBN:
(纸本)9780897916431
The array update problem in the implementation of a purely functional language is the following: once an array is updated, both the original array and the newly updated one must be preserved to maintain referential transparency. Previous approaches have mainly based on the detection or enforcement of single-threaded accesses to an aggregate, by means of compiler-time analyses or language restrictions. These approaches cannot deal with aggregates which are updated in a multi-threaded ***'s shallow binding scheme can be used to implement multi-threaded functional arrays. His scheme, however, can be very expensive if there are repeated alternations between long binding paths. We design a scheme that fragments binding paths randomly. The randomization scheme is on-line, simple to implement, and its expected performance comparable to that of the optimal off-line solutions. All this is achieved without using compiler-time analyses, and without restricting the *** expected performance of the randomization scheme is analyzed in details, and some preliminary results are shown. Applications of the randomization technique to other functional aggregates, as well as its implications, are briefly outlined.
We present the prototype of a fuzzy library for the concurrent programminglanguage PCN (C. Geiger et al., 1994). PCN (Parallel Composition language) (I. Foster et al., 1992) is based on parallel logic programming (li...
详细信息
We present the prototype of a fuzzy library for the concurrent programminglanguage PCN (C. Geiger et al., 1994). PCN (Parallel Composition language) (I. Foster et al., 1992) is based on parallel logic programming (like Strand) and allows an easy formulation of parallel programs which can be executed on a heterogenous processor network. From our point of view this combination of fuzzy logic with parallelism offers at least two advantages. The parallel execution of large fuzzy rule based systems is much faster than the sequential case. This is due to the inherent parallelism which underlies such rule bases and the used inference mechanism. Additionally, the descriptive power of PCN allows an easy formulation of asynchronous systems, e.g. Petri nets. By this we get the basis of a modeling tool for rapid prototyping of such systems in which the system description (by the program) and the system simulation (by the execution of the program) are carried out in a common environment. We motivate these advantages by processing a rule base consisting of about 10000 rule tests and by modeling concepts of fuzzy Petri nets.< >
We describe Charm++, an object oriented portable parallel programminglanguage based on C++. Its design philosophy, implementation, sample applications and their performance on various parallel machines are described....
详细信息
The conference materials contain 33 papers. The topics covered include experience with functional programming applications, theory and implementation of types, storage reclamation, semantics analysis of imperative ext...
详细信息
ISBN:
(纸本)089791595X
The conference materials contain 33 papers. The topics covered include experience with functional programming applications, theory and implementation of types, storage reclamation, semantics analysis of imperative extensions, compiling and performance evaluation, languagedesign, compiler optimization, static analysis, functional algorithms and partial evaluation.
We present a new programming paradigm called Communicating Reactive Processes or CRP that unifies the capabilities of asynchronous and synchronous concurrent programminglanguages. Asynchronous languages such as CSP, ...
详细信息
ISBN:
(纸本)0897915607
We present a new programming paradigm called Communicating Reactive Processes or CRP that unifies the capabilities of asynchronous and synchronous concurrent programminglanguages. Asynchronous languages such as CSP, OCCAM, or ADA are well-suited for distributed algorithms;their processes are loosely coupled and communication takes time. The ESTEREL synchronous language is dedicated to reactive systems;its processes are tightly coupled and deterministic, communication being realized by instantaneous broadcasting. Complex applications such as process or robot control require to couple both forms of concurrency, which is the object of CRP. A CRP program consists of independent locally reactive ESTEREL nodes that communicate with each other by CSP rendezvous. CRP faithfully extends both ESTEREL and CSP and adds new possibilities such as precise local watchdogs on rendezvous. We present the design of CRP, its semantics, a translation into classical process calculi for program verification, an application example, and implementation issues.
ELUS by Eleusinian Enterprises is discussed as an example of a mixed language Forth implementation which includes its own GUI toolkit, the Interactive Screen designer. The linked MetaWINDOW graphics library (Metagraph...
详细信息
ELUS by Eleusinian Enterprises is discussed as an example of a mixed language Forth implementation which includes its own GUI toolkit, the Interactive Screen designer. The linked MetaWINDOW graphics library (Metagraphics Software Corporation), makes the design and implementation of graphics application user interfaces possible, intuitive, and efficient. The discussed utilities of the Interactive Screen designer include the design of standard window and control screen objects, paint facilities for creating customdesigned application windows, and a Linker utility which allows any predefined screen region to be linked to executable code. A music application, ELUS:TD, and an ELUS music utility, SETMATRIX, are demonstrated as examples of virtual device panels and control interfaces created with the Interactive Screen designer.
A data breakpoint associates debugging actions with programmer-specified conditions on the memory state of an executing program. Data breakpoints provide a means for discovering program bugs that are tedious or imposs...
详细信息
ISBN:
(纸本)0897915984
A data breakpoint associates debugging actions with programmer-specified conditions on the memory state of an executing program. Data breakpoints provide a means for discovering program bugs that are tedious or impossible to isolate using control breakpoints alone. In practice, programmers rarely use data breakpoints, because they are either unimplemented or prohibitively slow in available debugging software. In this paper, we present the design and implementation of a practical data breakpoint facility. A data breakpoint facility must monitor all memory updates performed by the program being debugged. We implemented and evaluated two complementary techniques for reducing the overhead of monitoring memory updates. First, we checked write instructions by inserting checking code directly into the program being debugged. The checks use a segmented bitmap data structure that minimizes address lookup complexity. Second, we developed data flow algorithms that eliminate checks on some classes of write instructions but may increase the complexity of the remaining checks. We evaluated these techniques on the SPARC using the SPEC benchmarks. Checking each write instruction using a segmented bitmap achieved an average overhead of 42%. This overhead is independent of the number of breakpoints in use. Data flow analysis eliminated an average of 79% of the dynamic write checks. For scientific programs such the NAS kernels, analysis reduced write checks by a factor of ten or more. On the SPARC these optimizations reduced the average overhead to 25%.
The proceedings contain 8 papers. The topics discussed include: the software stack data-type as an operating system service;forth in space: interfacing SSBUV, a scientific instrument, to the space shuttle;first step t...
The proceedings contain 8 papers. The topics discussed include: the software stack data-type as an operating system service;forth in space: interfacing SSBUV, a scientific instrument, to the space shuttle;first step to forth engine construction;a forth course for engineers;a C-to-forth compiler;forth, meta Window, and GUI design;forth in mainstream computer science courses;and computer algebra in forth.
This conference contains 30 papers all of which are abstracted and indexed individually. The topics covered are: program debugging techniques;debugging optimized codes;concurrent compilers;abstract machine;false data ...
详细信息
ISBN:
(纸本)0897914759
This conference contains 30 papers all of which are abstracted and indexed individually. The topics covered are: program debugging techniques;debugging optimized codes;concurrent compilers;abstract machine;false data dependency;loop transformations;pointer aliasing;program transformation;register allocation;and code replication.
暂无评论