ppxscal/embedding_network huggingface dataset:
Evaluation of compiler generated parallel programs on three multicomputers
Authors: Roland Rühl
Venue: Proceedings of the 6th international conference on Supercomputing (1992)

Distributed memory parallel processors (DMPPs) have no hardware support for a global address space. However, conventional programs written in a sequential imperative language such as Fortran typically manipulate few, large arrays. The Oxygen compiler, developed as part of the K2 project, translates conventional Fortran code, augmented with code and data distribution directives, into C programs including SEND/RECEIVE communication primitives. The compiler directives, which are either supplied by the user, or for simple programs generated automatically, support a global name space through a run-time mechanism called data consistency analysis. We report in this paper the performance of seven parallel programs generated by Oxygen for three DMPPs, namely for a Parsytec Supercluster, an iWARP, and for the Fujitsu AP1000. All machines were configured as 8 x 8 tori.
Predicting (Individual) Software Productivity
Authors: Watts S. Humphrey, Nozer D. Singpurwalla
Venue: IEEE Transactions on Software Engineering (1991)

A method for projecting software productivity with reasonable accuracy which uses the statistical techniques of time series analysis is described. The measure of productivity is the development time required per line of code. In making productivity projections, the key issue is the need to achieve a balance between forecasting stability and responsiveness to changing conditions. An integrated moving average process of order one, using exponential smoothing of all the previous observations, is judged appropriate for software productivity analysis, particularly where there are limited data available or where conditions are sufficiently varied to make much of the available data inapplicable. Empirical evidence suggests that most commonly encountered time series can be reasonably well described by such methods. The methods for computing the weights used for exponential smoothing are described, as are the means for determining prediction intervals, or measures of forecast uncertainty. This data analytic approach uses historical data alone, unlike structural methods where learning curves as well as prior data are used to define the predictive process.
ASSURE: automated design for dependability
Authors: Patrick Edmond, Anurag P. Gupta, Daniel P. Siewiorek, Audrey A. Brennan
Venue: Proceedings of the 27th ACM/IEEE Design Automation Conference (1991)

Design for dependability has long been an important issue for computer systems. While several dependability analysis tools have been produced, no effort has been made to automate the design for dependability. This paper describes ASSURE, an automated design for dependability advisor, which is part of the MICON system for rapid prototyping of small computer systems. A design for dependability methodology and a formal interface between synthesis and dependability analysis are presented. ASSURE's operation includes dependability analysis, evaluation of dependability enhancement techniques using predictive estimation, and selection of a technique. Different kinds of knowledge used in designing for dependability are identified, including an algorithmic approach for dependability analysis and a knowledge-based approach for suggesting dependability enhancement techniques. Examples of designs produced using ASSURE as a dependability advisor are provided and show an order of magnitude dependability improvement.
Monitoring program behaviour on SUPRENUM
Authors: Markus Siegle, Richard Hofmann
Venue: ACM SIGARCH Computer Architecture News (1992)

It is often very difficult for programmers of parallel computers to understand how their parallel programs behave at execution time, because there is not enough insight into the interactions between concurrent activities in the parallel machine. Programmers do not only wish to obtain statistical information that can be supplied by profiling, for example. They need to have detailed knowledge about the functional behaviour of their programs. Considering performance aspects, they need timing information as well. Monitoring is a technique well suited to obtain information about both functional behaviour and timing. Global time information is essential for determining the chronological order of events on different nodes of a multiprocessor or of a distributed system, and for determining the duration of time intervals between events from different nodes. A major problem on multiprocessors is the absence of a global clock with high resolution. This problem can be overcome if a monitor system capable of supplying globally valid time stamps is used. In this paper, the behaviour and performance of a parallel program on the SUPRENUM multiprocessor is studied. The method used for gaining insight into the runtime behaviour of a parallel program is hybrid monitoring, a technique that combines advantages of both software monitoring and hardware monitoring. A novel interface makes it possible to measure program activities on SUPRENUM. The SUPRENUM system and the ZM4 hardware monitor are briefly described. The example program under study is a parallel ray tracer. We show that hybrid monitoring is an excellent method to provide programmers with valuable information for debugging and tuning of parallel programs.
A hybrid architecture for neurocomputing (abstract)
Authors: W. E. Mattis
Venue: Proceedings of the 1990 ACM annual conference on Cooperation (1990)

