ppxscal/embedding_network huggingface dataset:
4.2BSD and 4.3BSD as examples of the UNIX system
Authors: John S. Quarterman, Abraham Silberschatz, James L. Peterson
Venue: ACM Computing Surveys (CSUR) (1985)

This paper presents an in-depth examination of the 4.2 Berkeley Software Distribution, Virtual VAX-11 Version (4.2BSD), which is a version of the UNIX Time-Sharing System. There are notes throughout on 4.3BSD, the forthcoming system from the University of California at Berkeley. We trace the historical development of the UNIX system from its conception in 1969 until today, and describe the design principles that have guided this development. We then present the internal data structures and algorithms used by the kernel to support the user interface. In particular, we describe process management, memory management, the file system, the I/O system, and communications. These are treated in as much detail as the UNIX licenses will allow. We conclude with a brief description of the user interface and a set of bibliographic notes.
If Prolog is the Answer, What is the Question? or What it Takes to Support AI Programming Paradigms
Authors: Daniel G. Bobrow
Venue: IEEE Transactions on Software Engineering (1985)

Knowledge programming, which makes use of the explicit representation and interpretation of knowledge to create intelligent programs, requires specialized languages and tools to help programmers. Prolog, an implementation of a logic programing language, provides some of these tools; it and other languages have been argued to be the "best" way to do such knowledge programming. This paper raises questions which suggest that any single paradigm of programming (e.g., logic programming or object-oriented programming) benefits by being integrated in a single environment with other paradigms of programming. Integration of these paradigms with each other, and within a flexible, user-friendly computing environment is also necessary. Such an environment must provide source level debugging and monitoring facilities, analysis and performance tuning tools, and an extended set of user communication programs.
Report on the workshop on design performance issues in parallel architectures
Authors: Satish K Tripathi, Steve Kaisler, Sharat Chandran, Ashok K Agrawala
Venue: ACM SIGMETRICS Performance Evaluation Review (1987)

Machines that perform computations in parallel have come into vogue today partly prodded by technology and user needs. In the early spring of '86, a workshop was held under the auspices of the University of Maryland Institute for Advanced Computer Studies (UMIACS) to investigate the design and the notusually-addressed issue of the performance of these machines. This report serves as a record of the workshop though it does not promise to be a transcript of the various sessions. About a dozen presentations interspersed with sprited open-forum discussions have been paraphrased here. It is hoped that this report remains faithful to the proceedings.
The structure of microcomputer file systems
Authors: Donald Golden, Michael Pechura
Venue: Communications of the ACM (1986)

With an understanding of the structure of microcomputer file systems and what causes incompatibilities between them, it is possible to write software that will enable one system to read files written by another&mdash;provided they have physically compatible hardware.
Class modification in the GemStone object-oriented DBMS
Authors: D. Jason Penney, Jacob Stein
Venue: Conference proceedings on Object-oriented programming systems, languages and applications (1987)

We are currently designing a class modification methodology for GemStone. We describe the current status of the design. We choose from two basic approaches and then introduce those aspects of GemStone necessary for an understanding of the paper. After defining a set of invariants for GemStone databases, we discuss specific class modification operations in terms of maintaining these invariants. We next discuss several issues that impact class modification. These issues include concurrency and authorization, and lead to difficult choices.
A Symmetric Tree Structure Interconnection Network and its Message Traffic
Authors: Nam Sung Woo, Ashok Agrawala
Venue: IEEE Transactions on Computers (1985)

A variation of the tree structure interconnection network for the message switching multiprocessor system is presented in this correspondence. It mainly consists of four binary tree structures, pairs of which are touched by their leaf nodes; in addition, there are four nodes which interface with external environments. The proposed network is left-right and top-down symmetric and is planar. Every node in the interconnection network has the same number of degree, 3. There are multiple paths between any two nodes in the network. Results of the message traffic analysis of the network are presented.
Improving the Performance of Buddy Systems
Authors: I P Page, J Hagins
Venue: IEEE Transactions on Computers (1986)

This paper discusses ways of reducing fragmentation ion in buddy systems. Although internal fragmentation may be estimated for any buddy system, external fragmentation cannot be determined theoretically. It is suggested here that mean external fragmentation for any buddy system is directly related to the height of the associated binary tree. Simulation studies with a new buddy system support this conjecture. Attempts at reducing internal fragmentation have, in the past, increased the tree height covering the range of request sizes and given rise to a commensurate increase in external fragmentation. A new buddy system is described which supports a large number of buddy sizes without requiring a large tree height. The new scheme is a modified form of the weighted buddy method, entitled the dual buddy system. It provides the same set of block sizes as the weighted scheme but has the same tree height as the binary buddy system. Simulation results show that mean external fragmentation is within four percent of that of the binary system and much lower than that of the weighted scheme. The new system has better overall storage utilization han others for uniform random request sizes.
An alternative to Chan's deflation for bordered systems
Authors: W Govaerts, J D Pryce
Venue: ACM SIGNUM Newsletter (1987)

