9413783
Optimal Code Generation for Expressions on Super Scalar Machines
26499349
Early performance estimation of super scalar machine models
A novel methodology and software tool for estimating the performance of high-performance machine models with concurrent, pipelined execution modes are presented. Such performance assessment is typically useful at early stages of the design cycle. Critical design decisions made with the aid of early estimators of the kind discussed can be expected to yield near-optimal final designs.<<ETX>>
2521753
A circuit level implementation of an adaptive issue queue for power-aware microprocessors
Increasing power dissipation has become a major constraint for future performance gains in the design of microproces sors In this paper we present the circuit design of an issue queue for a superscalar processor that leverages transmis sion gate insertion to provide dynamic low cost con gura bility of size and speed A novel circuit structure dynami cally gathers statistics of issue queue activity over intervals of instruction execution These statistics are then used to change the size of an issue queue organization on the y to improve issue queue energy and performance When applied to a xed full size issue queue structure the result is up to a reduction in energy dissipation The complexity of the additional circuitry to achieve this result is almost neg ligible Furthermore self timed techniques embedded in the adaptive scheme can provide a decrease in cycle time of the CAM array read of the issue queue when we change the adaptive issue queue size from entries largest possible to entries smallest possible in our design
44925839
MHPS-Driven Early Design and Analysis of VLSI CPU Chips
JVe present (1 noid appsoaclz to carry per/i,rinancc analysis arid tiiiiitig of VLSI processors, don(? in the context of higlt-lewl source Iceriicls. U7e illustrate our rnetliodology in 1Crt71.r of a small (exaniph?) super scalas RlSC J ~ S O C ~ S S I ~ S architecture. A pnrantetrized execution 17ic~cIeI is used fhr piforinance eslimniion. IJsing an iterative optimization techniqire, the parameter set can bc locally optiinizcd around a g i i w design point to genesare tlie ininii?itrtn cycles per. iiwtrttction ( V I ) . W e also iiicludc a ctirsory discussion on linking .rirclt a CI’I estiiizntor io an early jloorplanner jhr A f IPS-driven block layout for the processor chb.
32890897
A Novel Technique for Efficient Parallel Implementation of a Classical Logic/Fault Simulation Problem
A technique is presented for formulating the logic/fault simulation of VLSI array logic in terms of standard vector and matrix operation primitives that are well supported on all scientific supercomputers, high-end mainframes, and minisupercomputers that provide vector parallel hardware and software. The overall computing environment is assumed to be a scientific/engineering one, with Fortran as the primary coding medium and the hardware biased toward numerically intensive applications. >
18281114
Performance and functional verification of microprocessors
We address the problem of verifying the correctness of pre-silicon models of a microprocessor. We touch on the latest advances in this area by considering two different aspects of the validation problem: (a) verifying the functional integrity of the model and (b) testing the model for timing accuracy at the architectural level. The latter area, that of performance verification, is of increasing importance in the design of server-class processor chips, with one or more high performance cores on a single die. We show how simulation-based test cases can be generated under a unified defect and coverage model to detect both performance and functional bugs. We present and discuss examples of such integrated validation methodologies used in real processor development projects.
122008563
Optimal Algorithms to Embed Trees in a Point Set
14371068
Filling polyhedral molds
In manufacturing industry, finding an orientation for a mold that eliminates surface defects and ensures a complete fill after termination of the gravity casting process is an important and difficult problem. We study the problem of determining a favorable position of a mold (modeled as a polyhedron) such that, when it is filled, no air pockets and ensuing surface defects arise. Given a polyhedron in a fixed orientation, we present a linear time algorithm that determines whether the mold can be filled from that orientation without forming air pockets. We also present an algorithm that determines the most favorable orientation for a polyhedral mold in O(n2) time. A reduction from a well-known problem indicates that improving the O(n2) bound is unlikely for general polyhedral molds. We relate fillability to some well known classes of polyhedra. For some of these classes of objects, an optimal direction of fillability can be determined in linear time. Finally, for molds that satisfy a local regularity condition, we give an improved algorithm that runs in time O(nklog2 nlog log(nk)), where k is the number of venting holes needed to avoid air pockets in an optimal orientation.
123658090
Simultaneous diagonal flips in plane triangulations
Simultaneous diagonal flips in plane triangulations are investigated. It is proved that every triangulation with n ≥ 6 vertices has a simultaneous flip into a 4-connected triangulation, and that the set of edges to be flipped can be computed in $\cal O$(n) time. It follows that every triangulation has a simultaneous flip into a Hamiltonian triangulation. This result is used to prove that for any two n-vertex triangulations, there exists a sequence of $\cal O$(logn) simultaneous flips to transform one into the other. Moreover, o(log n) simultaneous flips are needed for some pairs of triangulations. The total number of edges flipped in this sequence is $\cal O$(n). The maximum size of a simultaneous flip is then studied. It is proved that every triangulation has a simultaneous flip of at least ${{1}\over{3}}({n}-{2})$ edges. On the other hand, every simultaneous flip has at most n - 2 edges, and there exist triangulations with a maximum simultaneous flip of ${{6}\over{7}}({n}-{2})$ edges. © 2006 Wiley Periodicals, Inc. J Graph Theory 54: 307–330, 2007 
 
A preliminary version of this paper was published in the Proceedings of the 17th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA'06). 
 
Research partially completed at Carleton University and McGill University (Montreal).
15872429
Characterizing and efficiently computing quadrangulations of planar point sets
Abstract Given a set S of n points in the plane, a quadrangulation of S is a planar subdivision whose vertices are the points of S, whose outer face is the convex hull of S, and every face of the subdivision (except possibly the outer face) is a quadrilateral. We show that S admits a quadrangulation if and only if S does not have an odd number of extreme points. If S admits a quadrangulation, we present an algorithm that computes a quadrangulation of S in O(nlogn) time even in the presence of collinear points. If S does not admit a quadrangulation, then our algorithm can quadrangulate S with the addition of one extra point, which is optimal. We also provide an Ω(n log n) time lower bound for the problem. Our results imply that a k-angulation of a set of points can be achieved with the addition of at most k − 3 extra points within the same time bound. Finally, we present an experimental comparison between three quadrangulation algorithms which shows that the Spiraling Rotating Calipers (SRC) algorithm produces quadrangulations with the greatest number of convex quadrilaterals as well as those with the smallest difference between the average minimum and maximum angle over all quadrangles.
6262454
Packing two disks into a polygonal environment
Abstract We consider the following problem. Given a polygon P , possibly with holes, and having n vertices, compute a pair of equal radius disks that do not intersect each other, are contained in P , and whose radius is maximized. Our main result is a simple randomized algorithm whose expected running time, on any input, is O( n log n ). This is optimal in the algebraic decision tree model of computation.