Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

V. T. Rajan

dblp:44/3960 · DBLP profile ↗
← Back
27ranked-venue papers
4as first author
0since 2021 · last 2015
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 12Artificial intelligence and machine learning · 5 · 2 first-authorSystems, architecture and hardware · 5 · 2 first-authorGraphics, computer vision, multimedia, augmented reality and games · 5 · 1 first-authorTheory of computation · 3 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
6 papers
Runtime systems and virtual machines · 64% Software testing · 29% Compilers and program optimization · 7%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Cloud and datacenter computing · 52% Electronic design automation · 31% Embedded and real-time systems · 10%

Topics — the 23 heaviest of 25, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines
garbage collection
0.242007
An efficient on-the-fly cycle collection · ACM Trans. Program. Lang. Syst. 2007
A unified theory of garbage collection · OOPSLA 2004
A real-time garbage collector with low overhead and consistent utilization · POPL 2003
Runtime systems and virtual machines › garbage collection
reference counting
0.122007
An efficient on-the-fly cycle collection · ACM Trans. Program. Lang. Syst. 2007
A unified theory of garbage collection · OOPSLA 2004
Cloud and datacenter computing › cloud deployment
cloud application deployment
0.112015
CanaryAdvisor: a statistical-based tool for canary testing (demo) · ISSTA 2015
Compilers and program optimization › dynamic optimization
profile-guided optimization
0.112005
Improving virtual machine performance using a cross-run profile repository · OOPSLA 2005
Runtime systems and virtual machines › garbage collection
real-time garbage collection
0.012003
A real-time garbage collector with low overhead and consistent utilization · POPL 2003
Runtime systems and virtual machines › garbage collection
concurrent reference counting
0.012001
Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001
Runtime systems and virtual machines › garbage collection
parallel garbage collection
0.012001
Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.012005
Improving virtual machine performance using a cross-run profile repository · OOPSLA 2005
Embedded and real-time systems › real-time embedded systems
hard real-time systems
0.012003
A real-time garbage collector with low overhead and consistent utilization · POPL 2003
Geometric modeling and processing
shape representation
0.011994
Voronoi diagrams of polygons: A framework for shape representation · CVPR 1994
Electronic design automation › CAD framework
design tool integration
0.011994
Semiconductor wafer representation for TCAD · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1994
Electronic design automation
technology computer-aided design
0.011994
Semiconductor wafer representation for TCAD · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1994
Electronic design automation › design for manufacturability
wafer representation
0.011994
Semiconductor wafer representation for TCAD · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1994
Computational geometry
voronoi diagram
0.011994
Voronoi diagrams of polygons: A framework for shape representation · CVPR 1994
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor
0.012001
Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001
Computational geometry › triangulation
delaunay triangulation
0.011991
Optimality of the Delaunay Triangulation in Rd · SCG 1991
Computational geometry
geometric data structures
0.011991
Optimality of the Delaunay Triangulation in Rd · SCG 1991
Robotics › Motion planning and robot control › robot dynamics › multibody dynamics
rigid body dynamics
0.011987
Dynamics of a rigid body in frictional contact with rigid walls: Motion in two dimensions · ICRA 1987
Electronic design automation › technology computer-aided design
process simulation
0.011994
Semiconductor wafer representation for TCAD · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1994
Robotics › Motion planning and robot control › trajectory planning
time-optimal trajectory planning
0.011985
Minimum time trajectory planning · ICRA 1985
Robotics › Motion planning and robot control
trajectory optimization
0.011985
Minimum time trajectory planning · ICRA 1985
Robotics › Robot manipulation
contact modeling
0.011987
Dynamics of a rigid body in frictional contact with rigid walls: Motion in two dimensions · ICRA 1987
Robotics › Robot manipulation › robot manipulator
robot arm
0.011985
Minimum time trajectory planning · ICRA 1985

Methods — techniques the papers use, named apart from their topics