In many contexts, notably in computing continuation curves near singular points, it is necessary to solve linear systems of the form[EQUATION]where A is n x n, b is n x 1, c is 1 x n, and d is a scalar. (Thus x, f are n-vectors and y, g are scalars.) The complete (n + 1) x (n + 1) matrix M is assumed to be well-conditioned, but A is expected to be singular or nearly so. In addition A is assumed to possess useful properties which may be lost if the augmented matrix M is dealt with directly: e.g. A might have a band structure which would be lost by pivoting too soon in the bottom row. Thus for efficiency's sake we wish to use a solver for systems with coefficient matrix A, but its likely ill-condition demands special care.
Efficient compilation of linear recursive functions into object level loops
Authors: Peter Harrison, Hessam Khoshnevisan
Venue: ACM SIGPLAN Notices (1986)

Whilst widely recognised as an excellent means for solving problems and for designing software, functional programming languages have suffered from their inefficient implementations on conventional computers. A route to improved runtime performance is to transform recursively defined functions into programs which execute more quickly and/or consume less space. We derive equivalent imperative programming language loops for a large class of linear recursive functions of which the tail-recursive functions form a very small subset. We first identify a small set of primitive function defining expressions for which we determine the corresponding loop-expressions. We then determine the loop-expressions for linear functions defined by any expressions which are formed from those primitives. In this way, a very general class of linear functions can be transformed automatically into loops in the parsing phase of a compiler, since the parser has in any case to determine the hierarchical structure of function definitions. Further transformation may involve specific properties of particular defining expressions, and adopt previous schemes. In addition, equivalent linear functions can be found for many non-linear ones which can therefore also be transformed into loops.
Some shared memory is desirable in parallel sparse matrix computation
Authors: Alan George, Esmond Ng
Venue: ACM SIGNUM Newsletter (1988)

Over the past few years a number of algorithms for solving large sparse systems of equations on distributed-memory multiprocessors have been developed. In this article the authors point out that the properties of sparse matrix problems generally, along with the characteristics of these parallel algorithms for solving them, lead to inefficient use of memory. An example is presented to show that a (relatively small) amount of shared memory on an otherwise pure distributed-memory multiprocessor is very desirable when it is being used to execute these parallel algorithms.
Concurrent dynamic logic
Authors: David Peleg
Venue: Journal of the ACM (JACM) (1987)

In this paper concurrent dynamic logic (CDL) is introduced as an extension of dynamic logic tailored toward handling concurrent programs. Properties of CDL are discussed, both on the propositional and first-order level, and the extension is shown to possess most of the desirable properties of DL. Its relationships with the &mgr;-calculus, game logic, DL with recursive procedures, and PTIME are further explored, revealing natural connections between concurrency, recursion, and alternation.
Interprocedural dependence analysis and parallelization
Authors: Michael Burke, Ron Cytron
Venue: ACM SIGPLAN Notices (1986)

We present a method that combines a deep analysis of program dependences with a broad analysis of the interaction among procedures. The method is more efficient than existing methods: we reduce many tests, performed separately by existing methods, to a single test. The method is more precise than existing methods with respect to references to multi-dimensional arrays and dependence information hidden by procedure calls. The method is more general than existing methods: we accommodate potentially aliased variables and structures of differing shapes that share storage. We accomplish the above through a unified approach that integrates subscript analysis with aliasing and interprocedural information.
Stability of binary exponential backoff
Authors: Jonathan Goodman, Albert G. Greenberg, Neal Madras, Peter March
Venue: Journal of the ACM (JACM) (1988)

Binary exponential backoff is a randomized protocol for regulating transmissions on a multiple-access broadcast channel. Ethernet, a local-area network, is built upon this protocol. The fundamental theoretical issue is stability: Does the backlog of packets awaiting transmission remain bounded in time, provided the rates of new packet arrivals are small enough? It is assumed n &ge; 2 stations share the channel, each having an infinite buffer where packets accumulate while the station attempts to transmit the first from the buffer. Here, it is established that binary exponential backoff is stable if the sum of the arrival rates is sufficiently small. Detailed results are obtained on which rates lead to stability when n = 2 stations share the channel. In passing, several other results are derived bearing on the efficiency of the conflict resolution process. Simulation results are reported that, in particular, indicate alternative retransmission protocols can significantly improve performance.
Expert systems in law: out of the research laboratory and into the marketplace
Authors: R. E. Susskind
Venue: Proceedings of the 1st international conference on Artificial intelligence and law (1987)

