ppxscal/embedding_network huggingface dataset:
A hardware accelerator for speech recognition algorithms
Authors: T. S. Anantharaman, R. Bisiani
Venue: Proceedings of the 13th annual international symposium on Computer architecture (1986)

This paper describes two custom architectures tailored to a speech recognition beam search algorithm. Both architectures have been simulated using real data and the results of the simulation are presented. The paper also describes the design process of the custom architectures and presents a number of ideas on the automatic design of custom systems for data dependent computations.
Using Ada on microcomputers in the undergraduate curriculum
Authors: G. Scott Owen
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

Currently, many Computer Science Departments are considering the use of a language other than Pascal either for an entire Computer Science curriculum, or at least for some courses, such as data structures. At Georgia State University, where our program is primarily based on IBM PC compatible microcomputers, we have converted our data structures course from Pascal to Ada, and use Ada in several other courses. In this paper I will discuss the rationale behind our choice and our experience with using Ada on microcomputers.
Implementation of a university wide computer-augmented-curriculum
Authors: Hugh Garraway
Venue: Proceedings of the seventeenth SIGCSE technical symposium on Computer science education (1986)

This paper discusses the implementation of a project to provide microcomputing resource to all students and faculty in an effort to integrate computer-assisted-learning with traditional teaching/learning methods across the curriculum of a comprehensive university. Also discussed is the structure and staffing of the project, initial hardware and software selection and the project's impact on a Computer Science Department.
Asymptotic expansions for closed Markovian networks with state-dependent service rates
Authors: Debasis Mitra, J. McKenna
Venue: Journal of the ACM (JACM) (1986)

A method is presented for calculating the partition function, and from it, performance measures, for closed Markovian stochastic networks with queuing centers in which the service or processing rate depends on the center's state or load. The analysis on which this method is based is new and a major extension of our earlier work on load-independent queuing networks. The method gives asymptotic expansions for the partition function in powers of 1/N, where N is a parameter that reflects the size of the network. The expansions are particularly useful for large networks with many classes, each class having many customers. The end result is a decomposition by which expansion coefficients are obtained exactly by linear combinations of partition function values of small network constructs called pseudonetworks. Effectively computable bounds are given for errors arising from the use of a finite number of expansion terms. This method is important because load dependence is at once an essential element of sophisticated network models of computers, computer communications, and switching, teletraffic, and manufacturing systems, and the cause of very intensive computations in conventional techniques. With this method, very large load-dependent networks can be analyzed, whereas previously only small networks were computationally tractable.
Infinitesimal perturbation analysis for general discrete event systems
Authors: Rajan Suri
Venue: Journal of the ACM (JACM) (1987)

A rigorous extension of the recent perturbation analysis approach to more general discrete event systems is given. First, a general class of systems and performance measures is defined, and some basic reprsentational and linearity properties are derived. Next a sample gradient of performance with respect to a parameter of the system is defined. Then, for certain parameters of such systems, an infinitesimal perturbation analysis algorithm is derived. It is proved that this algorithm gives exact values for the sample gradients of performance with respect to the parameters, by observing only one sample path of the DEDS. (However, the sample gradient may or may not be a good estimate of the gradient of the performance measure; this point is elaborated in the body of the paper.) The computational complexity of this algorithm is bound to be linear in the number of events. These results offer the potential for very efficient calculation of the gradients&mdash;a fact that can be used for design/operation of computer systems, communication networks, manufacturing systems, and many other real-world systems, particularly since restrictive assumptions (e.g., exponential distributions) are not required of the system.
Mixed language programming realization and the provision of data types
Authors: Bo Einarsson
Venue: ACM SIGNUM Newsletter (1986)

The importance of mixed language programming, and some of the associated problems, are summarized. The paper presents a structured view on the major ways to realize mixed language programming and how to provide the necessary data types.
The effects of restricted syntax on menu-based interaction
Authors: Allen Hedeen
Venue: Issue 103 (Jan., 1988) (1988)

The computer sciencestudy compared the interaction of two different menu-based language processors. One of the language processors had unrestricted dialog in its menus. The other was command restricted. Four people solved two problems on the two different language processors. The study showed that a command restricted language processor offers a better interface than an unrestricted language processor.
Computable values can be classical
Authors: V. Breazu-Tannen, A. R. Meyer
Venue: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages (1987)

