This paper describes an implementation and performance evaluation of file replication in a locally distributed system. Different mechanisms are used to update the copies of a replicated file. The algorithms use both s...
详细信息
This paper describes an implementation and performance evaluation of file replication in a locally distributed system. Different mechanisms are used to update the copies of a replicated file. The algorithms use both sequential and concurrent update methods. When updating the files sequentially, the algorithm is executed on the host on which the file has been written. Concurrent update is executed by using one machine or by using all the remote machines on which the file is replicated. The algorithms are proposed to update the copies of the replicated file by using various methods. These algorithms are implemented in a locally distributed system. The performance of the algorithms is compared for different loads and various read and write accesses to the files.
Finite subtype inference occupies a middle ground between Hindley-Milner-type inference (as in ML) and subtype inference with recursively constrained types. It refers to subtype inference where only finite types are a...
详细信息
Finite subtype inference occupies a middle ground between Hindley-Milner-type inference (as in ML) and subtype inference with recursively constrained types. It refers to subtype inference where only finite types are allowed as solutions. This approach avoids some open problems with general subtype inference, and has practical motivation where recursively constrained types are not appropriate. This paper presents algorithms for finite subtype inference, including checking for entailment of inferred types against explicitly declared polymorphic types. This resolves for finite types a problem that is still open for recursively constrained types. Some motivation for this work, particularly for finite types and explicit polymorphism, is in providing subtype inference for first-class container objects with polymorphic methods. (C) 2001 Elsevier Science B.V. All rights reserved.
The article presents the principal features of the POLYP (Problem-Oriented Language for sYstem software programming) system intended for mathematical system software programming and, in particular, for operating syste...
详细信息
The article presents the principal features of the POLYP (Problem-Oriented Language for sYstem software programming) system intended for mathematical system software programming and, in particular, for operating systems. The system has been developed in 1973 in the Federal Republic of Germany by the Scientific Control systems (SCS) Company for IBM/370 and Siemens 4004 computers.
Our research is aimed at characterizing, understanding, and exploiting the interactions between hardware and software to improve system performance. We have developed a paradigm for continuous program optimization (CP...
详细信息
Our research is aimed at characterizing, understanding, and exploiting the interactions between hardware and software to improve system performance. We have developed a paradigm for continuous program optimization (CPO) that assists in and automates the challenging task of performance tuning, and we have implemented an initial prototype of this paradigm. At the core of our implementation is a performance- and environment-monitoring (PEM) component that vertically integrates performance events from various layers in the execution stack. CPO agents use the data provided by PEM to detect, diagnose, and alleviate performance problems on existing systems. In addition, CPO can be used to improve future architecture designs by analyzing PEM data collected on a whole-system simulator while varying architectural characteristics. In this paper, we present the CPO paradigm, describe an initial implementation that includes PEM as a Component, and discuss two CPO clients.
The Array Management System (AMS) is an integrated set of array management tools designed to increase the productivity of technical programmers engaged in intensive matrix computational applications. These include ana...
详细信息
The Array Management System (AMS) is an integrated set of array management tools designed to increase the productivity of technical programmers engaged in intensive matrix computational applications. These include analog circuit simulator, statistical analysis, dense or sparse equation solving, simulation, and in particular, the finite element program development. AMS is composed of a set of easy-to-use in-core and out-of-core data management subroutines written in FORTRAN 77. The in-core array management subroutines of AMS allow dynamic storage allocation to be accomplished with integer, real, and complex data with a minimum of programming effort. The out-of-core array management subroutines of AMS support simple operations to allow array transfer between in-core and out-of-core systems and allow different programs to access the same data. The out-of-core data management provides for a direct access database file to speed up the input/output operations. Multiple databases are allowed to be accessed by a program; this provides an easy way to share data and restart. This integrated database environment is suitable to be the kernel of a software project with several programmers and data communications among them.
The authors derive optimal lower bounds for this problem with the following area complexity: A = Θ(m(log n - log m + 1)) for k ≥ log n A = Θ(min{2k, m}(|k - log m| + 1)) for k &le log n provided that m &le ...
详细信息
The authors derive optimal lower bounds for this problem with the following area complexity: A = Θ(m(log n - log m + 1)) for k ≥ log n A = Θ(min{2k, m}(|k - log m| + 1)) for k &le log n provided that m &le n. From the result it follows that merging in general is easier than sorting of (m + n)-element arrays. On the otherhand, if m = n and k &le log n then these problems are of the same area complexity. Finally, the paper completes the investigation of area complexity of the problems of ordering.
This paper discusses a software control procedure which is often needed in systems that must be highly accurate. Three central processing units (CPU's), with common memory, simultaneously calculate a critical resu...
详细信息
This paper discusses a software control procedure which is often needed in systems that must be highly accurate. Three central processing units (CPU's), with common memory, simultaneously calculate a critical results. The procedure attempts to identify the correct result and any incorrect CPU; the procedure assumes at least two CPU's are correctly working. Three solution methods are considered; the first is instinctively obvious but is paradoxical, the second is complex and the third is surprisingly simple.
To take advantage of existing order in a sequence when sorting, we evaluate the quantity of this information by the minimal size of decomposition of the input sequence, particularly the minimal size of chain and of mo...
详细信息
To take advantage of existing order in a sequence when sorting, we evaluate the quantity of this information by the minimal size of decomposition of the input sequence, particularly the minimal size of chain and of monotonic partitions. Some sorting strategies that are optimal with respect to these measures of presortedness are presented. The relationships between these new measures of presortedness and other known measures have also been explored. As an application, we carry out the optimality of an adaptive sorting algorithm Skiena's Melsort. For some special partitioning strategies, we present two sorting algorithms based on Dijkstra's Smoothsort. Moreover, the optimalities of these two algorithms are demonstrated. By examining the optimalities of sorting algorithms with respect to certain measures of presortedness, we also propose some optimal sorting strategies for one class of measures. Finally, we discuss other types of sorting problems, such as sorting multisets and topological sorting. In particular, we derive an optimal algorithm for sorting multisets and for finding the multiset sizes as well.
This paper is an analysis of program address trace data in a demand-paged computer system with a three-level staging hierarchy. Our primary objective is to explore the data both graphically and numerically, using meth...
详细信息
This paper is an analysis of program address trace data in a demand-paged computer system with a three-level staging hierarchy. Our primary objective is to explore the data both graphically and numerically, using methods that may be useful when other data traces become available. In addition, plausible point-process type models are fit to the data. Such an approach, combining data-analytic procedures with probability modeling, should prove useful in understanding program behavior and thus will aid in the rational design of complex computersystems.
We show how the Hindley/Milner polymorphic type system can be extended to incorporate overloading and subtyping. Our approach is to attach constraints to quantified types in order to restrict the allowed instantiation...
详细信息
We show how the Hindley/Milner polymorphic type system can be extended to incorporate overloading and subtyping. Our approach is to attach constraints to quantified types in order to restrict the allowed instantiations of type variables. We present an algorithm for inferring principal types and prove its soundness and completeness. We find that it is necessary in practice to simplify the inferred types, and we describe techniques for type simplification that involve shape unification, strongly connected components, transitive reduction, and the monotonicities of type formulas.
暂无评论