ppxscal/embedding_network huggingface dataset:
Scalable Shared-Memory Multiprocessor Architectures
Authors: Shreekant Thakkar, Michael Dubois, Anthony T. Laundrie, Gurindar Sohi
Venue: Computer (1990)

Directory-based and bus-based cache coherence schemes are defined and described. Directory-based schemes can be classified as centralized or distributed. Both categories support local caches to improve processor performance and reduce traffic in the interconnection. Schemes using presence flags, B pointers, and linked lists are discussed. Bus-based systems provide uniform memory access to all processors. This memory organization allows a simpler programming model, making it easier to develop new parallel applications or to move existing applications from a uniprocessor to a parallel system. Two architectural variations of bus-based systems are described: multiple-bus and hierarchical architectures.
Analysis of task migration in shared-memory multiprocessor scheduling
Authors: Mark S. Squillante, Randolph D. Nelson
Venue: ACM SIGMETRICS Performance Evaluation Review (1991)

In shared-memory multiprocessor systems it may be more efficient to schedule a task on one processor than on mother. Due to the inevitability of idle processors in these environments, there exists an important tradeoff between keeping the workload balanced and scheduling tasks where they run most efficiently. The purpose of an adaptive task migration policy is to determine the appropriate balance between the extremes of this load sharing tradeoff.We make the observation that there are considerable differences between this load sharing problem in distributed and shared-memory multiprocessor systems, and we formulate a queueing theoretic model of task migration to study the problem. A detailed mathematical analysis of the model is developed, which includes the effects of increased contention for system resources induced by the task migration policy. Our objective is to provide a better understanding of task migration in shared-memory multiprocessor environments. In particular, we illustrate the potential for significant improvements in system performance, and we show that even when migration costs are large it may still be beneficial to migrate waiting tasks to idle processors. We further demonstrate the potential for unstable behavior under migratory scheduling policies, and we provide optimal policy thresholds that yield the best performance and avoid this form of processor thrashing.
A practical approach to error recovery for multiagent planning systems
Authors: Hyugoo Han, Kai-Hsiung Chang
Venue: Proceedings of the 1990 ACM annual conference on Cooperation (1990)

A practical approach to error recovery strategy for real-time multiagent environments is presented. In a dynamic domain, when things do not happen as a pre-generated plan has expected, parts of the plan should be recovered to cope with any unexpected situations rather than abandoning the original plan and replanning from scratch. In order to deal with such situations, domain heuristics are used to order and classify conditions, and a resource management scheme is developed. Two tables, Wedge Table and Action Table, are introduced for prompt location of the contaminated plan parts. Plan rationale and wedge structure of a plan tree are recorded in these two tables. In order to solve the truth maintenance problem, action dependency calculation is established. This error recovery approach for multiagent planning environments not only promises successful achievement of a goal but also secures the safety of facilities in a domain. It enhances system performance and flexibility due to the versatility in real-time plan execution.
Quality end user-developed applications: some essential ingredients
Authors: Donald L. Amoroso
Venue: ACM SIGMIS Database (1992)

This article examines the dimension of quality in end user-developed applications. Quality is defined as the degree to which an application of "high grade" accomplishes or attains its goal from the perspective of the user. We propose a definition for "quality" as a combination of end user information satisfaction and application utilization. We then discuss three measurement instruments that were developed to capture the dimensions of quality and assess their psychometric properties.
Test Selection Based on Finite State Models
Authors: Susumu Fujiwara, Gregor von Bochmann, Ferhat Khendek, Mokhtar Amalou, Abderrazak Ghedamsi
Venue: IEEE Transactions on Software Engineering (1991)

A method for the selection of appropriate test case, an important issue for conformance testing of protocol implementations as well as software engineering, is presented. Called the partial W-method, it is shown to have general applicability, full fault-detection power, and yields shorter test suites than the W-method. Various other issues that have an impact on the selection of a suitable test suite including the consideration of interaction parameters, various test architectures for protocol testing and the fact that many specifications do not satisfy the assumptions made by most test selection methods (such as complete definition, a correctly implemented reset function, a limited number of states in the implementation, and determinism), are discussed.
Whither Fortran?
Authors: Michael Metcalf, John Reid
Venue: ACM SIGPLAN Fortran Forum (1991)

Programming in the early days of computing was tedious in the extreme. Programmers required a detailed knowledge of the instructions, registers, and other aspects of the central processing unit (CPU) of the computer for which they were writing code. The source code itself was written in a numerical notation, so called octal code. In the course of time mnemonic codes were introduced, a form of coding known as machine or assembly code. These codes were translated into the instruction words by programs known as assemblers. In the 1950s it became increasingly apparent that this form of programming was highly inconvenient, if only because of the length of time required to write and test a program, although it did enable the CPU to be used in a very efficient way.
Proteus: a software reuse library system
Authors: W. B. Frakes, T. P. Pole
Venue: ACM SIGIR Forum (1990)

