ppxscal/embedding_network huggingface dataset:
Integer Multiplication with Overflow Detection or Saturation
Authors: Michael J. Schulte, Pablo I. Balzola, Ahmet Akkas, Robert W. Brocato
Venue: IEEE Transactions on Computers (2000)

High-speed multiplication is frequently used in general-purpose and application-specific computer systems. These systems often support integer multiplication, where two $n$-bit integers are multiplied to produce a $2n$-bit product. To prevent growth in word length, processors typically return the $n$ least significant bits of the product and a flag that indicates whether or not overflow has occurred. Alternatively, some processors saturate results that overflow to the most positive or most negative representable number. This paper presents efficient methods for performing unsigned or two's complement integer multiplication with overflow detection or saturation. These methods have significantly less area and delay than conventional methods for integer multiplication with overflow detection or saturation.
Another spelling correction program
Authors: Peter Robinson, Dave Singer
Venue: Communications of the ACM (1981)

We read James L. Peterson's article, &ldquo;Computer Programs for Detecting and Correcting Spelling Errors&rdquo; with great interest. We too have recently developed a spelling correction program as part of a tutorial on programming techniques and style. Our basic modesty inhibited us from publishing the details&mdash;there was, after all, little research involved in making the program. However, on reflection, there are several features in our design that we feel merit wider circulation.
Constraint databases: a tutorial introduction
Authors: Jan Van den Bussche
Venue: ACM SIGMOD Record (2000)

We give a tutorial introduction to the basic definitions surrounding the idea of constraint databases, and survey and indicate some of the achieved research results on this subject. This paper is not written as a scholarly piece, nor as polished course notes, but rather as something like the transcript of an invited talk I gave at a meeting bringing together researchers from finite model theory, database theory, and computer-aided verification, which was held at Schloss Dagstuhl in October 1999.Very recently the first book on the subject appeared [20]. It covers the state of the art in constraint databases up to, say, mid 1999 [20]. You should see this paper merely as an appetizer for the book. I will also not try to be complete in my bibliographical references. Again, see the book for that.
A personal view of APL
Authors: K. E. Iverson
Venue: ACM SIGAPL APL Quote Quad (2000)

This essay portrays a personal view of the development of several influential dialects of APL: APL2 and J. The discussion traces the evolution of the treatment of arrays, functions, and operators, as well as function definition, grammar, terminology, and spelling.
Morphable Cache Architectures: Potential Benefits
Authors: I. Kadayif, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, J. Ramanujam
Venue: ACM SIGPLAN Notices (2001)

Computer architects have tried to mitigate the consequences of high memory latencies using a variety techniques. An example of these techniques is multi-level caches to counteract the latency that results from having a memory that is slower than the processor. Recent research has demonstrated that compiler optimizations that modify data layouts and restructure computation can be successful in improving memory system performance. However, in many cases, working with a fixed cache configuration prevents the application/compiler from obtaining the maximum performance. In addition, prompted by demands in portability, long battery life, and low-cost packaging, the computer industry has started viewing energy and power as decisive design factors, along with performance and cost. This makes the job of the compiler/user even more difficult as one needs to strike a balance between low power/energy consumption and high performance. Consequently, adapting the code to the underlying cache/memory hierarchy is becoming more and more difficult. In this paper, we take an alternate approach and attempt to adapt the cache architecture to the software needs. We focus on array-dominated applications and measure the potential benefits that could be gained from a morphable (reconfigurable) cache architecture. Our results show that not only different applications work best with different cache configurations, but also that different loop nests in a given application demand different configurations. Our results also indicate that the most suitable cache configuration for a given application or a single nest depends strongly on the objective function being optimized. For example, minimizing cache memory energy requires a different cache configuration for each nest than an objective which tries to minimize the overall memory system energy. Based on our experiments, we conclude that fine-grain (loop nest-level) cache configuration management is an important step for a solution to the challenging architecture/software tradeoffs awaiting system designers in the future.
Soft kinetic data structures
Authors: Artur Czumaj, Christian Sohler
Venue: Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms (2001)

We introduce the framework of soft kinetic data structures (SKDS). A soft kinetic data structure is an approximate data structure that can be used to answer queries on a set of moving objects with unpredictable motion. We analyze the quality of a soft kinetic data structure by giving a competitive analysis with respect to the dynamics of the system. We illustrate our approach by presenting soft kinetic data structures for maintaining classical data structures: sorted arrays, balanced search trees, heaps, and range trees. We also describe soft kinetic data structures for maintaining the Euclidean minimum spanning trees.
FranTk - a declarative GUI language for Haskell
Authors: Meurig Sage
Venue: Proceedings of the fifth ACM SIGPLAN international conference on Functional programming (2000)

