Demo Data from EDBT 2026 / reviewers in the wild / expert
Kirk Kelsey
dblp:70/4190
· DBLP profile ↗
6ranked-venue papers
2as first author
0since 2021 · last 2011
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 4 · 2 first-authorSoftware engineering, systems software and programming languages · 3 · 1 first-author
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
2 papers |
Compilers and program optimization · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 100% |
Topics — the 3 heaviest of 3, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › parallelization
coarse-grain parallelism extraction |
0.1 | 1 | 2010 | Continuous speculative program parallelization in software · PPoPP 2010 |
Parallel and multicore computing
speculative parallelization |
0.1 | 1 | 2010 | Continuous speculative program parallelization in software · PPoPP 2010 |
Compilers and program optimization › parallelization
automatic parallelization |
0.1 | 1 | 2007 | Software behavior oriented parallelization · PLDI 2007 |
Methods — techniques the papers use, named apart from their topics
software speculative parallelization · 0.2BOP · 0.2profiling · 0.1partial program information · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2011 | Source Code Partitioning in Program OptimizationabstractProgram analysis and program optimization seek to improve program performance. There are optimization techniques which are applied to various scopes such as a source file, function or basic block. Inter-procedural program optimization techniques have the scope of source file and analyze the interaction and relationship between different program functions. The techniques analyze the entire translation unit (typically a source file) and optimize the whole translation unit globally instead of just optimizing inside a function. Analyzing and optimizing an entire translation unit increases compilation time drastically because many factors need to be considered during analysis and optimization. The translation unit size can be quite large, containing many functions. Another issue is that functions in different translation units can be more closely related to each other than to the functions within their translation unit. The main goal of this research is grouping or partitioning of closely related program functions into the same translation unit. Our method profiles an application, determines relationship information between program functions and groups closely related functions together. The source code partitioner method improves the processing time of inter-procedural optimization techniques by applying it to a subset of program functions. Partitioning of program functions by analyzing profiling output shows dramatic decrease in compilation time of programs. Our results show we can improve the compiling time in all tested real world benchmarks. Murat Bolat, Kirk Kelsey, Xiaoming Li 0010, Guang R. Gao |
ICPADS | 2 |
| 2010 | Continuous speculative program parallelization in softwareabstractThis paper addresses the problem of extracting coarse-grained parallelism from large sequential code. It builds on BOP, a system for software speculative parallelization. BOP lets a user to mark possibly parallel regions (PPR) in a program and at run-time speculatively executes PPR instances using Unix processes. This short paper presents a new run-time support called continuous speculation, which fully utilizes available parallelism to tolerate differences in PPR task size and processor speed. Chen Ding 0001, Xiaoming Gu, Kirk Kelsey, Tongxin Bai, Xiaobing Feng 0002 |
PPoPP | 4 |
| 2009 | Fast Track: A Software System for Speculative Program OptimizationabstractFast track is a software speculation system that enables unsafe optimization of sequential code. It speculatively runs optimized code to improve performance and then checks the correctness of the speculative code by running the original program on multiple processors. We present the interface design and system implementation for Fast Track. It lets a programmer or a profiling tool mark fast-track code regions and uses a run-time system to manage the parallel execution of the speculative process and its checking processes and ensures the correct display of program outputs. The core of the run-time system is a novel concurrent algorithm that balances exploitable parallelism and available processors when the fast track is too slow or too fast. The programming interface closely affects the run-time support. Our system permits both explicit and implicit end markers for speculatively optimized code regions as well as extensions that allow the use of multiple tracks and user designed correctness checking. We discuss the possible uses of speculative optimization and demonstrate the effectiveness of our prototype system by examples of unsafe semantic optimization and a general system for fast memory-safety checking, which is able to reduce the checking time by factors between 2 and 7 for large sequential code on a 8-CPU system. Kirk Kelsey, Tongxin Bai, Chen Ding 0001, Chengliang Zhang |
CGO | 1 |
| 2007 | Fast Track: Supporting Unsafe Optimizations with Software Speculation
Kirk Kelsey, Chengliang Zhang, Chen Ding 0001 |
PACT | 1 |
| 2007 | Software behavior oriented parallelizationabstractMany sequential applications are difficult to parallelize because of unpredictable control flow, indirect data access, and input-dependent parallelism. These difficulties led us to build a software system for behavior oriented parallelization (BOP), which allows a program to be parallelized based on partial information about program behavior, for example, a user reading just part of the source code, or a profiling tool examining merely one or few executions. Chen Ding 0001, Xipeng Shen, Kirk Kelsey, Chris Tice, Ruke Huang, Chengliang Zhang |
PLDI | 3 |
| 2006 | Program-level adaptive memory managementabstractMost application's performance is impacted by the amount of available memory. In a traditional application, which has a fixed working set size, increasing memory has a beneficial effect up until the application's working set is met. In the presence of garbage collection this relationship becomes more complex. While increasing the size of the program's heap reduces the frequency of collections, collecting a heap with memory paged to the backing store is very expensive. We first demonstrate the presence of an optimal heap size for a number of applications running on a machine with a specific configuration. We then introduce a scheme which adaptively finds this good heap size. In this scheme, we track the memory usage and number of page faults at a program's phase boundaries. Using this information, the system selects the soft heap size. By adapting itself dynamically, our scheme is independent of the underlying main memory size, code optimizations, and garbage collection algorithm. We present several experiments on real applications to show the effectiveness of our approach. Our results show that program-level heap control provides up to a factor of 7.8 overall speedup versus using the best possible fixed heap size controlled by the virtual machine on identical garbage collectors. Chengliang Zhang, Kirk Kelsey, Xipeng Shen, Chen Ding 0001, Matthew Hertz, Mitsunori Ogihara |
ISMM | 2 |