ppxscal/embedding_network huggingface dataset:
Improving binding times without explicit CPS-conversion
Authors: Anders Bondorf
Venue: Proceedings of the 1992 ACM conference on LISP and functional programming (1992)

A major obstacle in partial evaluation (program specialization) is the need for binding time improvements. By reorganizing a source program, the residual programs obtained by specializing the source program may be improved: more computations can be done statically, that is, at specialization time. One well-known effective reorganization is (manual or automatic) conversion into continuation passing style (cps). This conversion allows data consumers to be propagated through frozen expressions to the data producers. In this paper we show how such improvements can be obtained without affecting the source program: by writing the program specializer itself in cps; traditionally, specialization has been formulated in direct style. The advantages of avoiding cps-converting source programs are: (1) no cps-conversion phase is needed; (2) the generated residual programs are not in cps; (3) since no source level continuations are added, there is no overhead of manipulating closure representations in the generating extensions (e.g. compilers) obtained by self-application; (4) manual &ldquo;binding time debugging&rdquo; is easier since binding time analysis is done on a non-converted program. We have implemented a cps-based program specializer; it is integrated in the partial evaluator Similix 4.0. Using a cps-specializer, partially static data structures can be handled safely in a straightforward way. The difficulty is to ensure automatically that residual expressions that become part of a partially static data structure are neither duplicated nor discarded. This is achieved by binding such residual expressions in automatically inserted frozen let-expressions; cps is needed to propagate operations on the partially static data structure through these frozen let-expressions. Based on this idea, we have implemented an extension of Similix 4.0 that handles partially static data structures.
Reliable solution of special event location problems for ODEs
Authors: L. F. Shampine, I. Gladwell, R. W. Brankin
Venue: ACM Transactions on Mathematical Software (TOMS) (1991)

Computing the solution of the initial value problem in ordinary differential equations (ODEs) may be only part of a larger task. One such task is finding where an algebraic function of the solution (an event function) has a root (an event occurs). This is a task which is difficult both in theory and in software practice. For certain useful kinds of event functions, it is possible to avoid two fundamental difficulties. It is described how to achieve the reliable solutions of such problems in a way that allows the capability to be grafted onto popular codes for the initial value problem.
Graph interpretation of methods: a unifying framework for polymorphism in object-oriented programming
Authors: Injun Choi, Michael V. Mannino
Venue: ACM SIGPLAN OOPS Messenger (1991)

We discuss two interpretations of methods and classes in object-oriented programming and demonstrate a type system based on the notion of methods as graphs. Definitionally, a class may be viewed as a data structure associated with either a collection of method interfaces or a collection of individual methods. In the former interpretation, a method represents a collection of functions that satisfy its interface known as a function space. In the latter interpretation, a method represents a set of input-output pairs of a specific function, called the function's graph. We informally describe and contrast these interpretations with particular emphasis on subtyping rules for methods --- an anti-monotonic rule for the function space interpretation and a monotonic rule for the graph interpretation. These rules have practical implications on type checking, method redefinition, assertions, dynamic binding, and completeness of subtype testing. We present a notation based on the latter interpretation and demonstrate several interesting features of our notation including abstract data types for encapsulation, four kinds of ad-hoc polymorphism (disjoint overloading, coercion, incremental overloading, and specialization), and type restrictions to precisely define the relationship among arguments in polymorphic methods.
Dynamic modelling of organizations: report on ECOOP '91 workshop W2
Authors: Pieter W. G. Bots, Remko C.J. Dur
Venue: ACM SIGPLAN OOPS Messenger (1992)

Within the field of information systems, there is a growing awareness of the necessity of understanding an organization before information technology can effectively be applied to support it in its primary and secondary business functions. It is not uncommon that object descriptions are used, since these tend to be easily communicated with non-modelling experts in organizations.
(Un)expected behavior of typical suffix trees
Authors: Wojciech Szpankowski
Venue: Proceedings of the third annual ACM-SIAM symposium on Discrete algorithms (1992)

