ppxscal/embedding_network huggingface dataset:
Continuous Models for Communication Density Constraints on Multiprocessor Performance
Authors: Lance A. Glasser, Charles A. Zukowski
Venue: IEEE Transactions on Computers (1988)

Fundamental limits on the communication capabilities of massively parallel multiprocessors are investigated. It is shown that in the limit of machines of infinite extent in which the number of processors per unit volume is constant and in which the communication bandwidth from each processor to its neighbors depends only on their separation distance, interprocessor communication must fall off faster than the fourth power of distance. For machines of finite size, communication energy density is used as a metric to compare various machine sizes and packaging densities. For instance, for machines with spherical symmetry and uniform communication requirements, the peak density depends on the number of processors to the 4/3 power and the number of processors per unit volume to the 2/3 power.
A Note on Concurrent Programming Control
Authors: C. M. Davidson
Venue: IEEE Transactions on Software Engineering (1987)

An extension to Dijkstra's solution [1], of the problem of limiting access by multiple processors to a single resource, is described. The solution has similar delay characteristics to Ferguson's solution [3] while using less complex data structures. Some claims in [3] are examined.
An APL idiom inventory
Authors: Howard A. Peell
Venue: ACM SIGAPL APL Quote Quad (1987)

An instrument is proposed for rating APL idioms. Scales include: Length &square;IO Independence Usefulness Efficiency Generality Clarity Simplicity Memorability Interestingness Elegance This APL Idiom Inventory was pilot-tested by APL programmers and APL instructors who rated a dozen selected APL idioms. The results indicate which idioms they think are &ldquo;useful&rdquo;, &ldquo;easy to learn&rdquo;, &ldquo;hard to remember&rdquo;, &ldquo;interesting&rdquo;, etc. Implications for teaching and related issues are also discussed.
Software Science Applied to APL
Authors: A. H. Konstam, D. E. Wood
Venue: IEEE Transactions on Software Engineering (1985)

Previous attempts to apply Halstead's software metrics to APL have led to inconsistent and counter-intuitive results. This work is a further investigation into the application of software metrics to APL to try to resolve some of the inconsistency. The effect of variations in the counting rules on values calculated for the software metrics was studied. These rules were used to analyze a set of programs from a previous study. In addition, a large number of APL programs from a university environment were analyzed. Evidence is presented that verifies that APL has a higher language level than any other common programming language previously studied. Counting monadic and dyadic uses of the same APL symbol as an instance of a different operator was found to have a significant effect on the language level calculated for APL. However, decomposing derived APL functions into separate operators did not seem to have a significant effect on language level.
A Controlled Expeniment on the Impact of Software Structure on Maintainability
Authors: H. D. Rombach
Venue: IEEE Transactions on Software Engineering (1987)

This paper describes a study on the impact of software structure on maintainability aspects such as comprehensibility, locality, modifiability, and reusability in a distributed system environment. The study was part of a project at the University of Kaiserslautern, West Germany, to design and implement LADY, a LAnguage for Distributed systems. The study addressed the impact of software structure from two perspectives. The language designer's perspective was to evaluate the general impact of the set of structural concepts chosen for LADY on the maintainability of software systems implemented in LADY. The language user's perspective was to derive structural criteria (metrics), measurable from LADY systems, that allow the explanation or prediction of the software maintenance behavior. A controlled maintenance experiment was conducted involving twelve medium-size distributed software systems; six of these systems were implemented in LADY, the other six systems in an extended version of sequential Pascal. The benefits of the structural LADY concepts were judged based on a comparison of the average maintenance behavior of the LADY systems and the Pascal systems; the maintenance metrics were derived by analyzing the interdependence between structure and maintenance behavior of each individual LADY system.
To see ourselves as others see us: evaluating software documentation
Authors: Joan Lee
Venue: ACM SIGDOC Asterisk Journal of Computer Documentation (1987)

Documentation is the window to a system. If it is clear, complete, correct and easy to use, it provides a good view of what is going on inside. In fact, the best documentation is a sliding glass door that gives not just a view, but easy access.
Micro labs and laser printing: scenarios and solutions
Authors: Anne Webster, Donna Tatro, Cindy Sanford, Linda Downing, Lisa Covi
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