In programming languages of universal power, the computational integers must be distinguished from the classical integers because of the &ldquo;divergent&rdquo; integer. Even the equational theory corresponding to evaluation of integer expressions is distinct from the theory of classical integers, and classical reasoning about computational integers yields inconsistencies. We show that there exist &ldquo;programming languages&rdquo;, actually extensions of the polymorphic lambda calculus, that have tremendous computing power and yet whose computational integers, or any other algebraically specified abstract data type, coincide with their classical counterpart. In particular, the equational theory of the programming language is a conservative extension of the theory of the underlying base types as given by algebraic data type specifications.
A Distributed Specification Model and its Prototyping
Authors: Yu Wang
Venue: IEEE Transactions on Software Engineering (1988)

A specification model is described that is based on the finite-state machine but is distributed. The model allows the user to decompose a large system into separate views. Each view is a complete system in itself, and reveals how the whole system would behave as seen from a certain angle. Put together, the combined views present a complete picture of the whole system. The complexity of a large centralized system is thus distributed and subdued. The author offers a simple execution scheme for the model. Using a high-level state-transition language called SXL, constructs in the model are expressed as preconditions and postconditions of transitions. The execution scheme allows all the views in the model to proceed in a parallel but harmonious way, producing a working prototype for the modeled system.
Hardware acceleration of logic simulation using a data flow microarchitecture
Authors: G. Catlin, B. Paseman
Venue: Proceedings of the 18th annual workshop on Microprogramming (1985)

Current digital logic simulators running on engineering workstations lack capacity and speed. This paper discusses a hardware accelerator for a workstation simulator which addresses these problems. The accelerator runs 100x faster than its software counterpart and can simulate up to 1 million gates. The accelerator has been built and is being sold commercially. The architecture of the accelerator is similar to that of a classical dataflow machine. We describe the architecture of the machine and illustrate how it would simulate a simple circuit. We then briefly discuss the relationship between event driven simulation and dataflow.
Teaching personal computer Cobol with Watcom Cobol
Authors: Joseph W. Jr. Trigg
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

The teaching transition from a mainframe language to a subset of the same language for personal computer use could be an unpleasant experience without adequate preparation. This paper is intended to be of benefit for the teachers of COBOL who are contemplating a change from mainframe COBOL to the WATCOM COBOL interpreter.
Providing the right computing services in times of financial crisis: a case study at the University of Wisconsin-Madison
Authors: Kathi Dwelle
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

This paper describes the changes required by an academic computing center when faced with a dramatic shift in computer usage, compounded by a university budget shortfall. It discusses implications of a technology which is changing quickly in an environment where, historically, funding models do not. It describes one possible outcome with regard to academic computing, which is the solution that we at the University of Wisconsin-Madison are working on, that of becoming a smaller but better-focused facility. It discusses how we decided which services to discontinue and which to keep. Finally, it touches briefly on modifying the computing center's internal structure to support these changes.
A second generation DOMINO for statisticians
Authors: Alan Sykes
Venue: ACM SIGAPL APL Quote Quad (1987)

The use of 'domino' (&plusb;) is one of the many attractive features of APL. To a statistician, it is particularly useful in its dyadic form, returning least-squares estimates Y&plusb;D necessary to predict data in the 'Y' vector using as prediction variables, the columns of the &ldquo;design matrix&rdquo; D. Second generation APL interpreters supporting nested array structures present a unique opportunity to make such dyadic uses of domino even more attractive. The householder algorithm employed by domino provides much information that is lost to the user. This paper discusses how this information can be captured by Y&plusb;D returning a nested array. The essential ideas are presented using APL functions. An auxiliary processor written in C for the Dyalog interpreter demonstrates an implementation of these ideas.
Reliable High-Speed Arbitration and Synchronization
Authors: D. M. Chapiro
Venue: IEEE Transactions on Computers (1987)

Numerous papers have discussed the behavior of flip-flops in synchrronization and arbitration circuits. Here, a nonconventional machine, which avoids completely synchronization failures by using metastability detectors in conjunction with a stretchable clock, is evaluated. The core of the paper focuses on the quantitative evaluation of the performance and reliability of this unconventional kind of machine. Only synchronization and arbitration failures are considered here, so when these machines are compared to conventional ones, all other factors affecting reliability and performance (e.g., technology, fabrication, etc.) are kept invariant. The MTBF's and a new normalized throughput measure show they can run substantially faster and more reliably than functionally equivalent, conventional machines with fixed clocks. Integrrated circuit implementations have been built and successfully tested.
Proofs as programs
Authors: Joseph L. Bates, Robert L. Constable
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1985)

