ppxscal/embedding_network huggingface dataset:
Optimization of expressions in Fortran
Authors: Vincent A. Busam, Donald E. Englund
Venue: Communications of the ACM (1969)

A method of optimizing the computation of arithmetic and indexing expressions of a Fortran program is presented. The method is based on a linear analysis of the definition points of the variables and the branching and DO loop structure of the program. The objectives of the processing are (1) to eliminate redundant calculations when references are made to common sub-expression values, (2) to remove invariant calculations from DO loops, (3) to efficiently compute subscripts containing DO iteration variables, and (4) to provide efficient index register usage. The method presented requires at least a three-pass compiler, the second of which is scanned backward. It has been used in the development of several FORTRAN compilers that have proved to produce excellent object code without significantly reducing the compilation speed.
CLP-the Cornell list processor
Authors: R. W. Conway, J. J. Delfausse, W. L. Maxwell, W. E. Walker
Venue: Communications of the ACM (1965)

Presented in this paper are the highlights of CLP, a teaching language which has been employed at Cornell University and was constructed to serve as a means of introducing simulation and other list-processing concepts. The various advantages of CLP are discussed and examples are given.
Distributed computation on graphs: shortest path algorithms
Authors: K. Mani Chandy, J. Misra
Venue: Communications of the ACM (1982)

We use the paradigm of diffusing computation, introduced by Dijkstra and Scholten, to solve a class of graph problems. We present a detailed solution to the problem of computing shortest paths from a single vertex to all other vertices, in the presence of negative cycles.
Lucid, a nonprocedural language with iteration
Authors: E. A. Ashcroft, W. W. Wadge
Venue: Communications of the ACM (1977)

Lucid is a formal system in which programs can be written and proofs of programs carried out. The proofs are particularly easy to follow and straightforward to produce because the statements in a Lucid program are simply axioms from which the proof proceeds by (almost) conventional logical reasoning, with the help of a few axioms and rules of inference for the special Lucid functions. As a programming language, Lucid is unconventional because, among other things, the order of statements is irrelevant and assignment statements are equations. Nevertheless, Lucid programs need not look much different than iterative programs in a conventional structured programming language using assignment and conditional statements and loops.
Porting a core CGI workflow system onto a WAS platform while being used and extended to support the enterprise
Authors: David J. Arnone
Venue: Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum) (2000)

This paper describes our experiences with evolving a system infrastructure while continuing to support new functionality. In it we explore the architecture, technology decisions made, and difficulties encountered in porting a core business application while it is being used and extended to support the enterprise.
Controlling the complexity of menu networks
Authors: James W. Brown
Venue: Communications of the ACM (1982)

A common approach to the design of user interfaces for computer systems is the menu selection technique. Each menu frame can be considered a node in an information/action network. The set of nodes and the permissible transitions between them (menu selections) form a directed graph which, in a system of substantial size, can be large and enormously complex. The solution to this problem of unmanageable complexity is the same for menu networks as for programs: the disciplined use of a set of well-defined one-in-one-out structures. This paper defines a set of such structures and offers some guidelines for their use.
Sequential formula translation
Authors: K. Samelson, F. L. Bauer
Venue: Communications of the ACM (1983)

The syntax of an algorithmic language such as ALGOL is conveniently described as a sequence of states indicated by an element called cellar. Transitions are controlled by admissible state-symbol pairs which may be represented by a transition matrix. This description of syntax furnishes at the same time an extremely simple rule for translating into machine programs statements in the algorithmic language. Sequential treatment, however, is not feasible in the case of certain optimizing processes such as recursive address calculation.
Sealed calls in Java packages
Authors: Ayal Zaks, Vitaly Feldman, Nava Aizikowitz
Venue: ACM SIGPLAN Notices (2000)

Determining the potential targets of virtual method invocations is essential for inter-procedural optimizations of object-oriented programs. It is generally hard to determine such targets accurately. The problem is especially difficult for dynamic languages such as Java, because additional targets of virtual calls may appear at runtime. Current mechanisms that enable inter-procedural optimizations for dynamic languages, repeatedly validate the optimizations at runtime. This paper addresses this predicament by proposing a novel technique for conservative devirtualization analysis, which applies to a significant number of virtual calls in Java programs. Unlike previous work, our technique requires neither whole program analysis nor runtime information, and incurs no runtime overhead. Our solution is very efficient to compute and is based on a newly introduced, seemingly unrelated security feature of Java file archives. On average, our analysis "seals" (safely devirtualizes) about 39% of the virtual calls (to non-final methods) that appear in SPECjvm98 programs, and about 29% of the calls invoked while executing these programs. In the runtime library rt.jar, about 10% of the packages contain a significant percentage (20--60%) of sealed calls, with a total average of about 8.5%. Most of these calls are also shown to be monomorphic, a fact which can be safely exploited by aggressive inter-procedural optimizations such as direct inlining. These results indicate that our technique has a strong potential for enhancing the analysis and optimization of Java programs.
Plant models faithful to botanical structure and development
Authors: Phillippe de Reffye, Claude Edelin, Jean Françon, Marc Jaeger, Claude Puech
Venue: Proceedings of the 15th annual conference on Computer graphics and interactive techniques (1988)