Suffix tree is a data structure widely used in algorithms on words and data compression. Despite this, very little is known about its typical behavior. Recently, Chang and Lawler have designed a sublinear expected time algorithm for approximate string matching using simple estimates of some parameters of suffix trees. It seems that any further advances in such an endover are subject to better understanding of suffix trees behavior. In this paper, we use a novel technique called string ruler approach to provide a characterization of several basic parameters of suffix trees (dependency among symbols are allowed !). These findings are used to :(i) settle in the negative the conjecture of Wyner and Ziv regarding the typical behavior of the universal data compression scheme of Lampel and Ziv; (ii) prove an open problem regarding the length of a block in the Lampel-Ziv parsing algorithm; (iii) provide new insights and generalizations of string matching algorithms, particularly the one by Chang and Lawler.
A method for mapping an analysis to a reusable design
Authors: Kelly L. Spicer, David A. Umphress
Venue: ACM SIGAda Ada Letters (1991)

Design reuse has more potential for increasin g the productivity of software development and maintenance than does traditional approaches to software reuse. Current software developmen t methods do not promote design reuse. A design mapping method from an object-oriented requirements analysis to a design adhering to thes e principles is presented. The method involves tw o transformation steps and introduces four representation tools for conducting the transformations. The second step produces Ada specifications. Design templates are used. The method is applied to a sample problem.
The spectra of infinite hypertrees
Authors: Joel Friedman
Venue: SIAM Journal on Computing (1991)

A model of regular infinite hypertrees is developed to mimic for hypergraphs what infinite trees do for graphs. Two notions of spectra, or &ldquo;first eigenvalue,&rdquo; are then examined for the infinite tree, obtaining a precise value for the first notion and obtaining some estimates for the second. The results indicate agreement of the first eigenvalue of the infinite hypertree with the &ldquo;second eigenvalue&rdquo; of a random hypergraph of the same degree, to within logarithmic factors, at least for the first notion of first eigenvalue. &mdash;Author's Abstract
Cost estimation models for reuse and prototype SW development life-cycles
Authors: D. Balda, D. A. Gustafson
Venue: ACM SIGSOFT Software Engineering Notes (1990)

The Cocomo cost estimation model was developed to estimate the cost of developing software utilizing the waterfall life-cycle model. The assumptions in the waterfall model account for many software development situations, but do not account for the actual development process when the requirements are known to be unstable or incomplete or when extensive code and design information are reused. The prototype and reuse life-cycle models, respectively, were developed to model these specific situations. The assumptions made by any life-cycle model directly influence its cost estimation model; therefore, when the life-cycle model is inappropriate, its cost estimation model is also inappropriate. This makes the Cocomo cost estimation model inadequate for estimating development effort for software developed utilizing the prototype or reuse software development life-cycle models. Two cost estimation models, one for the prototype software life-cycle model and one for the reuse software life-cycle model, are presented. Each cost estimation model is derived from the basic Cocomo model and modified to fit the characteristics of its respective life-cycle model.
Performance of a mirrored disk in a real-time transaction system
Authors: Shenze Chen, Don Towsley
Venue: ACM SIGMETRICS Performance Evaluation Review (1991)

Disk mirroring has found widespread use in computer systems as a method for providing fault tolerance. In addition to increasing reliability, a mirrored disk can also reduce I/O response time by supporting the execution of parallel I/O requests. The improvement in I/O efficiency is extremely important in a real-time system, where each computational entity carries a deadline. In this paper, we present two classes of real-time disk scheduling policies, RT-DMQ and RT-CMQ, for a mirrored disk I/O subsystem and examine their performance in an integrated real-time transaction system. The real-time transaction system model is validated on a real-time database testbed, called RT-CARAT. The performance results show that a mirrored disk I/O subsystem can decrease the fraction of transactions that miss their deadlines over a single disk system by 68%. Our results also reveal the importance of real-time scheduling policies, which can lead up to a 17% performance improvement over non-real-time policies in terms of minimizing the transaction loss ratio.
Animating an actor programming model
Authors: Trevor P. Hopkins
Venue: ACM SIGPLAN OOPS Messenger (1993)