The significant intellectual cost of programming is for problem solving and explaining, not for coding. Yet programming systems offer mechanical assistance for the coding process exclusively. We illustrate the use of an implemented program development system, called PRL ("pearl"), that provides automated assistance with the difficult part. The problem and its explained solution are seen as formal objects in a constructive logic of the data domains. These formal explanations can be executed at various stages of completion. The most incomplete explanations resemble applicative programs, the most complete are formal proofs.
Language features for flexible handling of exceptions in information systems
Authors: Alexander Borgida
Venue: ACM Transactions on Database Systems (TODS) (1985)

An exception-handling facility suitable for languages used to implement database-intensive information systems is presented. Such a mechanism facilitates the development and maintenance of more flexible software systems by supporting the abstraction of details concerning special or abnormal occurrences. The type constraints imposed by the schema as well as various semantic integrity assertions are considered to be normalcy conditions, and the key contribution of this work is to allow exceptions to these constraints to persist. To achieve this, solutions are proposed to a range of problems, including sharing and computing with exceptional information, exception handling by users, the logic of constraints with exceptions, and implementation issues. The use of exception handling in dealing with null values, estimates, and measurement is also illustrated.
Enhanced Maintenance and Explanation of Expert Systems Through Explicit Models of Their Development
Authors: Robert Neches, William R. Swartout, Johanna D. Moore
Venue: IEEE Transactions on Software Engineering (1985)

Principled development techniques could greatly enhance the understandability of expert systems for both users and system developers. Current systems have limited explanatory capabilities and present maintenance problems because of a failure to explicitly represent the knowledge and reasoning that went into their design. This paper describes a paradigm for constructing expert systems which attempts to identify that tacit knowledge, provide means for capturing it in the knowledge bases of expert systems, and, apply it towards more perspicuous machine-generated explanations and more consistent and maintainable system organization.
A logarithmic time sort for linear size networks
Authors: John H. Reif, Leslie G. Valiant
Venue: Journal of the ACM (JACM) (1987)

A randomized algorithm that sorts on an N node network with constant valence in O(log N) time is given. More particularly, the algorithm sorts N items on an N-node cube-connected cycles graph, and, for some constant k, for all large enough &agr;, it terminates within k&agr; log N time with probability at least 1 - N-&agr;.
Improving locality of reference in a garbage-collecting memory management system
Authors: Robert Courts
Venue: Communications of the ACM (1988)

Modern Lisp systems make heavy use of a garbage-collecting style of memory management. Generally, the locality of reference in garbage-collected systems has been very poor. In virtual memory systems, this poor locality of reference generally causes a large amount of wasted time waiting on page faults or uses excessively large amounts of main memory. An adaptive memory management algorithm, described in this article, allows substantial improvement in locality of reference. Performance measurements indicate that page-wait time typically is reduced by a factor of four with constant memory size and disk technology. Alternately, the size of memory typically can be reduced by a factor of two with constant performance.
Doubly lexical orderings of matrices
Authors: A Lubiw
Venue: Proceedings of the seventeenth annual ACM symposium on Theory of computing (1985)

A doubly lexical ordering of the rows and columns of any real-valued matrix is defined. This notion extends to graphs. These orderings are used to prove and unify results on several classes of matrices and graphs, including totally balanced matrices and chordal graphs. An almost-linear time doubly lexical ordering algorithm is given.
Multiple-access protocols and time-constrained communication
Authors: James F. Kurose, Mischa Schwartz, Yechiam Yemini
Venue: ACM Computing Surveys (CSUR) (1984)

During the past ten years, the field of multiple-access communication has developed into a major area of both practical and theoretical interest within the field of computer communications. The multiple-access problem arises from the necessity of sharing a single communication channel among a community of distributed users. The distributed algorithm used by the stations to share the channel is known as the multiple-access protocol. In this paper we examine the multiple-access problem and various approaches to its resolution. In this survey we first define the multiple-access problem and then present the underlying issues and difficulties in achieving multiple-access communication. A taxonomy for multiple-access protocols is then developed in order to characterize common approaches and to provide a framework within which these protocols can be compared and contrasted. Different proposed protocols are then described and discussed, and aspects of their performance are examined. The use of multiple-access protocols for "real- time" or "time-constrained" communication applications, such as voice transmission, is examined next. Issues in time-constrained communication are identified, and recent work in the design of time-constrained multiple-access protocols is surveyed.
Approximation with exact Lagrange-type interpolation
Authors: C. Dunham, Z. Zhu
Venue: ACM SIGNUM Newsletter (1988)