Many methods for representing software components for reuse have been proposed. These include traditional library and information science methods, knowledge based methods, and hypertext. There has been no empirical evaluation of these methods, and consequently there is no data about their relative costs and effectiveness. Proteus is an experimental reuse library system that will be used to help gather such data. Reuse library systems are usually tied to one method---Proteus supports multiple methods.
Multivariate quotient by power-series division
Authors: M. Kolář, T. Sasaki
Venue: ACM SIGSAM Bulletin (1992)

Let A, B, and Q be multivariate polynomials satisfying A = QB. Given A and B, we can calculate Q by recursive multivariate power-series division. In this division some higher degree terms of A and B are not needed at all. A simple and useful degree bound for the significant terms of A and B is derived here.
Evaluating Elementary Functions in a Numerical Coprocessor Based on Rational Approximations
Authors: I. Koren, O. Zinaty
Venue: IEEE Transactions on Computers (1990)

A different approach to hardware evaluation of elementary functions for high-precision floating-point numbers (in particular, the extended double precision format of the IEEE standard P754) is examined. The evaluation is based on rational approximations of the elementary functions, a method which is commonly used in scientific software packages. A hardware model is presented of a floating-point numeric coprocessor consisting of a fast adder and a fast multiplier, and the minimum hardware required for evaluation of the elementary functions is added to it. Next, rational approximations for evaluating the elementary functions and testing the accuracy of the results are derived. The calculation time of these approximations in the proposed numeric processor is then estimated. It is concluded that rational approximations can successfully complete with previously used methods when execution time and silicon area are considered.
A Pre-Run-Time Scheduling Algorithm for Hard Real-Time Systems
Authors: Terry Shepard, J. A. Martin Gagné
Venue: IEEE Transactions on Software Engineering (1991)

Process scheduling, an important issue in the design and maintenance of hard real-time systems, is discussed. A pre-run-time scheduling algorithm that addresses the problem of process sequencing is presented. The algorithm is designed for multiprocessor applications with preemptable processes having release times, computation times, deadlines and arbitrary precedence and exclusion constraints. The algorithm uses a branch-and-bound implicit enumeration technique to generate a feasible schedule for each processor. The set of feasible schedules ensures that the timing specifications of the processes are observed and that all the precedence and exclusion constraints between pairs of processes are satisfied. the algorithm was tested using a model derived from the F-18 mission computer operational flight program.
Dynamic typing in a statically typed language
Authors: Martín Abadi, Luca Cardelli, Benjamin Pierce, Gordon Plotkin
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1991)

Statically typed programming languages allow earlier error checking, better enforcement of diciplined programming styles, and the generation of more efficient object code than languages where all type consistency checks are performed at run time. However, even in statically typed languages, there is often the need to deal with data whose type cannot be determined at compile time. To handle such situations safely, we propose to add a type Dynamic whose values are pairs of a value v and a type tag T where v has the type denoted by T. Instances of Dynamic are built with an explicit tagging construct and inspected with a type safe typecase construct. This paper explores the syntax, operational semantics, and denotational semantics of a simple language that includes the type Dynamic. We give examples of how dynamically typed values can be used in programming. Then we discuss an operational semantics for our language and obtain a soundness theorem. We present two formulations of the denotational semantics of this language and relate them to the operational semantics. Finally, we consider the implications of polymorphism and some implementation issues.
Self-stabilization by local checking and correction (extended abstract)
Authors: Baruch Awerbuch, Boaz Patt-Shamir, George Varghese
Venue: Proceedings of the 32nd annual symposium on Foundations of computer science (1991)

The first self-stabilizing end-to-end communication protocol and the most efficient known self-stabilizing network reset protocol are introduced. A simple method of local checking and correction, by which distributed protocols can be made self-stabilizing without the use of unbounded counters, is used. The self-stabilization model distinguishes between catastrophic faults that abstract arbitrary corruption of global state, and other restricted kinds of anticipated faults. It is assumed that after the execution starts there are no further catastrophic faults, but the anticipated faults may continue to occur.
A system for retrieving speech documents
Authors: Ulrike Glavitsch, Peter Schäuble
Venue: Proceedings of the 15th annual international ACM SIGIR conference on Research and development in information retrieval (1992)

