ppxscal/embedding_network huggingface dataset:
Parallelizing nonnumerical code with selective scheduling and software pipelining
Authors: Soo-Mook Moon, Kemal Ebcioğlu
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1997)

Instruction-level parallelism (ILP) in nonnumerical code is regarded as scarce and hard to exploit due to its irregularity. In this article, we introduce a new code-scheduling technique for irregular ILP called &ldquo;selective scheduling&rdquo; which can be used as a component for superscalar and VLIW compilers. Selective scheduling can compute a wide set of independent operations across all execution paths based on renaming and forward-substitution and can compute available operations across loop iterations if combined with software pipelining. This scheduling approach has better heuristics for determining the usefulness of moving one operation versus moving another and can successfully find useful code motions without resorting to branch profiling. The compile-time overhead of selective scheduling is low due to its incremental computation technique and its controlled code duplication. We parallelized the SPEC integer benchmarks and five AIX utilities without using branch probabilities. The experiments indicate that a fivefold speedup is achievable on realistic resources with a reasonable overhead in compilation time and code expansion and that a solid speedup increase is also obtainable on machines with fewer resources. These results improve previously known characteristics of irregular ILP.
Cost-Effective Analysis of In-Place Software Processes
Authors: Jonathan E. Cook, Lawrence G. Votta, Alexander L. Wolf
Venue: IEEE Transactions on Software Engineering (1998)

Process studies and improvement efforts typically call for new instrumentation on the process in order to collect the data they have deemed necessary. This can be intrusive and expensive, and resistance to the extra workload often foils the study before it begins. The result is neither interesting new knowledge nor an improved process. In many organizations, however, extensive historical process and product data already exist. Can these existing data be used to empirically explore what process factors might be affecting the outcome of the process? If they can, organizations would have a cost-effective method for quantitatively, if not causally, understanding their process and its relationship to the product. We present a case study that analyzes an in-place industrial process and takes advantage of existing data sources. In doing this, we also illustrate and propose a methodology for such exploratory empirical studies. The case study makes use of several readily available repositories of process data in the industrial organization. Our results show that readily available data can be used to correlate both simple aggregate metrics and complex process metrics with defects in the product. Through the case study, we give evidence supporting the claim that exploratory empirical studies can provide significant results and benefits while being cost effective in their demands on the organization.
On-line routing of virtual circuits with applications to load balancing and machine scheduling
Authors: James Aspnes, Yossi Azar, Amos Fiat, Serge Plotkin, Orli Waarts
Venue: Journal of the ACM (JACM) (1997)

In this paper we study the problem of on-line allocation of routes to virtual circuits (both point-to-point and multicast) where the goal is to route all requests while minimizing the required bandwidth. We concentrate on the case of Permanent virtual circuits (i.e., once a circuit is established it exists forever), and describe an algorithm that achieves on O (log n) competitive ratio with respect to maximum congestin, where nis the number of nodes in the network. Informally, our results show that instead of knowing all of the future requests, it is sufficient to increase the bandwidth of the communication links by an O (log n) factor. We also show that this result is tight, that is, for any on-line algorithm there exists a scenario in which ***(log n) increase in bandwidth is necessary in directed networks. We view virtual circuit routing as a generalization of an on-line load balancing problem, defined as follows: jobs arrive on line and each job must be assigned to one of the machines immediately upon arrival. Assigning a job to a machine increases the machine's load by an amount that depends both on the job and on the machine. The goal is to minimize the maximum load. For the related machines case, we describe the first algorithm that achieves constant competitive ratio. for the unrelated case (with nmachines), we describe a new method that yields O(logn)-competitive algorithm. This stands in contrast to the natural greed approach, whose competitive ratio is exactly n. show that this result is tight, that is, for any on-line algorithm there exists a scenario in which ***(log n) increase in bandwidth is necessary in directed networks.
Face Recognition: The Problem of Compensating for Changes in Illumination Direction
Authors: Yael Adini, Yael Moses, Shimon Ullman
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1997)

A face recognition system must recognize a face from a novel image despite the variations between images of the same face. A common approach to overcoming image variations because of changes in the illumination conditions is to use image representations that are relatively insensitive to these variations. Examples of such representations are edge maps, image intensity derivatives, and images convolved with 2D Gabor-like filters. Here we present an empirical study that evaluates the sensitivity of these representations to changes in illumination, as well as viewpoint and facial expression. Our findings indicated that none of the representations considered is sufficient by itself to overcome image variations because of a change in the direction of illumination. Similar results were obtained for changes due to viewpoint and expression. Image representations that emphasized the horizontal features were found to be less sensitive to changes in the direction of illumination. However, systems based only on such representations failed to recognize up to 20 percent of the faces in our database. Humans performed considerably better under the same conditions. We discuss possible reasons for this superiority and alternative methods for overcoming illumination effects in recognition.
Scale-Space Derived From B-Splines
Authors: Yu-Ping Wang, S. L. Lee
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1998)