FranTk is a new high level library for programming Graphical User Interfaces (GUIs) in Haskell. It is based on Fran (Functional Reactive Animation), and uses the notions of Behaviors and Events to structure code. Behaviors are time-varying, reactive values. They can be used to represent the state of an application. Events are streams of values that occur at discrete points in time. They can be used, for instance, to represent user input. FranTk allows user interfaces to be structured in a more declarative manner than has been possible with previous functional GUI libraries. We demonstrate, through a series of examples, how this is achieved, and why it is important. These examples are elements of a prototype, Air Traffic Control simulator. FranTk uses a binding to the popular Tcl/Tk toolkit to provide a powerful set of platform independent set of widgets. It has been released as a Haskell library that runs under Hugs and GHC.
Architectural and compiler support for effective instruction prefetching: a cooperative approach
Venue: ACM Transactions on Computer Systems (TOCS) (2001)

Instruction cache miss latency is becoming an increasingly important performance bottleneck, especially for commercial applications. Although instruction prefetching is an attractive technique for tolerating this latency, we find that existing prefetching schemes are insufficient for modern superscalar processors, since they fail to issue prefetches early enough (particularly for nonsequential accesses). To overcome these limitations, we propose a new instruction prefetching technique whereby the hardware and software cooperate to hide the latency as follows. The hardware performs aggressive sequential prefetching combined with a novel prefetch filtering mechanism to allow it to get far ahead without polluting the cache. To hide the latency of nonsequential accesses, we propose and implement a novel compiler algorithm which automatically inserts instruction-prefetch the targets of control transfers far enough in advance. Our experimental results demonstrate that this new approach hides 50% or more tof the latecy remaining with the best previous techniques, while at the same time reduces the number of useless prefetches by a factor of six. We find that both the prefetch filtering and compiler-inserted prefetching components of our design are essential and complementary, and that the compiler can limit the code expansion to only 9% on average. In addition, we show that the performance of our technique can be further increased by using profiling information to help reduce cache conflicts and unnecessary prefetches. From an architectural perspective, these performance advantages are sustained over a range of common miss latencies and bandwidth. Finally, our technique is cost effective as well, since it delivers performance comparable to (or even better than) that of larger caches, but requires a much smaller hardware budget.
Automatic error analysis for determining precision
Authors: Paul L. Richman
Venue: Communications of the ACM (1972)

The problem considered is that of evaluating a rational expression to within any desired tolerance on a computer which performs variable-precision floating-point arithmetic operations. For example, the expression might be &pgr;/(&pgr; + 1/2 - e) &radic;2), which is rational in the data &pgr;, e, &radic;2. An automatic error analysis technique is given for determining, directly from the results of a trial low-precision interval arithmetic calculation, just how much precision and data accuracy are required to achieve a desired final accuracy. The techniques given generalize easily to the evaluation of many nonrational expressions.
A note on reflection-free permutation enumeration
Authors: Mohit Kumar Roy
Venue: Communications of the ACM (1977)

Earlier it was shown by the present author [1] that among the classical algorithms for the generation of permutation sequences, only the Trotter-Johnson algorithm [2, 3] has the property that the reflection of any permutation in the first half of the enumeration appears only in the second half. Two permutations are called reflections of each other if one read from left to right is the same as the other read from right to left. Lenstra [4] has discussed the usefulness of this property in certain applications. Recently Ives [5] has produced a series of four permutation algorithms of which two (algorithms c and d) possess the said property.
Microsystems testing: an approach and open problems
Authors: M. Lubaszewski, E. F. Cota, B. Courtois
Venue: Proceedings of the conference on Design, automation and test in Europe (1998)

In this work a Computer-Aided Testing (CAT) tool is proposed that brings a systematic way of dealing with testing problems in emerging microsystems. Experiments with case-studies illustrate the techniques and tools embedded in the CAT environment. Some of the many open problems that shall be addressed in the near future as an extension to this work are also discussed.
A Dynamic Programming Approach to Optimal Integrated Code Generation
Authors: Christoph Keßler, Andrzej Bednarski
Venue: Proceedings of the ACM SIGPLAN workshop on Languages, compilers and tools for embedded systems (2001)