The major goal of workers in the field of expert systems in law can be summarized as follows: through the use of computer technology, to make scarcs, human legal knowledge and expertise more widely available and easily accessible. This paper is directly concerned with that goal. It is divided into two parts. The first discusses a three year interdisciplinary research project in expert systems in law that involved the Law Faculty and the Programming Research Group of the University of Oxford. Some of the jurisprudential aspects of the project are discussed and the prototype system that was developed is described. The second part of the paper addresses various considerations that are crucial for bringing expert systems in law out of the research laboratory and into the marketplace. And in this latter connection, the author's latest work - with Ernst Whinney - is introduced.
Comments on "Formal Specification of User Interfaces: A Comparison and Evaluation of Four Axiomatic Approaches"
Authors: Heather Alexander
Venue: IEEE Transactions on Software Engineering (1988)

A recent paper compared several axiomatic methods of formal specification, one of which was Z. As a result of a comparison made between Z and a similar, but executable, specification language called me too, Simon Finn pointed out that one of the Z specifications given in that paper was not correct. This correspondence describes the erroneous function and draws some conclusions about the process of formal specification.
General purpose router
Authors: R. J. Enbody, H. C. Du
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

Numerous solutions to the problem of detailed routing of wires on a chip have been proposed for two routing layers but few are general enough to also handle switchboxes, more than two layers, variable channel widths, or multiple-layer problems with stacked terminals (3-D routing) without extensive modifications. We propose a different routing approach that not only can solve the two layer problem but the other problems as well. The inherent parallelism of the approach lead to a coarse-grained parallel algorithm.
IDL as a data description language for a programming environment database
Authors: T. Didriksen, A. Lie, R. Conradi
Venue: ACM SIGPLAN Notices (1987)

A programming environment (PE) consists of a multitude of different tools. The cooperation between the tools is crucial to the overall functionality and performance of the PE.This paper argues that a common underlying database can facilitate tool cooperation, and that IDL can be used to describe the interface between the tools and the database management system (DBMS).
Objects in concurrent logic programming languages
Authors: Kenneth Kahn, Eric Dean Tribble, Mark S. Miller, Daniel G. Bobrow
Venue: ACM SIGPLAN Notices (1986)

Concurrent Prolog supports object-oriented programming with a clean semantics and additional programming constructs such as incomplete messages, unification, direct broadcasting, and concurrency synchronization [Shapiro 1983a]. While it provides excellent computational support, we claim it does not provide good notation for expressing the abstractions of object-oriented programming. We describe a preprocessor that remedies this problem. The resulting language, Vulcan, is then used as a behicle for exploring new variants of object-oriented programming which become possible in this framework.
Out of Flatland: towards 3-D visual programming
Authors: E. P. Glinert
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

The tantalizing potential of so-called visual and iconic programming remains largely unfulfilled because of several unresolved issues. After briefly enumerating the open problems, we review the BLOX methodology which we recently introduced in an effort to overcome some of them. BLOX has been presented in the literature to date in terms of multiple planar diagrams, which impart to the methodology what may be termed a 2.5-dimensional appearance. In the main part of this paper, we show that this is actually but a special, restricted case of the general methodology, which naturally encompasses three dimensions and more. We then argue that it is often unnatural for programmers to compose programs, to view data structures, and to perform other computer-related activities, in less than 3-D.
Modeling waves and surf
Authors: Darwyn R. Peachey
Venue: ACM SIGGRAPH Computer Graphics (1986)

Although modeling natural phenomena is recognized as one of the greatest challenges of computer graphics, relatively little time has been spent on modeling ocean waves. The model presented in this paper is suitable for the rendering and animation of waves approaching and breaking on a sloping beach. Waveforms consist of a phase function which correctly produces wave refraction and other depth effects, and a wave profile which changes according to wave steepness and water depth. Particle systems are used to model the spray produced by wave breaking and collisions with obstacles. A scanline algorithm for displaying the wave surface is presented, along with a method of integrating separately rendered particle systems with other surfaces. Hidden surface removal for both waves and particles is done using a novel variation of the A-buffer technique. Methods of implementing the model are presented and compared with previous rendering techniques.
Roots of the job turbulence in information systems (IS) development
Authors: Trevor Crossman
Venue: ACM SIGCPR Computer Personnel (1986)