An information retrieval model is presented for the retrieval of speech documents, i.e. audio recordings containing speech. The indexing vocabulary consists of indexing features that have the following characteristics. First, they are easy to recognize by speech recognition methods. Second, the number of different indexing features is small such that a reasonable amount of training data is sufficent to train the hidden Markov models that are used by the speech recognition process. Third, the retrieval method based on such indexing features achieves an acceptable retrieval effectiveness as shown by experiments on text collections. Fourth, these indexing features cannot only be identified in speech documents but also in text documents. From the last characteristic follows that speech documents and text documents can be retrieved simultaneously. Analogously, the queries may contain either speech or text. Thus, we have a simple multimedia retrieval model where two different medias are indexed coherently. We also describe a prototype retrieval system under development.
Computing planar intertwines
Authors: Arvind Gupta, Russell Impagliazzo
Venue: Proceedings of the 32nd annual symposium on Foundations of computer science (1991)

The proof of Wagner's conjecture by N. Robertson and P. Seymour gives a finite description of any family of graphs which is closed under the minor ordering, called the obstructions of the family. Since the intersection and the union of two minor closed graph families are again a minor closed graph family, an interesting question is that of computing the obstructions of the new family given the obstructions for the original two families. It is easy to compute the obstructions of the intersection, but, until very recently, it was an open problem to compute the obstructions of the union. It is shown that if the original families are planar, then the obstructions of the union are no larger than n to the O(n/sup 2/) power, where n is the size of the largest obstruction of the original family.
Percolation based synthesis
Authors: Roni Potasman, Joseph Lis, Alexandru Nicolau, Daniel Gajski
Venue: Proceedings of the 27th ACM/IEEE Design Automation Conference (1991)

A new approach called Percolation Based Synthesis for the scheduling phase of High Level Synthesis (HLS) is presented. We discuss some new techniques (which are implemented in our tools) for compaction of flow graphs beyond basic blocks limits, which can produce order of magnitude speed ups versus serial execution. Our algorithm applies to programs with conditional jumps, loops and multicycle pipelined operations. In order to schedule under resource constraints we start by first finding the optimal schedule (without constraints) and then add heuristics to map the optimal schedule onto the given system. We argue that starting from an optimal schedule is one of the most important factors in scheduling because it offers the user flexibility to tune the heuristics and gives him a good bound for the resource constrained schedule. This scheduling algorithm is integrated with synthesis tool which uses VHDL as input description and produces a structural netlist of generic register-transfer components and a unit based control table as output. We show that our algorithm obtains better results than previously published algorithms.
Efficient Data Structures for Model-Based 3-D Object Recognition and Localization from Range Images
Authors: Wu Wang, S. S. Iyengar
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1992)

An effective method of surface characterization of 3D objects using surface curvature properties and an efficient approach to recognizing and localizing multiple 3D free-form objects (free-form object recognition and localization) are presented. The approach is surface based and is therefore not sensitive to noise and occlusion, forms hypothesis by local analysis of surface shapes, does not depend on the visibility of complete objects, and uses information from a CAD database in recognition and localization. A knowledge representation scheme for describing free-form surfaces is described. The data structure and procedures are well designed, so that the knowledge leads the system to intelligent behavior. Knowledge about surface shapes is abstracted from CAD models to direct the search in verification of vision hypotheses. The knowledge representation used eases processes of knowledge acquisition, information retrieval, modification of knowledge base, and reasoning for solution.
Sorting with Linear Speedup on a Pipelined Hypercube
Authors: Peter J. Varman, Kshitij Doshi
Venue: IEEE Transactions on Computers (1992)

The authors formally define a distributed-memory parallel architecture called the pipelined hypercube. A coarse-grained parallel sorting algorithm that can be mapped efficiently on such an architecture is also presented. The pipelined hypercube has a more powerful communication mechanism than the traditional binary code architecture, in that it permits communication of blocks of data between processing elements (PEs) to be performed in a pipelined manner. Certain data communication problems which would probably be serialized on the binary code architecture, can be performed optimally on the pipelined hypercube. The sorting algorithm can be mapped efficiently onto a pipelined hypercube of P PEs. It sorts N data items, initially distributed among the PEs, in time O((N log N/P)+log/sup 2/ P), thereby achieving linear speedup when P is O(N/log N).
Cotools: a tool composition mechanism for object-based environments
Authors: V. Venugopal, Soumitra Sarkar
Venue: Proceedings of the 1990 ACM annual conference on Cooperation (1990)

Most environments provide mechanisms for tool integration to reuse existing tools in flexible ways to build composite tools. A common approach is to model tools as stream transformers and to provide channel-oriented composition mechanisms which connect output streams of tools to the inputs of other tools to form tool configurations. This approach is inappropriate for environments centered around an environment database, where tools communicate with each other by manipulating database views. This paper proposes a composition mechanism called cotools, which models the cooperation of a set of tools via database objects that are concurrently accessed by members of a cotool. Details of the cotool model, an example of its use, and related ideas are presented in this paper.
Deriving protocol specifications from service specifications including parameters
Authors: Reinhard Gotzhein, Gregor von Bochmann
Venue: ACM Transactions on Computer Systems (TOCS) (1990)