A hybrid (analog/digital) architecture is described for realization as a neurocomputing element. The architecture is derived by examination of the operation of a typical neural network. Specifically, the outputs of neurons are connected to other neurons through axons and dendrites, weighted at the synaptic junction. The next state of any neuron is determined by the sum of the weighted inputs from all other neurons. Neural membranes, modeled as sigmoidal functions, determine the neuron response (output waveform). From this biological description, the architecture can be realized. The synapses, or weight vectors, for the neural network, are stored in N registers in digital from. It is assumed that these weights are known previously, or are calculated (updated) after each complete cycle from a learning law. The previous state of each neuron is stored in analog form in a register. Interconnecting the memory (synapses) with the stored neuron states are switches, multipliers (for multiplying a digital weight with a neuron state), summers (to accumulate the individual weight-neuron state products), and sigmoidal functions, to determine the next neuron output. Over a cycle, the sequence is such that each prior neuron state is multiplied by the appropriate weight and these products summed. Near the end of the cycle, this value is passed to the sigmoidal function, and the new neuron state found and stored for the next cycle. For complete implementation, hardware is specified, including the use of a charge-coupled device (CCD) register for the neuron state, digital RAM (random access memory) for the weight storage, and the use of multiplexers and multiplying digital to analog (D/A) converters to compute the individual weight-neuron state products for summation.
The Metal system
Authors: Oliver Gajek
Venue: Communications of the ACM (1991)