It is well-known that the linear scale-space theory in computer vision is mainly based on the Gaussian kernel. The purpose of the paper is to propose a scale-space theory based on B-spline kernels. Our aim is twofold. On one hand, we present a general framework and show how B-splines provide a flexible tool to design various scale-space representations: continuous scale-space, dyadic scale-space frame, and compact scale-space representation. In particular, we focus on the design of continuous scale-space and dyadic scale-space frame representation. A general algorithm is presented for fast implementation of continuous scale-space at rational scales. In the dyadic case, efficient frame algorithms are derived using B-spline techniques to analyze the geometry of an image. Moreover, the image can be synthesized from its multiscale local partial derivatives. Also, the relationship between several scale-space approaches is explored. In particular, the evolution of wavelet theory from traditional scale-space filtering can be well understood in terms of B-splines. On the other hand, the behavior of edge models, the properties of completeness, causality, and other properties in such a scale-space representation are examined in the framework of B-splines. It is shown that, besides the good properties inherited from the Gaussian kernel, the B-spline derived scale-space exhibits many advantages for modeling visual mechanism with regard to the efficiency, compactness, orientation feature, and parallel structure.
A network flow approach for hierarchical tree partitioning
Authors: Ming-er Kuo, Chung-Kuan Cheng
Venue: Proceedings of the 34th annual Design Automation Conference (1997)

Network flow approaches have been used for partitioning with successin the past. However, most of them can not deal with size constraintsdirectly in partitioning. Instead, they incorporate the sizeconstraints implicitly in the objective function. This paper presentsa new network flow approach for partitioning circuits into treehierarchies. We formulate a linear program for the hierarchicaltree partitioning problem by spreading metrics proposed in [Divide-and-conquer approximation algorithms via spreading metrics, Fast approximate graph partitioning algorithms].The size constraints in partitioning can be formulated directly aslinear constraints. Motivated by the duality between the linear programsfor partitioning and network flow problems, we devise aheuristic algorithm based on network flow and spreading metriccomputations. Experimental results demonstrate that the new algorithmcan generate better solutions for MCNC benchmarks.
Proving specifications of tasking systems using Ada/TL
Authors: James Peters, William Hankley
Venue: Proceedings of the conference on TRI-ADA '90 (1990)

ADA/TL is a language for specification of the behavior of systems of communicating tasks. It merges concepts of the specification part of ADA, VDM specification of packages, and temporal logic specification of task behavior. The TL part consists of constructive specification of behaviors of individual tasks and a system specification of the properties of the interaction of tasks. A proof of a system specification consists of showing that the system property holds over all possible interleavings of the task behaviors. This paper extends earlier work on proof of system specifications to cover more general branching behaviors of individual tasks, including cases of timed task calls and timed rendezvous. The constructive specification of each individual task defines a finite state computation model of its possible behaviors with allowed communication between task computations. The proof system uses marker symbols to represent the current state within each task computation, inference rules to justify transformations from one state to the next, and a proof tableau for representing the proof steps. The method rests upon the technique of using an invariant system property to identify a finite computation model of the interaction of all the system tasks. The proof tableau symbolically traces threads of control in all branches of the finite state model of the interaction of all of the system tasks. The proof method is illustrated herein using an example of a traffic walk-light controller with a timed behavior.
An improvement of I/O function for auxiliary storage: parallel I/O for a large scale supercomputing
Authors: Umpei Nagashima, Fumio Nishimoto, Takashi Shibata, Hiroshi Itoh, Minoru Gotoh
Venue: ACM SIGARCH Computer Architecture News (1990)