The service specification concept has acquired an increasing level of recognition by protocol designers. This architectural concept influences the methodology applied to service and protocol definition. Since the protocol is seen as the logical implementation of the service, one can ask whether it is possible to formally derive the specification of a protocol providing a given service. This paper addresses this question and presents an algorithm for deriving a protocol specification from a given service specification. It is assumed that services are described by expressions, where names identifying both service primitives and previously defined services are composed using operators for sequence, parallelism and alternative. Services and service primitives may have input and output parameters. Composition of services from predefined services and service primitives is also permitted. The expression defining the service is the basis for the protocol derivation process. The algorithm presented fully automates the derivation process. Future work will focus on the optimization of traffic between protocol entities and on applications.
A methodology for the design of reuse engineered Ada components
Authors: Larry Latour
Venue: Proceedings of the first international symposium on Environments and tools for Ada (1991)

Reuse Engineering is the discipline of designing and implementing generic architectures. We combine the recently proposed 3Cs model of reusable software components with the notions of separation of concerns and genericity to suggest a methodology for the support of reuse engineering. In doing so we present examples to illustrate the development process.
A dance of rounds
Authors: J. Phillip Benkhard
Venue: ACM SIGAPL APL Quote Quad (1991)

Two different methods of getting sums of rounded numbers to add up to the rounded sum are discussed. The case of cascaded rounding, in which each number is replaced by a set of numbers to be rounded to a conforming sum, with the sum of the conforming sums itself conforming to the sum of the whole, is covered. Geometric properties of are reviewed.
A Contingency Approach to Estimating Record Selectivities
Authors: Pai-Cheng Chu
Venue: IEEE Transactions on Software Engineering (1991)

An approach to estimating record selectivity rooted in the theory of fitting a hierarchy of models in discrete data analysis is presented. In contrast to parametric methods, this approach does not presuppose a distribution pattern to which the actual data conform; it searches for one that fits the actual data. This approach makes use of parsimonious models wherever appropriate in order to minimize the storage requirement without sacrificing accuracy. Two-dimensional cases are used as examples to illustrate the proposed method. It is demonstrated that the technique of identifying a good-fitting and parsimonious model can drastically reduce storage space and that the implementation of this technique requires little extra processing effort. The case of perfect or near-perfect association and the idea of keeping information about salient cells of a table are discussed. A strategy to reduce storage requirement in cases in which a good-fitting and parsimonious model is not available is proposed. Hierarchical models for three-dimensional cases are presented, along with a description of the W.E. Deming and F.F. Stephan (1940) iterative proportional fitting algorithm which fits hierarchical models of any dimensions.
Can software engineering afford to improve the process?
Authors: Gregory J. Scott
Venue: ACM SIGSOFT Software Engineering Notes (1992)

The purpose of this paper is to raise questions and generate discussion within the software engineering community about the potential impact of software engineering process improvements. This paper begins by providing a few facts about software engineering economics and process improvement benefits followed by three views of those facts: the traditional cost savings perspective; a software engineer's perspective; and a government contractor's perspective. In the last two perspectives, the questions of what is in this for me and is it in my best interests to support process improvement are asked. The conclusion of this paper is that apparently significant changes must be made in the business culture before process improvements can hope to occur.
Claims, observations and inventions: analysing the artifact
Authors: Andrew F. Monk, Peter C. Wright
Venue: ACM SIGCHI Bulletin (1991)

This paper describes the use of observation-invention pairs to illustrate important general points about the way that users interact with computers. The technique can be viewed as a form of artifact analysis.
Multimedia interaction with image database systems
Authors: Toshikazu Kato, Takio Kurita, Hiroyuki Shimogaki
Venue: ACM SIGCHI Bulletin (1990)

A picture is worth a thousand words. Images are good media to communicate with an image database system. Multimedia interaction enables users to give multimedia information to the system as well as to receive it from the system[1, 2]. Visual interface must be able to interpret several kinds of multimedia information related with computer and human vision. For example, the system should recognize the words on subjective impression as well as the sketches we draw as the keys for retrieval.
Timing comparisons of the householder QR transformations with rank-1 and rank-2 updates
Authors: Timothy J. Rolfe
Venue: ACM SIGNUM Newsletter (1990)

The Householder QR transformation using rank-1 updates and the transformation using rank-2 updates are both O(N3) with the same cubic coefficient. While the rank-1 implementation has the smaller quadratic coefficient, the rank-2 implementation in practice is the faster algorithm, the amount of speed-up varying with the computer. This speed-up is not purely the result of replacing SAXPY operations with double GAXPY ones.