Some very impressive results have been obtained in the past few years in plants and trees image synthesis. Some algorithms are largely based on the irregularity and fuzziness of the objects, and use fractals, graftals or particle systems. Others focus on the branching pattern of the trees with emphasis on morphology. Our concern here is the faithfulness of the models to the botanical nature of trees and plants. We present a model which integrates botanical knowledge of the architecture of the trees: how they grow, how they occupy space, where and how leaves, flowers or fruits are located, etc. The very first interest of the model we propose is its great richness: the same procedural methods can produce "plants" as different as weeping willows, fir trees, cedar trees, frangipani trees, poplars, pine trees, wild cherry trees, herbs, etc. Another very important benefit one can derive from the model is the integration of time which enables viewing the aging of a tree (possibility to get different pictures of the same tree at different ages, accurate simulation of the death of leaves and branches for example). The ease to integrate physical parameters such as wind, the incidence of factors such as insects attacks, use of fertilizers, plantation density, and so on makes it a useful tool for agronomy or botany.
Audit considerations in distributed processing systems
Authors: James V. Hansen
Venue: Communications of the ACM (1983)

Applications of distributed processing networks are proliferating rapidly. It is expected that by the year 2000, distributed networks will be one of the most significant developments to evolve from the computer revolution. Distributed networks are unique in that they bring together concepts of communication, engineering, and computing. From an audit standpoint, the complexities involved in control design and testing are challenging. The auditor needs to be knowledgeable concerning these complexities in order to apply the proper audit tools, particularly since some of these tools are in need of improvement or development. This paper provides a summary of important areas of audit concern in distributed processing systems.
MMTP &mdash; multimedia multiplexing transport protocol
Authors: Luiz Magalhaes, Robin Kravets
Venue: Workshop on Data communication in Latin America and the Caribbean (2001)

Multimedia data has special requirements that are hard to be met on mobile hosts due to potentially low bandwidth and disruption due to host mobility. Such limited communication capabilities of mobile hosts can be offset by the simultaneous use of multiple link layer technologies. MMTP is a member of a suite of protocols that share the novel characteristic of aggregating bandwidth from multiple link-layer channels. The use of multiple channels to transport user data provides five key benefits: (1) a fatter pipe,(2) a fast feedback path, (3) the retransmission of selected lost messages, without delaying the playout of the data stream, (4) less sensitivity to minor bandwidth fluctuations on any one individual channel, and (5) smooth vertical handoffs for active data streams.
Optimal Preventive Replacement Under Minimal Repair And Random Repair Cost
Authors: V. Makis, X. Jiang, K. Cheng
Venue: Mathematics of Operations Research (2000)

A repair/replacement problem for a single unit system with random repair cost is considered. When the unit fails, the repair cost is observed and a decision is made whether to replace the unit or repair it. We assume that the repair is minimal, i.e., the unit is restored to its functioning condition just prior to failure, without changing its age. The unit can be preventively replaced at any time. The problem is formulated as a continuous time decision problem and reduced to an optimal stopping problem in discrete time by applying results from the thoery of jump processes. The existence of the optimal policy is proved and its structure is found using semimartingale decomposition and ?-maximization technique. It is shown that the optimal policy is an age replacement, repair-cost-limit policy, and the optimal preventive replacement time and the repair cost limits can be obtained by solving a system of ordinary differential equations with boundary conditions.
Testing Address Decoder Faults in Two-Port Memories: Fault Models, Tests, Consequences of Port Restrictions, and Test Strategy
Authors: Said Hamdioui, Ad J. Van De Goor
Venue: Journal of Electronic Testing: Theory and Applications (2000)