New I/O technique for external auxiliary storage: magnetic disk unit, has been developed to improve the I/O performance on HITAC VOS3/ES1 with usual hardware architecture. Since the I/O technique is based on the idea that the sequence of I/O processes should be divided to some groups and be executed in parallel, and is quite similar to a pipeline on vector computer, we call it Parallel I/O (PIO). The PIO function has been realized and opened to end-users without any change to previous protocols. Comparison of actual performance of PIO with 16 degrees of parallelization (16 PIO), the speed of the PIO is about 26 times faster than the standard (sequential) I/O technique by using chained schedule function. In the case of 8 PIO, PIO is 13 times faster than the standard I/O technique. The efficiency of PIO correlates well with the degree of parallelization. Elapsed time is inversely proportional to the degree of parallelization. The change of acceleration ratio of PIO to the standard I/O is normally proportional to the degree of parallelization. The PIO is quite efficient for large scale supercomputing because I/O between external auxiliary storage and CPU is indispensable in large scale computations. Since the performance of I/O has not been improved, while the performance of supercomputer has made remarkable progress in CPU speed, I/O speed may become bottleneck for computations with supercomputers.
An Overview of the Rule-Based Object Language
Authors: Mengchi Liu
Venue: Journal of Intelligent Information Systems (1998)

This paper presents an overview of a novel strongly typed deductive object database language, called Rule-based Object Language, which is being developed at the University of Regina. Rule-based Object Language is a uniform language for defining, querying, and manipulating a database, which integrates important features of deductive databases and object databases. It supports object identity, complex objects, classes, class hierarchies, multiple inheritance with overriding and blocking, and schema definition. It also supports structured values such as functor objects and sets, treating them as first class citizens and providing powerful mechanisms for representing both partial and complete information about sets. Important integrity constraints such as domain, referential, functional dependency, multi-valued dependency, and cardinality are built-in in a uniform framework. Rule-based Object Language directly supports non-first normal form relations and is an extension of the pure valued-oriented deductive languages such as Datalog and LDL (without grouping) and subsumes them as special cases. It supports schema, object, fact and rule queries in a uniform framework. It also supports schema, fact and rule updates.
A Galerkin Method for Linear PDE Systems in Circular Geometries with Structural Acoustic Problems
Authors: Ralph C. Smith
Venue: SIAM Journal on Scientific Computing (1997)

A Galerkin method for systems of PDEs in circular geometries is presented with motivating problems being drawn from structural, acoustic, and structural acoustic applications. Depending upon the application under consideration, piecewise splines or Legendre polynomials are used when approximating the system dynamics with modifications included to incorporate the analytic solution decay near the coordinate singularity. This provides an efficient method which retains its accuracy throughout the circular domain without degradation at the singularity. Because the problems under consideration are linear or weakly nonlinear with constant or piecewise constant coefficients, transform methods for the problems are not investigated. While the specific method is developed for the 2-D wave equation on a circular domain and the equation of transverse motion for a thin circular plate, examples demonstrating the extension of the techniques to a fully coupled structural acoustic system are used to illustrate the flexibility of the method when approximating the dynamics of more complex systems.
An evaluation of automatic object inline allocation techniques
Authors: Julian Dolby, Andrew A. Chien
Venue: ACM SIGPLAN Notices (1998)

Object-oriented languages such as Java and Smalltalk provide a uniform object reference model, allowing objects to be conveniently shared. If implemented directly, these uniform reference models can suffer in efficiency due to additional memory dereferences and memory management operations. Automatic inline allocation of child objects within parent objects can reduce overheads of heap-allocated pointer-referenced objects.We present three compiler analyses to identify inlinable fields by tracking accesses to heap objects. These analyses span a range from local data flow to adaptive whole-program, flow-sensitive inter-procedural analysis. We measure their cost and effectiveness on a suite of moderate-sized C++ programs (up to 30,000 lines including libraries). We show that aggressive interprocedural analysis is required to enable object inlining, and our adaptive inter-procedural analysis [23] computes precise information efficiently. Object inlining eliminates typically 40% of object accesses and allocations (improving performance up to 50%). Furthermore,
Formalizing space shuttle software requirements: four case studies
Authors: Judith Crow, Ben Di Vito
Venue: ACM Transactions on Software Engineering and Methodology (TOSEM) (1998)

This article describes four case studies in which requirements for new flight software subsystems on NASA's Space Shuttle were analyzed using mechanically supported formal methods. Three of the studies used standard formal specification and verification techniques, and the fourth used state exploration. These applications illustrate two thesis: (1) formal methods complement conventional requirements analysis processes effectively and (2) formal methods confer benefits even when only selectively adopted and applied. The studies also illustrate the interplay of application maturity level and formal methods strategy, especially in areas such as technology transfer, legacy applications, and rapid formalization, and they raise interesting issues in problem domain modeling and in tailoring formal techniques to applications.
Using structural representation of anomalous states of knowledge for choosing document retrieval strategies
Authors: N. J. Belkin, B. H. Kwaśnik
Venue: Proceedings of the 9th annual international ACM SIGIR conference on Research and development in information retrieval (1986)