Phase-decoupled methods for code generation are the state of the art in compilers for standard processors but generally produce code of poor quality for irregular target architectures such as many DSPs. In that case, the generation of efficient code requires the simultaneous solution of the main subproblems instruction selection, instruction scheduling, and register allocation, as an integrated optimization problem. In contrast to compilers for standard processors, code generation for DSPs can afford to spend much higher resources in time and space on optimizations. Today, most approaches to optimal code generation are based on integer linear programming, but these are either not integrated or not able to produce optimal solutions except for very small problem instances. We report on research in progress on a novel method for fully integrated code generation that is based on dynamic programming. In particular, we introduce the concept of a time profile. We focus on the basic block level where the data dependences among the instructions form a DAG. Our algorithm aims at combining time-optimal scheduling with optimal instruction selection, given a limited number of general-purpose registers. An extension for irregular register sets, spilling of register contents, and intricate structural constraints on code compaction based on register usage is currently under development, as well as a generalization for global code generation. A prototype implementation is operational, and we present first experimental results that show that our algorithm is practical also for medium-size problem instances. Our implementation is intended to become the core of a future, retargetable code generation system.
Photon-beam radiation therapy and Monte Carlo
Authors: Christine L. Hartmann Siantar, Dewey Garrett
Venue: Computing in Science and Engineering (2000)

Because small variations in radiation doses can cause significant changes in clinical outcome, calculation accuracy is a major factor in the success or failure of a cancer treatment course. This article describes how stochastic, Monte Carlo radiation transport methods can predict radiation doses for cancer patients.
A secure multicast protocol for the internet&apos;s multicast backbone
Authors: Wen-Her Yang, Kai-Wei Fan, Shiuh-Pyng Shieh
Venue: International Journal of Network Management (2001)

In this paper we propose a secure and efficient multicast protocol where the key management is distributed to local groups. The proposed protocol takes advantage of MBone topology to maintain scalability and efficiency at the same time. Copyright &copy; 2001 John Wiley Sons, Ltd.
The multilingual terminology project
Authors: J. E. Holmstrom
Venue: Communications of the ACM (1960)

One of the most important and useful of the tasks which an international organization concerned with some specialized branch of pure or applied science is particularly well able to perform is the improvement of the technical terminology appertaining to that.
Control of a Robotic Manipulator Using Artificial Neural Networks with On-line Adaptation
Authors: Roselito A. Teixeira, Antônio De P. Braga, Benjamim R. De Menezes
Venue: Neural Processing Letters (2000)

An adaptive neural system for positioning control of a PUMA 560 manipulator is presented". The computed torque method was implemented with a Multi-Layer Perceptron with on-line learning. The control scheme is implemented into two phases. The first one is the off-line phase in which the neural network is trained with previously known control actions. The second one is the on-line phase in which the neural network parameters are adapted while controlling the manipulator. The control system is able to respond to changes in the manipulator model and to load disturbances. As will be shown, control system performance is improved with the on-line learning strategy presented in this paper.
Character manipulation in 7090 FORTRAN
Authors: D. D. Smith
Venue: Communications of the ACM (1963)

The IBM 7090 FORTRAN II language requires that a programmer desiring toa mnipulate characters or strings of characters either assign each character to a separate 7090 word or write special subroutines for handling packed words containing 6 characters. The one-character-per-word approach is superior in most cases due to the much smaller machine time it requires. One pays for this speed advantage in additional core requirements, however, plus more complex logic requirements in some cases. Applications exist where considerations of storage and logic make a packed-word approach competitive. One such application, and the one which led to the work described here, was the desire to manipulate information sent via telephone lines by a remote 7090 user to and from the central computer. The results of this work are not completed, but the methods used for manipulating character strings were felt to be of sufficient interest to warrant a report. The following paragraphs describe the approach taken.
Japanese probabilistic information retrieval using location and category information
Authors: Masaki Murata, Qing Ma, Kiyotaka Uchimoto, Hiromi Ozaku, Masao Utiyama, Hitoshi Isahara
Venue: Proceedings of the fifth international workshop on on Information retrieval with Asian languages (2000)

Robertson's 2-poisson information retrieve model does not use location and category information. We constructed a framework using location and category information in a 2-poisson model. We submitted two systems based on this framework to the IREX contest, Japanese language information retrieval contest held in Japan in 1999. For precision in the A-judgement measure they scored 0.4926 and 0.4827, the highest values among the 15 teams and 22 systems that participated in the IREX contest. We describe our systems and the comparative experiments done when various parameters were changed. These experiments confirmed the effectiveness of using location and category information.
Distributed admission control, scheduling, and routing with stale information
Authors: Ashish Goel, Adam Meyerson, Serge Plotkin
Venue: Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms (2001)