A two-port memory contains two duplicated sets of address decoders, which operate independently. Testing such memories requires the use of single-port tests as well as special two-port tests&semi; the test strategy determines which tests have to be used. Many two-port memories have ports which are read-only or write-only&semi; this impacts the possible tests for single-port and two-port memories, as well as the test strategy. In this paper the effects of interference and shorts between the address decoders of the two ports on the fault modeling are investigated. Fault models and their tests are introduced. In addition, the consequences of the port restrictions (read-only or write-only ports) on the fault models and tests are discussed, together with the test strategy.
Computers in the instructional process: directions for research and development
Authors: Karl L. Zinn
Venue: Communications of the ACM (1972)

A survey is given of computer applications to the instructional process which suggests how the computer professional can contribute to effective educational systems.
Stochastic resource prediction and admission for interactive sessions on multimedia servers
Authors: Matthias Friedrich, Silvia Hollfelder, Karl Aberer
Venue: Proceedings of the eighth ACM international conference on Multimedia (2000)

In highly interactive multimedia applications startup latency is significant, and may negatively impact performance and Quality of Service (QoS). To avoid this, our approach is to admit whole multimedia sessions instead of single media streams. For the prediction of the varying resource demands within a session, which are mainly correlated to user behavior, we model user behavior as Continuous Time Markov Chains (CTMCs). In this paper, we propose a mathematical analysis of the CTMC model. This allows to anticipate possible overload and in turn to plan an admission control policy. As a result, our approach provides better control on the tradeoff between server utilization and QoS. Simulation studies confirm this capability.
Model-Based Stereo-Tracking of Non-Polyhedral Objects for Automatic Disassembly Experiments
Authors: Martin Tonko, Hans-Hellmut Nagel
Venue: International Journal of Computer Vision (2000)

Automatic disassembly tasks in the engine compartment of a used car constitute a challenge for control of a disassembly robot by machine vision. Experience in exploratory experiments under such conditions forced us to abandon data-driven aggregation of edge elements into straight-line data segments in favor of a direct association of individual edge elements with model segments obtained from scene domain models of tools and workpieces. In addition, we had to switch from a conventional single camera hand-eye configuration to a movable stereo-configuration mounted on a separate &lsquo;observer&rsquo; robot. A generalisation of our model-based tracking includes the parameters, which characterize the relative pose of one camera with respect to the other one of the stereo-camera set-up, into the set of parameters to be re-estimated for each new stereo image pair. This results in a continuous re-calibration during a relative movement between stereo-camera set-up and tracked objects. Our approach had to be extended further in order to cope with non-polyhedral objects.The methodological improvements of machine vision in the course of this research are treated in detail. We discuss, moreover, the systematic trading-off of computational resources for increased robustness which is vital for visual control of automatic disassembly robots.
Toward machine independent microcode
Authors: Alec G. Stanculescu
Venue: ACM SIGMICRO Newsletter (1986)

This paper shows how both the microcode and the underlying hardware can be described together in a modular fashion in an Ada1-like environment. The description of the hardware uses libraries of component descriptions. The microcode description identifies the machine dependent portions, thus facilitating the portability of machine independent microcode to new architectures.
Merge sort algorithm [M1]
Authors: C. Bron
Venue: Communications of the ACM (1972)

Sorting by means of a two-way merge has a reputation of requiring a clerically complicated and cumbersome program. This ALGOL 60 procedure demonstrates that, using recursion, an elegant and efficient algorithm can be designed, the correctness of which is easily proved [2]. Sorting n objects gives rise to a maximum recursion depth of [log2(n - 1) + 2]. This procedure is particularly suitable for sorting when it is not desirable to move the n objects physically in store and the sorting criterion is not simple. In that case it is reasonable to take the number of compare operations as a measure for the speed of the algorithm. When n is an integral power of 2, this number will be comprised between (n &times; log2n)/2 when the objects are sorted to begin with and (n &times; log2n - n + 1) as an upper limit. When n is not an integral power of 2, the above formulas are approximate.
PM-based indexing for Chinese text retrieval
Authors: Du Lin, Zhang Yibo, Sun Le, Sun Yufang, Han Jie
Venue: Proceedings of the fifth international workshop on on Information retrieval with Asian languages (2000)

This paper focused on introducing a novel PM indexing schema for Chinese text retrieval. Different with the Western languages, there is no delimiter between words in Chinese texts. The indexing is based either on the characters or on the segmented words. For the word-based indexing, the out-of-vocabulary words, such as the proper nouns, or domain terminology, are usually mis-segmented due to the limited vocabulary coverage of the segmentation dictionaries and thus impair the query precision. In this paper, several indexing and ranking methods, including the novel PM-based ranking, were tested so as to compare their efficiency in dealing with the new words in Chinese text retrieval. The experiment has shown that the query precision of the PM + word method is 10% higher than the word indexing.
Implementing TCP/IP on a cray computer
Authors: David A. Borman
Venue: ACM SIGCOMM Computer Communication Review (1989)