We report on a project which attempts to classify representations of the anomalous states of knowledge (ASKs) of users of document retrieval systems on the basis of structural characteristics of the representations, and which specifies different retrieval strategies and ranking mechanisms for each ASK class. The classification and retrieval strategy specification is based on 53 real problem statements, 35 of which have a total of 250 evaluated documents. Four facets of the ASK structures have been tentatively identified, whose combinations determine the method and order of application of five basic ranking strategies. This work is still in progress, so results presented here are incomplete.
Multichip Module Diagnosis by Product-Code Signatures
Authors: P. Nagvajara, J. Lin, P. Nilagupta, C. Wang
Venue: Journal of Electronic Testing: Theory and Applications (1997)

A system diagnosis technique for multichip module (MCM) is presented. The proposed technique uses built-in probes for monitoring internal responses and, with a signature analysis scheme based on error correcting codes, identifies the probes where erroneous test responses have been detected. Concepts from system diagnosis is used in conjunction with signature analysis in developing the proposed MCM diagnosis technique, where the resulting patterns of the faulty probes are used in the identification of the faulty submodules (dies). The proposed technique offers a diagnostic capability in system functional test.
Extracting Salient Curves from Images: An Analysis of the Saliency Network
Authors: T. D. Alter, Ronen Basri
Venue: International Journal of Computer Vision (1998)

The Saliency Network proposed by Shashua and Ullman (1988) is a well-known approach to the problem of extracting salient curves from images while performing gap completion. This paper analyzes the Saliency Network. The Saliency Network is attractive for several reasons. First, the network generally prefers long and smooth curves over short or wiggly ones. While computing saliencies, the network also fills in gaps with smooth completions and tolerates noise. Finally, the network is locally connected, and its size is proportional to the size of the image.Nevertheless, our analysis reveals certain weaknesses with the method. In particular, we show cases in which the most salient element does not lie on the perceptually most salient curve. Furthermore, in some cases the saliency measure changes its preferences when curves are scaled uniformly. Also, we show that for certain fragmented curves the measure prefers large gaps over a few small gaps of the same total size. In addition, we analyze the time complexity required by the method. We show that the number of steps required for convergence in serial implementations is quadratic in the size of the network, and in parallel implementations is linear in the size of the network. We discuss problems due to coarse sampling of the range of possible orientations. Finally, we consider the possibility of using the Saliency Network for grouping. We show that the Saliency Network recovers the most salient curve efficiently, but it has problems with identifying any salient curve other than the most salient one.
An evaluation of functional unit lengths for single-chip processors
Authors: Matthew K. Farrens, Andrew R. Pleszkun
Venue: Proceedings of the 23rd annual workshop and symposium on Microprogramming and microarchitecture (1990)

When designing a pipelined single-chip processor (SCP) with pipelined functional units of varying length, the processor issue logic must deal with scheduling of the result bus. In order to prevent serious performance degradation due to result bus conflicts, some pipeline scheduling techniques developed in the 1970's may need to be incorporated into the issue logic. Since this is a non-trivial complication of the issue logic, a set of simulations were performed in order to evaluate the effectiveness of the combination of multiple length functional units and scheduling techniques. Analysis of the simulation results indicates that providing relatively short multiple length functional units is not worthwhile. Multiple length functional unit configurations employing result bus scheduling do perform slightly better than uniform length configurations, but the difference is often less than 1%. Thus, the SCP designer should not waste valuable time improving the performance of each functional unit, but rather should produce a good design for the most complicated unit and design all other units to match it.
Hands-on practice in learning to use software: a comparison of exercise, exploration, and combined formats
Authors: Susan Wiedenbeck, Patti L. Zila
Venue: ACM Transactions on Computer-Human Interaction (TOCHI) (1997)

This research addresses two issues in the domain of computer training (1) whether learners are able to use exploration-based practice methods effectively to learn to use software and (2) whether some minimal computing background is necessary to be successful with minimalist training and exploration practice. An empirical study was carried out to compare exploration, exercises, and a combined format consisting of an exercise followed by exploration. Subjects of both high and low computer experience were included in the study. It was thought that the combined format might lead to superior training outcomes because it would both structure learning through an exercise and allow learners to go beyond the simple procedures in the training manual through exploration. The results showed that the performance of the low-experience subjects at test did not differ based on the type of practice. However, high-experience subjects who were trained using exercises or the combined format did significantly better than those trained using exploration alone. The similarity of performance of subjects in the exercise and combined practice conditions suggests that the exercise component of the practice explains their success.