Demo Data from VLDB 2026 / reviewers in the wild / expert
Prathmesh Kallurkar
dblp:145/7895
· DBLP profile ↗
4ranked-venue papers
2as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 4 · 2 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.
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Memory systems · 46% Processor architecture and microarchitecture · 35% Parallel and multicore computing · 15% | |
| Software engineering, system software, and programming languages
2 papers |
Operating systems · 100% |
Topics — the 6 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Operating systems › resource management › process management › CPU scheduling
task scheduling |
0.3 | 1 | 2017 | Schedtask: a hardware-assisted task scheduler · MICRO 2017 |
Memory systems › data locality
cache locality |
0.3 | 1 | 2017 | Schedtask: a hardware-assisted task scheduler · MICRO 2017 |
Memory systems › cache › CPU cache
instruction cache |
0.3 | 1 | 2017 | Schedtask: a hardware-assisted task scheduler · MICRO 2017 |
Processor architecture and microarchitecture › instruction fetch
instruction prefetching |
0.2 | 1 | 2016 | pTask: A smart prefetching scheme for OS intensive applications · MICRO 2016 |
Processor architecture and microarchitecture
chip multiprocessor |
0.2 | 1 | 2014 | Architectural Support for Handling Jitterin Shared Memory Based Parallel Applications · IEEE Trans. Parallel Distributed Syst. 2014 |
Energy-efficient computing › power management
dynamic voltage and frequency scaling |
0.1 | 1 | 2014 | Architectural Support for Handling Jitterin Shared Memory Based Parallel Applications · IEEE Trans. Parallel Distributed Syst. 2014 |
Methods — techniques the papers use, named apart from their topics
superfunction decomposition · 0.6bloom filter · 0.6instruction stream compression · 0.5hardware-software co-design · 0.5cycle-accurate simulation · 0.2DVFS · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Schedtask: a hardware-assisted task schedulerabstractThe execution of workloads such as web servers and database servers typically switches back and forth between different tasks such as user applications, system call handlers, and interrupt handlers. The combined size of the instruction footprints of such tasks typically exceeds that of the i-cache (16--32 KB). This causes a lot of i-cache misses and thereby reduces the application's performance. Hence, we propose SchedTask, a hardware-assisted task scheduler that improves the performance of such workloads by executing tasks with similar instruction footprints on the same core. We start by decomposing the combined execution of the OS and the applications into sequences of instructions called SuperFunctions. We propose a scheme to determine the amount of overlap between the instruction footprints of different SuperFunctions by using Bloom filters. We then use a hierarchical scheduler to execute SuperFunctions with similar instruction footprints on the same core. For a suite of 8 popular OS-intensive workloads, we report an increase in the application's performance of up to 29 percentage points (mean: 11.4 percentage points) over state of the art scheduling techniques. Prathmesh Kallurkar, Smruti R. Sarangi |
MICRO | 1 |
| 2016 | pTask: A smart prefetching scheme for OS intensive applicationsabstractInstruction prefetching is a standard approach to improve the performance of operating system (OS) intensive workloads such as web servers, file servers and database servers. Sophisticated instruction prefetching techniques such as PIF [12] and RDIP [17] record the execution history of a program in dedicated hardware structures and use this information for prefetching if a known execution pattern is repeated. The storage overheads of the additional hardware structures are prohibitively high (64-200 KB per core). This makes it difficult for the deployment of such schemes in real systems. We propose a solution that uses minimal hardware modifications to tackle this problem. We notice that the execution of server applications keeps switching between tasks such as the application, system call handlers, and interrupt handlers. Each task has a distinct instruction footprint, and is separated by a special OS event. We propose a sophisticated technique to capture the instruction stream in the vicinity of such OS events; the captured information is then compressed significantly and is stored in a process's virtual address space. Special OS routines then use this information to prefetch instructions for the OS and the application codes. Using modest hardware support (4 registers per core), we report an increase in instruction throughput of 2-14% (mean: 7%) over state of the art instruction prefetching techniques for a suite of 8 popular OS intensive applications. Prathmesh Kallurkar, Smruti R. Sarangi |
MICRO | 1 |
| 2014 | TriKon: A hypervisor aware manycore processorabstractVirtualization is increasingly being deployed to run applications in a cloud computing environment. Sadly, there are overheads associated with hypervisors that can prohibitively reduce application performance. A major source of the overheads is the destructive interference between the application, OS, and hypervisor in the memory system. We characterize such overheads in this paper, and propose the design of a novel Triangle cache that can effectively mitigate destructive interference across these three classes of workloads. We subsequently, proceed to design the TriKon manycore processor that consists of a set of heterogeneous cores with caches of different sizes, and Triangle caches. To maximize the throughput of the system as a whole, we propose a dynamic scheduling algorithm for scheduling a class of system and CPU intensive applications on the set of heterogeneous cores. The area of the TriKon processor is within 2% of a baseline processor, and with such a system, we could achieve a performance gain of 12% for a suite of benchmarks. Within this suite, the system intensive benchmarks show a performance gain of 20% while the performance of the compute intensive ones remains unaffected. Also, by allocating extra area for cores with sophisticated cache designs, we further improved the performance of the system intensive benchmarks to 30%. Rohan Bhalla, Prathmesh Kallurkar, Smruti R. Sarangi |
HiPC | 2 |
| 2014 | Architectural Support for Handling Jitterin Shared Memory Based Parallel ApplicationsabstractWith an increasing number of cores per chip, it is becoming harder to guarantee optimal performance for parallel shared memory applications due to interference caused by kernel threads, interrupts, bus contention, and temperature management schemes (referred to as jitter). We demonstrate that the performance of parallel programs gets reduced (up to 35.22 percent) in large CMP based systems. In this paper, we characterize the jitter for large multi-core processors, and evaluate the loss in performance. We propose a novel jitter measurement unit that uses a distributed protocol to keep track of the number of wasted cycles. Subsequently, we try to compensate for jitter by using DVFS across a region of timing critical instructions called a frame. Additionally, we propose an OS cache that intelligently manages the OS cache lines to reduce memory interference. By performing detailed cycle accurate simulations, we show that we are able to execute a suite of Splash2 and Parsec benchmarks with a deterministic timing overhead limited to 2 percent for 14 out of 17 benchmarks with modest DVFS factors. We reduce the overall jitter by an average 13.5 percent for Splash2 and 6.4 percent for Parsec. The area overhead of our scheme is limited to 1 percent. Sandeep Chandran, Prathmesh Kallurkar, Smruti R. Sarangi |
IEEE Trans. Parallel Distributed Syst. | 2 |