The job titles given to application systems developers during the early 1970s seldom included anything other than SYSTEMS ANALYST and PROGRAMMER. By inspecting the appointments section of the computer press, it is noted that currently the job titles in use for people involved in application systems development include:Programmer business analystsystems designer chief programmerinformation analyst programmer analystsystems analyst knowledge engineerinformation centre consultantThis multiplicity of job titles is indicative of a job turbulence in the application software development industry.
A DAG clustering algorithm for design configurations
Authors: J. Banerjee
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

Design configurations of objects in engineering design applications, such as VLSI CAD, mechanical CAD and software design systems, are complex compositions of alternatives and historical versions of other objects. Design configurations can be modeled as nodes in a directed acyclic graph (DAG). Relationships between nodes are represented as edges. The design expansion problem, that of expanding a design object in terms of its components, is reduced to the problem of finding all descendants of a given node in the DAG. The converse problem of determining the objects that contain a given object is the same as finding all ancestors of a node. If the nodes of the DAG are stored randomly in secondary storage, then a page containing multiple nodes of the result set (nodes that are ancestors or descendants) may have to be accessed multiple times. We propose a clustering method that guarantees a single access to any such page, and zero access to any page that does not contain a node of the result set. Further, the intermediate storage necessary to prevent duplicate nodes from entering the result set is shown to be small. The sequence of nodes created by the clustering method satisfies certain properties that are continually maintained during the insertion of new nodes into the DAG. Thus, it is possible to dynamically add new design configurations by expanding the DAG through the insertion of new nodes.
On the context-dependency of selection criteria for expert systems projects
Authors: Helmut A O Krcmar
Venue: Proceedings of the conference on The 1987 ACM SIGBDP-SIGCPR Conference (1987)

The growing interest in the use of expert systems (ES) necessitates procedures to determine, when the use of ES-techniques is appropriate. The paper describes some recently suggested proposed criteria and reviews them in light of the use of ES in business. Here medium-size, embedded ES and not large, single purpose stand-alone ES dominate. Presently proposed criteria do not focus entirely on what is characteristic of ES in business. The paper then develops a classification for the situations in which ES-techniques can be used. Based upon this classification it recommends a situation based methodology to generate appropriate goals for the use of ES-techniques and suggests adapted criteria for evaluation.
Modeling and Analysis of Distributed Database Concurrency Control Algorithms Using an Extended Petri Net Formalism
Authors: M. T. Ozsu
Venue: IEEE Transactions on Software Engineering (1985)

Distributed database systems (DDBS) have received considerable attention in recent years. Being a relatively young research field, there are still many problems associated with DDB systems that need solution. Concurrency control is one of these problems and, probably, the most extensively studied. However, most of the work has concentrated on the development of alternative solutions and the field seems to be ready for some comparative analysis work. This paper reports the results of a performance evaluation study on distributed database concurrency control algorithms. The research has resulted in the development of a formalism, based on Petri nets, for modeling and analysis purposes. The formalism, called the Extended Place/Transition Nets (EPTN), is both descriptively powerful in that it can be used to model various algorithms precisely and succinctly and to communicate them in a clear manner, while at the same time lending itself to be used as a performance evaluation tool. An EPTN simulator is implemented and various algorithms are studied using this tool. This paper describes both the formalism and the performance results that have been obtained.
Network measurement of the VMTP request-response protocol in the V distributed system
Authors: david R. Cheriton, Carey L. Williamson
Venue: Proceedings of the 1987 ACM SIGMETRICS conference on Measurement and modeling of computer systems (1987)

Communication systems are undergoing a change in use from stream to request-response or transaction communication. In addition, communication systems are becoming increasingly based on high-speed, low delay, low error rate channels. These changes call for a new generation of networks, network interfaces, and transport protocol design. The performance characteristics of request-response protocols on these high-performance networks should guide the design of this new generation, yet relatively little data of this nature is available. In this paper, we present some preliminary measurements of network traffic for a cluster of workstations connected by Ethernet running the V distributed operating system. We claim that this system, with its use of a high-speed local area network and a request-response transport protocol tuned for RPC, provides some indication of the performance characteristics for systems in the next generation of communication systems. In particular, these measurements provide an indication of network traffic patterns, usage characteristics for request-response protocols, and the behavior of the request-response protocol itself. These measurements suggest in general that a key design focus must be on minimizing network latency and that a request-response protocol is well-suited for this goal. This focus has implications for protocol design and implementation as well as for the design of networks and network interfaces.