With the advent of laser printers like the HP LaserJet and the Apple LaserWriter, very high quality output using laser technology is readily accessible to microcomputer users. People trying this method of printing quickly decide that it is the method of choice for most applications. However, the popularity of laser printers in public sites can, if unregulated, quickly lead to overuse of what is a relatively high-cost method of printing. This results in excess strain on both the equipment and the operating budget. Panel members from various universities and colleges will relate their experience with laser printing in academic microcomputing facilities. Discussion questions will include: Do they offer free laser printing? If so, do they restrict use to final copies and how do they enforce this restriction? Are laser printers attached to stand-alone print stations or are they accessible from a network? Are there other letter quality printers in the same lab? How much do they spend on maintenance and operations of the laser printer? If they charge for the use of microcomputing facilities, do they assess a lab-usage fee, or change for printing only? Do they change for all letter-quality printers or only for laser printing? Do they charge by means of a vend-a-card box attached to the printer, or do they accept cash per page? How much they charge? What problems have they had, either despite charging, because of it, or because they don't charge? The discussion of and answers to these questions will be invaluable to those developing new microcomputing facilities and should be of interest to those running existing labs as well.
Flow-control machines: the structured execution architecture (SXA)
Authors: J. M. Terry
Venue: ACM SIGARCH Computer Architecture News (1987)

Can the looping, branching, sequencing, and modularity of structured programming be implemented effectively by single instructions at the machine-instruction level? A proposal for a class of machines to do so is presented. Flow control verbs such as REPEAT and IF/THEN/ELSE are represented in large-format instructions containing pointers to conditional controls and other instructions. An active-instruction stack is used to nest flow structures. Independent buses for logically distinct memory spaces enhance performance.
Experience with evolutionary prototyping in a large software project
Authors: S Hekmatpour
Venue: ACM SIGSOFT Software Engineering Notes (1987)

Rapid prototyping has created much interest in recent years and is gradually finding a foothold in software engineering. There is still, however, some confusion and disagreement about its potentials and role in software development. This paper first takes a broad look at the approaches to prototyping and then describes a large software project which employed an evolutionary prototyping approach. It concludes that, in contrary to some previous suggestions, evolutionary prototyping in not limited to small scale software and can cope with large projects as well.
The overhead of locking (and commit) protocols in distributed databases
Authors: Ouri Wolfson
Venue: ACM Transactions on Database Systems (TODS) (1987)

The main purpose of a locking protocol is to ensure correct interleaving of actions executed by concurrent transactions. The locking protocol consists of a set of rules dictating how accessed entities should be locked and unlocked. As a result of obeying the rules, transactions in a distributed database incur an overhead. We propose three measures of evaluating this overhead, each most suitable to a different type of underlying communication network. Then, using a graph theoretic model, we analyze and compare three protocols according to each measure: two-phase locking, two-phase locking with a fixed order imposed on the database entities (ensuring deadlock freedom), and the tree protocol. In practice, a transaction also executes the two-phase commit protocol in order to guarantee atomicity. Therefore, the combined overhead of each locking protocol and the two-phase commit protocol is also determined.
Application of term rewriting techniques to hardware design verification
Authors: M. S. Chandrasekhar, J. P. Privitera, K. W. Conradt
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

Term rewriting systems have been used in automatic theorem proving. A canonical term rewriting system for Boolean algebra recently discovered, and a refutation technique using Knuth-Bendix completion procedure can be used to prove Boolean formulas arising in logic verification. In this paper a design verification system based on term rewriting techniques is presented. It can prove total correctness of combinational circuits without exhaustive simulation. A prototype system implemented on a Motorola 68010 based workstation shows that the system performs favorably compared to a simulator.
Analysis of a New Retransmission Control Algorithm for Slotted CSMA/CD LAN's
Authors: T. K. Apostolopoulos, E. D. Sykas, E. N. Protonotarios
Venue: IEEE Transactions on Computers (1987)

Algorithms for the control of the retransmission procedure in random multiple access schemes are needed to ensure stability of the system operation under high traffic conditions. Optimal retransmission control policies cannot be applied in practice since they are based on global information about the system state. In the case of the most well-known implementation of the CSMA/CD protocol, ANSI/IEEE Std 802.3-1985, a heuristic approach, known as the "truncated binary exponential backoff" algorithm, is employed. Such schemes are not amenable to theoretical analysis because of the state space. explosion problem of the underlying Markovian model. In this paper, a new retransmission control algorithm, suitable for CSMA/CD protocols, based on information acquired by monitoring the channel transmissions is proposed. A Markovian model is presented and the algorithm is analyzed in detail. The performance of the algorithm is evaluated, several numerical and simulation results are presented and comparisons to other protocols are made.
A case study in computational science
Authors: Joseph S. Fulda
Venue: ACM SIGSIM Simulation Digest (1988)

