VLDB 2026 Research / reviewers in the wild / expert
Vijay S. Pai
dblp:05/4510
· DBLP profile ↗
43ranked-venue papers
6as first author
0since 2021 · last 2016
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 34 · 5 first-authorSoftware engineering, systems software and programming languages · 10 · 2 first-authorGraphics, computer vision, multimedia, augmented reality and games · 3 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 2
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
21 papers |
Memory systems · 36% Parallel and multicore computing · 18% Processor architecture and microarchitecture · 17% | |
| Software engineering, system software, and programming languages
5 papers |
Concurrent programming · 65% Program analysis · 26% Compilers and program optimization · 6% | |
| Computer networks
4 papers |
Content delivery and video streaming · 58% Internet architecture and protocols · 42% |
Topics — the 30 heaviest of 63, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
cache management |
0.4 | 2 | 2015 | Runtime-driven shared last-level cache management for task-parallel programs · SC 2015 Variation Aware Cache Partitioning for Multithreaded Programs · DAC 2014 |
Memory systems › cache management
cache partitioning |
0.4 | 2 | 2014 | Variation Aware Cache Partitioning for Multithreaded Programs · DAC 2014 Imbalanced cache partitioning for balanced data-parallel programs · MICRO 2013 |
Memory systems
cache |
0.2 | 3 | 2013 | Imbalanced cache partitioning for balanced data-parallel programs · MICRO 2013 Network Interface Data Caching · IEEE Trans. Computers 2005 Increasing web server throughput with network interface data caching · ASPLOS 2002 |
Memory systems
cache coherence |
0.2 | 2 | 2015 | Automatic sharing classification and timely push for cache-coherent systems · SC 2015 An Evaluation of Memory Consistency Models for Shared-Memory Systems with ILP Processors · ASPLOS 1996 |
Concurrent programming
atomicity |
0.2 | 2 | 2010 | Using data structure knowledge for efficient lock generation and strong atomicity · PPoPP 2010 Automatic atomic region identification in shared memory SPMD programs · OOPSLA 2010 |
Distributed systems › resource sharing
data sharing |
0.2 | 1 | 2015 | Automatic sharing classification and timely push for cache-coherent systems · SC 2015 |
Interconnection networks and networks-on-chip
interconnection networks |
0.2 | 1 | 2015 | Automatic sharing classification and timely push for cache-coherent systems · SC 2015 |
Interconnection networks and networks-on-chip
on-chip communication |
0.2 | 1 | 2015 | Automatic sharing classification and timely push for cache-coherent systems · SC 2015 |
Parallel and multicore computing › parallel programming runtimes
task-based runtime |
0.2 | 1 | 2015 | Runtime-driven shared last-level cache management for task-parallel programs · SC 2015 |
Processor architecture and microarchitecture
multicore design |
0.2 | 1 | 2014 | Variation Aware Cache Partitioning for Multithreaded Programs · DAC 2014 |
Processor architecture and microarchitecture › instruction scheduling
variation-aware scheduling |
0.2 | 1 | 2014 | Variation Aware Cache Partitioning for Multithreaded Programs · DAC 2014 |
Memory systems › memory hierarchy › cache hierarchy
last-level cache |
0.2 | 1 | 2013 | Imbalanced cache partitioning for balanced data-parallel programs · MICRO 2013 |
Processor architecture and microarchitecture
chip multiprocessor |
0.1 | 3 | 2015 | Runtime-driven shared last-level cache management for task-parallel programs · SC 2015 Imbalanced cache partitioning for balanced data-parallel programs · MICRO 2013 An Efficient Programmable 10 Gigabit Ethernet Network Interface Card · HPCA 2005 |
Program analysis
static analysis |
0.1 | 1 | 2010 | Automatic atomic region identification in shared memory SPMD programs · OOPSLA 2010 |
Concurrent programming › atomicity
strong atomicity |
0.1 | 1 | 2010 | Using data structure knowledge for efficient lock generation and strong atomicity · PPoPP 2010 |
Processor architecture and microarchitecture › chip multiprocessor
cell processor |
0.1 | 1 | 2010 | Modeling advanced collective communication algorithms on cell-based systems · PPoPP 2010 |
High-performance computing
collective communication |
0.1 | 1 | 2010 | Modeling advanced collective communication algorithms on cell-based systems · PPoPP 2010 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.1 | 6 | 1999 | The Impact of Exploiting Instruction-Level Parallelism on Shared-Memory Multiprocessors · IEEE Trans. Computers 1999 Analytic Evaluation of Shared-memory Systems with ILP Processors · ISCA 1998 The Interaction of Software Prefetching with ILP Processors in Shared-Memory Systems · ISCA 1997 |
Interconnection networks and networks-on-chip › network interface
programmable network interface |
0.1 | 2 | 2005 | An Efficient Programmable 10 Gigabit Ethernet Network Interface Card · HPCA 2005 Exploiting task-level concurrency in a programmable network interface · PPoPP 2003 |
Internet architecture and protocols › world wide web
web server |
0.1 | 2 | 2005 | Network Interface Data Caching · IEEE Trans. Computers 2005 Increasing web server throughput with network interface data caching · ASPLOS 2002 |
Content delivery and video streaming
peer-to-peer streaming |
0.1 | 1 | 2007 | Improving VoD server efficiency with bittorrent · ACM Multimedia 2007 |
Content delivery and video streaming
video-on-demand |
0.1 | 1 | 2007 | Improving VoD server efficiency with bittorrent · ACM Multimedia 2007 |
Network security › intrusion detection and prevention
intrusion detection |
0.1 | 1 | 2007 | Conservative vs. optimistic parallelization of stateful network intrusion detection · PPoPP 2007 |
Parallel and multicore computing › parallel programming models
dataflow programming |
0.1 | 1 | 2007 | Expressing and exploiting concurrency in networked applications with aspen · PPoPP 2007 |
Parallel and multicore computing › parallel computing
parallel programming languages |
0.1 | 1 | 2007 | Expressing and exploiting concurrency in networked applications with aspen · PPoPP 2007 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2007 | Expressing and exploiting concurrency in networked applications with aspen · PPoPP 2007 |
Parallel and multicore computing
speculative parallelization |
0.1 | 1 | 2007 | Conservative vs. optimistic parallelization of stateful network intrusion detection · PPoPP 2007 |
Parallel and multicore computing › parallelization strategies
task-level parallelism |
0.1 | 1 | 2007 | Expressing and exploiting concurrency in networked applications with aspen · PPoPP 2007 |
Parallel and multicore computing › parallel programming models › task parallelism
task-parallel programs |
0.1 | 1 | 2015 | Runtime-driven shared last-level cache management for task-parallel programs · SC 2015 |
Memory systems › memory consistency
memory consistency model |
0.1 | 3 | 1999 | Recent advances in memory consistency models for hardware shared memory systems · Proc. IEEE 1999 The Interaction of Software Prefetching with ILP Processors in Shared-Memory Systems · ISCA 1997 An Evaluation of Memory Consistency Models for Shared-Memory Systems with ILP Processors · ASPLOS 1996 |
Methods — techniques the papers use, named apart from their topics
runtime dependency management · 0.2directory-based coherence · 0.2adaptive push · 0.2programmable network interface · 0.2workload characterization · 0.2optimistic parallelization · 0.1directed graph program representation · 0.1conservative parallelization · 0.1bittorrent · 0.1simulation · 0.1lock generation · 0.1data structure knowledge · 0.1application-level response caching · 0.1workload partitioning · 0.0firmware parallelization · 0.0survey · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2016 | Symbiote Coprocessor Unit - A Streaming Coprocessor for Data Stream AccelerationabstractThis paper describes the design and the architecture of symbiote coprocessor unit (SCU)—a programmable streaming coprocessor for a heterogeneous reconfigurable logic-assisted data stream management systems (DSMSs) such as symbiote. The SCU is intended for streaming applications with real-time event and data processing that have stricter deadlines, high-bandwidth, and high-accuracy requirements. To meet these requirements, the SCU exploits unique characteristics of DSMSs, such as single-pass tuple processing, windowed operators, and inherent data level parallelism, using a single-instruction multiple-data very large instruction word (SIMD-VLIW) microarchitecture and a novel inverted distributed register file. In order to better explain the instruction set, design, and functionality of the various units in the SCU, this paper also provides a brief overview of SymQL—a procedural query language that we developed to describe the queries that can be executed on the SCU. Finally, this paper presents the performance of SCU using four queries that represent common data stream processing use-cases, one of them being similar to a query found in the Linear Road Benchmark. Using these queries on SCU simulation, we show that the SCU outperforms a software-only DSMS running on an AMD Opteron 2350 quad-core processor by 1.5–42 times. Pranav S. Vaidya, John J. Lee 0001, Vijay S. Pai, Miyoung Lee, Sung Jin Hur |
IEEE Trans. Very Large Scale Integr. Syst. | 3 |
| 2015 | DyReCTape: a <u>dy</u>namically <u>re</u>configurable <u>c</u>ache using domain wall memory <u>tape</u>s
Ashish Ranjan 0001, Shankar Ganesh Ramasubramanian, Rangharajan Venkatesan, Vijay S. Pai, Kaushik Roy 0001, Anand Raghunathan |
DATE | 4 |
| 2015 | Exploiting Process Imbalance to Improve MPI Collective Operations in Hierarchical SystemsabstractThis work improves the performance of MPI collective communication operations in the presence of imbalanced process arrival times. High performance collective communications are crucial for the performance and scalability of applications, and imbalanced process arrival times are common in these applications. A micro-benchmark is used to investigate the nature of process imbalance with perfectly balanced workloads, and understand the nature of inter- versus intra-node imbalance. These insights are then used to develop imbalance-tolerant reduction, broadcast, and all-to-all algorithms, which minimize the synchronization delay observed by early arriving processes. Benjamin S. Parsons, Vijay S. Pai |
ICS | 2 |
| 2015 | Automatic sharing classification and timely push for cache-coherent systemsabstractThis paper proposes and evaluates Sharing/Timing Adaptive Push (STAP), a dynamic scheme for preemptively sending data from producers to consumers to minimize critical-path communication latency. STAP uses small hardware buffers to dynamically detect sharing patterns and timing requirements. The scheme applies to both intra-node and inter-socket directory-based shared memory networks. Malek Musleh, Vijay S. Pai |
SC | 2 |
| 2015 | Runtime-driven shared last-level cache management for task-parallel programsabstractTask-parallel programming models with input annotation-based concurrency extraction at runtime present a promising paradigm for programming multicore processors. Through management of dependencies, task assignments, and orchestration, these models markedly simplify the programming effort for parallelization while exposing higher levels of concurrency. Abhisek Pan, Vijay S. Pai |
SC | 2 |
| 2014 | Bridging the Virtualization Performance Gap for HPC Using SR-IOV for InfiniBandabstractThis paper shows that using SRIOV for InfiniBand can enable virtualized HPC, but only if the NIC tunable parameters are set appropriately. In particular, contrary to common belief, our results show that the default policy of aggressive use of interrupt moderation can have a negative impact on the performance of InfiniBand platforms virtualized using SR-IOV. Careful tuning of interrupt moderation benefits both Native and VM platforms and helps to bridge the gap between native and virtualized performance. For some workloads, the performance gap is reduced by 15-30%. Malek Musleh, Vijay S. Pai, John Paul Walters, Andrew J. Younge, Stephen P. Crago |
IEEE CLOUD | 2 |
| 2014 | Variation Aware Cache Partitioning for Multithreaded ProgramsabstractMultithreaded programs are commonly written and optimized for homogeneous multi-core processors assuming equal performance from all the cores. This assumption greatly simplifies the partitioning and balancing of an application's workload across threads; however, it no longer holds when the frequencies of the cores differ due to within-die variations, leading to a degradation in performance. We observe that, in addition to the frequency of the core that it executes on, the performance of a thread is also dependent on the share of shared system resources, such as last-level cache, that it receives. We propose variation-aware cache partitioning as an approach to redress the variation-induced imbalance in the execution times of threads, thereby improving the performance of multi-threaded programs. We discuss the challenges involved in realizing our proposal, including synchronization (e.g., barriers) across threads, which results in faster threads being limited by slower threads, the complex and non-linear relationship between a thread's performance and the cache capacity allocated to it, and the fact that different program phases, can respond quite differently to varying cache capacity. We propose a runtime scheme to perform spatio-temporal cache partitioning while considering both chip characteristics (frequency variations) and program characteristics. We evaluate the proposed technique by applying it to an ensemble of variation-impacted multi-cores executing multi-threaded programs from the PARSEC and SPEC-OMP suites, and demonstrate that it results in an average performance improvement of 15% by mitigating the impact of frequency variations. Vivek Joy Kozhikkottu, Abhisek Pan, Vijay S. Pai, Sujit Dey, Anand Raghunathan |
DAC | 3 |
| 2014 | Accelerating MPI Collective Communications through Hierarchical Algorithms Without Sacrificing Inter-Node Communication FlexibilityabstractThis paper presents and evaluates a universal algorithm to improve the performance of MPI collective communication operations on hierarchical clusters with many-core nodes. This algorithm exploits shared-memory buffers for efficient intra-node communication while still allowing the use of unmodified, hierarchy-unaware traditional collectives for inter-node communication (including collectives like Alltoallv). This algorithm improves on past works that convert a specific collective algorithm into a hierarchical version and are generally restricted to fan-in, fan-out, and All gather algorithms. Experimental results show impressive performance improvements utilizing a variety of collectives from MPICH as well as the closed-source Cray MPT for the inter-node communication. The experimental evaluation tests the new algorithms with as many as 65536 cores and sees speedups over the baseline averaging 14.2x for Alltoallv, 26x for All gather, and 32.7x for Reduce-Scatter. The paper further improves inter-node communication by utilizing multiple senders from the same shared memory buffer, achieving additional speedups averaging 2.5x. The discussion also evaluates special-purpose extensions to improve intra-node communication by returning shared memory or copy-on-write protected buffers from the collective. Benjamin S. Parsons, Vijay S. Pai |
IPDPS | 2 |
| 2014 | MorphStore: A local file system for Big Data with utility-driven replication and load-adaptive access schedulingabstractFile system performance is critical for overall performance of Big Data workloads. Typically, Big Data file systems consist of dual layers; a local node-level file system and a global file system. This paper presents the design and implementation of MorphStore, a local file system design that significantly improves performance when accessing large files by using two key innovations. First, MorphStore uses a load-adaptive I/O access scheduling technique that dynamically achieves the benefits of striping at low load and the throughput benefits of replication at high loads. Second, MorphStore uses a utility-driven replication to maximize the utility of replication capacity by allocating replication capacity to popular read-mostly files. Experiments reveal that MorphStore achieves 8% to 12% higher throughput while using significantly less replication for workloads that access large files. If we consider the performance-capacity tradeoff of file systems built on static techniques such as JBOD, RAID-0 and RAID-1 MorphStore extends the Pareto frontier to achieve better performance at the same replication capacity. Eric P. Villasenor, Timothy Pritchett, Jagadeesh M. Dyaberi, Vijay S. Pai, Mithuna Thottethodi |
MSST | 4 |
| 2013 | Exploiting domain knowledge to optimize parallel computational mechanics codesabstractAn important emerging problem domain in computational science and engineering is the development of multi-scale computational methods for complex problems in mechanics that span multiple spatial and temporal scales. An attractive approach to solving these problems is recursive decomposition: the problem is broken up into a tree of loosely coupled sub-problems which can be solved independently and then coupled back together to obtain the desired solution. However, a particular problem can be solved in myriad ways by coupling the sub-problems together in different tree orders. As we argue in this paper, the space of possible orders is vast, the performance gap between an arbitrary order and the best order is potentially quite large, and the likelihood that a domain scientist can find the best order to solve a problem on a particular machine is vanishingly small. In this paper, we present a system that uses domain-specific knowledge captured in computational libraries to optimize code written in a conventional language (C). The system generates efficient coupling orders to solve computational mechanics problems using recursive decomposition. Our system adopts the inspector-executor paradigm, where the problem is inspected and a novel heuristic finds an effective implementation based on domain properties evaluated by a cost model. The derived implementation is then executed by a parallel run-time system (Cilk) which achieves optimal parallel performance. We demonstrate that our cost model is highly correlated with actual application runtime, that our proposed technique outperforms non-decomposed and non-multiscale methods. The code generated by the heuristic also outperforms alternate scheduling strategies, as well as over 99% of randomly-generated recursive decompositions sampled from the space of possible solutions. Muhammad Hasan Jamal, Milind Kulkarni 0001, Arun Prakash, Vijay S. Pai |
ICS | 5 |
| 2013 | A mathematical hard disk timing model for full system simulationabstractThis paper introduces and validates a mathematical hard disk timing model designed for use in an execution-driven full-system simulator. While very accurate disk simulators and emulators exist, their complexity is often not warranted when disk operations are not the sole focus of an experiment. This model depends far less on the details of the disk structure or the physical layout of the disk, making it less complex and easier to configure. By combining traditional hard disk modeling methods with novel ways of mathematically and probabilistically modeling the platter layout and reorder queues, the need for a physical model of the disk platter is eliminated. Current full-system simulators do not include a realistic disk timing model, giving them large and variable errors when modeling disk intensive workloads. With this model, we show that disk intensive full-system simulation can be accurate, with benchmarks averaging 12% error for individual disks and 18% error for disk arrays. This model will benefit full-system performance simulations by bridging the gap between complex and highly specific disk simulators and the actual performance modeling requirements needed for effective use of full-system simulators. Benjamin S. Parsons, Vijay S. Pai |
ISPASS | 2 |
| 2013 | Imbalanced cache partitioning for balanced data-parallel programsabstractThis paper investigates partitioning the ways of a shared last-level cache among the threads of a symmetric data-parallel application running on a chip-multiprocessor. Unlike prior work on way-partitioning for unrelated threads in a multiprogramming workload, the domain of multithreaded programs requires both throughput and fairness. Additionally, our workloads show no obvious thread differences to exploit: program threads see nearly identical IPC and data reuse as they progress (as expected for a well-written load-balanced data-parallel program). Abhisek Pan, Vijay S. Pai |
MICRO | 2 |
| 2010 | Accelerating multicore reuse distance analysis with sampling and parallelizationabstractReuse distance analysis is a well-established tool for predicting cache performance, driving compiler optimizations, and assisting visualization and manual optimization of programs. Existing reuse distance analysis methods either do not account for the effects of multithreading, or suffer severe performance penalties. This paper presents a sampled, parallelized method of measuring reuse distance profiles for multithreaded programs, modeling private and shared cache configurations. The sampling technique allows it to spend much of its execution in a fast low-overhead mode, and allows the use of a new measurement method since sampled analysis does not need to consider the full state of the reuse stack. This measurement method uses O(1) data structures that may be made thread-private, allowing parallelization to reduce overhead in analysis mode. The performance of the resulting system is analyzed for a diverse set of parallel benchmarks and shown to generate accurate output compared to non-sampled full analysis as well as good results for the common application of locating low-locality code in the benchmarks, all with a performance overhead comparable to the best single-threaded analysis techniques. Derek L. Schuff, Milind Kulkarni 0001, Vijay S. Pai |
PACT | 3 |
| 2010 | Storage optimization for a peer-to-peer video-on-demand networkabstractThis paper explores requirements for efficient pre-seeding of video-on-demand (VoD) movie data onto numerous customer set-top boxes in a cable ISP environment. The pre-seeded content will then be distributed to other set-top boxes in the same cable community using a peer-to-peer (P2P) network protocol such as BitTorrent. The challenges and solutions required for P2P VoD provided by a fixed provider such as a cable company are fundamentally different from those seen in traditional P2P networks or client-server VoD solutions. Jagadeesh M. Dyaberi, Karthik N. Kannan, Vijay S. Pai |
MMSys | 3 |
| 2010 | Automatic atomic region identification in shared memory SPMD programsabstractThis paper presents TransFinder, a compile-time tool that automatically determines which statements of an unsynchronized multithreaded program must be enclosed in atomic regions to enforce conflict-serializability. Unlike previous tools, TransFinder requires no programmer input (beyond the program) and is more efficient in both time and space. Gautam Upadhyaya, Samuel P. Midkiff, Vijay S. Pai |
OOPSLA | 3 |
| 2010 | Modeling advanced collective communication algorithms on cell-based systemsabstractThis paper presents and validates performance models for a varietyvof high-performance collective communication algorithms for systems with Cell processors. The systems modeled include a single Cell processor, two Cell chips on a Cell Blade, and a cluster of Cell Blades. The models extend PLogP, the well-known point-topoint performance model, by accounting for the unique hardware characteristics of the Cell (e.g., heterogeneous interconnects and DMA engines) and by applying the model to collective communication. This paper also presents a micro-benchmark suite to accurately measure the extended PLogP parameters on the Cell Blade and then uses these parameters to model different algorithms for the barrier, broadcast, reduce, all-reduce, and all-gather collective operations. Out of 425 total performance predictions, 398 of them see less than 10% error compared to the actual execution time and all of them see less than 15%. Qasim Ali 0001, Samuel P. Midkiff, Vijay S. Pai |
PPoPP | 3 |
| 2010 | Using data structure knowledge for efficient lock generation and strong atomicityabstractTo achieve high-performance on multicore systems, sharedmemory parallel languages must efficiently implement atomic operations. The commonly used and studied paradigms for atomicity are fine-grained locking, which is both difficult to program and error-prone; optimistic software transactions, which require substantial overhead to detect and recover from atomicity violations; and compiler-generation of locks from programmer-specified atomic sections, which leads to serialization whenever imprecise pointer analysis suggests the mere possibility of a conflicting operation. This paper presents a new strategy for compiler-generated locking that uses data structure knowledge to facilitate more precise alias and lock generation analyses and reduce unnecessary serialization. Implementing and evaluating these ideas in the Java language shows that the new strategy achieves eight-thread speedups of 0.83 to 5.9 for the five STAMP benchmarks studied, outperforming software transactions on all but one benchmark, and nearly matching programmer-specified fine-grained locks on all but one benchmark. The results also indicate that compiler knowledge of data structures improves the effectiveness of compiler analysis, boosting eight-thread performance by up to 300%. Further, the new analysis allows for software support of strong atomicity with less than 1% overhead for two benchmarks and less than 20% for three others.The strategy also nearly matches the performance of programmer-specified fine-grained locks for the SPECjbb2000 benchmark, which has traditionally not been amenable to static analyses. Gautam Upadhyaya, Samuel P. Midkiff, Vijay S. Pai |
PPoPP | 3 |
| 2009 | Peer-to-peer video on demand: Challenges and solutionsabstractThe challenges and solutions required for peer-to-peer video-on-demand (P2P VoD) provided by a fixed provider such as a cable company are fundamentally different from those seen in traditional P2P networks or client-server VoD solutions. Unlike traditional P2P networks, the end nodes (set top boxes with DVR capabilities) are largely under control of the system provider. Consequently, issues like churn and free-loading are less substantial. Unlike client-server solutions, there is always a readily-available resource of peer nodes able to contribute even if they are not using the VoD service! This paper explores requirements for efficient preloading of VoD movie data onto numerous customer set-top boxes. This research is currently exploring mathematical programming algorithms that minimize uplink traffic, given a popularity model for various pieces of content and information about storage and bandwidth capacity constraints at the customer nodes. Given the complex non-linear nature of P2P interactions, these mathematical programs require non-linear optimization approaches or heuristic solutions. However, even heuristic solutions would likely provide substantial advantages over simple dynamic allocation. Vijay S. Pai, Yung Ryn Choe, Jagadeesh M. Dyaberi, Derek L. Schuff, Karthik N. Kannan |
ICME | 1 |
| 2009 | Efficient high performance collective communication for the cell bladeabstractThis paper presents high-performance collective communication algorithms and implementations that exploit the unique architectural features of the Cell heterogeneous multicore processor. This paper specifically describes novel algorithms for the barrier, broadcast, reduce, all-reduce, and all-gather collective operations, and shows the efficiency of these by comparing them to the previous Qasim Ali 0001, Samuel P. Midkiff, Vijay S. Pai |
ICS | 3 |
| 2008 | Advanced collective communication in aspenabstractAspen is a programming language that relies on high-level messaging to support communication among different program tasks executing in parallel. Unlike MPI, the computational logic of Aspen tasks is specified and developed independently of the global communication structure of the program. A root module specifies the communication structure of the program. The semantics and generality of these specifications enable novel forms of collective communication, including asynchronous and concurrent collective operations and reduction type operations with subsets of the participants being receivers of the reduced data, and with receivers that do not provide data to the reduction. This paper describes efficient implementations of these and other collective communication operations in Aspen. We demonstrate the ease-of-use of these features using several code examples and quantify their performance impact through both microbenchmarks and a quantum chemistry code used in rubber chemistry. Aspen's performance is competitive with, or slightly better than, the performance of MPI implementations for both the chemistry application and the microbenchmarks. Qasim Ali 0001, Vijay S. Pai, Samuel P. Midkiff |
ICS | 2 |
| 2008 | Conservative vs. Optimistic Parallelization of Stateful Network Intrusion DetectionabstractThis paper presents and experimentally analyzes the performance of three parallelization strategies for the popular open-source Snort network intrusion detection system (NIDS). The parallelizations include 2 conservative variants and 1 optimistic scheme. The conservative strategy parallelizes inspection at the level of TCP/IP flows, as any potential inter-packet dependences are confined to a single flow. The flows are partitioned among threads, and each flow is processed in-order at one thread. A second variation reassigns flows between threads to improve load balance but still requires that only one thread process a given flow at a time. The flow-concurrent scheme provides good performance for 3 of the 5 network packet traces studied, reaching as high as 4.1 speedup and 3.1 Gbps inspection rate on a commodity 8-core server. Dynamic reassignment does not improve performance scalability because it introduces locking overheads that offset any potential benefits of load balancing. Neither conservative version can achieve good performance, however, without enough concurrent networkflows. For this case, this paper presents an optimistic parallelization that exploits the observation that not all packets from a flow are actually connected by dependences. This system allows a single flow to be simultaneously processed by multiple threads, stalling if an actual dependence is found. The optimistic version has additional overheads that reduce speedup by 25% for traces with flow concurrency, but its benefits allow one additional trace to see substantial speedup (2.4 on five cores). Derek L. Schuff, Yung Ryn Choe, Vijay S. Pai |
ISPASS | 3 |
| 2007 | A Model and Prototype of a Resource-Efficient Storage Server for High-Bitrate Video-on-DemandabstractThis paper presents a mathematical model and a prototype of a resource-efficient storage server for high-bitrate video-on-demand (VoD) applications. Rapid exponential growth of disk capacity enables the storage of high-bitrate VoD streams; however, a server system must be carefully designed to allow those streams to be retrieved from disk and delivered to the network efficiently. Additionally, a cost-effective server should be implemented using only commodity components, such as standard PCs, SATA disks and controllers, and Gigabit Ethernet links. This paper presents a model: detailed enough to account for the rate-based nature of streaming video, the buffering time allowed by the application, and average-case disk hardware characteristics while remaining simple enough to use for algorithm and system design. This paper then describes a prototype storage server designed to serve large video files at the specified bitrates and finds its performance to agree closely with the model (with an average discrepancy of 11% for high-bitrate streams). The system uses up to 8 SATA-300 disks and can simultaneously serve 290 distinct DVD-quality (6 Mbps) streams or 74 distinct HDTV-quality (25 Mbps) streams from disk, achieving an aggregate network throughput of 1.85 Gbps. Yung Ryn Choe, Chase Douglas, Vijay S. Pai |
IPDPS | 3 |
| 2007 | Achieving Reliable Parallel Performance in a VoD Storage Server Using Randomization and ReplicationabstractThis paper investigates randomization and replication as strategies to achieve reliable performance in disk arrays targeted for video-on-demand (VoD) workloads. A disk array can provide high aggregate throughput, but only if the server can effectively balance the load on the disks. Such load balance is complicated by two key factors: workload hotspots caused by differences in popularity among media streams, and "fail-stutter" faults that arise when the performance of one or more devices drops below expectations due to manufacturing variations, hardware problems, or geometry-related variations. This paper focuses on the random duplicate assignment (RDA) data allocation policy which places each data block on two disks chosen at random, independent of other blocks in the same media stream or other streams. This strategy is compared to traditional single-disk file allocation, disk striping (RAID-0), disk mirroring (RAID-1), and randomization without duplication. The various allocation schemes are implemented and tested using a prototype VoD server with 2 dual-core Opteron processors, 8 SATA disks, and 4 gigabit Ethernet interfaces running the Linux 2.6 kernel. The results indicate that combining randomization and replication allows RDA to effectively tolerate both workload hotspots and fail-stutter faults better than previous schemes. Yung Ryn Choe, Vijay S. Pai |
IPDPS | 2 |
| 2007 | Design Alternatives for a High-Performance Self-Securing Ethernet Network InterfaceabstractThis paper presents and evaluates a strategy for integrating the Snort network intrusion detection system into a high-performance programmable Ethernet network interface card (NIC), considering the impact of several possible hardware and software design choices. While currently proposed ASIC, FPGA, and TCAM systems can match incoming string content in real-time, the system proposed also supports the stream reassembly and HTTP content transformation capabilities of Snort. This system, called LineSnort, parallelizes Snort using concurrency across TCP sessions and executes those parallel tasks on multiple low-frequency pipelined RISC processors embedded in the NIC. LineSnort additionally exploits opportunities for intra-session concurrency. The system also includes dedicated hardware for high-bandwidth data transfers and for high-performance string matching. Derek L. Schuff, Vijay S. Pai |
IPDPS | 2 |
| 2007 | Improving VoD server efficiency with bittorrentabstractThis paper presents and evaluates Toast, a scalable Video-on-Demand (VoD)streaming system that combines the popular BitTorrent peer-to-peer (P2P)file-transfer technology with a simple dedicated streaming server to decrease server load and increase client transfer speed. Toast includes a modified version of BitTorrent that supports streaming data delivery and that communicates with a VoD server when the desired data cannot be delivered in real-time by other peers. Yung Ryn Choe, Derek L. Schuff, Jagadeesh M. Dyaberi, Vijay S. Pai |
ACM Multimedia | 4 |
| 2007 | Conservative vs. optimistic parallelization of stateful network intrusion detectionabstractThis paper presents two approaches to parallelizing the Snort network intrusion detection system (NIDS). One scheme parallelizes NIDS processing conservatively across independent network flows, while the other optimistically achieves intra-flow parallelism by exploiting the observation that certain intra-flow dependences are uncommon and may be ignored under certain circumstances. Both schemes achieve average speedup over 2 on four cores, with an average throughput over 1 Gbps on 5 traces tested. Derek L. Schuff, Yung Ryn Choe, Vijay S. Pai |
PPoPP | 3 |
| 2007 | Expressing and exploiting concurrency in networked applications with aspenabstractThis paper presents Aspen, a high-level programming language thattargets both high-productivity programming and runtime support formanaging resources needed by a computation. Programs in Aspen arerepresented as directed graphs, where the edges are well-definedunidirectional communication channels and the nodes are instances of computational modules that process the incoming data. The resulting representation of a program closely resembles a flow chart describing the flow of computation in a server application and exposing the communicationat a high level of abstraction. This strategy for program composition naturally allows parallelism and data sharing to be factored out of the core computational logic of a program, facilitating a division of labor between parallelism expertsand application experts and also easing code development and maintenance. Aspen automatically and transparently supports task-level parallelism among module instancesand data-level parallelism across different flows in an application or, in some cases, across different work items within a flow. Aspen automatically and adaptively allocates threads to modules according to the dynamic workload seen at those modules. Gautam Upadhyaya, Vijay S. Pai, Samuel P. Midkiff |
PPoPP | 2 |
| 2006 | Seekable sockets: a mechanism to reduce copy overheads in TCP-based messagingabstractThis paper extends the traditional socket interface to TCP/IP communication with the ability to seek rather than simply receive data in order. Seeking on a TCP socket allows a user program to receive data without first receiving all previous data on the connection. Through repeated use of seeking, a messaging application or library can treat a TCP socket as a list of messages with the potential to receive and remove data from any arbitrary point rather than simply the head of the socket buffer. Seeking facilitates copy-avoidance between a messaging library and user code by eliminating the need to first copy unwanted data into a library buffer before receiving desired data that appears later in the socket buffer. The seekable sockets interface is implemented in the Linux 2.6.13 kernel. Experimental results are gathered using a simple microbenchmark that receives data out-of-order from a given socket, yielding up to a 40% reduction in processing time. The code for seekable sockets is now available for patching into existing Linux kernels and for further development into messaging libraries Chase Douglas, Vijay S. Pai |
IPDPS | 2 |
| 2005 | An Efficient Programmable 10 Gigabit Ethernet Network Interface CardabstractThis paper explores the hardware and software mechanisms necessary for an efficient programmable 10 Gigabit Ethernet network interface card. Network interface processing requires support for the following characteristics: a large volume of frame data, frequently accessed frame metadata, and high frame rate processing. This paper proposes three mechanisms to improve programmable network interface efficiency. First, a partitioned memory organization enables low-latency access to control data and high-bandwidth access to frame contents from a high-capacity memory. Second, a distributed task-queue mechanism enables parallelization of frame processing across many low-frequency cores, while using software to maintain total frame ordering. Finally, the addition of two new atomic read-modify-write instructions reduces frame ordering overheads by 50%. Combining these hardware and software mechanisms enables a network interface card to saturate a full-duplex 10 Gb/s Ethernet link by utilizing 6 processor cores and 4 banks of on-chip SRAM operating at 166 MHz, along with external 500 MHz GDDR SDRAM. Paul Willmann, Hyong-youb Kim, Scott Rixner, Vijay S. Pai |
HPCA | 4 |
| 2005 | Network Interface Data CachingabstractNetwork interface data caching reduces local interconnect traffic on network servers by caching frequently-requested content on a programmable network interface. The operating system on the host CPU determines which data to store in the cache and for which packets it should use data from the cache. To facilitate data reuse across multiple packets and connections, the cache only stores application-level response content (such as HTTP data), with application-level and networking headers generated by the host CPU. Network interface data caching reduces PCI traffic by 12-61 percent for six Web workloads on a prototype implementation of a uniprocessor Web server. This traffic reduction improves peak throughput for three workloads by 6-36 percent. Hyong-youb Kim, Scott Rixner, Vijay S. Pai |
IEEE Trans. Computers | 3 |
| 2004 | Spinach: a liberty-based simulator for programmable network interface architecturesabstractThis paper presents Spinach, a new simulator toolset specifically designed to target programmable network interface architectures. Spinach models both system components that are common to all programmable environments (e.g., ALUs, control and data paths, registers, instruction processing) and components that are specific to the embedded systems and network interface environments (e.g., software-controlled scratchpad memory, hardware assists for DMA and medium access control).Spinach is built on the Liberty Simulation Environment (LSE) and exploits LSE's modularity to support easy reconfiguration of programmable network interface cards (NICs) and embedded systems, enabling wide design space exploration with little or no code variation. For example, the same underlying C code is used whether supporting a uniprocessor Gigabit network interface, a multiprocessor Gigabit interface, or a multiprocessor 10 Gigabit interface with a highly heterogeneous memory system. The only difference is in a small number of lines of high-level scripting code used to configure the various modules into a simulation model.Spinach is validated by modeling the Tigon-2 programmable Ethernet controller by Alteon Websystems running actual Ethernet processing firmware and by comparing the reported results to actual hardware benchmarks. Spinach is then used to obtain new insights about the performance of Gigabit and 10 Gigabit network interfaces. Paul Willmann, Michael Brogioli, Vijay S. Pai |
LCTES | 3 |
| 2004 | Isolating the performance impacts of network interface cards through microbenchmarksabstractNo abstract available. Vijay S. Pai, Scott Rixner, Hyong-youb Kim |
SIGMETRICS | 1 |
| 2003 | Exploiting task-level concurrency in a programmable network interfaceabstractProgrammable network interfaces provide the potential to extend the functionality of network services but lead to instruction processing overheads when compared to application-specific network interfaces. This paper aims to offset those performance disadvantages by exploiting task-level concurrency in the workload to parallelize the network interface firmware for a programmable controller with two processors. By carefully partitioning the handler procedures that process various events related to the progress of a packet, the system can minimize sharing, achieve load balance, and efficiently utilize on-chip storage. Compared to the uniprocessor firmware released by the manufacturer, the parallelized network interface firmware increases throughput by 65% for bidirectional UDP traffic of maximum-sized packets, 157% for bidirectional UDP traffic of minimum-sized packets, and 32--107% for real network services. This parallelization results in performance within 10--20% of a modern ASIC-based network interface for real network services. Hyong-youb Kim, Vijay S. Pai, Scott Rixner |
PPoPP | 2 |
| 2002 | Increasing web server throughput with network interface data cachingabstractThis paper introduces network interface data caching, a new technique to reduce local interconnect traffic on networking servers by caching frequently-requested content on a programmable network interface. The operating system on the host CPU determines which data to store in the cache and for which packets it should use data from the cache. To facilitate data reuse across multiple packets and connections, the cache only stores application-level response content (such as HTTP data), with application-level and networking headers generated by the host CPU. Network interface data caching can reduce PCI traffic by up to 57% on a prototype implementation of a uniprocessor web server. This traffic reduction results in up to 31% performance improvement, leading to a peak server throughput of 1571 Mb/s. Hyong-youb Kim, Vijay S. Pai, Scott Rixner |
ASPLOS | 2 |
| 1999 | Improving the Accuracy vs. Speed Tradeoff for Simulating Shared-Memory Multiprocessors with ILP ProcessorsabstractPrevious simulators for shared-memory architectures have imposed a large tradeoff between simulation accuracy and speed. Most such simulators model simple processors that do not exploit common instruction-level parallelism (ILP) features, consequently exhibiting large errors when used to model current systems. A few newer simulators model current ILP processors in detail, but we find them to be about ten times slower. We propose a new simulation technique, based on a novel adaptation of direct execution, that alleviates this accuracy vs. speed tradeoff. We compare the speed and accuracy of our new simulator, DirectRSIM, with three other simulators-RSIM (a detailed simulator for multiprocessors with ILP processors) and two representative simple-processor based simulators. Compared to RSIM, on average, DirectRSIM is 3.6 times faster and exhibits a relative error of only 1.3% in total execution time. Compared to the simple-processor based simulators, DirectRSIM is far superior in accuracy, and yet is only 2.7 times slower. Murthy Durbhakula, Vijay S. Pai, Sarita V. Adve |
HPCA | 2 |
| 1999 | Code Transformations to Improve Memory ParallelismabstractCurrent microprocessors incorporate techniques to exploit instruction-level parallelism (ILP). However, previous work has shown that these ILP techniques are less effective in removing memory stall time than CPU time, making the memory system a greater bottleneck in ILP-based systems than previous-generation systems. These deficiencies arise largely because applications present limited opportunities for an out-of-order issue processor to overlap multiple read misses, the dominant source of memory stalls. This work proposes code transformations to increase parallelism in the memory system by overlapping multiple read misses within the same instruction window, while preserving cache locality. We present an analysis and transformation framework suitable for compiler implementation. Our simulation experiments show substantial increases in memory parallelism, leading to execution time reductions averaging 23% in a multiprocessor and 30% in a uniprocessor. We see similar benefits on a Convex Exemplar. Vijay S. Pai, Sarita V. Adve |
MICRO | 1 |
| 1999 | Recent advances in memory consistency models for hardware shared memory systemsabstractThe memory consistency model of a shared memory system determines the order in which memory operations will appear to execute to the programmer. The memory consistency model for a system typically involves a tradeoff between performance and programmability. The paper provides an overview of recent advances in hardware optimizations; compiler optimizations, and programming environments relevant to memory consistency models of hardware distributed shared memory systems. We discuss recent hardware and compiler optimizations that exploit the observation that it is sufficient to only appear as if the ordering rules of the consistency model are obeyed. These optimizations substantially improve the performance of the strictest consistency model, making it more attractive for its programmability. Recent concurrent programming languages and environments, on the other hand, support more relaxed consistency models. We discuss several such environments, including POSIX threads, Java, and OpenMP. Sarita V. Adve, Vijay S. Pai, Parthasarathy Ranganathan |
Proc. IEEE | 2 |
| 1999 | The Impact of Exploiting Instruction-Level Parallelism on Shared-Memory MultiprocessorsabstractCurrent microprocessors incorporate techniques to aggressively exploit instruction-level parallelism (ILP). This paper evaluates the impact of such processors on the performance of shared-memory multiprocessors, both without and with the latency-hiding optimization of software prefetching. Our results show that, while ILP techniques substantially reduce CPU time in multiprocessors, they are less effective in removing memory stall time. Consequently, despite the inherent latency tolerance features of ILP processors, we find memory system performance to be a larger bottleneck and parallel efficiencies to be generally poorer in ILP-based multiprocessors than in previous generation multiprocessors. The main reasons for these deficiencies are insufficient opportunities in the applications to overlap multiple load misses and increased contention for resources in the system. We also find that software prefetching does not change the memory bound nature of most of our applications on our ILP multiprocessor, mainly due to a large number of late prefetches and resource contention. Our results suggest the need for additional latency hiding or reducing techniques for ILP systems, such as software clustering of load misses and producer-initiated communication. Vijay S. Pai, Parthasarathy Ranganathan, Hazim Abdel-Shafi, Sarita V. Adve |
IEEE Trans. Computers | 1 |
| 1998 | Analytic Evaluation of Shared-memory Systems with ILP ProcessorsabstractThis paper develops and validates an analytical model for evaluating various types of architectural alternatives for shared-memory systems with processors that aggressively exploit instruction-level parallelism. Compared to simulation, the analytical model is many orders of magnitude faster to solve, yielding highly accurate system-performance estimates in seconds. The model input parameters characterize the ability of an application to exploit instruction-level parallelism as well as the interaction between the application and the memory system architecture. A trace-driven simulation methodology is developed that allows these parameters to be generated over 100 times faster than with a detailed execution-driven simulator. Finally, this paper shows that the analytical model can be used to gain insights into application performance and to evaluate architectural design trade-offs. Daniel J. Sorin, Vijay S. Pai, Sarita V. Adve, Mary K. Vernon, David A. Wood 0001 |
ISCA | 2 |
| 1997 | The Impact of Instruction-Level Parallelism on Multiprocessor Performance and Simulation MethodologyabstractCurrent microprocessors exploit high levels of instruction-level parallelism (ILP) through techniques such as multiple issue, dynamic scheduling, and non-blocking reads. This paper presents the first detailed analysis of the impact of such processors on shared-memory multiprocessors using a detailed execution-driven simulator. Using this analysis, we also examine the validity of common direct-execution simulation techniques that employ previous-generation processor models to approximate ILP-based multiprocessors. We find that ILP techniques substantially reduce CPU time in multiprocessors, but are less effective in reducing memory stall time. Consequently, despite the presence of inherent latency-tolerating techniques in ILP processors, memory stall time becomes a larger component of execution time and parallel efficiencies are generally poorer in ILP-based multiprocessors than in previous-generation multiprocessors. Examining the validity of direct-execution simulators with previous-generation processor models, we find that, with appropriate approximations, such simulators can reasonably characterize the behavior of applications with poor overlap of read misses. However, they can be highly inaccurate for applications with high overlap of read misses. For our applications, the errors in execution time with these simulators range from 26% to 192% for the most commonly used model, and from -8% to 73% for the most accurate model. Vijay S. Pai, Parthasarathy Ranganathan, Sarita V. Adve |
HPCA | 1 |
| 1997 | The Interaction of Software Prefetching with ILP Processors in Shared-Memory SystemsabstractCurrent microprocessors aggressively exploit instruction-level parallelism (ILP) through techniques such as multiple issue, dynamic scheduling, and non-blocking reads. Recent work has shown that memory latency remains a significant performance bottleneck for shared-memory multiprocessor systems built of such processors.This paper provides the first study of the effectiveness of software-controlled non-binding prefetching in shared memory multiprocessors built of state-of-the-art ILP-based processors. We find that software prefetching results in significant reductions in execution time (12% to 31%) for three out of five applications on an ILP system. However, compared to previous-generation system, software prefetching is significantly less effective in reducing the memory stall component of execution time on an ILP system. Consequently, even after adding software prefetching, memory stall time accounts for over 30% of the total execution time in four out of five applications on our ILP system.This paper also investigates the interaction of software prefetching with memory consistency models on ILP-based multiprocessors. In particular, we seek to determine whether software prefetching can equalize the performance of sequential consistency (SC) and release consistency (RC). We find that even with software prefetching, for three out of five applications, RC provides a significant reduction in execution time (15% to 40%) compared to SC. Parthasarathy Ranganathan, Vijay S. Pai, Hazim Abdel-Shafi, Sarita V. Adve |
ISCA | 2 |
| 1997 | Using Speculative Retirement and Larger Instruction Windows to Narrow the Performance Gap Between Memory Consistency ModelsabstractThis paper studies techniques to improue the performance of memory consistency models for shared-memory multiprocessors with ILP processors.The first part of this paper extends earlier work by studying the impact of current hardware optimization to memory consistency implementations, hardware-controlled non-binding prefetching and speculative load execution, on the performance of the processor consistency (PC) memory model.We find that the optimized implementation Parthasarathy Ranganathan, Vijay S. Pai, Sarita V. Adve |
SPAA | 2 |
| 1996 | An Evaluation of Memory Consistency Models for Shared-Memory Systems with ILP ProcessorsabstractRelaxed consistency models have been shown to significantly outperform sequential consistency for single-issue, statically scheduled processors with blocking reads. However, current microprocessors aggressively exploit instruction-level parallelism (ILP) using methods such as multiple issue, dynamic scheduling, and non-blocking reads. Researchers have conjectured that two techniques, hardware-controlled non-binding prefetching and speculative loads, have the potential to equalize the hardware performance of memory consistency models on such processors.This paper performs the first detailed quantitative comparison of several implementations of sequential consistency and release consistency optimized for aggressive ILP processors. Our results indicate that hardware prefetching and speculative loads dramatically improve the performance of sequential consistency. However, the gap between sequential consistency and release consistency depends on the cache write policy and the complexity of the cache-coherence protocol implementation. In most cases, release consistency significantly outperforms sequential consistency, but for two applications, the use of a write-back primary cache and a more complex cache-coherence protocol nearly equalizes the performance of the two models.We also observe that the existing techniques, which require on-chip hardware modifications, enhance the performance of release consistency only to a small extent. We propose two new software techniques --- fuzzy acquires and selective acquires --- to achieve more overlap than allowed by the previous implementations of release consistency. To enhance methods for overlapping acquires, we also propose a technique to eliminate control dependences caused by an acquire loop, using a small amount of off-chip hardware called the synchronization buffer. Vijay S. Pai, Parthasarathy Ranganathan, Sarita V. Adve, Tracy Harton |
ASPLOS | 1 |