Cray Research has been supplying TCP/IP networking code with its UNICOS operating system since February 1986. In the last three years, this code has been improved and optimized, yielding up to two orders of magnitude improvement in performance. This paper addresses some of the issues that were addressed to achieve these changes, and some of the other changes that have been made to fit the TCP/IP code into a Cray environment.
A study of smoothing methods for language models applied to Ad Hoc information retrieval
Authors: Chengxiang Zhai, John Lafferty
Venue: Proceedings of the 24th annual international ACM SIGIR conference on Research and development in information retrieval (2001)

Language modeling approaches to information retrieval are attractive and promising because they connect the problem of retrieval with that of language model estimation, which has been studied extensively in other application areas such as speech recognition. The basic idea of these approaches is to estimate a language model for each document, and then rank documents by the likelihood of the query according to the estimated language model. A core problem in language model estimation is smoothing, which adjusts the maximum likelihood estimator so as to correct the inaccuracy due to data sparseness. In this paper, we study the problem of language model smoothing and its influence on retrieval performance. We examine the sensitivity of retrieval performance to the smoothing parameters and compare several popular smoothing methods on different test collections.
The allocation of computer resources&mdash;is pricing the answer?
Authors: Norman R. Nielsen
Venue: Communications of the ACM (1970)

The widespread use of complex third generation computing systems has led to a much broader concern about the means by which the resources of these systems are allocated among the user community. One means that is suggested more and more frequently is a pricing procedure. In this paper the manner in which one would like to allocate computing resources is considered, and then the extent to which a pricing mechanism fits this mold is discussed. Inasmuch as pricing must serve as a rationing mechanism at times, consideration is given to the means by which prices can be adjusted flexibly in order to make a dynamic allocation of resources. Consideration is also given to the means by which users can be insulated from the harmful effects of frequent price fluctuations. Although the subject of pricing has been given a lot of attention recently, a number of misconceptions persist about its purpose and its operation. An attempt is made to clarify some of these misunderstandings and to highlight the advantages and disadvantages of pricing. Two illustrative pricing systems are also discussed in order to demonstrate the applicability of pricing in quite different environments.
Trace-driven modeling and analysis of CPU scheduling in a multiprogramming system
Authors: Stephen Sherman, Forest Baskett,  III, J. C. Browne
Venue: Communications of the ACM (1972)

Microscopic level job stream data obtained in a production environment by an event-driven software probe is used to drive a model of a multiprogramming computer system. The CPU scheduling algorithm of the model is systematically varied. This technique, called trace-driven modeling, provides an accurate replica of a production environment for the testing of variations in the system. At the same time alterations in scheduling methods can be easily carried out in a controlled way with cause and effects relationships being isolated. The scheduling methods tested included the best possible and worst possible methods, the traditional methods of multiprogramming theory, round-robin, first-come-first-served, etc., and dynamic predictors. The relative and absolute performances of these scheduling methods are given. It is concluded that a successful CPU scheduling method must be preemptive and must prevent a given job from holding the CPU for too long a period.
Axon: network virtual storage design
Authors: James P. G. Sterbenz, Gurudatta M. Parulkar
Venue: ACM SIGCOMM Computer Communication Review (1990)

This paper describes the design of network virtual storage (NVS) in the Axon host communication architecture for distributed applications. The Axon project is investigating an integrated design of host architecture, operating systems, and communication protocols to allow applications to utilise the high bandwidth provided by the next generation of communication networks. NVS extends segmented paged virtual storage management and address translation mechanisms to include segments located across an internetwork. This provides the ability to efficiently use the shared memory paradigm in non-local environments, as well as the support for a very high speed end-to-end data path between demanding applications such as scientific visualisation and imaging.
Teacher/student authored CAI using the NEWBASIC system
Authors: T. A. Dwyer
Venue: Communications of the ACM (1972)

The pedagogical advantages of a general purpose interactive system called NEWBASIC/CATALYST are discussed. NEWBASIC/CATALYST incorporates an advanced implementation of BASIC, system-level interactive features, and a general capability for extension through user oriented function attachment. Application of this last feature to provide a flexible CAI scan capability is illustrated. An example of interaction at the system level shows how students can mix the advantages of independent or &ldquo;solo&rdquo; mode computing with those of guided or &ldquo;dual&rdquo; mode interaction. Preliminary experience with the system in an urban secondary school setting is discussed.