The purpose of this paper is to present the close relationship between mathematical modeling and computer simulation as a paradigm of computational science, by reviewing a case study in mathematical biology.
Proving systolic systems correct
Authors: Matthew Hennessy
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1986)

A language for describing communicating systems is described. It is sufficiently expressive to describe both the desired behavior of systems, their specifications, and their actual implementations in terms of simpler components. We say I satisfies S if 1 is a correct implementation of the specification S. We briefly discuss a semantic treatment of this notion of satisfaction, but the main emphasis of the paper is on a proof technique for proving statements of the form I satisfies S, based on syntactic transformations and induction. Two examples are given, both systolic systems from the literature.
Remarks on implementation of O(n1/2τ) assignment algorithms
Authors: Iain S. Duff, Torbjörn Wiberg
Venue: ACM Transactions on Mathematical Software (TOMS) (1988)

We examine an implementation and a number of modifications of a 1973 algorithm of Hopcroft and Karp for permuting a sparse matrix so that there are no zeros on the diagonal. We describe our implementation of the original Hopcroft and Karp algorithm and compare this with modifications which we prove to have the same O(n1/2&tgr;) behavior, where the matrix is of order n with &tgr; entries. We compare the best of these with an efficient implementation of an algorithm whose worst-case behavior is O(n&tgr;).
Replicate each, anyone?
Authors: J. Philip Benkard
Venue: ACM SIGAPL APL Quote Quad (1987)

In both the IPSA and APL2/NARS extensions of APL, the SLASH symbol always represents an operator. Some new users of APL2, having been taught in the past that SLASH is an ambiguous symbol which is a dyadic function when it immediately follows data, find that the result when SLASH occurs between data and another operator is incompatible with that interpretation. The situation did not arise in APL1 because derived functions could not be operands. The classification of SLASH as an operator can be traced to the description given in the book. A Programming Language, from which APL ultimately derives. It was done so that the closely related MASK operation could be specified with the same symbol. In this paper the syntactic differences between dyadic functions and aonadic operators with data operands are explicated using the APL2 concept of syntactic binding. Two straightforward language extensions are considered based on the notions of a depth property, which APL2 shares with STSC's NARS, and pairwise evaluation, which derives from syntactic binding. Together they allow either dyadic functions or monadic operators with data operands to be executed in three structural contexts, which, in the cases of REPLICATE and EXPAND, can be loosely described as the same mask for each of several arrays, a separate mask for each array, and the same array for each of several masks.
A survey of three dialogue models
Authors: Mark Green
Venue: ACM Transactions on Graphics (TOG) (1986)

A dialogue model is an abstract model that is used to describe the structure of the dialogue between a user and an interactive computer system. Dialogue models form the basis of the notations that are used in user interface management systems (UIMS). In this paper three classes of dialogue models are investigated. These classes are transition networks, grammars, and events. Formal definitions of all three models are presented, along with algorithms for converting the notations into an executable form. It is shown that the event model has the greatest descriptive power. Efficient algorithms for converting from the transition diagram and grammar models to the event model are presented. The implications of these results for the design and implementation of UIMSs are also discussed.
Improving the Performance of an Optimistic Concurrency Control Algorithm Through Timestamps and Versions
Authors: Michael J. Carey
Venue: IEEE Transactions on Software Engineering (1987)

This correspondence describes and analyzes two schemes for improving the performance of serial validation, an optimistic concurrency control algorithm proposed by Kutng and Robinson. It is shown that timestamp-based techniques can be used to implement serial validation, yielding an equivalent algorithm with a much lower validation cost. A multiple version variant of serial validation is then presented, and simulation results indicate that multiversion serial validation has significant performance advantages over the single version algorithm.
Efficiently updating materialized views
Authors: Jose A. Blakeley, Per-Ake Larson, Frank Wm Tompa
Venue: ACM SIGMOD Record (1986)

Query processing can be sped up by keeping frequently accessed users' views materialized. However, the need to access base relations in response to queries can be avoided only if the materialized view is adequately maintained. We propose a method in which all database updates to base relations are first filtered to remove from consideration those that cannot possibly affect the view. The conditions given for the detection of updates of this type, called irrelevant updates, are necessary and sufficient and are independent of the database state. For the remaining database updates, a differential algorithm can be applied to re-evaluate the view expression. The algorithm proposed exploits the knowledge provided by both the view definition expression and the database update operations.
Interprocedural optimization: eliminating unnecessary recompilation
Authors: Keith D. Cooper, Ken Kennedy, Linda Torczon
Venue: ACM SIGPLAN Notices (1986)