Interest in object-oriented programming systems for parallel computing has been growing for many years. This paper explores a concurrent object-oriented programming model known as actors, and describes an animation (or simulation) of this model implemented in another object-oriented programming system, namely Smalltalk-80. This animation has been used for educational purposes, particularly at final-year undergraduate level.
A parallel computational approach using a cluster of IBM ES/3090 600Js for physical mapping of chromosomes
Authors: Steven W. White, Dave C. Torney, Clive C. Whittaker
Venue: Proceedings of the 1990 ACM/IEEE conference on Supercomputing (1990)

A standard technique for mapping a chromosome is to randomly select pieces, to use restriction enzymes to cut these pieces into fragments, and then to use the fragments for estimating the probability of overlap of these pieces. We describe a computational approach which has been used in the mapping of juman chromosome 16 at Los Alamos National Laboratory. We describe 6-way and clustered implementations of an IBM Clustered FORTRAN program for detection of fragment overlap with specific attention paid to problem partitioning, task structure, synchronization, and other factors which allow this type of code to perform well on a cluster of shared-memory multi-processors. Measurements for one, six, and twelve processors for reduced problem sizes are included.
GMM-PAM: a genetic multilevel multicategory perceptron associative memory
Authors: Stuart Harvey Rubin
Venue: Proceedings of the 1990 ACM annual conference on Cooperation (1990)

One of the principal inefficiencies in the multicategory perceptron algorithm lies in its &ldquo;training algorithm&rdquo;. This problem has been dealt with in the past by having multiple perceptrons trained to respond to different predefined features in the input vector using back propagation. The problem with this approach is first that in general, one cannot be sure that an appropriate set of feature vectors has been defined and second, even if it were possible to do so, one cannot insure their relative spatial geometries. A new approach for reducing the dimensionality of the pattern vector utilizes the associative memory which emerges from the cooperation among multiple distributed multicategory perceptrons connected by a genetic algorithm.
Teaching some modern functional programming concepts: an approach based on an extended FP-like language
Authors: Svetlin Stanchev, Atanas Radensky
Venue: ACM SIGCSE Bulletin (1991)

In this paper a new approach to teach functional programming, based on a suitable extension of a Backus' FP-like language is presented. Our approach outperforms some others also discussed in ability concise, but not superficially to cover the whole range from very theoretic issues to very pragmatic ones.
Using annotations to support multiple kinds of versioning in an object-oriented database system
Authors: Edward Sciore
Venue: ACM Transactions on Database Systems (TODS) (1991)

The concept of annotation from object-oriented languages is adapted to object-oriented databases. It is shown how annotations can be used to model activities such as constraint checking, default values, and triggers. Annotations also are an appropriate way to model different versioning concepts. This paper discusses three kinds of versioning&mdash;histories, revisions, and alternatives&mdash;and demonstrates how each one can be modeled effectively using annotations. The use of annotations also allows other kinds of versioning to be defined extensibly, and arbitrary combinations of versions can be handled easily.
System simulation of printed circuit boards including packages and connectors
Authors: K. Adamiak, R. Allen, J. Poltz, C. Rebizant, A. Wexler
Venue: Proceedings of the 27th ACM/IEEE Design Automation Conference (1991)

An efficient method for analog simulation of printed circuit board systems is proposed. It is based on the transmission line model derived from the analysis of the electromagnetic field in a two-dimensional cross-section of devices. Simulation results for two circuits with IC package, cable and connector models are presented. The results confirm the effectiveness of this method.
Relaxing SIMD control flow constraints using loop transformations
Authors: Reinhard v. Hanxleden, Ken Kennedy
Venue: ACM SIGPLAN Notices (1992)

