External merge sorting consists of two phases; the formation of initial runs and the merge of the runs into a sorted file (possible in several merge passes). The replacement selection algorithm is typically used to cr...
详细信息
External merge sorting consists of two phases; the formation of initial runs and the merge of the runs into a sorted file (possible in several merge passes). The replacement selection algorithm is typically used to create initial runs. It employs two levels of memory: main memory and a sequential accessed tape-like memory. Natural selection uses a third memory level to increase the average length of an initial run. Although natural selection produces longer runs than replacement selection, it is not competitive because the added overhead is excessive. This paper discusses two other methods of creating longer initial runs in a 3-level memory. Their efficiency is higher than that of natural selection and they also outperform a 3-level replacement selection in most circumstances. The second algorithm has the additional feature that it allows the auxiliary memory to be broken into several smaller parts, thus increasing the average run length. As most computersystems have rotating mass storage, this property is of practical value.
The paper presents a new specification style for computations to be executed in an essentially multiprocessor environment. This style is based on two pragmatic premises: (1) the specification is derived from considera...
详细信息
The paper presents a new specification style for computations to be executed in an essentially multiprocessor environment. This style is based on two pragmatic premises: (1) the specification is derived from considerations of system reaction related to system state, rather than to a goal to be achieved, (2) a reaction enabled by a system state is executed independently of any other system activity but its outcome is accepted only if the system “by itself” satisfies a postguard condition, i.e. finds itself in a (possibly different) well-defined st
Many new remote procedure calls (RPC) systems are being built to meet different application requirements, and much development effort has been spent on redoing significant parts of the RPC system. This paper describes...
详细信息
Many new remote procedure calls (RPC) systems are being built to meet different application requirements, and much development effort has been spent on redoing significant parts of the RPC system. This paper describes URPC, a toolkit for prototyping new RPC systems. It allows programmers to provide high-level implementations of RPC semantics and to customize supporting RPC services, such as stub generation and name service, to match the requirements of different RPC semantics. This approach increases flexibility in constructing new RPC systems and greatly reduces coding effort. In addition, this approach allows application-specific optimization by increasing the semantic content of individual RPC calls through customization, as well as by allowing programmers to import protocol machine implementations. Thus, the generated prototype RPC implementations can perform as fast as native RPCs.
In this paper, we present a re-circulating systolic sorting array and two sorting algorithms. The correctness of these algorithms is proved and general operational constraints are examined. These algorithms are amenab...
详细信息
In this paper, we present a re-circulating systolic sorting array and two sorting algorithms. The correctness of these algorithms is proved and general operational constraints are examined. These algorithms are amenable to VLSI implementation owing to the following attributes: (1) the simple control patterns of the algorithms, (2) the regular, repetitive and near-neigbour type of interconnection among the comparators, and (3) the systolic data movement. The sorting array is also well-suited for fabrication on shift-register type of storage and logic devices–such as magnetic bubble memories (MBMs) and charge-coupled devices (CCDs)–because of its closed-loop structure. The number of comparators and sorting time are both inO(N)whereNis the number of items to be sorted. A hardware termination methods is incorporated into the control unit of the sorter, so that the sorting process can be terminated within a bounded time after the input list is in the desired order.
In this paper we investigate the possibilities to involve the object-oriented approach in the field of real-time processing and particularly for technical process control applications. We first discuss the relevant as...
详细信息
In this paper we investigate the possibilities to involve the object-oriented approach in the field of real-time processing and particularly for technical process control applications. We first discuss the relevant aspects for such an application and then show the particular problems associated with an object-oriented program design for real-time systems with the traditional object model. In order to be able to cope with these problems we have to take into account the peculiarities of the real-time system and review the traditional object concepts with these aspects in mind. In this sense we are developing a new concurrent object-oriented model which is based on an innovative view of objects, and a set of concurrent primitives. In the second part of the contribution we present the most important aspects of this model in relation to concurrency and to real-time processing, and we discuss the various design decisions underlying our approach.
The problem of loop optimisation for parallel processing is examined in this paper and a method is proposed to evidence the inherent parallelism in a FORTRAN-like loop. The method is based on the concept of interrupti...
详细信息
The problem of loop optimisation for parallel processing is examined in this paper and a method is proposed to evidence the inherent parallelism in a FORTRAN-like loop. The method is based on the concept of interrupting tasks and imposes little restrictions on the loop structure. Parallelism is achieved by concurrent execution of the loop body for different sets of values for the indices; processors, activities must be synchronised and therefore the approach is best suited for SIMD machines, even if it can be used also on other kinds of multiprocessor machines provided that the processor switching and synchronising cost is *** diesem Beitrag wird die Frage von der Ring-Optimisierung für parallele Verfahren geprüft und eine Methode vorgeschlagen, um den inneren Parallelismus in einem FORTRAN-ähnlichen Ring in den Vordergrund zu stellen. Die Methode gründet sich auf den Begriff von interferieren den Aufgaben und erlegt kleine Einschränkungen auf die Ring-Struktur auf. Der Parallelismus wird durch eine beitragende Ausführung von dem Ring-Körper für verschiedene Reihen von den Indexwerten erreicht; Prozessorentätigkeiten müssen synchronisiert werden und deshalb ist der Annäherungsweg am besten für SIMD-Maschinen verfolgt, auch wenn er auch bei anderen Typen von Multiprozessorenmaschinen benutzt werden kann. wenn der Prozessorschaltung-und Synchronisationkosten niedrig sind.
In his third volume of The Art of computerprogramming , Knuth presents Batcher's bitonic sorting network. With concurrency, this sorting network can be executed in logarithmic time. Knuth suggests a formal argume...
详细信息
In his third volume of The Art of computerprogramming , Knuth presents Batcher's bitonic sorting network. With concurrency, this sorting network can be executed in logarithmic time. Knuth suggests a formal argument for the correctness of the bitonic sorting algorithm (as an exercise), but addresses the question of concurrency only informally. We develop a program for the bitonic sort by (1) deriving a stepwise refinement from Knuth's informal description of the algorithm, (2) deriving from the refinement a sequential execution or ‘trace’ of order O ( n log n ) in the length n of the sequence to be sorted, and (3) transforming the sequential trace into a parallel trace of order O(log n ) while preserving its semantics. We shall be informal in Steps 1 and 2—although these steps can be formalized. But we will provide a formal treatment of Step 3 and report on the certification of this treatment in a mechanized logic. This work is a contribution to the optimization of programs (via concurrency) through transformation and the automation of program proofs.
We have observed programmers at work using existing interactive systems in an IBM research environment. Our observation of the use of language processors indicates that users of TSS/360 seldom need the interactive err...
详细信息
We have observed programmers at work using existing interactive systems in an IBM research environment. Our observation of the use of language processors indicates that users of TSS/360 seldom need the interactive error-correction features of the language processor. Also, when a user might use such features, he seldom does. By implication, these observations also point to the importance of implementing SIPE-type data collection systems. We have presented our observations of the relationship between system response time (SRT) and user response time (URT). The results indicate that a long SRT is related to a long URT. This suggests that ways be sought to reduce the undesirable effects of a long SRT and to reduce the SRT-URT interaction without adding to the cost or complexity of the system.
This paper provides a unifying mathematical proof which replaces a mechanical certification of the optimal parallelization of sorting networks on a case basis. Parallelization of sequential program traces by means of ...
详细信息
This paper provides a unifying mathematical proof which replaces a mechanical certification of the optimal parallelization of sorting networks on a case basis. Parallelization of sequential program traces by means of semantic-preserving transformation is discussed in the literature in the context of a method for synthesis of systolic architecture. The issue of optimal parallelization is important in systolic design. The mathematical proof provides a better insight into the fundamental aspects of the transformation.
Two types of documentation delivery systems were examined. On-line and printed software documentation systems for a commercial data base management system were explored. In a controlled lab experiment, two groups of n...
详细信息
Two types of documentation delivery systems were examined. On-line and printed software documentation systems for a commercial data base management system were explored. In a controlled lab experiment, two groups of novice subjects using one or the other type of documentation were tested and the results compared. Printed-documentations users had better test scores and completed the test faster. On-line-documentation users were frustrated by inadequate instructions and examples. Overall, printed documentation was favored by the subjects in the study.
暂无评论