We study the problem of distributed online admission control and routing of permanent virtual circuits in a capacitated network. We assume that we have k distinct decision makers, each of which is responsible for gathering its own information about the state of the network. Through simulation, we demonstrate that an exponential based routing scheme will perform well in a distributed model provided granularity is sufficiently high. In order to ground these results theoretically, we prove that exponential-based schemes attain best-possible competitive ratios (same as for the centralized case) provided each edge can accommodate at least &OHgr;(k log n) requests. A matching lower-bound shows that no deterministic algorithm can attain best-possible competitive ratios without requiring the same level of granularity. In the randomized case, we present a modified exponential-based approach which obtains best-possible competitive ratios provided the granularity is at least &OHgr;(k + log n). Our results may be extended to the case where different requests have different profits, and where requests are allowed to be temporary. They also apply to admission control and scheduling for unrelated machines.
Terrain coverage with ant robots: a simulation study
Authors: Sven Koenig, Yaxin Liu
Venue: Proceedings of the fifth international conference on Autonomous agents (2001)

In this paper, we study a simple means for coordinating teams of simple agents. In particular, we study ant robots and how they can cover terrain once or repeatedly by leaving markings in the terrain, similar to what ants do. These markings can be sensed by all robots and allow them to cover terrain even if they do not communicate with each other except via the markings, do not have any kind of memory, do not know the terrain, cannot maintain maps of the terrain, nor plan complete paths. The robots do not even need to be localized, which completely eliminates solving difficult and time-consuming localization problems. In this paper, we use real-time heuristic search methods to implement ant robots and present a simulation study with several real-time heuristic search methods to study their properties for terrain coverage. Our experiments show that all of the real-time heuristic search methods robustly cover terrain even if the robots are moved without realizing this, some robots fail, and some markings get destroyed. These results demonstrate that terrain coverage with real-time heuristic search methods is an interesting alternative to more conventional terrain coverage methods.
A modeling approach to include mechanical microsystem components into the system simulation
Authors: R. Neul, U. Becker, G. Lorenz, P. Schwarz, J. Haase, S. Wünsche
Venue: Proceedings of the conference on Design, automation and test in Europe (1998)

For MEMS devices modern technologies are used to integrate very complex components and subsystems closely together. Due to mixed-domain problems as well as the occurring interactions between the closely coupled system components the design is a sophisticated process. The interactions between the MEMS components have to be analyzed by system simulation already in an early design stage. In this paper a modeling approach is introduced that enables the incorporation of mechanical microsystem components into the system simulation using network and system simulators like SABER. The approach is based on multi-terminal models of basic mechanical elements and their composition to more complex microsystems. First results for a micromechanical resonator are presented.
Program translation viewed as a general data processing problem
Authors: Peter Naur
Venue: Communications of the ACM (1966)

Efficiency dictates that the overall effectiveness of a compiler be increased by all means available. For a compiler to have a substantial useful life it needs a clear logical structure, reliability and sound data processing techniques. A compiler must be based on fixed conventions to preserve efficiency and reliability; empty options and default conventions violate this dictum. Use of structure to associate various parts of a program and economy of features promote clarity and reliability.
A study of the impact of student background and preparedness on outcomes in CS I
Authors: Malcolm Morrison, Timothy S. Newman
Venue: ACM SIGCSE Bulletin (2001)

A study that assesses the significance of student background characteristics on outcomes in a depth-first CS I course is presented. The study was conducted over a two-year period and involved more than 400 students in fourteen different course sections taught by eight different instructors in a CSAC-accredited program. In this paper, focus is on the impact of prior programming courses on CS I outcomes. In particular, the impact of the prior course's programming language and provider is reported.
Here, there and everywhere - on the recurring use of turtle graphics in CS1
Authors: Michael E. Caspersen, Henrik Bærbak Christensen
Venue: Proceedings of the Australasian conference on Computing education (2000)

The Logo programming language implements a virtual drawing machine&mdash;the turtle machine. The turtle machine is well-known for giving students an intuitive understanding of fundamental procedural programming principles. In this paper we present our experiences with resurrecting the Logo turtle in a new object-oriented way and using it in an introductory object-oriented programming course. While, at the outset, we wanted to achieve the same qualities as the original turtle (understanding of state, control flow, instructions) we realized that the concept of turtles is well suited for teaching a whole range of fundamental principles. We have successfully used turtles to give students an intuitive understanding of central object-oriented concepts and principles such as object, class, message passing, behaviour, object identification, subclasses and inheritance; an intuitive understanding of recursion; and to show students the use of abstraction in practice as the turtles at a late stage in the course becomes a handy graphics library used in a context otherwise unrelated to the turtles.
An anomaly in disk scheduling: a comparison of FCFS and SSTF seek scheduling using an empirical model for disk accesses
Authors: Neil C. Wilhelm
Venue: Communications of the ACM (1976)

A model for disk accesses based on published measurements is developed. The model is used to show that under highly probable conditions, FCFS seek scheduling is superior to SSTF scheduling in the sense of having a lower mean queue length. A simple example of an arrival sequence illustrating this anomaly is presented.