Many loop nests in scientific codes contain a parallelizable outer loop but have an inner loop for which the number of iterations varies between different iterations of the outer loop. When running this kind of loop nest on a SIMD machine, the SIMD-inherent restriction to single program counter common to all processors will cause a performance degradation relative to comparable MIMD implementations. This problem is not due to limited parallelism or bad load balance, it is merely a problem of control flow. This paper presents a loop transformation, which we call loop flattening, that overcomes this limitation by letting each processor advance to the next loop iteration containing useful computation, if there is such an iteration for the given processor. We study a concrete example derived from a molecular dynamics code and compare performance results for flattened and unflattened versions of this kernel on two SIMD machines, the CM-2 and the DECmpp 12000. We then evaluate loop flattening from the compiler's perspective in terms of applicability, cost, profitability, and safety. We conclude with arguing that loop flattening, whether performed by the programmer or by the compiler, introduces negligible overhead and can significantly improve the performance of scientific codes for solving irregular problems.
A parallel pipelined processor with conditional instruction execution
Authors: Rod Adams, Gordon Steven
Venue: ACM SIGARCH Computer Architecture News (1991)

In a recent paper by Smith, Lam and Horowitz [1] the concept of 'boosting' was introduced, where instructions from one of the possible instruction streams following a conditional branch were scheduled by the compiler for execution in the basic block containing the branch itself. This paper describes how code from both instruction streams following a conditional branch can be considered for execution in the basic block containing the branch. Branch conditions are stored in Boolean registers and all instructions are conditionally executed based on the value in a Boolean register. The two instruction streams can therefore be executed on complementary values of the same Boolean register.
An approximation algorithm for the number of zeros of arbitrary polynomials over GF[q]
Authors: Dima Grigoriev, Marek Karpinski
Venue: Proceedings of the 32nd annual symposium on Foundations of computer science (1991)

The authors design the first polynomial time (for an arbitrary and fixed field GF(q)) ( in , delta )-approximation algorithm for the number of zeros of arbitrary polynomial f(x/sub 1/. . . x/sub n/) over GF(q). It gives the first efficient method for estimating the number of zeros and nonzeros of multivariate polynomials over small finite fields other than GF(2) (like GF(3)), the case important for various circuit approximation techniques. The algorithm is based on the estimation of the number of zeros of an arbitrary polynomial f(x/sub 1/. . .,x/sub n/) over GF(q) in the function of the number m of its terms. The bounding ratio is proved to be m/sup (q-1)/log/sup q/.
Proofs: a fast, memory efficient sequential circuit fault simulator
Authors: Thomas M. Niermann, Wu-Tung Cheng, Janak H. Patel
Venue: Proceedings of the 27th ACM/IEEE Design Automation Conference (1991)

This paper describes PROOFS, a super fast fault simulator for synchronous sequential circuits. PROOFS achieves high performance by combining all the advantages of differential fault simulation, single fault propagation, and parallel fault simulation, while minimizing their individual disadvantages. PROOFS minimizes the memory requirements, reduces the number of events that need to be evaluated, and simplifies the complexity of the software implementation. PROOFS requires an average of one fifth the memory required for concurrent fault simulation and runs 6 to 67 times faster on the ISCAS sequential benchmarks.
An optional hypercube direct N-body solver on the connection machine
Authors: Jean-Philippe Brunet, Alan Edelman, Jill P. Mesirov
Venue: Proceedings of the 1990 ACM/IEEE conference on Supercomputing (1990)

The direct method for solving N-body problems maps perfectly onto hypercube architectures. Unlike other hypercube implementations, we have implemented a direct N-body solver on the Connection Machine CM-2 which makes optimum use of the full bandwidth of the hypercube. When N &Gt; P, where P is the number of floating-point processors, the communication time of the algorithm is negligible, and the execution time is that of the arithmetic time giving a P-fold speed-up for real problems. To obtain this performance, we use &ldquo;rotated and translated Gray codes&rdquo; which result in time-wise edge disjoint Hamiltonian paths on the hypercube. We further propose that this communication pattern has unexplored potential for other types of algorithms. Timings are presented for a collection of interacting point vortices in two dimensions. The computation of the velocities of 14,000 vortices in 32-bit precision takes 2 seconds on a 16K CM-2.
Quantum molecular modeling with simulated annealing&mdash;a distributed processing and visualization application
Authors: D. Hohl, R. Idaszak, R. O. Jones
Venue: Proceedings of the 1990 ACM/IEEE conference on Supercomputing (1990)

