EDBT 2026 Demo / reviewers in the wild / expert
Indrajit Roy 0001
dblp:r/IndrajitRoy
· DBLP profile ↗
17ranked-venue papers
2as first author
2since 2021 · last 2023
0000-0002-4766-2664ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 1 first-authorSystems, architecture and hardware · 6Databases, data management, data science and information retrieval · 4 · 2 since 2021Computer networks · 1 · 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.
| Databases, data mining, and information retrieval
4 papers |
Query processing and optimization · 37% Database system architecture and tuning · 19% Machine learning and data management · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
4 papers |
Distributed systems · 59% Memory systems · 31% Parallel and multicore computing · 5% | |
| Network and information security
6 papers |
Systems and software security · 68% Hardware security and side channels · 10% Malware analysis · 9% | |
| Software engineering, system software, and programming languages
6 papers |
Operating systems · 58% Programming languages and type systems · 18% Concurrent programming · 12% |
Topics — the 30 heaviest of 40, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Query processing and optimization
parallel query processing |
0.7 | 1 | 2023 | Progressive Partitioning for Parallelized Query Execution in Google's Napa · Proc. VLDB Endow. 2023 |
Data integration and cleaning
data warehouse |
0.5 | 1 | 2021 | Napa: Powering Scalable Data Warehousing with Robust Query Performance at Google · Proc. VLDB Endow. 2021 |
Distributed and cloud data management
geo-distributed data management |
0.5 | 1 | 2021 | Napa: Powering Scalable Data Warehousing with Robust Query Performance at Google · Proc. VLDB Endow. 2021 |
Query processing and optimization
view maintenance |
0.5 | 1 | 2021 | Napa: Powering Scalable Data Warehousing with Robust Query Performance at Google · Proc. VLDB Endow. 2021 |
Operating systems › persistence
crash consistency |
0.3 | 1 | 2017 | NVthreads: Practical Persistence for Multi-threaded Applications · EuroSys 2017 |
Memory systems
non-volatile memory |
0.3 | 1 | 2017 | NVthreads: Practical Persistence for Multi-threaded Applications · EuroSys 2017 |
Memory systems › non-volatile memory › persistent memory
persistent memory programming |
0.3 | 1 | 2017 | NVthreads: Practical Persistence for Multi-threaded Applications · EuroSys 2017 |
Systems and software security › information flow control
decentralized information flow control |
0.3 | 2 | 2014 | Practical Fine-Grained Information Flow Control Using Laminar · ACM Trans. Program. Lang. Syst. 2014 Laminar: practical fine-grained decentralized information flow control · PLDI 2009 |
Systems and software security
information flow control |
0.3 | 2 | 2014 | Practical Fine-Grained Information Flow Control Using Laminar · ACM Trans. Program. Lang. Syst. 2014 Laminar: practical fine-grained decentralized information flow control · PLDI 2009 |
Operating systems › system security
operating system security |
0.3 | 2 | 2014 | Practical Fine-Grained Information Flow Control Using Laminar · ACM Trans. Program. Lang. Syst. 2014 Laminar: practical fine-grained decentralized information flow control · PLDI 2009 |
Distributed systems
distributed data structures |
0.2 | 1 | 2016 | dmapply: A functional primitive to express distributed machine learning algorithms in R · Proc. VLDB Endow. 2016 |
Distributed systems
distributed machine learning |
0.2 | 1 | 2016 | dmapply: A functional primitive to express distributed machine learning algorithms in R · Proc. VLDB Endow. 2016 |
Distributed systems › distributed programming
distributed programming models |
0.2 | 1 | 2016 | dmapply: A functional primitive to express distributed machine learning algorithms in R · Proc. VLDB Endow. 2016 |
Machine learning and data management
in-database machine learning |
0.2 | 1 | 2015 | Large-scale Predictive Analytics in Vertica: Fast Data Transfer, Distributed Model Creation, and In-database Prediction · SIGMOD Conference 2015 |
Programming languages and type systems
information flow control |
0.2 | 1 | 2014 | Practical Fine-Grained Information Flow Control Using Laminar · ACM Trans. Program. Lang. Syst. 2014 |
Distributed systems
distributed data processing |
0.2 | 1 | 2013 | Presto: distributed machine learning and graph processing with sparse matrices · EuroSys 2013 |
Hardware security and side channels
trusted execution environments |
0.1 | 1 | 2012 | Pasture: Secure Offline Data Access Using Commodity Trusted Hardware · OSDI 2012 |
Systems and software security › operating system security
kernel integrity |
0.1 | 1 | 2011 | Ensuring operating system kernel integrity with OSck · ASPLOS 2011 |
Systems and software security
operating system security |
0.1 | 1 | 2011 | Ensuring operating system kernel integrity with OSck · ASPLOS 2011 |
Malware analysis
rootkit detection |
0.1 | 1 | 2011 | Ensuring operating system kernel integrity with OSck · ASPLOS 2011 |
Privacy and data protection
differential privacy |
0.1 | 1 | 2010 | Airavat: Security and Privacy for MapReduce · NSDI 2010 |
Concurrent programming
transactional memory |
0.1 | 1 | 2009 | Committing conflicting transactions in an STM · PPoPP 2009 |
Distributed systems › fault tolerance › failure models
crash failures |
0.1 | 1 | 2017 | NVthreads: Practical Persistence for Multi-threaded Applications · EuroSys 2017 |
Storage systems
storage reliability |
0.1 | 1 | 2017 | NVthreads: Practical Persistence for Multi-threaded Applications · EuroSys 2017 |
Machine learning and data management › scalable machine learning
distributed learning |
0.1 | 1 | 2016 | dmapply: A functional primitive to express distributed machine learning algorithms in R · Proc. VLDB Endow. 2016 |
Data mining
predictive analytics |
0.1 | 1 | 2015 | Large-scale Predictive Analytics in Vertica: Fast Data Transfer, Distributed Model Creation, and In-database Prediction · SIGMOD Conference 2015 |
Network security › anonymity networks
anonymous communication |
0.1 | 1 | 2006 | BAR Gossip · OSDI 2006 |
Distributed systems
gossip protocols |
0.1 | 1 | 2006 | BAR Gossip · OSDI 2006 |
Parallel and multicore computing › data-parallel programming
data-parallel frameworks |
0.0 | 1 | 2013 | Presto: distributed machine learning and graph processing with sparse matrices · EuroSys 2013 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 2013 | Presto: distributed machine learning and graph processing with sparse matrices · EuroSys 2013 |
Methods — techniques the papers use, named apart from their topics
load balancing · 0.7b-tree statistics · 0.7thread-level persistence · 0.6non-volatile memory persistence · 0.6multi-datacenter replication · 0.5materialized view maintenance · 0.5mapreduce · 0.5functional programming · 0.5type inference · 0.2concurrent integrity checking · 0.2sparse matrix computation · 0.2trusted hardware · 0.1gossip protocol · 0.1information flow control · 0.1differential privacy · 0.1transactional memory · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Progressive Partitioning for Parallelized Query Execution in Google's NapaabstractNapa holds Google's critical data warehouses in log-structured merge trees for real-time data ingestion and sub-second response for billions of queries per day. These queries are often multi-key look-ups in highly skewed tables and indexes. In our production experience, only progressive query-specific partitioning can achieve Napa's strict query latency SLOs. Here we advocate good-enough partitioning that keeps the per-query partitioning time low without risking uneven work distribution. Our design combines pragmatic system choices and algorithmic innovations. For instance, B-trees are augmented with statistics of key distributions, thus serving the dual purpose of aiding lookups and partitioning. Furthermore, progressive partitioning is designed to be "good enough" thereby balancing partitioning time with performance. The resulting system is robust and successfully serves day-in-day-out billions of queries with very high quality of service forming a core infrastructure at Google. Jun'ichi Tatemura, Tao Zou 0002, Jagan Sankaranarayanan, Yanlai Huang, Jim Chen, Hao Zhang 0029, Gokul Nath Babu Manoharan, Goetz Graefe, Divyakant Agrawal, Brad Adelberg, Shilpa Kolhar, Indrajit Roy 0001 |
Proc. VLDB Endow. | 14 |
| 2021 | Napa: Powering Scalable Data Warehousing with Robust Query Performance at GoogleabstractGoogle services continuously generate vast amounts of application data. This data provides valuable insights to business users. We need to store and serve these planet-scale data sets under the extremely demanding requirements of scalability, sub-second query response times, availability, and strong consistency; all this while ingesting a massive stream of updates from applications used around the globe. We have developed and deployed in production an analytical data management system, Napa, to meet these requirements. Napa is the backend for numerous clients in Google. These clients have a strong expectation of variance-free, robust query performance. At its core, Napa's principal technologies for robust query performance include the aggressive use of materialized views, which are maintained consistently as new data is ingested across multiple data centers. Our clients also demand flexibility in being able to adjust their query performance, data freshness, and costs to suit their unique needs. Robust query processing and flexible configuration of client databases are the hallmark of Napa design. Most of the related work in this area takes advantage of full flexibility to design the whole system without the need to support a diverse set of preexisting use cases. In comparison, a particular challenge we faced is that Napa needs to deal with hard constraints from existing applications and infrastructure, so we could not do a "green field" system, but rather had to satisfy existing constraints. These constraints led us to make particular design decisions and also devise new techniques to meet the challenges. In this paper, we share our experiences in designing, implementing, deploying, and running Napa in production with some of Google's most demanding applications. Ankur Agiwal, Gokul Nath Babu Manoharan, Indrajit Roy 0001, Jagan Sankaranarayanan, Hao Zhang 0029, Tao Zou 0002, Jim Chen, Thanh Do, Haoyan Geng, Raman Grover, Yanlai Huang, Adam Li, Jianyi Liang, Xi Mao, Maya Meng, Prashant Mishra, Rajesh Sr, Vijayshankar Raman, Sourashis Roy, Mayank Singh Shishodia, Tianhang Sun, Justin Tang, Jun'ichi Tatemura, Sagar Trehan, Ramkumar Vadali, Prasanna Venkatasubramanian, Joey Zhang, Zeleng Zhuang, Goetz Graefe, Divyakant Agrawal, Jeffrey F. Naughton, Sujata Kosalge, Hakan Hacigümüs |
Proc. VLDB Endow. | 4 |
| 2017 | NVthreads: Practical Persistence for Multi-threaded ApplicationsabstractNon-volatile memory technologies, such as memristor and phase-change memory, will allow programs to persist data with regular memory instructions. Liberated from the overhead to serialize and deserialize data to storage devices, programs can aim for high performance and still be crash fault-tolerant. Unfortunately, to leverage non-volatile memory, existing systems require hardware changes or extensive program modifications. Terry Ching-Hsiang Hsu, Helge Brügner, Indrajit Roy 0001, Kimberly Keeton, Patrick Eugster |
EuroSys | 3 |
| 2016 | dmapply: A functional primitive to express distributed machine learning algorithms in RabstractDue to R's popularity as a data-mining tool, many distributed systems expose an R-based API to users who need to build a distributed application in R. As a result, data scientists have to learn to use different interfaces such as RHadoop, SparkR, Revolution R's ScaleR, and HPE's Distributed R. Unfortunately, these interfaces are custom, non-standard, and difficult to learn. Not surprisingly, R applications written in one framework do not work in another, and each backend infrastructure has spent redundant effort in implementing distributed machine learning algorithms. Working with the members of R-core, we have created ddR (Distributed Data structures in R), a unified system that works across different distributed frameworks. In ddR, we introduce a novel programming primitive called dmapply that executes functions on distributed data structures. The dmapply primitive encapsulates different computation patterns: from function and data broadcast to pair-wise communication. We show that dmapply is powerful enough to express algorithms that fit the statistical query model, which includes many popular machine learning algorithms, as well as applications written in MapReduce. We have integrated ddR with many backends, such as R's single-node parallel framework, multi-node SNOW framework, Spark, and HPE Distributed R, with few or no modifications to any of these systems. We have also implemented multiple machine learning algorithms which are not only portable across different distributed systems, but also have performance comparable to the "native" implementations on the backends. We believe that ddR will standardize distributed computing in R, just like the SQL interface has standardized how relational data is manipulated. Edward Ma, Vishrut Gupta, Meichun Hsu, Indrajit Roy 0001 |
Proc. VLDB Endow. | 4 |
| 2015 | Using data transformations for low-latency time series analysisabstractTime series analysis is commonly used when monitoring data centers, networks, weather, and even human patients. In most cases, the raw time series data is massive, from millions to billions of data points, and yet interactive analyses require low (e.g., sub-second) latency. Aperture transforms raw time series data, during ingest, into compact summarized representations that it can use to efficiently answer queries at runtime. Aperture handles a range of complex queries, from correlating hundreds of lengthy time series to predicting anomalies in the data. Aperture achieves much of its high performance by executing queries on data summaries, while providing a bound on the information lost when transforming data. By doing so, Aperture can reduce query latency as well as the data that needs to be stored and analyzed to answer a query. Our experiments on real data show that Aperture can provide one to four orders of magnitude lower query response time, while incurring only 10% ingest time overhead and less than 20% error in accuracy. Henggang Cui, Kimberly Keeton, Indrajit Roy 0001, Krishnamurthy Viswanathan, Gregory R. Ganger |
SoCC | 3 |
| 2015 | Large-scale Predictive Analytics in Vertica: Fast Data Transfer, Distributed Model Creation, and In-database PredictionabstractA typical predictive analytics workflow will pre-process data in a database, transfer the resulting data to an external statistical tool such as R, create machine learning models in R, and then apply the model on newly arriving data. Today, this workflow is slow and cumbersome. Extracting data from databases, using ODBC connectors, can take hours on multi-gigabyte datasets. Building models on single-threaded R does not scale. Finally, it is nearly impossible to use R or other common tools, to apply models on terabytes of newly arriving data. Shreya Prasad, Arash Fard, Vishrut Gupta, Jeff LeFevre, Vincent Xu, Meichun Hsu, Indrajit Roy 0001 |
SIGMOD Conference | 8 |
| 2014 | Practical Fine-Grained Information Flow Control Using LaminarabstractDecentralized Information Flow Control (DIFC) is a promising model for writing programs with powerful, end-to-end security guarantees. Current DIFC systems that run on commodity hardware can be broadly categorized into two types: language-level and operating system-level DIFC. Language solutions provide no guarantees against security violations on system resources such as files and sockets. Operating system solutions mediate accesses to system resources but are either inefficient or imprecise at monitoring the flow of information through fine-grained program data structures. This article describes Laminar, the first system to implement DIFC using a unified set of abstractions for OS resources and heap-allocated objects. Programmers express security policies by labeling data with secrecy and integrity labels and access the labeled data in security methods . Laminar enforces the security policies specified by the labels at runtime. Laminar is implemented using a modified Java virtual machine and a new Linux security module. This article shows that security methods ease incremental deployment and limit dynamic security checks by retrofitting DIFC policies on four application case studies. Replacing the applications' ad hoc security policies changes less than 10% of the code and incurs performance overheads from 5% to 56%. Compared to prior DIFC systems, Laminar supports a more general class of multithreaded DIFC programs efficiently and integrates language and OS abstractions. Donald E. Porter, Michael D. Bond, Indrajit Roy 0001, Kathryn S. McKinley, Emmett Witchel |
ACM Trans. Program. Lang. Syst. | 3 |
| 2013 | Presto: distributed machine learning and graph processing with sparse matricesabstractIt is cumbersome to write machine learning and graph algorithms in data-parallel models such as MapReduce and Dryad. We observe that these algorithms are based on matrix computations and, hence, are inefficient to implement with the restrictive programming and communication interface of such frameworks. Shivaram Venkataraman, Erik Bodzsar, Indrajit Roy 0001, Alvin AuYoung, Robert S. Schreiber |
EuroSys | 3 |
| 2013 | Views and Transactional Storage for Large Graphs
Michael Mihn-Jong Lee, Indrajit Roy 0001, Alvin AuYoung, Vanish Talwar, K. R. Jayaram, Yuanyuan Zhou 0001 |
Middleware | 2 |
| 2012 | Pasture: Secure Offline Data Access Using Commodity Trusted Hardware
Ramakrishna Kotla, Thomas L. Rodeheffer, Indrajit Roy 0001, Patrick Stuedi, Benjamin Wester |
OSDI | 3 |
| 2011 | Ensuring operating system kernel integrity with OSckabstractKernel rootkits that modify operating system state to avoid detection are a dangerous threat to system security. This paper presents OSck, a system that discovers kernel rootkits by detecting malicious modifications to operating system data. OSck integrates and extends existing techniques for detecting rootkits, and verifies safety properties for large portions of the kernel heap with minimal overhead. We deduce type information for verification by analyzing unmodified kernel source code and in-memory kernel data structures.High-performance integrity checks that execute concurrently with a running operating system create data races, and we demonstrate a deterministic solution for ensuring kernel memory is in a consistent state. We introduce two new classes of kernel rootkits that are undetectable by current systems, motivating the need for the OSck API that allows kernel developers to conveniently specify arbitrary integrity properties. Owen S. Hofmann, Alan M. Dunn, Sangman Kim, Indrajit Roy 0001, Emmett Witchel |
ASPLOS | 4 |
| 2010 | Airavat: Security and Privacy for MapReduce
Indrajit Roy 0001, Srinath Setty, Ann Kilzer, Vitaly Shmatikov, Emmett Witchel |
NSDI | 1 |
| 2009 | Laminar: practical fine-grained decentralized information flow controlabstractDecentralized information flow control (DIFC) is a promising model for writing programs with powerful, end-to-end security guarantees. Current DIFC systems that run on commodity hardware can be broadly categorized into two types: language-level and operating system-level DIFC. Language level solutions provide no guarantees against security violations on system resources, like files and sockets. Operating system solutions can mediate accesses to system resources, but are inefficient at monitoring the flow of information through fine-grained program data structures. Indrajit Roy 0001, Donald E. Porter, Michael D. Bond, Kathryn S. McKinley, Emmett Witchel |
PLDI | 1 |
| 2009 | Committing conflicting transactions in an STMabstractDependence-aware transactional memory (DATM) is a recently proposed model for increasing concurrency of memory transactions without complicating their interface. DATM manages dependences between conflicting, uncommitted transactions so that they commit safely. Hany E. Ramadan, Indrajit Roy 0001, Maurice Herlihy, Emmett Witchel |
PPoPP | 2 |
| 2008 | A primal-dual resource augmentation analysis of a constant approximate algorithm for stable coalitions in a clusterabstractIn this paper we study the following Cluster Profit Problem. Highly parallelizable requests are present on some network nodes. Each request is associated with a tuple (g, r). The requester is willing to pay kg if k machines execute the request in parallel. If some machines work on a request, the machines must pay the request processing cost, r, as well as connection costs to the request. The problem is to find a profit maximizing assignment of machines to requests, such that each machine works on at most one request. The Cluster Profit Problem can be viewed as a profit maximizing variant of the Facility Location Problem. We provide and analyze an algorithm under resource augmentation for the Cluster Profit Problem. Resource augmentation is a technique made famous by the LRU caching analysis. We compare our algorithm with the optimal algorithm operating on a network graph that has a constant factor longer distances. We prove our algorithm is a constant approximation under this resource augmentation. We also show that our algorithm is resilient to group deviations if deviating increases communication costs by a constant factor. Nedialko B. Dimitrov, Indrajit Roy 0001 |
SPAA | 2 |
| 2007 | Improved error reporting for software that uses black-box componentsabstractAn error occurs when software cannot complete a requested action as a result of some problem with its input, configuration, or environment. A high-quality error report allows a user to understand and correct the problem. Unfortunately, the quality of error reports has been decreasing as software becomes more complex and layered. End-users take the cryptic error messages given to them by programsand struggle to fix their problems using search engines and support websites. Developers cannot improve their error messages when they receive an ambiguous or otherwise insufficient error indicator from a black-box software component. Christopher J. Rossbach, Jason V. Davis, Indrajit Roy 0001, Hany E. Ramadan, Donald E. Porter, David L. Chen, Emmett Witchel |
PLDI | 4 |
| 2006 | BAR Gossip
Harry C. Li, Allen Clement, Edmund L. Wong, Jeff Napper, Indrajit Roy 0001, Lorenzo Alvisi, Michael Dahlin |
OSDI | 5 |