Manjunath Gorentla Venkata
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Previous Organizations / Institutes
The organizations / institutes from the scholar's other articles in the past ten years
Research Subjects
Manjunath Gorentla Venkata has a total of 142 co-authors. Here are the top co-authors by number of shared publications:
Pavel Shamis
ARM Inc., Cambridge (United Kingdom)
19 shared publicationsNeena Imam
7 shared publicationsFerrol Aderholdt
Oak Ridge National Laboratory
6 shared publicationsRichard Graham
Mellanox Technologies, Sunnyvale, CA, USA
6 shared publicationsRichard L. Graham
6 shared publicationsSwaroop Pophale
Oak Ridge National Laboratory
6 shared publications
Latest Publications
- Open Access
- 27 September 2026
- Published by Association for Computing Machinery (ACM)
- p. 997-1007
ActiveRDMA: SmartNIC-offloaded, Multi-Step RDMA operations
- 27 September 2026
- Published by Association for Computing Machinery (ACM)
- p. 997-1007
Open AccessActiveRDMA: SmartNIC-offloaded, Multi-Step RDMA operations
- 28 January 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Micro
- Vol. 45 (2) , 26-35
Unified Collective Communication: A Unified Library for CPU, GPU, and DPU Collectives
Unified Collective Communication (UCC) is an API and library implementation of collective communication operations. The goal of UCC is to provide a unified API and library serving the collective communication needs of various workloads running on a wide variety of system architectures. Particularly, we aim to unify the collective communication interfaces and semantics and provide a common implementation framework for (i) parallel programming models, Deep Learning (DL) and I/O, (ii) collectives moving data in CPU main memory and device memory (GPU and Data Processing Unit (DPU)), and (iii) collective operations using software point-to-point and hardware transports. In this paper, we present an overview of UCC’s design, interfaces, semantics, and an implementation. We demonstrate UCC’s capabilities through evaluations with microbenchmarks representing diverse workloads and applications across various programming models including MPI, Partioned Global Address Space (PGAS) (OpenSHMEM), and PyTorch, on multiple hardware architectures (CPU, GPU and DPU).
- 28 January 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Micro
- Vol. 45 (2) , 26-35
Unified Collective Communication: A Unified Library for CPU, GPU, and DPU Collectives
Unified Collective Communication (UCC) is an API and library implementation of collective communication operations. The goal of UCC is to provide a unified API and library serving the collective communication needs of various workloads running on a wide variety of system architectures. Particularly, we aim to unify the collective communication interfaces and semantics and provide a common implementation framework for (i) parallel programming models, Deep Learning (DL) and I/O, (ii) collectives moving data in CPU main memory and device memory (GPU and Data Processing Unit (DPU)), and (iii) collective operations using software point-to-point and hardware transports. In this paper, we present an overview of UCC’s design, interfaces, semantics, and an implementation. We demonstrate UCC’s capabilities through evaluations with microbenchmarks representing diverse workloads and applications across various programming models including MPI, Partioned Global Address Space (PGAS) (OpenSHMEM), and PyTorch, on multiple hardware architectures (CPU, GPU and DPU).
- Open Access
- 12 November 2023
- Published by Association for Computing Machinery (ACM)
- p. 448-457
OpenSHMEM Queues: An abstraction for enhancing message rate, bandwidth utilization, and reducing tail latency in OpenSHMEM Applications | Proceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis
The performance of OpenSHMEM applications is significantly influenced by the network message rate and the efficient utilization of bandwidth for small messages. While network hardware offers higher message rates, software overheads hinder the achievement of these rates within the programming model and applications. The absence of appropriate abstractions in the OpenSHMEM model exacerbates this challenge. For instance, message aggregation, which has been successful with MPI derived datatypes through user mode memory registration (UMR), encounters abstraction hurdles in the OpenSHMEM programming model. Although, such improvements can only be achieved using separate middleware built on top of OpenSHMEM and cannot be easily achieved natively. Furthermore, Quality of Service (QoS) for short messages under high loads is important for HPC applications, particularly in the case of OpenSHMEM. Congestion experienced in shared HPC systems due to contention for shared networks, I/O systems, etc., can create an adverse user experience and can impact overall system performance, leading to prolonged tail latencies. To address these issues, this paper introduces a Queues API abstraction for the OpenSHMEM programming model, enabling message aggregation and in-network prioritization for small data transfers. We present the OpenSHMEM API, build a prototype for OpenSHMEM queues, explore various message aggregation techniques, and evaluate NVIDIA InfiniBand virtual lanes for QoS in OpenSHMEM. Our results demonstrate a 2x-3x bandwidth improvement using OpenSHMEM queues with message aggregation. Additionally, we achieve a substantial reduction in tail latency, with improvements of up to 3.5x observed in congested scenarios for one-sided transfers.
- 12 November 2023
- Published by Association for Computing Machinery (ACM)
- p. 448-457
Open AccessOpenSHMEM Queues: An abstraction for enhancing message rate, bandwidth utilization, and reducing tail latency in OpenSHMEM Applications | Proceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis
The performance of OpenSHMEM applications is significantly influenced by the network message rate and the efficient utilization of bandwidth for small messages. While network hardware offers higher message rates, software overheads hinder the achievement of these rates within the programming model and applications. The absence of appropriate abstractions in the OpenSHMEM model exacerbates this challenge. For instance, message aggregation, which has been successful with MPI derived datatypes through user mode memory registration (UMR), encounters abstraction hurdles in the OpenSHMEM programming model. Although, such improvements can only be achieved using separate middleware built on top of OpenSHMEM and cannot be easily achieved natively. Furthermore, Quality of Service (QoS) for short messages under high loads is important for HPC applications, particularly in the case of OpenSHMEM. Congestion experienced in shared HPC systems due to contention for shared networks, I/O systems, etc., can create an adverse user experience and can impact overall system performance, leading to prolonged tail latencies. To address these issues, this paper introduces a Queues API abstraction for the OpenSHMEM programming model, enabling message aggregation and in-network prioritization for small data transfers. We present the OpenSHMEM API, build a prototype for OpenSHMEM queues, explore various message aggregation techniques, and evaluate NVIDIA InfiniBand virtual lanes for QoS in OpenSHMEM. Our results demonstrate a 2x-3x bandwidth improvement using OpenSHMEM queues with message aggregation. Additionally, we achieve a substantial reduction in tail latency, with improvements of up to 3.5x observed in congested scenarios for one-sided transfers.
- 1 October 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 212-219
Accelerating OpenSHMEM Collectives Using In-Network Computing Approach
- 1 October 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 212-219
Accelerating OpenSHMEM Collectives Using In-Network Computing Approach
- Open Access
- 19 March 2019
- Published by Springer Nature
- p. 3-21
OpenSHMEM Sets and Groups: An Approach to Worksharing and Memory Management
- 19 March 2019
- Published by Springer Nature
- p. 3-21
Open AccessOpenSHMEM Sets and Groups: An Approach to Worksharing and Memory Management
- 27 September 2018
- Published by Wiley in Concurrency and Computation: Practice and Experience
- Vol. 32 (3)
A survey of MPI usage in the US exascale computing project
Summary: The Exascale Computing Project (ECP) is currently the primary effort in the United States focused on developing “exascale” levels of computing capabilities, including hardware, software, and applications. In order to obtain a more thorough understanding of how the software projects under the ECP are using, and planning to use the Message Passing Interface (MPI), and help guide the work of our own project within the ECP, we created a survey. Of the 97 ECP projects active at the time the survey was distributed, we received 77 responses, 56 of which reported that their projects were using MPI. This paper reports the results of that survey for the benefit of the broader community of MPI developers.
- 27 September 2018
- Published by Wiley in Concurrency and Computation: Practice and Experience
- Vol. 32 (3)
A survey of MPI usage in the US exascale computing project
Summary: The Exascale Computing Project (ECP) is currently the primary effort in the United States focused on developing “exascale” levels of computing capabilities, including hardware, software, and applications. In order to obtain a more thorough understanding of how the software projects under the ECP are using, and planning to use the Message Passing Interface (MPI), and help guide the work of our own project within the ECP, we created a survey. Of the 97 ECP projects active at the time the survey was distributed, we received 77 responses, 56 of which reported that their projects were using MPI. This paper reports the results of that survey for the benefit of the broader community of MPI developers.
- 1 August 2018
- Published by Springer Nature
- p. 533-545
SharP Unified Memory Allocator: An Intent-Based Memory Allocator for Extreme-Scale Systems
- 1 August 2018
- Published by Springer Nature
- p. 533-545
SharP Unified Memory Allocator: An Intent-Based Memory Allocator for Extreme-Scale Systems
- 1 June 2018
- Published by Office of Scientific and Technical Information (OSTI)
A Survey of MPI Usage in the U.S. Exascale Computing Project
The Exascale Computing Project (ECP) is currently the primary effort in the United States focused on developing “exascale” levels of computing capability, including hardware, software and applications. In order to obtain a more thorough understanding of how the software projects under the ECP are using, and planning to use the Message Passing Interface (MPI), and help guide the work of our own project within the ECP, we created a survey. Of the 97 ECP projects active at the time the survey was distributed, we received 77 responses, 56 of which reported that their projects were using MPI. This paper reports the results of that survey for the benefit of the broader community of MPI developers.
- 1 June 2018
- Published by Office of Scientific and Technical Information (OSTI)
A Survey of MPI Usage in the U.S. Exascale Computing Project
The Exascale Computing Project (ECP) is currently the primary effort in the United States focused on developing “exascale” levels of computing capability, including hardware, software and applications. In order to obtain a more thorough understanding of how the software projects under the ECP are using, and planning to use the Message Passing Interface (MPI), and help guide the work of our own project within the ECP, we created a survey. Of the 97 ECP projects active at the time the survey was distributed, we received 77 responses, 56 of which reported that their projects were using MPI. This paper reports the results of that survey for the benefit of the broader community of MPI developers.
- 1 May 2018
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 513-522
SHMEMGraph: Efficient and Balanced Graph Processing Using One-Sided Communication
State-of-the-art synchronous graph processing frameworks face both inefficiency and imbalance issues that cause their performance to be suboptimal. These issues include the inefficiency of communication and the imbalanced graph computation/communication costs in an iteration. We propose to replace their conventional two-sided communication model with the one-sided counterpart. Accordingly, we design SHMEMGraph, an efficient and balanced graph processing framework that is formulated across a global memory space and takes advantage of the flexibility and efficiency of one-sided communication for graph processing. Through an efficient one-sided communication channel, SHMEMGraph utilizes the high-performance operations with RDMA while minimizing the resource contention within a computer node. In addition, SHMEMGraph synthesizes a number of optimizations to address both computation imbalance and communication imbalance. By using a graph of 1 billion edges, our evaluation shows that compared to the state-of-the-art Gemini framework, SHMEMGraph achieves an average improvement of 35.5% in terms of job completion time for five representative graph algorithms.
- 1 May 2018
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 513-522
SHMEMGraph: Efficient and Balanced Graph Processing Using One-Sided Communication
State-of-the-art synchronous graph processing frameworks face both inefficiency and imbalance issues that cause their performance to be suboptimal. These issues include the inefficiency of communication and the imbalanced graph computation/communication costs in an iteration. We propose to replace their conventional two-sided communication model with the one-sided counterpart. Accordingly, we design SHMEMGraph, an efficient and balanced graph processing framework that is formulated across a global memory space and takes advantage of the flexibility and efficiency of one-sided communication for graph processing. Through an efficient one-sided communication channel, SHMEMGraph utilizes the high-performance operations with RDMA while minimizing the resource contention within a computer node. In addition, SHMEMGraph synthesizes a number of optimizations to address both computation imbalance and communication imbalance. By using a graph of 1 billion edges, our evaluation shows that compared to the state-of-the-art Gemini framework, SHMEMGraph achieves an average improvement of 35.5% in terms of job completion time for five representative graph algorithms.
- 1 March 2018
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 170-177
SharP Data Constructs: Data Constructs to Enable Data-Centric Computing
Extreme-scale applications (i.e., Big-Compute) are becoming increasingly data-intensive, i.e., producing and consuming increasingly large amounts of data. The HPC systems traditionally used for these applications are now used for Big-Data applications such as data analytics, social network analysis, machine learning, and genomics. As a consequence of these trends, the system architecture should be flexible and data-centric. This can already be witnessed in the pre-exascale systems with TBs of on-node hierarchical and heterogeneous memories, PBs of system memory, low-latency, high-throughput networks, and many threaded cores. As such, the pre-exascale systems suit the needs of both Big-Compute and Big-Data applications. Though the system architecture is flexible enough to support both Big-Compute and Big-Data, we argue there is a software gap. Particularly, we need data-centric abstractions to leverage the full potential of the system, i.e., there is a need for native support for data resilience, the ability to express data locality and affinity, mechanisms to reduce data movement, the ability to share data, and abstractions to express User's data usage and data access patterns. In this paper, we (i) show the need for taking a holistic approach towards data-centric abstractions, (ii) show how these approaches were realized in the SHARed data-structure centric Programming abstraction (SharP) library, a data-structure centric programming abstraction, and (iii) apply these approaches to a variety of applications that demonstrate its usefulness. Particularly, we apply these approaches to QMCPack and the Graph500 benchmark and demonstrate the advantages of this approach on extreme-scale systems.
- 1 March 2018
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 170-177
SharP Data Constructs: Data Constructs to Enable Data-Centric Computing
Extreme-scale applications (i.e., Big-Compute) are becoming increasingly data-intensive, i.e., producing and consuming increasingly large amounts of data. The HPC systems traditionally used for these applications are now used for Big-Data applications such as data analytics, social network analysis, machine learning, and genomics. As a consequence of these trends, the system architecture should be flexible and data-centric. This can already be witnessed in the pre-exascale systems with TBs of on-node hierarchical and heterogeneous memories, PBs of system memory, low-latency, high-throughput networks, and many threaded cores. As such, the pre-exascale systems suit the needs of both Big-Compute and Big-Data applications. Though the system architecture is flexible enough to support both Big-Compute and Big-Data, we argue there is a software gap. Particularly, we need data-centric abstractions to leverage the full potential of the system, i.e., there is a need for native support for data resilience, the ability to express data locality and affinity, mechanisms to reduce data movement, the ability to share data, and abstractions to express User's data usage and data access patterns. In this paper, we (i) show the need for taking a holistic approach towards data-centric abstractions, (ii) show how these approaches were realized in the SHARed data-structure centric Programming abstraction (SharP) library, a data-structure centric programming abstraction, and (iii) apply these approaches to a variety of applications that demonstrate its usefulness. Particularly, we apply these approaches to QMCPack and the Graph500 benchmark and demonstrate the advantages of this approach on extreme-scale systems.