A quantum-mechanical method for calculating the geometrical structure of small molecules is presented. A combination of the density functional (DF) method with finite-temperature molecular dynamics (MD) and simulated annealing techniques provides a reliable scheme for sampling energy surfaces, without being trapped in energetically unfavorable local minima. We demonstrate its value and efficiency by computing previously unknown geometries of small clusters composed of phosphorus, sulphur, selenium and oxygen atoms. The implementation combines distributed processing with real-time visualization and allows instantaneous interaction with the simulation. The computationally demanding quantum mechanics problem is solved on a Cray supercomputer, communicating with a Silicon Graphics Incorporated (SGI) workstation in a UNIX environment using SGI's Distributed Graphics Library (DGL). We show that real-time visualization and interaction enhance scientific productivity greatly.
Timing verification using HDTV
Authors: Alan R. Martello, Steven P. Levitan, Donald M. Chiarulli
Venue: Proceedings of the 27th ACM/IEEE Design Automation Conference (1991)

In this paper, we provide an overview of a system designed for verifying the consistency of timing specifications for digital circuits. The utility of the system comes from the need to verify that existing digital components will interact correctly when placed together in a system. The system can also be used in the case of verifying specifications of unimplemented components.
An NSF funded research experience for undergraduates: intelligent systems
Authors: A. J. La Salle, L. R. Medsker
Venue: ACM SIGCSE Bulletin (1991)

Concerns about the decline in computer science enrollments have appeared not only in computing publications but also in the mass media. Reasons for diminished interest in technology-oriented careers are many and complex. Proposed solutions for expanding the population of scientists and engineers are few and largely untested. One solution, sponsored by the National Science Foundation, is the involvement of undergraduates in a research experience with the hope that the experience will reinforce their career decision and encourage them to go on to graduate study. This paper describes an undegraduate research experience conducted at The American University, the nature of the students' involvement, and he affects of their experiences on their career goals.
An efficient delay test generation system for combinational logic circuits
Authors: Eun Sei Park, M. Ray Mercer
Venue: Proceedings of the 27th ACM/IEEE Design Automation Conference (1991)

This paper presents an efficient delay test generation system for combinational logic circuits. Delay testing problems are divided into gross delay fault testing and small delay fault testing in order to explore the trade-off between the levels of delay testing effort and the confidence levels of proper system operation. Complete automatic test pattern generation algorithms are proposed for both gross delay faults and small delay faults. Especially for the small delay fault test generation, new search space enumeration techniques are employed so as to bias the search space such that a delay test for relatively long paths can be found. Also a novel timing analysis method via functionality check is presented for delay test generation. Finally, complete test results are demonstrated for both gross delay faults and small delay faults on several benchmark circuits.
Crash recovery in client-server EXODUS
Authors: Michael J. Franklin, Michael J. Zwilling, C. K. Tan, Michael J. Carey, David J. DeWitt
Venue: Proceedings of the 1992 ACM SIGMOD international conference on Management of data (1992)

In this paper, we address the correctness and performance issues that arise when implementing logging and crash recovery in a page-server environment. The issues result from two characteristics of page-server systems: 1) the fact that data is modified and cached in client database buffers that are not accessible by the server, and 2) the performance and cost trade-offs that are inherent in a client-server environment. We describe a recovery system that we have implemented for the client-server version of the EXODUS storage manager. The implementation supports efficient buffer management policies, allows flexibility in the interaction between clients and the server, and reduces the server load by generating log records at clients. We also present a preliminary performance analysis of the implementation.