Demo Data from SIGIR 2026 / reviewers in the wild / expert
Nissim Harel
dblp:92/1705
· DBLP profile ↗
8ranked-venue papers
3as first author
0since 2021 · last 2019
0000-0001-6633-890XORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 5 · 2 first-authorComputer networks · 1 · 1 first-authorSoftware engineering, systems software and programming languages · 1Graphics, computer vision, multimedia, augmented reality and games · 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 architecture, parallel and distributed computing, and storage systems
3 papers |
Parallel and multicore computing · 55% Distributed systems · 38% High-performance computing · 8% | |
| Software engineering, system software, and programming languages
2 papers |
Operating systems · 60% Runtime systems and virtual machines · 40% |
Topics — the 5 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems › distributed object systems
distributed garbage collection |
0.1 | 1 | 2006 | Distributed Garbage Collection Algorithms for Timestamped Data · IEEE Trans. Parallel Distributed Syst. 2006 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 1999 | Space-Time Memory: A Parallel Programming Abstraction for Interactive Multimedia Applications · PPoPP 1999 |
Operating systems › resource management
memory management |
0.0 | 1 | 2006 | Distributed Garbage Collection Algorithms for Timestamped Data · IEEE Trans. Parallel Distributed Syst. 2006 |
High-performance computing
cluster computing |
0.0 | 1 | 2003 | Stampede: A Cluster Programming Middleware for Interactive Stream-Oriented Applications · IEEE Trans. Parallel Distributed Syst. 2003 |
Parallel and multicore computing
parallel programming runtimes |
0.0 | 1 | 1999 | Space-Time Memory: A Parallel Programming Abstraction for Interactive Multimedia Applications · PPoPP 1999 |
Methods — techniques the papers use, named apart from their topics
reference counting · 0.1low watermark computation · 0.1dependency analysis · 0.1garbage collection · 0.1data flow graph · 0.1inter-thread synchronization · 0.0buffer management · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | MiSAL - A minimal quality representation switch logic for adaptive streaming
Amit Dvir, Nissim Harel, Ran Dubin, Refael Barkan, Raffael Shalala, Ofer Hadar |
Multim. Tools Appl. | 2 |
| 2007 | Use of Dependency Information for Memory Optimizations in Distributed Streaming ApplicationsabstractIn this paper we explore the potential of using application data dependency information to reduce the average memory consumption in distributed streaming applications. By analyzing data dependencies during the application runtime, we can infer which data items are not going to influence the application's output. This information is then incorporated into the garbage collector, extending the garbage identification problem to include not only data items that are not reachable, but also those data items that are not fully processed and dropped. We present three garbage collection algorithms. Each of the algorithms uses different data dependency information. We implement the algorithms and compare their performance for a color tracker application. Our results show that these algorithms not only succeed in substantially reducing the average memory usage but also improve the overall performance of the application. The results also indicate that the garbage identification algorithms that achieve a low memory footprint perform their garbage identification decisions locally; however, they base these decisions on best-effort global information. The results also indicate that the garbage identification algorithms perform best when they base their decisions on best-effort global information obtained from other components of the distributed application. Nissim Harel, Hasnain A. Mandviwala, Umakishore Ramachandran, Kathleen Knobe |
ICCCN | 1 |
| 2007 | Methods of Memory Optimizations in Streaming ApplicationsabstractStreaming applications are often distributed, manage large quantities of data and, as a result, have large memory requirements. Therefore, efficient garbage collection (GC) is crucial for their performance. On the other hand, not all data items affect the application output due to differences in the processing rates of various application threads. In this paper we propose extending the definition of the garbage identification problem for streaming applications and include not only data items that are not "reachable " but also data items that have no effect on the final outcome of the application. We present four optimizations to an existing GC algorithm in Stampede, a parallel programming system to support interactive multimedia applications. We ask the question how far off these algorithms are from an ideal garbage collector, one in which the memory usage exactly equals the amount required for buffering only the relevant data items. This oracle, while unimplementable, serves as an empirical lower-bound for memory usage. We then propose optimizations that will help us get closer to this lower- bound. Using an elaborate measurement and post-mortem analysis infrastructure, we simulate the performance potential for these optimizations and implement the most promising ones. A color-based people tracking application is used for the performance evaluation. Our results show that these optimizations reduce the memory usage by up to 60%. Nissim Harel, Hasnain A. Mandviwala, Kathleen Knobe, Umakishore Ramachandran |
ICPP | 1 |
| 2006 | Distributed Garbage Collection Algorithms for Timestamped DataabstractThere is an important class of interactive multimedia applications that deals with stream data from distributed sources. Indexing the data temporally facilitates ordering individual streams as well as correlating items from different streams. The Stampede programming system organizes stream data into channels that are distributed and synchronized data structures that contain timestamped items. A stampede program is a data flow graph of threads and channels. Stampede semantics for channels allow concurrent access from multiple threads for input and output. While a channel holds timestamped items, the semantics do not place any restriction on either the production or consumption order of these items. Furthermore, timestamps of items in a channel need not be contiguous. These flexibilities are required due to the dynamic and parallel structure of stream-oriented applications targeted by the stampede system. Under such circumstances, a key issue is the "garbage collection" (GC) of channel items. In this paper, we present and compare three different GC algorithms: 1) REF is a simple algorithm that keeps a reference count on individual items; 2) TGC is a distributed algorithm for computing a global low watermark for timestamp values of interest in the entire application; 3) DGC is another distributed algorithm that uses information about the dependencies between the producers and consumers of data streams to compute a low water mark local to each node of the data flow graph. DGC can simultaneously eliminate garbage from channels and unneeded computations from threads, in tests performed using an interactive application, DGC enjoys nearly 30 percent reduction in the application memory footprint, compared, to TGC and REF. DGC and REF are also shown to be more scalable compared to TGC Umakishore Ramachandran, Kathleen Knobe, Nissim Harel, Hasnain A. Mandviwala |
IEEE Trans. Parallel Distributed Syst. | 3 |
| 2003 | Performance study of a cluster runtime system for dynamic interactive stream-oriented applicationsabstractEmerging application domains such as interactive vision, animation, and multimedia collaboration need specialized runtime systems that provide support mechanisms to enable plumbing, cross module data transfer, buffer management, synchronization and so on. Using Stampede, a cluster programming system that is designed to meet the requirements of such applications, we quantify the performance of such mechanisms. We have developed a timing infrastructure that helps tease out the time spent by an application in different layers of software, viz., the main algorithmic component, the support mechanisms, and the raw messaging. Several interesting insights have surfaced from this study. First, memory allocation does not take up a significant amount of the execution time despite the interactive and dynamic nature of the application domain. Second, the Stampede runtime adds a minimal overhead over raw messaging for structuring such applications. Third, the results suggest that the thread scheduler on Linux may be more responsive than the one on Solaris. Fourth, the messaging layer spends quite a bit of time in synchronization operations. Perhaps the most interesting result of this study is that general-purpose operating systems such as Linux and Solaris are quite adequate to meet the requirements of emerging dynamic interactive stream-oriented applications. Arnab Paul, Nissim Harel, Sameer Adhikari, Bikash Agarwalla, Umakishore Ramachandran, Kenneth M. Mackenzie |
ISPASS | 2 |
| 2003 | Stampede: A Cluster Programming Middleware for Interactive Stream-Oriented ApplicationsabstractEmerging application domains such as interactive vision, animation, and multimedia collaboration display dynamic scalable parallelism and high-computational requirements, making them good candidates for executing on parallel architectures such as SMPs and clusters of SMPs. Stampede is a programming system that has many of the needed functionalities such as high-level data sharing, dynamic cluster-wide threads and their synchronization, support for task and data parallelism, handling of time-sequenced data items, and automatic buffer management. We present an overview of Stampede, the primary data abstractions, the algorithmic basis of garbage collection, and the issues in implementing these abstractions on a cluster of SMPs. We also present a set of micromeasurements along with two multimedia applications implemented on top of Stampede, through which we demonstrate the low overhead of this runtime and that it is suitable for the streaming multimedia applications. Umakishore Ramachandran, Rishiyur S. Nikhil, James M. Rehg, Yavor Angelov, Arnab Paul, Sameer Adhikari, Kenneth M. Mackenzie, Nissim Harel, Kathleen Knobe |
IEEE Trans. Parallel Distributed Syst. | 8 |
| 2002 | Dead Timestamp Identification in StampedeabstractStampede is a parallel programming system to support computationally demanding applications including interactive vision, speech and multimedia collaboration. The system alleviates concerns such as communication, synchronization, and buffer management in programming such real-time stream-oriented applications. Threads are loosely connected by channels that hold timestamped data items. There are two performance concerns when programming with Stampede. The first is space, namely, ensuring that memory is not wasted on items that are not fully processed. The second is time, namely, ensuring that processing resource is not wasted on a timestamp that is not fully processed. In this paper we introduce a single unifying framework, dead timestamp identification, that addresses both the space and time concerns simultaneously. Dead timestamps on a channel represent garbage. Dead timestamps at a thread represent computations that need not be performed. This framework has been implemented in the Stampede system. Experimental results showing the space advantage of this framework are presented. Using a color-based people tracker application, we show that the space advantage can be significant (up to 40%) compared to the previous garbage collection techniques in Stampede. Nissim Harel, Hasnain A. Mandviwala, Kathleen Knobe, Umakishore Ramachandran |
ICPP | 1 |
| 1999 | Space-Time Memory: A Parallel Programming Abstraction for Interactive Multimedia ApplicationsabstractRealistic interactive multimedia involving vision, animation, and multimedia collaboration is likely to become an important aspect of future computer applications. The scalable parallelism inherent in such applications coupled with their computational demands make them ideal candidates for SMPs and clusters of SMPs. These applications have novel requirements that offer new kinds of challenges for parallel system design.We have designed a programming system called Stampede that offers many functionalities needed to simplify development of such applications (such as high-level data sharing abstractions, dynamic cluster-wide threads, and multiple address spaces). We have built Stampede and it runs on clusters of SMPs. To date we have implemented two applications on Stampede, one of which is discussed herein.In this paper we describe a part of Stampede called Space-Time Memory (STM). It is a novel data sharing abstraction that enables interactive multimedia applications to manage a collection of time-sequenced data items simply, efficiently, and transparently across a cluster. STM relieves the application programmer from low level synchronization and data communication by providing a high level interface that subsumes buffer management, inter-thread synchronization, and location transparency for data produced and accessed anywhere in the cluster. STM also automatically handles garbage collection of data items that will no longer be accessed by any of the application threads. We discuss ease of use issues for developing applications using STM, and present preliminary performance results to show that STM's overhead is low. Umakishore Ramachandran, Rishiyur S. Nikhil, Nissim Harel, James M. Rehg, Kathleen Knobe |
PPoPP | 3 |