Demo Data from EDBT 2026 / reviewers in the wild / expert
Sarang Dharmapurikar
dblp:06/802
· DBLP profile ↗
17ranked-venue papers
7as first author
0since 2021 · last 2014
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Computer networks · 11 · 6 first-authorSystems, architecture and hardware · 4Security and privacy · 2 · 1 first-authorSoftware engineering, systems software and programming languages · 1
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 networks
6 papers |
Datacenter networks · 44% Routing and switching · 27% Network measurement and analytics · 15% | |
| Network and information security
3 papers |
Network security · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Reconfigurable computing and FPGAs · 100% |
Topics — the 27 heaviest of 28, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Datacenter networks › load balancing
congestion-aware load balancing |
0.2 | 1 | 2014 | CONGA: distributed congestion-aware load balancing for datacenters · SIGCOMM 2014 |
Datacenter networks
datacenter transport |
0.2 | 1 | 2014 | CONGA: distributed congestion-aware load balancing for datacenters · SIGCOMM 2014 |
Datacenter networks › load balancing
flowlet switching |
0.2 | 1 | 2014 | CONGA: distributed congestion-aware load balancing for datacenters · SIGCOMM 2014 |
Datacenter networks
load balancing |
0.2 | 1 | 2014 | CONGA: distributed congestion-aware load balancing for datacenters · SIGCOMM 2014 |
Network security › intrusion detection and prevention
intrusion detection |
0.1 | 2 | 2006 | Fast and Scalable Pattern Matching for Network Intrusion Detection Systems · IEEE J. Sel. Areas Commun. 2006 Algorithms to accelerate multiple regular expressions matching for deep packet inspection · SIGCOMM 2006 |
Routing and switching
IP lookup |
0.1 | 2 | 2006 | Longest prefix matching using bloom filters · IEEE/ACM Trans. Netw. 2006 Longest prefix matching using bloom filters · SIGCOMM 2003 |
Routing and switching › IP lookup
longest prefix matching |
0.1 | 2 | 2006 | Longest prefix matching using bloom filters · IEEE/ACM Trans. Netw. 2006 Longest prefix matching using bloom filters · SIGCOMM 2003 |
Network measurement and analytics › per-flow measurement
counter architecture |
0.1 | 1 | 2008 | Counter braids: a novel counter architecture for per-flow measurement · SIGMETRICS 2008 |
Network measurement and analytics › traffic measurement › flow measurement
flow size estimation |
0.1 | 1 | 2008 | Counter braids: a novel counter architecture for per-flow measurement · SIGMETRICS 2008 |
Physical-layer communications › channel coding › decoding algorithms › iterative decoding
message passing decoding |
0.1 | 1 | 2008 | Counter braids: a novel counter architecture for per-flow measurement · SIGMETRICS 2008 |
Network measurement and analytics
per-flow measurement |
0.1 | 1 | 2008 | Counter braids: a novel counter architecture for per-flow measurement · SIGMETRICS 2008 |
Routing and switching › IP lookup
bloom filter-based lookup |
0.1 | 1 | 2006 | Longest prefix matching using bloom filters · IEEE/ACM Trans. Netw. 2006 |
Routing and switching
packet forwarding |
0.1 | 1 | 2006 | Longest prefix matching using bloom filters · IEEE/ACM Trans. Netw. 2006 |
Network security › intrusion detection and prevention › intrusion detection
deep packet inspection |
0.1 | 1 | 2006 | Algorithms to accelerate multiple regular expressions matching for deep packet inspection · SIGCOMM 2006 |
Network security › intrusion detection and prevention › intrusion detection › pattern matching
multi-pattern matching |
0.1 | 1 | 2006 | Fast and Scalable Pattern Matching for Network Intrusion Detection Systems · IEEE J. Sel. Areas Commun. 2006 |
Network security › intrusion detection and prevention › intrusion detection › pattern matching
regular expression matching |
0.1 | 1 | 2006 | Algorithms to accelerate multiple regular expressions matching for deep packet inspection · SIGCOMM 2006 |
Reconfigurable computing and FPGAs › FPGA-based network processing
FPGA-based pattern matching |
0.1 | 1 | 2006 | Fast and Scalable Pattern Matching for Network Intrusion Detection Systems · IEEE J. Sel. Areas Commun. 2006 |
Reconfigurable computing and FPGAs
reconfigurable computing |
0.1 | 1 | 2006 | Fast and Scalable Pattern Matching for Network Intrusion Detection Systems · IEEE J. Sel. Areas Commun. 2006 |
Routing and switching › IP lookup
hash-based lookup |
0.1 | 1 | 2005 | Fast hash table lookup using extended bloom filter: an aid to network processing · SIGCOMM 2005 |
Internet architecture and protocols › packet processing
packet classification |
0.1 | 1 | 2005 | Fast hash table lookup using extended bloom filter: an aid to network processing · SIGCOMM 2005 |
Routing and switching › data plane
router data plane |
0.1 | 1 | 2005 | Fast hash table lookup using extended bloom filter: an aid to network processing · SIGCOMM 2005 |
Transport protocols and congestion control
TCP |
0.1 | 1 | 2005 | Robust TCP Stream Reassembly in the Presence of Adversaries · USENIX Security Symposium 2005 |
Transport protocols and congestion control
transport protocols |
0.1 | 1 | 2005 | Robust TCP Stream Reassembly in the Presence of Adversaries · USENIX Security Symposium 2005 |
Network security › protocol security
TCP security |
0.1 | 1 | 2005 | Robust TCP Stream Reassembly in the Presence of Adversaries · USENIX Security Symposium 2005 |
Routing and switching
router architecture |
0.0 | 1 | 2006 | Longest prefix matching using bloom filters · IEEE/ACM Trans. Netw. 2006 |
Network measurement and analytics
flow state management |
0.0 | 1 | 2005 | Fast hash table lookup using extended bloom filter: an aid to network processing · SIGCOMM 2005 |
Algorithms and data structures › probabilistic data structures
bloom filter |
0.0 | 1 | 2003 | Longest prefix matching using bloom filters · SIGCOMM 2003 |
Methods — techniques the papers use, named apart from their topics
bloom filter · 0.3flowlet · 0.2distributed congestion feedback · 0.2on-chip embedded memory · 0.1multihashing · 0.1stream reassembly · 0.1sparse random graph codes · 0.1message-passing decoding · 0.1hash function · 0.1deterministic finite automata · 0.1Delayed Input DFA · 0.1multiple hashing · 0.1extended bloom filter · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | CONGA: distributed congestion-aware load balancing for datacentersabstractWe present the design, implementation, and evaluation of CONGA, a network-based distributed congestion-aware load balancing mechanism for datacenters. CONGA exploits recent trends including the use of regular Clos topologies and overlays for network virtualization. It splits TCP flows into flowlets, estimates real-time congestion on fabric paths, and allocates flowlets to paths based on feedback from remote switches. This enables CONGA to efficiently balance load and seamlessly handle asymmetry, without requiring any TCP modifications. CONGA has been implemented in custom ASICs as part of a new datacenter fabric. In testbed experiments, CONGA has 5x better flow completion times than ECMP even with a single link failure and achieves 2-8x better throughput than MPTCP in Incast scenarios. Further, the Price of Anarchy for CONGA is provably small in Leaf-Spine topologies; hence CONGA is nearly as effective as a centralized scheduler while being able to react to congestion in microseconds. Our main thesis is that datacenter fabric load balancing is best done in the network, and requires global schemes such as CONGA to handle asymmetry. Mohammad Alizadeh, Tom Edsall, Sarang Dharmapurikar, Ramanan Vaidyanathan, Kevin Chu, Andy Fingerhut, Vinh The Lam, Francis Matus, Navindra Yadav, George Varghese |
SIGCOMM | 3 |
| 2008 | Counter braids: a novel counter architecture for per-flow measurementabstractFine-grained network measurement requires routers and switches to update large arrays of counters at very high link speed (e.g. 40 Gbps). A naive algorithm needs an infeasible amount of SRAM to store both the counters and a flow-to-counter association rule, so that arriving packets can update corresponding counters at link speed. This has made accurate per-flow measurement complex and expensive, and motivated approximate methods that detect and measure only the large flows.This paper revisits the problem of accurate per-flow measurement. We present a counter architecture, called Counter Braids, inspired by sparse random graph codes. In a nutshell, Counter Braids compresses while counting. It solves the central problems (counter space and flow-to-counter association) of per-flow measurement by braiding a hierarchy of counters with random graphs. Braiding results in drastic space reduction by sharing counters among flows; and using random graphs generated on-the-fly with hash functions avoids the storage of flow-to-counter association.The Counter Braids architecture is optimal (albeit with a complex decoder) as it achieves the maximum compression rate asymptotically. For implementation, we present a low-complexity message passing decoding algorithm, which can recover flow sizes with essentially zero error. Evaluation on Internet traces demonstrates that almost all flow sizes are recovered exactly with only a few bits of counter space per flow. Yi Lu 0001, Andrea Montanari, Balaji Prabhakar, Sarang Dharmapurikar, Abdul Kabbani |
SIGMETRICS | 4 |
| 2006 | Fast packet classification using bloom filtersabstractTernary Content Addressable Memory (TCAM), although widely used for general packet classification, is an expensive and high power-consuming device. Algorithmic solutions which rely on commodity memory chips are relatively inexpensive and power-efficient but have not been able to match the generality and performance of TCAMs. Therefore, the development of fast and power-efficient algorithmic packet classification techniques continues to be a research subject.In this paper we propose a new approach to packet classification which combines architectural and algorithmic techniques. Our starting point is the well-known crossproduct algorithm which is fast but has significant memory overhead due to the extra rules needed to represent the crossproducts. We show how to modify the crossproduct method in a way that drastically reduces the memory requirement without compromising on performance. Unnecessary accesses to the off-chip memory are avoided by filtering them through on-chip Bloom filters. For packets that match p rules in a rule set, our algorithm requires just 4 + p + ε independent memory accesses to return all matching rules, where ε << 1 is a small constant that depends on the false positive rate of the Bloom filters. Using two commodity SRAM chips, a throughput of 38 Million packets per second can be achieved. For rule set sizes ranging from a few hundred to several thousand filters, the average rule set expansion factor attributable to the algorithm is just 1.2 to 1.4. The average memory consumption per rule is 32 to 45 bytes. Sarang Dharmapurikar, Haoyu Song 0001, Jonathan S. Turner, John W. Lockwood |
ANCS | 1 |
| 2006 | Packet classification using coarse-grained tuple spacesabstractWhile the problem of high performance packet classification has received a great deal of attention in recent years, the research community has yet to develop algorithmic methods that can overcome the drawbacks of TCAM-based solutions. This paper introduces a hybrid approach, which partitions the filter set into subsets that are easy to search efficiently. The partitioning strategy groups filters that are close to one another in tuple space [10], which makes it possible to use information from single field lookups to limit the number of subsets that must be searched. We can trade-off running time against space consumption by adjusting the coarseness of the tuple space partition. We find that for two-dimensional filter sets, the method finds the best-matching filter with just four hash probes while limiting the memory space expansion factor to about 2. We also introduce a novel method for Longest Prefix Matching (LPM), which we use as a component of the overall packet classification algorithm. Our LPM method uses a small amount of on-chip memory to speedup the search of an off-chip data structure, but uses significantly less on-chip memory than earlier methods based on Bloom filters. Haoyu Song 0001, Jonathan S. Turner, Sarang Dharmapurikar |
ANCS | 3 |
| 2006 | Algorithms to accelerate multiple regular expressions matching for deep packet inspectionabstractThere is a growing demand for network devices capable of examining the content of data packets in order to improve network security and provide application-specific services. Most high performance systems that perform deep packet inspection implement simple string matching algorithms to match packets against a large, but finite set of strings. owever, there is growing interest in the use of regular expression-based pattern matching, since regular expressions offer superior expressive power and flexibility. Deterministic finite automata (DFA) representations are typically used to implement regular expressions. However, DFA representations of regular expression sets arising in network applications require large amounts of memory, limiting their practical application.In this paper, we introduce a new representation for regular expressions, called the Delayed Input DFA (D2FA), which substantially reduces space equirements as compared to a DFA. A D2FA is constructed by transforming a DFA via incrementally replacing several transitions of the automaton with a single default transition. Our approach dramatically reduces the number of distinct transitions between states. For a collection of regular expressions drawn from current commercial and academic systems, a D2FA representation reduces transitions by more than 95%. Given the substantially reduced space equirements, we describe an efficient architecture that can perform deep packet inspection at multi-gigabit rates. Our architecture uses multiple on-chip memories in such a way that each remains uniformly occupied and accessed over a short duration, thus effectively distributing the load and enabling high throughput. Our architecture can provide ostffective packet content scanning at OC-192 rates with memory requirements that are consistent with current ASIC technology. Sailesh Kumar, Sarang Dharmapurikar, Fang Yu 0002, Patrick Crowley, Jonathan S. Turner |
SIGCOMM | 2 |
| 2006 | Rethinking Hardware Support for Network Analysis and Intrusion Prevention
Vern Paxson, Krste Asanovic, Sarang Dharmapurikar, John W. Lockwood, Ruoming Pang, Robin Sommer, Nicholas Weaver |
HotSec | 3 |
| 2006 | Fast and Scalable Pattern Matching for Network Intrusion Detection SystemsabstractHigh-speed packet content inspection and filtering devices rely on a fast multipattern matching algorithm which is used to detect predefined keywords or signatures in the packets. Multipattern matching is known to require intensive memory accesses and is often a performance bottleneck. Hence, specialized hardware-accelerated algorithms are required for line-speed packet processing. We present hardware-implementable pattern matching algorithm for content filtering applications, which is scalable in terms of speed, the number of patterns and the pattern length. Our algorithm is based on a memory efficient multihashing data structure called Bloom filter. We use embedded on-chip memory blocks in field programmable gate array/very large scale integration chips to construct Bloom filters which can suppress a large fraction of memory accesses and speed up string matching. Based on this concept, we first present a simple algorithm which can scan for several thousand short (up to 16 bytes) patterns at multigigabit per second speeds with a moderately small amount of embedded memory and a few mega bytes of external memory. Furthermore, we modify this algorithm to be able to handle arbitrarily large strings at the cost of a little more on-chip memory. We demonstrate the merit of our algorithm through theoretical analysis and simulations performed on Snort's string set Sarang Dharmapurikar, John W. Lockwood |
IEEE J. Sel. Areas Commun. | 1 |
| 2006 | Longest prefix matching using bloom filters
Sarang Dharmapurikar, Praveen Krishnamurthy, David E. Taylor |
IEEE/ACM Trans. Netw. | 1 |
| 2005 | Fast and scalable pattern matching for content filteringabstractHigh-speed packet content inspection and filtering devices rely on a fast multi-pattern matching algorithm which is used to detect predefined keywords or signatures in the packets. Multi-pattern matching is known to require intensive memory accesses and is often a performance bottleneck. Hence specialized hardware-accelerated algorithms are being developed for line-speed packet processing. While several pattern matching algorithms have already been developed for such applications, we find that most of them suffer from scalability issues. To support a large number of patterns, the throughput is compromised or vice versa.We present a hardware-implementable pattern matching algorithm for content filtering applications, which is scalable in terms of speed, the number of patterns and the pattern length. We modify the classic Aho-Corasick algorithm to consider multiple characters at a time for higher throughput. Furthermore, we suppress a large fraction of memory accesses by using Bloom filters implemented with a small amount of on-chip memory. The resulting algorithm can support matching of several thousands of patterns at more than 10 Gbps with the help of a less than 50 KBytes of embedded memory and a few megabytes of external SRAM. We demonstrate the merit of our algorithm through theoretical analysis and simulations performed on Snort's string set. Sarang Dharmapurikar, John W. Lockwood |
ANCS | 1 |
| 2005 | Optimizing memory bandwidth of a multi-channel packet bufferabstractBackbone routers typically require large buffers to hold packets during congestion. A thumb rule is to provide a buffer at every link, equal to the product of the round trip time and the link capacity. This translates into Gigabytes of buffers operating at line rate at every link. Such a size and rate necessitates the use of SDRAM with bandwidth of, for example, 80 Gbps for link speed of 40 Gbps. With speedup in the switch fabrics used in most routers, the bandwidth requirement of the buffer increases further. While multiple SDRAM devices can be used in parallel to achieve high bandwidth and storage capacity, a wide logical data bus composed of these devices results in suboptimal performance for arbitrarily sized packets. An alternative is to divide the wide logical data bus into multiple logical channels and store packets into them independently. However, in such an organization, the cumulative pin count grows due to additional address buses which might offset the performance gained. We find that due to several existing memory technologies and their characteristics and with Internet traffic composed of particular sized packets, a judiciously architected data channel can greatly enhance the performance per pin. In this paper, we derive an expression for the effective memory bandwidth of a parallel channel packet buffer and show how it can be optimized for a given number of I/O pins available for interfacing to memory. We believe that our model can greatly aid packet buffer designers to achieve the best performance. Sarang Dharmapurikar, Sailesh Kumar, John W. Lockwood, Patrick Crowley |
GLOBECOM | 1 |
| 2005 | Fast hash table lookup using extended bloom filter: an aid to network processingabstractHash tables are fundamental components of several network processing algorithms and applications, including route lookup, packet classification, per-flow state management and network monitoring. These applications, which typically occur in the data-path of high-speed routers, must process and forward packets with little or no buffer, making it important to maintain wire-speed throughout. A poorly designed hash table can critically affect the worst-case throughput of an application, since the number of memory accesses required for each lookup can vary. Hence, high throughput applications require hash tables with more predictable worst-case lookup performance. While published papers often assume that hash table lookups take constant time, there is significant variation in the number of items that must be accessed in a typical hash table search, leading to search times that vary by a factor of four or more.We present a novel hash table data structure and lookup algorithm which improves the performance over a naive hash table by reducing the number of memory accesses needed for the most time-consuming lookups. This allows designers to achieve higher lookup performance for a given memory bandwidth, without requiring large amounts of buffering in front of the lookup engine. Our algorithm extends the multiple-hashing Bloom Filter data structure to support exact matches and exploits recent advances in embedded memory technology. Through a combination of analysis and simulations we show that our algorithm is significantly faster than a naive hash table using the same amount of memory, hence it can support better throughput for router applications that use hash tables. Haoyu Song 0001, Sarang Dharmapurikar, Jonathan S. Turner, John W. Lockwood |
SIGCOMM | 2 |
| 2005 | Robust TCP Stream Reassembly in the Presence of Adversaries
Sarang Dharmapurikar, Vern Paxson |
USENIX Security Symposium | 1 |
| 2004 | Implementation Results of Bloom Filters for String MatchingabstractNetwork intrusion detection and prevention systems (IDPS) use string matching to scan Internet packets for malicious content. Bloom filters offer a mechanism to search for a large number of strings efficiently and concurrently when implemented with field programmable gate array (FPGA) technology. A string matching circuit has been implemented within the FPX platform using Bloom filters. Using 155 block RAMs on a single Xilinx VirtexE 2000 FPGA, the circuit scans for 35,475 unique signatures. Michael Attig, Sarang Dharmapurikar, John W. Lockwood |
FCCM | 2 |
| 2003 | An Extensible, System-On-Programmable-Chip, Content-Aware Internet Firewall
John W. Lockwood, Christopher E. Neely, Christopher K. Zuver, James Moscola, Sarang Dharmapurikar, David Lim |
FPL | 5 |
| 2003 | Beyond performance: secure and fair memory management for multiple systems on a chipabstractDevelopments in VLSI technologies create the possibility of hosting several independent (sub) systems in a single chip. There is a need to share a number of resources, especially off-chip resources, which creates new constraints in the design process. Although performance is still a key constraint, sharing implies that secure access to those resources and QoS guarantees are needed. In this paper, an architecture is presented that achieves the goals listed above. The Embedded Hardware Manager acts as a middleware between the applications and the resources, taking the role of resource manager and security agent. The results show that it can prevent resource misuse and undue information peeking or even altering while maintaining individual QoS guarantees. At the same time, high performance is still achieved. Carlos Macián, Sarang Dharmapurikar, John W. Lockwood |
FPT | 2 |
| 2003 | System-on-chip packet processor for an experimental network services platformabstractAs the focus of networking research shifts from raw performance to the delivery of advanced network services, there is a growing need for open-platform systems for extensible networking research. The Applied Research Laboratory at Washington University in Saint Louis has developed a flexible network services platform (NSP) to meet this need. The NSP provides an extensible platform for prototyping next-generation network services and applications. The paper describes the design of a system-on-chip packet processor for the NSP which performs all core packet processing functions, including segmentation and reassembly, packet classification, route lookup, and queue management. Targeted to a commercial configurable logic device, the system is designed to support gigabit links and switch fabrics with a 2:1 speed advantage. We provide resource consumption results for each component of the packet processor design. David E. Taylor, Alex Chandra, Sarang Dharmapurikar, John W. Lockwood, Wenjing Tang, Jonathan S. Turner |
GLOBECOM | 4 |
| 2003 | Longest prefix matching using bloom filtersabstractWe introduce the first algorithm that we are aware of to employ Bloom filters for Longest Prefix Matching (LPM). The algorithm performs parallel queries on Bloom filters, an efficient data structure for membership queries, in order to determine address prefix membership in sets of prefixes sorted by prefix length. We show that use of this algorithm for Internet Protocol (IP) routing lookups results in a search engine providing better performance and scalability than TCAM-based approaches. The key feature of our technique is that the performance, as determined by the number of dependent memory accesses per lookup, can be held constant for longer address lengths or additional unique address prefix lengths in the forwarding table given that memory resources scale linearly with the number of prefixes in the forwarding table.Our approach is equally attractive for Internet Protocol Version 6 (IPv6) which uses 128-bit destination addresses, four times longer than IPv4. We present a basic version of our approach along with optimizations leveraging previous advances in LPM algorithms. We also report results of performance simulations of our system using snapshots of IPv4 BGP tables and extend the results to IPv6. Using less than 2Mb of embedded RAM and a commodity SRAM device, our technique achieves average performance of one hash probe per lookup and a worst case of two hash probes and one array access per lookup. Sarang Dharmapurikar, Praveen Krishnamurthy, David E. Taylor |
SIGCOMM | 1 |