statistical analysis · 0.4continuous monitoring · 0.4incremental collection · 0.1defragmentation · 0.1sliding views · 0.1concurrent collection · 0.1online profiling · 0.1dynamic optimization · 0.1performance analysis · 0.0reference counting · 0.0mark-and-sweep · 0.0mark and sweep · 0.0voronoi diagram construction · 0.0skeletonization · 0.0object-oriented design · 0.0rigid body dynamics analysis · 0.0spline parameterization · 0.0exhaustive search · 0.0
YearPublicationVenuePosition
2015 CanaryAdvisor: a statistical-based tool for canary testing (demo)
abstract
Canary testing is an emerging technique that offers to minimize the risk of deploying a new version of software. It does so by slowly transferring load from the current to the new ("canary") version. As this ramp-up progresses, a human compares the performance and correctness of the two versions, and assesses whether to abort the canary version. For canary testing to be effective, a plethora of metrics must be analyzed, including CPU utilization and logged errors, across hundreds to thousands of machines. Performing this analysis manually is both time consuming and error prone. In this paper, we present CanaryAdvisor, a tool for automatic canary testing of cloud-based applications. CanaryAdvisor continuously monitors the deployed versions of an application and detects degradations in correctness, performance, and/or scalability. We describe our design and implementation of the CanaryAdvisor and outline open challenges.
Alexander Tarvo, Peter F. Sweeney, Nick Mitchell, V. T. Rajan, Matthew Arnold, Ioana Baldini
ISSTA4
2010 Bayesian Inference in Monte-Carlo Tree Search
Gerald Tesauro, V. T. Rajan, Richard B. Segal
UAI2
2009 Low-latency time-portable real-time programming with Exotasks
abstract
Exotasks are a novel Java programming construct that achieve three important goals. They achieve low latency while allowing the fullest use of Java language features, compared to previous attempts to restrict the Java language for use in the submillisecond domain. They support pluggable schedulers, allowing easy implementation of new scheduling paradigms in a real-time Java system. They can achieve deterministic timing, even in the presence of other Java threads, and across changes of hardware and software platform. To achieve these goals, the program is divided into tasks with private heaps. Tasks may be strongly isolated, communicating only with each other and guaranteeing determinism, or weakly isolated, allowing some communication with the rest of the Java application. Scheduling of the tasks' execution, garbage collection, and value passing is accomplished by the pluggable scheduler. Schedulers that we have written employ logical execution time (LET) in association with strong isolation to achieve time portability. We have also built a quad-rotor model helicopter, the JAviator, which we use to evaluate our implementation of Exotasks in an experimental embedded version of IBM's J9 real-time virtual machine. Our experiments show that we are able to maintain very low scheduling jitter and deterministic behavior in the face of variations in both software load and hardware platform. We also show that Exotasks perform nearly as well as Eventrons on a benchmark audio application.
Joshua S. Auerbach, David F. Bacon, Daniel T. Iercan, Christoph M. Kirsch, V. T. Rajan, Harald Röck, Rainer Trummer
ACM Trans. Embed. Comput. Syst.5
2007 Java takes flight: time-portable real-time programming with exotasks
abstract
Existing programming methodologies for real-time systems suffer from a low level of abstraction and non-determinism in both the timing and the functional domains. As a result, real-time systems are difficult to test and must be re-certified every time changes are made to either the software or hardware environment. Exotasks are a novel Java programming construct that achievedeterministic timing, even in the presence of other Java threads, and across changes of hardware and software platform. They are deterministic functional data-flow tasks written in Java, combined with an orthogonal scheduling policy based on the logical execution time (LET) model. We have built a quad-rotor model helicopter, the JAviator, which we use as a testbed for this work. We evaluate our implementation of exotasks in IBM's J9 real-time virtual machine using actual flights of the helicopter. Our experiments show that we are able to maintain deterministic behavior in the face of variations in both software load and hardware platform.
Joshua S. Auerbach, David F. Bacon, Daniel T. Iercan, Christoph M. Kirsch, V. T. Rajan, Harald Röck, Rainer Trummer
LCTES5
2007 An efficient on-the-fly cycle collection
abstract
A reference-counting garbage collector cannot reclaim unreachable cyclic structures of objects. Therefore, reference-counting collectors either use a backup tracing collector infrequently, or employ a cycle collector to reclaim cyclic structures. We propose a new concurrent cycle collector, one that runs concurrently with the program threads, imposing negligible pauses (of around 1ms) on a multiprocessor. Our new collector combines a state-of-the-art cycle collector [Bacon and Rajan 2001] with sliding-views collectors [Levanoni and Petrank 2001, 2006; Azatchi et al. 2003]. The use of sliding views for cycle collection yields two advantages. First, it drastically reduces the number of cycle candidates, which in turn drastically reduces the work required to record and trace these candidates. Consequentially, a large improvement in cycle collection efficiency is achieved. Second, it eliminates the theoretical termination problem that appeared in the earlier concurrent cycle collector. There, a rare race may delay the reclamation of an unreachable cyclic structure forever. The sliding-views cycle collector guarantees reclamation of all unreachable cyclic structures. The proposed collector was implemented on the Jikes RVM and we provide measurements including a comparison between the use of backup tracing and the use of cycle collection with reference counting. To the best of our knowledge, such a comparison has not been reported before.
Harel Paz, David F. Bacon, Elliot K. Kolodner, Erez Petrank, V. T. Rajan
ACM Trans. Program. Lang. Syst.5
2006 Demonstration: On-Line Visualization and Analysis of Real-Time Systems with TuningFork
David F. Bacon, Perry Cheng, Daniel Frampton, David Grove, Matthias Hauswirth, V. T. Rajan
CC6
2006 Online Phase Detection Algorithms
abstract
Today's virtual machines (VMs) dynamically optimize an application as it is executing, often employing optimizations that are specialized for the current execution profile. An online phase detector determines when an executing program is in a stable period of program execution (a phase) or is in transition. A VM using an online phase detector can apply specialized optimizations during a phase or reconsider optimization decisions between phases. Unfortunately, extant approaches to detecting phase behavior rely on either offline profiling, hardware support, or are targeted toward a particular optimization. In this work, we focus on the enabling technology of online phase detection. More specifically, we contribute (a) a novel framework for online phase detection, (b) multiple instantiations of the framework that produce novel online phase detection algorithms, (c) a novel client- and machine-independent baseline methodology for evaluating the accuracy of an online phase detector, (d) a metric to compare online detectors to this baseline, and (e) a detailed empirical evaluation, using Java applications, of the accuracy of the numerous phase detectors.
Priya Nagpurkar, Chandra Krintz, Michael Hind, Peter F. Sweeney, V. T. Rajan
CGO5
2005 An Efficient On-the-Fly Cycle Collection
Harel Paz, Erez Petrank, David F. Bacon, Elliot K. Kolodner, V. T. Rajan
CC5
2005 High-level real-time programming in Java
abstract
Real-time systems have reached a level of complexity beyond the scaling capability of the low-level or restricted languages traditionally used for real-time programming.While Metronome garbage collection has made it practical to use Java to implement real-time systems, many challenges remain for the construction of complex real-time systems, some specific to the use of Java and others simply due to the change in scale of such systems.The goal of our current research is the creation of a comprehensive Java-based programming environment and methodology for the creation of complex real-time systems. Our goals include construction of a provably correct real-time garbage collector capable of providing worst case latencies of 100 μs, capable of scaling from sensor nodes up to large multiprocessors; specialized programming constructs that retain the safety and simplicity of Java, and yet provide sub-microsecond latencies; the extension of Java's "write once, run anywhere" principle from functional correctness to timing behavior; on-line analysis and visualization that aids in the understanding of complex behaviors; and a principled probabilistic analysis methodology for bounding the behavior of the resulting systems.While much remains to be done, this paper describes the progress we have made towards these goals.
David F. Bacon, Perry Cheng, David Grove, Michael Hind, V. T. Rajan, Eran Yahav, Matthias Hauswirth, Christoph M. Kirsch, Daniel Spoonhower, Martin T. Vechev
EMSOFT5
2005 Improving virtual machine performance using a cross-run profile repository
abstract
Virtual machines for languages such as the Java programming language make extensive use of online profiling and dynamic optimization to improve program performance. But despite the important role that profiling plays in achieving high performance, current virtual machines discard a program's profile data at the end of execution, wasting the opportunity to use past knowledge to improve future performance. In this paper, we present a fully automated architecture for exploiting cross-run profile data in virtual machines. Our work addresses a number of challenges that previously limited the practicality of such an approach.We apply this architecture to address the problem of selective optimization, and describe our implementation in IBM's J9 Java virtual machine. Our results demonstrate substantial performance improvements on a broad suite of Java programs, with the average performance ranging from 8.8% -- 16.6% depending on the execution scenario.
Matthew Arnold, Adam Welc, V. T. Rajan
OOPSLA3
2004 A unified theory of garbage collection
abstract
Tracing and reference counting are uniformly viewed as being fundamentally different approaches to garbage collection that possess very distinct performance properties. We have implemented high-performance collectors of both types, and in the process observed that the more we optimized them, the more similarly they behaved - that they seem to share some deep structure.
David F. Bacon, Perry Cheng, V. T. Rajan
OOPSLA3
2003 Controlling fragmentation and space consumption in the metronome, a real-time garbage collector for Java
abstract
Now that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past approaches have generally suffered from one of two major flaws: either they were not provably real-time, or they imposed large space overheads to meet the real-time bounds.Our previous work [3] presented the Metronome, a mostly non-copying real-time collector. The Metronome achieves worst-case pause times of 6 milliseconds while maintaining consistent mutator CPU utilization rates of 50% with only 1.5-2.1 times the maximum heap space required by the application, which is comparable with space requirements for stop-the-world collectors.However, that algorithm assumed a constant collection rate, ignored program-dependent characteristics, and lacked a precise specification for when to trigger collection or how much defragmentation to perform. This paper refines the model by taking into account program properties such as pointer density, average object size, and locality of object size. This allows us to bound both the time for collection and consequently the space overhead required much more tightly. We show experimentally that most parameters usually are not subject to large variation, indicating that a small number of parameters will be sufficient to predict the time and space requirements accurately.Our previous work also did not present the details of our approach to avoiding and undoing fragmentation. In this paper we present a more detailed analysis of fragmentation than in previous work, and show how our collector is able to bound fragmentation to acceptable limits.
David F. Bacon, Perry Cheng, V. T. Rajan
LCTES3
2003 A real-time garbage collector with low overhead and consistent utilization
abstract
Now that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past approaches have generally suffered from one of two major flaws: either they were not provably real-time, or they imposed large space overheads to meet the real-time bounds. We present a mostly non-moving, dynamically defragmenting collector that overcomes both of these limitations: by avoiding copying in most cases, space requirements are kept low; and by fully incrementalizing the collector we are able to meet real-time bounds. We implemented our algorithm in the Jikes RVM and show that at real-time resolution we are able to obtain mutator utilization rates of 45% with only 1.6--2.5 times the actual space required by the application, a factor of 4 improvement in utilization over the best previously published results. Defragmentation causes no more than 4% of the traced data to be copied.
David F. Bacon, Perry Cheng, V. T. Rajan
POPL3
2001 Concurrent Cycle Collection in Reference Counted Systems
David F. Bacon, V. T. Rajan
ECOOP2
2001 Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector
abstract
The deployment of Java as a concurrent programming language has created a critical need for high-performance, concurrent, and incremental multiprocessor garbage collection. We present the Recycler, a fully concurrent pure reference counting garbage collector that we have implemented in the Jalapeno Java virtual machine running on shared memory multiprocessors.While a variety of multiprocessor collectors have been proposed and some have been implemented, experimental data is limited and there is little quantitative basis for comparison between different algorithms. We present measurements of the Recycler and compare it against a non-concurrent but parallel load-balancing mark-and-sweep collector (that we also implemented in Jalapeno), and evaluate the classical tradeoff between response time and throughput.When processor or memory resources are limited, the Recycler runs at about 90% of the speed of the mark-and-sweep collector. However, with an extra processor to run collection and with a moderate amount of memory headroom, the Recycler is able to operate without ever blocking the mutators and achieves a maximum measured mutator delay of only 2.6 milliseconds for our benchmarks. End-to-end execution time is usually within 5%.
David F. Bacon, C. Richard Attanasio, Han Bok Lee, V. T. Rajan, Stephen E. Smith
PLDI4
1997 Visualization of Three-Dimensional Delaunay Meshes
Michael S. Karasick, Derek Lieber, Lee R. Nackman, V. T. Rajan
Algorithmica4
1995 An efficient shape representation scheme using Voronoi skeletons
Niranjan Mayya, V. T. Rajan
Pattern Recognit. Lett.2
1994 Voronoi diagrams of polygons: A framework for shape representation
abstract
This paper describes an efficient shape representation framework for planar shapes using Voronoi skeletons. A new algorithm for the construction of the Voronoi diagram of a polygon with holes is first described. The main features of this algorithm are its robustness in handling the standard degenerate cases (colinearity of more than two points; co-circularity of more than three points), and its ease of implementation. This algorithm is then used to derive accurate and robust skeletons for planar shapes. The shape representation scheme using Voronoi skeletons possesses the important properties of connectivity as well as Euclidean metrics. The resultant representation is stable with respect to being invariant to perturbations along the boundary of the shape.>
Niranjan Mayya, V. T. Rajan
CVPR2
1994 Optimality of the Delaunay Triangulation in Rd
V. T. Rajan
Discret. Comput. Geom.1
1994 Semiconductor wafer representation for TCAD
abstract
This work describes the Semiconductor Wafer Representation (SWR) for representing and manipulating wafer state during process and device simulation. The goal of the SWR is to provide an object-oriented interface to a collection of functions designed for developing and integrating Technology CAD (TCAD) applications. By providing functions which can be common across many applications, we aim to greatly reduce tool development and integration time. Corporate, vendor, and university TCAD developers have worked together under the auspices of the CAD Framework Initiative to create an architecture and C++ programming interface for an SWR 1.0 draft standard. Here we describe this architecture and the results of creating and using a prototype implementation of the standard both to integrate existing TCAD tools and to develop simple new tools.>
Martin D. Giles, Duane S. Boning, Goodwin R. Chin, Walter C. Dietrich Jr., Michael S. Karasick, Mark E. Law, Purnendu K. Mozumder, Lee R. Nackman, V. T. Rajan, D. M. H. Walker, Robert H. Wang, Alexander S. Wong
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.9
1992 Monotone Pieces of Chains
abstract
The problem of decomposing a general polygonal chain, open or closed, into a minimum number of monotone subchains is studied in this paper. We show that this geometric optimization problem can be solved in linear time (in the number of edges) by a strategy related to the selection of a minimum cardinality cover of a circle by a subset of its arcs. We also introduce a special class of polygonal chains, called stable configurations. These stable configurations are certificates of when a greedy procedure is guaranteed to be optimal for the monotone chain decomposition problem. The greedy procedure translates to a very simple linear-time algorithm. Further, the presence of the stable-configuration-certificate in any given polygonal chain can also be recognized in linear time. INFORMS Journal on Computing, ISSN 1091-9856, was published as ORSA Journal on Computing from 1989 to 1995 under ISSN 0899-1499.
V. Chandru, V. T. Rajan, Swaminathan Ramabadran
INFORMS J. Comput.2
1991 Optimality of the Delaunay Triangulation in Rd
abstract
In this paper we present an optimality result for
V. T. Rajan
SCG1
1988 Algorithms for polynomials in Bernstein form
Rida T. Farouki, V. T. Rajan
Comput. Aided Geom. Des.2
1988 On the numerical condition of algebraic curves and surfaces 1. Implicit equations
Rida T. Farouki, V. T. Rajan
Comput. Aided Geom. Des.2
1987 Dynamics of a rigid body in frictional contact with rigid walls: Motion in two dimensions
abstract
The dynamics of a rigid 2-dimensional body in contact with walls is systematically considered. The body is seen to exhibit four different kinds of motion when it is contact with one wall and nine different kinds of motion when it is in contact with two walls. Each kind of motion is discussed and the region in the (F,T) space where the motion is exhibited is delineated. In addition it is seen that in some situations two or more of these regions can overlap leading to ambiguities.
V. T. Rajan, Robert Burridge, J. T. Schwartz
ICRA1
1987 On the numerical condition of polynomials in Bernstein form
Rida T. Farouki, V. T. Rajan
Comput. Aided Geom. Des.2
1985 Minimum time trajectory planning
abstract
An algorithm for determining the minimum time trajectory (path and velocity along that path) for a robot arm with actuator constraints is presented. The method combines the control theory and the exhaustive search approaches to yield an algorithm that is faster than either approach. The method consists of first parameterizing the path in the configuration space, then, given a path, using control theory to determine the minimum time trajectory subject to the actuator torque constraints, and finally searching among all possible paths to find the minimum time path. The minimum time path is assumed to be smooth and hence is parameterized by splines. In presence of obstacles in the work-space, the algorithm can start with a path from a path planner and determine the minimum time path close to the given path. The results for a two degree of freedom arm are presented.
V. T. Rajan
ICRA1