A model of a multiprocessing, multiprogrammingcomputer system with serially reusable programs was developed to study the effect of serial programs on system performance. Two strategies for implementing serially reusa...
详细信息
A model of a multiprocessing, multiprogrammingcomputer system with serially reusable programs was developed to study the effect of serial programs on system performance. Two strategies for implementing serially reusable programs were investigated, a wait strategy in which the processor waits until the serial program is available, and a switch strategy, in which the processor is freed to do other work. Relative performances and asymptotic conditions as functions of the number of processors, processes, serially reusable programs, and the fraction of time each process executes serially reusable programs were obtained. Quantitative results are presented showing that the switch strategy is superior. The wait strategy causes quick saturation when the number of processes is increased.
This paper presents a general method for the conversion of a decision table to a sequential testing procedure represented as a tree. The method resolves difficulties which have been discussed previously in the literat...
详细信息
This paper presents a general method for the conversion of a decision table to a sequential testing procedure represented as a tree. The method resolves difficulties which have been discussed previously in the literature but leaves open the question of the production of optimum or near optimum trees related to particular criteria. It provides, however, a framework within which such optimizing methods may be developed. Suggestions are also made for improving the concepts and notations used in extended entry tables and for their use in translation.
In the long-lived M-renaming problem, N processes repeatedly acquire and release names ranging over {0,...,M - 1}, where M<N. It is assumed that at most k less than or equal to M processes concurrently request or h...
详细信息
In the long-lived M-renaming problem, N processes repeatedly acquire and release names ranging over {0,...,M - 1}, where M
Parallel algorithms that use shared resources are notoriously difficult to write and verify, especially when properties such as fairness and efficiency are desired. This paper introduces a new synchronization method c...
详细信息
Parallel algorithms that use shared resources are notoriously difficult to write and verify, especially when properties such as fairness and efficiency are desired. This paper introduces a new synchronization method called the group lock. This method has some of the advantages of strict synchronization methods such as monitors; algorithms written using group lock are quite clear and easy to verify. At the same time, these algorithms generally make better use of parallelism than those written using stricter synchronization methods. In many cases we can obtain worst case time bounds that are constant or logarithmic in the number of processes, thus also insuring bounded fairness. The paper begins with a discussion of related synchronization methods and an introduction to the group lock. This is followed by some examples of applications in algorithms for a readers/writers problem, parallel stacks and queues, implementation of fetch- and-phi routines, and others. Finally, two implementations of group lock are described. A detailed implementation is given for the paracomputer, an idealized MIMD multiprocessor that supports the fetch-and-add synchronization instruction. An implementation is also outlined for general CREW multiprocessors using only reads and writes to shared memory.
Service time distributions at computer processing units are often nonexponential. Empirical studies show that different programs may have markedly different processing time requirements. When queuing disciplines are f...
详细信息
Service time distributions at computer processing units are often nonexponential. Empirical studies show that different programs may have markedly different processing time requirements. When queuing disciplines are first come, first served, preemptive priority or nonpreemptive priority, models reflecting these characteristics are difficult to analyze exactly. Available approximate techniques are often too expensive for parametric analysis. Inexpensive approximate techniques for solution of central server models with the above characteristics are presented. The results of these techniques are validated with simulation results.
One of the disadvantages of Microsoft's disk operating system MS-DOS TM is its restriction to only one process running at a time. Consequently the integration of standard application programs to more complex appli...
详细信息
One of the disadvantages of Microsoft's disk operating system MS-DOS TM is its restriction to only one process running at a time. Consequently the integration of standard application programs to more complex application systems is rather limited. This paper shows how to use Modula-2 for integrating several standard MS-DOS applications. To perform this task, a Modula supervisor program implements a shell between application, MS-DOS operating system and BIOS (basic input output system). This shell provides all services needed for loading and executing programs as concurrent processes as well as a communication environment for these processes.
There is undoubtedly a need for software-design tools for parallel programming, A main problem with design tools for parallel programming is their inability to check for liveness (no deadlock) and safeness. In this pa...
详细信息
There is undoubtedly a need for software-design tools for parallel programming, A main problem with design tools for parallel programming is their inability to check for liveness (no deadlock) and safeness. In this paper, the use of Ordinary Petri Net as a software design tool for Occam programming on transputers is discussed. The similarities between Ordinary Petri Net and Occam constructs are highlighted, and an Occam Petri Net model is proposed as a design tool to aid in writing Occam codes. The Occam Petri Net model is graphical. It is capable of modelling deterministic concurrent and choice systems. As a top-down design, the net is similar to Occam 'folds', and, in its use in bottom-up implementation, it is similar to unfolding. This unfolding using the Occam Petri Net model makes writing Occam source codes easier. The availability of Petri Net CASE tools will make it more attractive for designing Occam programs.
Program unification is a technique for source-to-source transformation of code for enhanced execution performance on vector and SIMD architectures. This work focuses on simple examples of program unification to explai...
详细信息
Program unification is a technique for source-to-source transformation of code for enhanced execution performance on vector and SIMD architectures. This work focuses on simple examples of program unification to explain the methodology and demonstrate its promise as a practical technique for improved performance. Using simple examples to explain how unification is done, we outline two experiments in the simulation domain that benefit from unification, namely Monte Carlo and discrete-event simulation. Empirical tests of unified code on a Cray Y-MP multiprocessor show that unification improves execution performance by a factor of roughly 8 for given application. The technique is general in that it can be applied to computation-intensive programs in various data-parallel application domains.
Better programming productivity may be obtained by choosing suitable programming paradigms. For development of complex software systems, multiparadigm programming would usually be appropriate. However, its use may be ...
详细信息
Better programming productivity may be obtained by choosing suitable programming paradigms. For development of complex software systems, multiparadigm programming would usually be appropriate. However, its use may be hindered by a lack of languages and programming support tools. As this article argues, multiparadigm programming may be supported by translators that convert programs written in one language to another language based on a different paradigm.
We examine the substance and the importance of the problem of intelligent automated programming. The feasibility of the solution of this problem is analyzed for the case of a hypothetical intelligent compiler system (...
详细信息
We examine the substance and the importance of the problem of intelligent automated programming. The feasibility of the solution of this problem is analyzed for the case of a hypothetical intelligent compiler system (ICS).
暂无评论