Under stated favorable conditions, the Lagrange formula for polynomial interpolation is computationally exact at the nodes. This is applied to approximation with Lagrange-type interpolation.
Program verification: the very idea
Authors: James H. Fetzer
Venue: Communications of the ACM (1988)

The notion of program verification appears to trade upon an equivocation. Algorithms, as logical structures, are appropriate subjects for deductive verification. Programs, as causal models of those structures, are not. The success of program verification as a generally applicable and completely reliable method for guaranteeing program performance is not even a theoretical possibility.
A topological search algorithm for ATPG
Authors: T. Kirkland, M. R. Mercer
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

The automatic generation of tests for combinational digital circuits is examined from the standpoint of a guided search through a search space. The limitations of this process, namely the size of the search space and the overall strategy, are identified and methods are presented to reduce the size of the search space as well as produce a more optimal ordering of node assignments. A new algorithm is proposed that uses the smaller search space and the improved ordering for node assignments based on a topological analysis of the circuit. Results are presented indicating that this new algorithm, termed TOPological Search (TOPS), is faster than existing algorithms and also rapidly identifies many redundant faults without search.
Performance evaluation of LAN sorting algorithms
Authors: Mohamed Salehmohamed, W. S. Luk, Joseph G. Peters
Venue: ACM SIGMETRICS Performance Evaluation Review (1987)

We adapt several parallel sorting algorithms (block sorting algorithms) and distributed sorting algorithms for implementation on an Ethernet network with diskless Sun workstations. We argue that the performance of sorting algorithms on local area networks (LANs) should be analyzed in a manner that is different from the ways that parallel and distributed sorting algorithms are usually analyzed. Consequently, we propose an empirical approach which will provide more insight into the performance of the algorithms. We obtain data on communication time, local processing time, and response time (i.e. total running time) of each algorithm for various file sizes and different numbers of processors. Comparing the performance data with our theoretical analysis, we attempt to provide rationale for the behaviour of the algorithms and project the future behaviour of the algorithms as file size, number of processors, or interprocessor communication facilities change.
Analysis of interleaved storage via a constant-service queuing system with Markov-chain-driven input
Authors: Micha Hofri
Venue: Journal of the ACM (JACM) (1984)

A popular means of increasing the effective rate of main storage accesses in a large computer is a multiplicity of memory modules accessible in parallel. Although such an organization usually achieves a net gain in access rate, it also creates new modes of congestion at the storage controller. This paper analyzes the variables that describe such a congestion: queue lengths and delays. A controller that maintains separate register sets to accommodate the request queue of each module is considered. The various processors attached to the storage are assumed to generate, in each memory cycle, a number of access requests with the same given distribution. The addresses specified by these requests (reduced to the module index) are further assumed to follow the states of a first-order Markov chain. The analysis then becomes one of a single-server queuing system with constant service time and indexed batch arrival process. Results are derived for several descriptors of the congestion and thus of the quality of service offered by such an organization. The aim throughout is to embody the results in a form readily suitable for numerical evaluation.
X3J3 meeting, November 1987
Authors: John Reid
Venue: ACM SIGPLAN Fortran Forum (1987)

This meeting was primarily concerned with agreeing responses to comments made by X3 members with their ballots. In addition, some editorial changes were agreed, as were some minor technical corrections. A decision was made not to work on major proposals at this time in order to concentrate on improving the present draft.
Algorithmic State Machine Design and Automatic Theorem Proving: Two Dual Approaches to the Same Activity
Authors: D Snyers, A Thayse
Venue: IEEE Transactions on Computers (1986)

This paper shows that synthesizing binary decision programs (formed by means of decision instructions of the type if then else and of execution instructions of the type do) and proving theorems can be carried out by using the same approach. It is proved that the same transformations acting on P-functions can be interpreted in terms of binary program synthesis and of theorem proving. Since binary program leads to algorithmic state machine design while theorem proving leads to declarative programming, this allows us to lay a bridge between logic design and declarative languages such as Prolog.