Siemens Nixdorf Information Systems has created a machine translation system called Metal that supports the following language pairs: German-English; English-German; German-Spanish; French-Dutch; Dutch-French. (Work on other language pairs is underway.
Notes on termination of OCCAM processes
Authors: D. Talla
Venue: ACM SIGPLAN Notices (1990)

A typical problem of concurrent programming is to ensure the correct termination of the concurrent processes which implement a program. The concurrent language Occam 2 does not provide explicit mechanisms to handle the program termination. This paper describes how to implement the distributed termination of Occam programs expressed as a network of parallel processes, avoiding deadlock situations or never-ending execution. The technique is based on the propagation of a termination message down the network of processes. Some Occam 2 programs which use this technique are described.
Putting Speech Recognition to Work in the Telephone Network
Authors: Matthew Lennig
Venue: Computer (1990)

The use of speaker-independent speech recognition in the development of Northern Telecom's automated alternate billing service (AABS) for collect calls, third-number-billed calls, and calling-card-billed calls is discussed. The AABS system automates a collect call by recording the calling party's name, placing a call to the called party, playing back the calling party's name to the called party, informing the called party that he or she has a collect call from that person, and asking. 'Will you pay for the call?' The operation of AABS, the architecture of the voice interface, and the speech recognition algorithm are described, and the accuracy of the recognizer is discussed. AABS relies on isolated-word recognition, although more advanced techniques that can recognize continuous speech are being pursued.
Constraint generation for routing analog circuits
Authors: Umakanta Choudhury, A. Sangiovanni-Vincentelli
Venue: Proceedings of the 27th ACM/IEEE Design Automation Conference (1991)

An approach for generating constraints on interconnect parasitics to drive the routing of analog circuits is presented. The approach involves (a) generation of a set of bounding constraints on the critical parasitics of a circuit to provide maximum flexibility to the router while meeting the performance constraints, and (b) deriving a set of matching constraints on the parasitics from matched-node-pair and matched-branch-pair information in differential circuits. A prototype constraint generator is described. It is hoped that the constraint-based approach suggested in this paper, if applied to both placement and routing, will reduce the need of time consuming layout-extraction-simulation iterations in the physical design phase of analog circuits.
Trends in telecommunication management and configurations
Authors: Patricia J. Carlson, James C. Wetherbe
Venue: ACM SIGCOMM Computer Communication Review (1992)

A survey which investigated organizational management of telecommunications and the current and future configurations of telecommunications equipment showed some expected results and some surprises. The survey showed that public academic institutions are in advance of private institutions in the acquisition of different types of telecommunication equipment and connections. Also surprisingly widespread is the use in academic institutions of connections usually identified with business. Fully 8% of the academic institutions report being connected to customers, 14% indicate use of EDI, and 16% indicate connection to suppliers. Another surprising result is that previous investment in telecommunications is a better predictor than revenue (for business firms) or size of student body (for academic institutions) of the presence of rare telecommunications options, if they have acquired experience by a steady progression of telecommunications acquisitions. A final, perhaps more predictable, result concerns the evolution of telecommunication configurations in organizations of all types toward more interconnectability and in the directions of organization wide networks. Over 70% of the organizations are working toward organization wide networks but only 24% to 25% of the organizations consider that they have attained this goal. This trend is evident in both the academic and business environments. While it is not clear how this will impact the availability of data, it is apparent that a need for more interconnectability and ease of communication is being felt by organizations at this time.
Amdahl's law and end of system design
Authors: Bruce Christianson
Venue: ACM SIGMETRICS Performance Evaluation Review (1991)

Gene Amdahl has persuasively argued that there are severe technology-independent limits on the performance gains which can be achieved by using massively parallel processing. This conclusion (popularly called Amdahl's Law) has been supported by a number of different arguments [1], advanced in the context of vector processing and also in the context of the hypercube architecture.
New user interface strategies for public telephones
Authors: Lisa Fast
Venue: ACM SIGCHI Bulletin (1991)

BNR and Northern Telecom recently introduced a new public pay telephone. The Millennium telephone accepts cards or coins and as a public telephone, must cater to a wide variety of users, including the handicapped.
Shallow binding makes functional arrays fast
Authors: Henry G. Baker
Venue: ACM SIGPLAN Notices (1991)

Access and update for random elements of arrays in imperative programming languages are O(1) operations. Implementing functional programming languages to achieve equivalent efficiency has proved difficult. We show how the straight-forward application of shallow binding to functional arrays automatically achieves O(1) update for single-threaded usage.
Identifying foundations of software engineering expertise
Authors: Andreas Rösel, Paul Bailes
Venue: ACM SIGCSE Bulletin (1992)

The importance of software development expertise to our society and likewise the importance of education in this field are self-evident. At the same time it is undisputed that software development at the professional level is a complex activity. It must be presumed that the make-up of expertise required to successfully complete such activities will itself be non-simple, deserving of our attention. A hierarchical view of professional expertise is presented and a method for determining the fundamental principles making up lasting expertise is systematically derived. The method is applied to determine principles of software engineering expertise. The view presented provides a step towards a well founded understanding of the types of expertise needed for the activity of software development. Educators involved in courses releasing professionally recognised software developers should be interested to examine which aspects of the expertise-derivation they already utilise and which aspects could further benefit their courses.
Performance comparison of extendible hashing and linear hashing techniques
Authors: Ashok Rathi, Huizhu Lu, G. E. Hedrick
Venue: ACM SIGSMALL/PC Notes (1991)

Based on seven assumptions, the following comparison factors are used to compare the performance of linear hashing with extendible hashing: 1. storage utilization; 2. average unsuccessful search cost; 3. average successful search cost; 4. split cost; 5. insertion cost; 6. number of overflow buckets. The simulation is conducted with the bucket sizes of 10, 20, and 50 for both hashing techniques. In order to observe their average behavior, the simulation uses 50,000 keys which have been generated randomly.According to our simulation results, extendible hashing has an advantage of 5% over linear hashing in terms of storage utilization. Successful search, unsuccessful search, and insertions are less costly in linear hashing. However, linear hashing requires a large overflow space to handle the overflow records. Simulation shows that approximately 10% of the space should be marked as overflow space in linear hashing.Directory size is a serious bottleneck in extendible hashing. Based on the simulation results, the authors recommend linear hashing when main memory is at a premium.
Experience with MINIX in an operating systems lab
Authors: Stephen J. Hartley
Venue: ACM SIGCSE Bulletin (1990)

Most standard undergraduate operating systems courses teach theory and concepts, without exposing students to the detailed internal operation or source code of an actual operating system. Tanenbaum's MINIX operating system is designed to give students "hands-on" experience with the internals of an operating system in order to illustrate the theory and concepts. This paper describes the use of MINIX in an operating systems laboratory at the University of Vermont.
Ambivalent data structures for dynamic 2-edge-connectivity and k smallest spanning trees
Authors: Greg N. Frederickson
Venue: Proceedings of the 32nd annual symposium on Foundations of computer science (1991)

Ambivalent data structures are presented for several problems on undirected graphs. They are used in finding the k smallest spanning trees of a weighted undirected graph in O(m log beta (m,n)+min(k/sup 3/2/, km/sup 1/2/)) time, where m is the number of edges and n the number of vertices in the graph. The techniques are extended to find the k smallest spanning trees in an embedded planar graph in O(n+k(log n)/sup 3/) time. Ambivalent data structures are also used to maintain dynamically 2-edge-connectivity information. Edges and vertices can be inserted or deleted in O(m/sup 1/2/) time, and a query as to whether two vertices are in the same 2-edge-connected component can be answered in O(log n) time, where m and n are understood to be the current number of edges and vertices, respectively. Again, the techniques are extended to maintain an embedded planar graph so that edges and vertices can be inserted or deleted in O((log n)/sup 3/) time, and a query answered in O(log n) time.
Unifying programming languages and databases: scoping, metadata, and process communication
Authors: T. H. Merrett, Heping Shang
Venue: Proceedings of the third international workshop on Database programming languages : bulk types persistent data: bulk types persistent data (1992)

We are systematically investigating fundamental concepts in programming languages and their connection with the central ideas of relational databases. Our intention is to identify related notions and to generalize other notions in order to produce a database programming language with the following characteristics. The language should support efficient operations on bulk data, too large to fit into primary memory. The language should follow the structured, imperative tradition of ALGOL 60, but with support for alternative paradigms, such as functional and object-oriented. By thorough exploitation of the language/database concepts adopted, and insistence on orthogonality, the language should employ a minimum number of concepts and thus a very simple syntax. The present paper discusses four important ingredients of the language we intend to design and implement. We have implemented a scoping mechanism and are exploring refinements. We have implemented four types of metadata. We are implementing an approach to interprocess communication and synchronization.
A synthetic workload model for a distributed system file server
Authors: Robert Bodnarchuk, Richard Bunt
Venue: ACM SIGMETRICS Performance Evaluation Review (1991)

The accuracy of the results of any performance study depends largely on the quality of the workload model driving it. Not surprisingly then, workload modelling is an area of great interest to those involved in the study of computer system performance. While a significant amount of research has focussed on the modelling of workloads in a centralized computer system, little has been done in the context of distributed systems. The goal of this research was to model the workload of a distributed system file server in a UNIX/NFS environment. The resulting model is distribution-driven and generates workload components in real time. It runs externally to the system it drives, thus eliminating any interference at the server. The model was validated for different workload intensities to ensure that it provides the flexibility to vary the workload intensity without loss of accuracy.
Experience with a performance analyzer for multithreaded applications
Authors: Gilbert J. Hansen, Charles A. Linthicum, Gary Brooks
Venue: Proceedings of the 1990 ACM/IEEE conference on Supercomputing (1990)

Determining the effectiveness of parallelization requires performance data about elapsed process time and total CPU time. Furthermore, it is desirable not to have to run a parallel application in a stand-alone environment in order to obtain the profile. This paper describes the CONVEX performance analyzer, CXpa, with the capability to monitor parallel regions of code, in particular loops, executed in a time-sharing environment. The means by which profiling information is measured for a parallel region is described along with the operating system facilities required to support it. The effectiveness of the approach is evaluated and suggestions for improvement made. The profiling of parallel regions is implemented on the CONVEX C200 Series&trade; computers, a tightly coupled, shared-memory, parallel/multiprocessor systems running ConvexOS&trade; V8.0, a UNIX&reg; based operating system.
Synthesis and Recognition of Sequences
Authors: S. C. Chan, A. K. C. Wong
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1991)

A string or sequence is a linear array of symbols that come from an alphabet. Due to unknown substitutions, insertions, and deletions of symbols, a sequence cannot be treated like a vector or a tuple of a fixed number of variables. The synthesis of an ensemble of sequences is a sequence of random elements that specify the probabilities of occurrence of the different symbols at the corresponding sites of the sequences. The synthesis is determined by a hierarchical sequence synthesis procedure (HSSP), which returns not only the taxonomic hierarchy of the whole ensemble of sequences but also the alignment and the synthesis of a group (a subset of the ensemble) of the sequences at each level of the hierarchy. The HSSP does not require the ensemble of sequences to be presented in the form of a tabulated array of data, the hierarchical information of the data, or the assumption of a stochastic process. The authors present the concept of sequence synthesis and the applicability of the HSSP as a supervised classification procedure as well as an unsupervised classification procedure.
On the interaction between true source, training, and testing language models
Authors: Douglas B. Paul, James K. Baker, Janet M. Baker
Venue: Proceedings of the workshop on Speech and Natural Language (1990)

An interaction has been found between the true source language model, training language model, and the testing language model. This interaction has implications for vocabulary independent modeling, testing methodologies, discriminative training, and the adequacy of our current databases for continuous speech recognition (CSR) development. The current DARPA databases suffer from the described difficulties which suggests that new CSR databases are needed if we are to further advance the state-of-the-art.
The X-Kernel: An Architecture for Implementing Network Protocols
Authors: Norman C. Hutchinson, Larry L. Peterson
Venue: IEEE Transactions on Software Engineering (1991)

A description is given of an operating system kernel, called the x-Kernel, that provides an explicit architecture for constructing and composing network protocols. The authors' experience implementing and evaluation several protocols in the x-Kernel shows that this architecture is general enough to accommodate a wide range of protocols, yet efficient enough to perform competitively with less-structured operating systems. Experimental results demonstrating the architecture's generality and efficiency are provided. The explicit structure provided by the x-Kernel has the following advantages. First, the architecture simplifies the process of implementing protocols in the kernel, making it easier to build and test novel protocols. Second, the uniformity of the interface between protocols avoids the significant cost of changing abstractions and makes protocol performance predictable. Third, it is possible to write efficient protocols by tuning the underlying architecture rather than heavily optimizing protocols themselves.