This paper considers a number of ways in which concurrent programs may be expressed within an object-oriented framework. It goes on to describe work investigating the expression of highly parallel programs in a conven...
详细信息
This paper considers a number of ways in which concurrent programs may be expressed within an object-oriented framework. It goes on to describe work investigating the expression of highly parallel programs in a conventional object-oriented language (Smalltalk-80). The relevance of this work to a new parallel object-oriented system is discussed. An implementation of an ‘eager’ evaluator is described, together with a ‘throttling’ mechanism capable of limiting the generation of concurrent processes. A system for suspending all processes performing a parallel computation is discussed. Finally, further work in investigating debugging environments for concurrent object-oriented systems is outlined.
Problems concerning the development of large and complex computer programs for modern computers of various architectures are considered. Features of modern Fortran that improve the efficiency and facilitate the develo...
详细信息
Problems concerning the development of large and complex computer programs for modern computers of various architectures are considered. Features of modern Fortran that improve the efficiency and facilitate the development of such programs are discussed. These features include the facilities for program decomposition, technologies for improving the portability, reliability, and readability of programs, as well as object-oriented, structured, and parallel programming.
This paper introduces a new concept regarding information processing in general, but more specifically inter-process communication (IPC) and semantic information processing, where a controlled environment is essential...
详细信息
This paper introduces a new concept regarding information processing in general, but more specifically inter-process communication (IPC) and semantic information processing, where a controlled environment is essential in order to overcome various problems such as deadlocks. The emphasis here is on communication management and the tools necessary for the user to control the IPC environment at both intra- and inter-process levels. The IPC system developed in C is also discussed in detail.
One way to further exploit the reconfigurable resources of SRAM FPGAs and increase functional density is to reconfigure them during system operation. This process is referred to as Run-Time Reconfiguration (RTR). RTR ...
详细信息
One way to further exploit the reconfigurable resources of SRAM FPGAs and increase functional density is to reconfigure them during system operation. This process is referred to as Run-Time Reconfiguration (RTR). RTR is an approach to system implementation that divides an application or algorithm into time-exclusive operations that are implemented as separate configurations. The Run-Time Reconfiguration Artificial Neural Network (RRANN) is a proof-of-concept system that demonstrates the effectiveness of RTR for implementing neural networks. It implements the popular backpropagation training algorithm as three distinct time-exclusive FPGA configurations: feed-forward, backpropagation and update. System operation consists of sequencing through these three reconfigurations at run-time, one configuration at a time. RRANN has been fully implemented with Xilinx FPGAs, tested and shown to increase the functional density of a network up to 500% when compared to FPGA-based implementations that do not use RTR.
Several variants of quicksort are compared in order to find an efficient internal sorting algorithm for sorting large files in a virtual memory environment. The algorithms compared are original quicksort; ‘Esort’, w...
详细信息
Several variants of quicksort are compared in order to find an efficient internal sorting algorithm for sorting large files in a virtual memory environment. The algorithms compared are original quicksort; ‘Esort’, which uses a fixed memory partition of two page frames; ‘Wsort’, which combines quicksort with merging and sorts one page at a time to reduce page fetches; and ‘Psort’, which uses manual replacement of pages guided by estimates of the interval to the next reference. The comparison is based on several sorting runs on different-size random-ordered files. A memory management simulator with fetch on demand and working set replacement strategy is used to achieve performance measures: the total execution time, the main memory space allocation, and the main memory space-time *** achieves its best performance with a relatively small page size and a very small window size. Reducing page faults by increasing the window size results in excessive space allocation. In an optimal environment, Psort gives some 30-40% smaller space-time integral than quicksort. The space allocation sizes are close to each other, but Psort needs less that half of the page fetches of quicksort. The results for Esort are close to those of quicksort. Wsort does not compete favourably with the original quicksort. In a typical virtual memory environment with a large page size and a large window size, both Esort and Psort perform remarkably better than original quicksort. The space-time integral difference of Psort and quicksort is over 50%, and it increases with an increasing file size.
The article focuses on formalization of the semantics of sequential and parallel sorting algorithms using the apparatus of Glushkov's systems of algorithmic algebras and their modifications. We particularly consid...
详细信息
The article focuses on formalization of the semantics of sequential and parallel sorting algorithms using the apparatus of Glushkov's systems of algorithmic algebras and their modifications. We particularly consider formal transformation of sorting algorithms with the purpose of optimizing them by a set of given criteria.
Ways of decreasing the number of operations needed to compute the lower bounds of optimal schedules, by reducing the number of time intervals that must be considered, are presented. The bounds apply to a system of ide...
详细信息
Ways of decreasing the number of operations needed to compute the lower bounds of optimal schedules, by reducing the number of time intervals that must be considered, are presented. The bounds apply to a system of identical processors executing a partially ordered set of tasks, with known execution times, using a non-preemptive scheduling strategy. In one approach we find that the required number of intervals depends on the graph. In our other approach, which subsumes the first, the number of intervals is decreased to at most min [D 2 /2, n 2 ], where D is the deadline to complete the tasks and n is the number of tasks. The actual number of intervals for a particular graph can be considerably smaller than this worst case.
One common job scheduling objective is to minimize makespan. The problem can be modeled as integer linear programming (ILP) and will often have multiple alternative optimal solutions. However, secondary considerations...
详细信息
One common job scheduling objective is to minimize makespan. The problem can be modeled as integer linear programming (ILP) and will often have multiple alternative optimal solutions. However, secondary considerations, e.g. minimizing the second latest completion time, may very well dictate a preference between solutions with identical makespans. Because of the nature of the primary objective, standard approaches for optimizing a prioritized set of multiple objectives will not work. In this paper we prove that for unit time problems, an appropriate objective function can be formulated, which, when optimized, satisfies both the primary and secondary objectives. Moreover, the new formulation can be modeled as a classical assignment problem (AP). This has the added advantage of efficiency of solution and availability of software. Applications to computer processor scheduling and the military are presented.
This paper presents methodologies capable of quantifying multiprogramming (MP) overhead on a computer system. Two methods which quantify the lower bound on MP overhead, along with a method to determine MP overhead pre...
详细信息
This paper presents methodologies capable of quantifying multiprogramming (MP) overhead on a computer system. Two methods which quantify the lower bound on MP overhead, along with a method to determine MP overhead present in real workloads, are introduced. The techniques are illustrated by determining the percentage of parallel processing time consumed by MP overhead on Alliant multiprocessors. The real workload MP overhead measurements, as well as measurements of other overhead components such as kernel lock spinning, are then used in a comprehensive case study of performance degradation due to overheads. It is found that MP overhead accounts for well over half of the total system overhead. Kernel lock spinning is determined to be a major component of both MP and total system overhead. Correlation analysis is used to uncover underlying relationships between overheads and workload characteristics. It is found that for the workloads studied, MP overhead in the parallel environment is not statistically dependent on the number of parallel jobs being multiprogrammed. However, because of increased kernel contention, serial jobs, even those executing on peripheral processors, are responsible for variation in MP overhead.
To sort an external file on a random access device, the merge sort is the generally accepted method. We present a new algorithm based on Quicksort which allows sorting of external filesin situ. Analytical results and ...
详细信息
To sort an external file on a random access device, the merge sort is the generally accepted method. We present a new algorithm based on Quicksort which allows sorting of external filesin situ. Analytical results and a comparison of test runs indicate that when the new algorithm is applied to a file with suitable key structure, it is competitive to the merge sort in terms of run-time behaviour.
暂无评论