While efficient new algorithms for interprocedural data flow analysis have made these techniques practical for use in production compilation systems, a new problem has arisen: collecting and using interprocedural information in a compiler introduces subtle dependences among the procedures of a program. If the compiler depends on interprocedural information to optimize a given module, a subsequent editing change to another module in the program may change the interprocedural information and necessitate recompilation. To avoid having to recompile every module in a program in response to a single editing change to one module, we must develop techniques to more precisely determine which compilations have actually been invalidated by a change to the program's source. This paper presents a general recompilation test to determine which procedures must be compiled in response to a series of editing changes. Three different implementation strategies, which demonstrate the fundamental tradeoff between the cost of analysis and the precision of the resulting test, are also discussed.
The mutual exclusion problem: partII&mdash;statement and solutions
Authors: Leslie Lamport
Venue: Journal of the ACM (JACM) (1986)

The theory developed in Part I is used to state the mutual exclusion problem and several additional fairness and failure-tolerance requirements. Four &ldquo;distributed&rdquo; N-process solutions are given, ranging from a solution requiring only one communication bit per process that permits individual starvation, to one requiring about N! communication bits per process that satisfies every reasonable fairness and failure-tolerance requirement that we can conceive of.
WISQ: a restartable architecture using queues
Authors: A. R. Pleszkun, J. R. Goodman, W. C. Hsu, R. T. Joersz, G. Bier, P. Woest, P. B. Schechter
Venue: Proceedings of the 14th annual international symposium on Computer architecture (1987)

In this paper, the WISQ architecture is described. This architecture is designed to achieve high performance by exploiting new compiler technology and using a highly segmented pipeline. By having a highly segmented pipeline, a very-high-speed clock can be used. Since a highly segmented pipeline will require relatively long pipelines, a way must be provided to minimize the effects of pipeline bubbles that are formed due to data and control dependencies. It is also important to provide a way of supporting precise interrupts. These goals are met, in part, by providing a reorder buffer to help restore the machine to a precise state. The architecture then makes the pipelining visible to the programmer/compiler by making the reorder buffer accessible and by explicitly providing that issued instructions cannot be affected by immediately preceding ones. Compiler techniques have been identified that can take advantage of the reorder buffer and permit a sustained execution rate approaching or exceeding one per clock. These techniques include using trace scheduling and providing a relatively easy way to &ldquo;undo&rdquo; instructions if the predicted branch path is not taken. We have also studied ways to further reduce the effects of branches by not having them executed in the execution unit. In particular, branches are detected and resolved in the instruction fetch unit. Using this approach, the execution unit is sent a stream of instructions (without branches) that are guaranteed to execute.
Towards a universal directory service
Authors: Keith A Lantz, Judy L Edighoffer, Bruce L Hitson
Venue: ACM SIGOPS Operating Systems Review (1986)

Directory services and name servers have been discussed and implemented for a number of distributed systems. Most have been tightly interwoven with the particular distributed systems of which they are a part: a few are more general in nature. In this paper we survey recent work in this area and discuss the advantages and disadvantages of a number of approaches. From this, we are able to extract some fundamental requirements of a naming system capable of handling a wide variety of object types in a heterogeneous environment. We outline how these requirements can be met in a universal directory service.
Markov chains and computer aided geometric design: Part II&mdash;examples and subdivision matrices
Authors: Ronald N. Goldman
Venue: ACM Transactions on Graphics (TOG) (1985)

In Part I, Markov chains were shown to be associated with solutions to several standard problems in computer-aided geometric design. Constraints on these Markov chains were also derived. Examples are given here of Markov chains that either satisfy some of these constraints or solve one of these problems. Subdivision matrices are also studied in special detail.
Performance and Reliability Analysis Using Directed Acyclic Graphs
Authors: Robin A. Sahner, Kishor S. Trivedi
Venue: IEEE Transactions on Software Engineering (1987)

A graph-based modeling technique has been developed for the stochastic analysis of systems containing concurrency. The basis of the technique is the use of directed acyclic graphs. These graphs represent event-precedence networks where activities may occur serially, probabilistically, or concurrently. When a set of activities occurs concurrently, the condition for the set of activities to complete is that a specified number of the activities must complete. This includes the special cases that one or all of the activities must complete. The cumulative distribution function associated with an activity is assumed to have exponential polynomial form. Further generality is obtained by allowing these distributions to have a mass at the origin and/or at infinity. The distribution function for the time taken to complete the entire graph is computed symbolically in the time parameter t. The technique allows two or more graphs to be combined hierarchically. Applications of the technique to the evaluation of concurrent program execution time and to the reliability analysis of fault-tolerant systems are discussed.