Demo Data from EDBT 2026 / reviewers in the wild / expert
Honghui Lu
dblp:46/1227
· DBLP profile ↗
13ranked-venue papers
6as first author
0since 2021 · last 2005
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 5 first-authorComputer networks · 3 · 1 first-authorSoftware engineering, systems software and programming languages · 1Applied, interdisciplinary, general and emerging computing · 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
10 papers |
Memory systems · 36% Parallel and multicore computing · 32% Distributed systems · 28% | |
| Computer networks
1 paper |
Cellular and mobile networks · 87% Internet of things and sensor networks · 13% | |
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 100% |
Topics — the 26 heaviest of 29, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems › shared memory
distributed shared memory |
0.1 | 7 | 2001 | Contention elimination by replication of sequential sections in distributed shared memory programs · PPoPP 2001 Combining compile-time and run-time support for efficient software distributed shared memory · Proc. IEEE 1999 OpenMP on Networks of Workstations · SC 1998 |
Memory systems › shared memory › distributed shared memory
software distributed shared memory |
0.1 | 4 | 1999 | Combining compile-time and run-time support for efficient software distributed shared memory · Proc. IEEE 1999 OpenMP on Networks of Workstations · SC 1998 Compiler and Software Distributed Shared Memory Support for Irregular Applications · PPoPP 1997 |
Parallel and multicore computing
parallel programming models |
0.1 | 4 | 1999 | Transparent Adaptive Parallelism on NOWs using OpenMP · PPoPP 1999 OpenMP on Networks of Workstations · SC 1998 Message Passing Versus Distributed Shared Memory on Networks of Workstations · SC 1995 |
Distributed systems › peer-to-peer systems
overlay networks |
0.1 | 2 | 2005 | Peer-to-Peer Support for Massively Multiplayer Games · INFOCOM 2004 DHARMA: distributed home agent for robust mobile access · INFOCOM 2005 |
Cellular and mobile networks › mobility management
Mobile IP |
0.1 | 1 | 2005 | DHARMA: distributed home agent for robust mobile access · INFOCOM 2005 |
Cellular and mobile networks
mobility management |
0.1 | 1 | 2005 | DHARMA: distributed home agent for robust mobile access · INFOCOM 2005 |
Parallel and multicore computing
load balancing |
0.1 | 1 | 2005 | Locality aware dynamic load management for massively multiplayer games · PPoPP 2005 |
Distributed systems
distributed coordination |
0.0 | 1 | 2004 | Peer-to-Peer Support for Massively Multiplayer Games · INFOCOM 2004 |
Distributed systems
peer-to-peer systems |
0.0 | 1 | 2004 | Peer-to-Peer Support for Massively Multiplayer Games · INFOCOM 2004 |
Memory systems
contention |
0.0 | 1 | 2001 | Contention elimination by replication of sequential sections in distributed shared memory programs · PPoPP 2001 |
Parallel and multicore computing
shared-memory parallel programs |
0.0 | 1 | 2001 | Contention elimination by replication of sequential sections in distributed shared memory programs · PPoPP 2001 |
Parallel and multicore computing › parallelization strategies
adaptive parallelism |
0.0 | 1 | 1999 | Transparent Adaptive Parallelism on NOWs using OpenMP · PPoPP 1999 |
Parallel and multicore computing › parallel programming models › directive-based programming
OpenMP |
0.0 | 1 | 1999 | Transparent Adaptive Parallelism on NOWs using OpenMP · PPoPP 1999 |
Memory systems
cache coherence |
0.0 | 2 | 2001 | Software Versus Hardware Shared-Memory Implementation: A Case Study · ISCA 1994 Contention elimination by replication of sequential sections in distributed shared memory programs · PPoPP 2001 |
Parallel and multicore computing › parallel algorithms
irregular algorithms |
0.0 | 1 | 1997 | Compiler and Software Distributed Shared Memory Support for Irregular Applications · PPoPP 1997 |
Parallel and multicore computing › parallel computing › parallel applications
irregular applications |
0.0 | 1 | 1997 | Compiler and Software Distributed Shared Memory Support for Irregular Applications · PPoPP 1997 |
Internet of things and sensor networks
delay tolerant networks |
0.0 | 1 | 2005 | DHARMA: distributed home agent for robust mobile access · INFOCOM 2005 |
Cloud and datacenter computing
quality of service |
0.0 | 1 | 2005 | Locality aware dynamic load management for massively multiplayer games · PPoPP 2005 |
Cloud and datacenter computing › resource management
server resource management |
0.0 | 1 | 2005 | Locality aware dynamic load management for massively multiplayer games · PPoPP 2005 |
Games and playful interaction › multiplayer online games
massively multiplayer online games |
0.0 | 1 | 2004 | Peer-to-Peer Support for Massively Multiplayer Games · INFOCOM 2004 |
Memory systems › memory architecture › parallel memory system
software shared memory |
0.0 | 1 | 1994 | Software Versus Hardware Shared-Memory Implementation: A Case Study · ISCA 1994 |
Memory systems › cache coherence
false sharing |
0.0 | 1 | 2001 | Contention elimination by replication of sequential sections in distributed shared memory programs · PPoPP 2001 |
Parallel and multicore computing › parallel programming models
shared-memory parallelization |
0.0 | 1 | 1999 | Combining compile-time and run-time support for efficient software distributed shared memory · Proc. IEEE 1999 |
Compilers and program optimization › parallelizing compiler
OpenMP compilation |
0.0 | 1 | 1998 | OpenMP on Networks of Workstations · SC 1998 |
Compilers and program optimization
parallelizing compiler |
0.0 | 1 | 1998 | OpenMP on Networks of Workstations · SC 1998 |
Performance modeling and evaluation
benchmarking |
0.0 | 1 | 1995 | Message Passing Versus Distributed Shared Memory on Networks of Workstations · SC 1995 |
Methods — techniques the papers use, named apart from their topics
cross-layer information sharing · 0.1simulation · 0.1peer-to-peer overlay · 0.1spatial locality-aware load balancing · 0.1dynamic region reassignment · 0.1memory access detection · 0.0automatic data caching · 0.0replication · 0.0process migration · 0.0message passing · 0.0DSM · 0.0performance comparison · 0.0compiler optimization · 0.0prefetching · 0.0inspector-executor · 0.0demand paging · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2005 | DHARMA: distributed home agent for robust mobile accessabstractMobile wireless devices have intermittent connectivity, sometimes intentional. This is a problem for conventional Mobile IP, beyond its well-known routing inefficiencies and deployment issues. DHARMA selects a location-optimized instance from a distributed set of home agents to minimize routing overheads; set management and optimization are done using the PlanetLab overlay network. DHARMA's session support overcomes both transitions between home agent instances and intermittent connectivity. Cross-layer information sharing between the session layer and the overlay network are used to exploit multiple wireless links when available. The DHARMA prototype supports intermittently connected legacy TCP applications in a variety of scenarios and is largely portable across host operating systems. Experiments with DHARMA deployed on more than 200 PlanetLab nodes demonstrate routing performance consistently better than that for best-case Mobile IP. Yun Mao, Björn Knutsson, Honghui Lu, Jonathan M. Smith |
INFOCOM | 3 |
| 2005 | Locality aware dynamic load management for massively multiplayer gamesabstractMost massively multiplayer game servers employ static partitioning of their game world into distinct mini-worlds that are hosted on separate servers. This limits cross-server interactions between players, and exposes the division of the world to players. We have designed and implemented an architecture in which the partitioning of game regions across servers is transparent to players and interactions are not limited to objects in a single region or server. This allows a finer grain partitioning, which combined with a dynamic load management algorithm enables us to better handle transient crowding by adaptively dispersing or aggregating regions from servers in response to quality of service violations.Our load balancing algorithm is aware of the spatial locality in the virtual game world. Based on localized information, the algorithm balances the load and reduces the cross server communication, while avoiding frequent reassignment of regions. Our results show that locality aware load balancing reduces the average user response time by up to a factor of 6 compared to a global algorithm that does not consider spatial locality and by up to a factor of 8 compared to static partitioning. Jin Chen 0006, Baohua Wu, Margaret DeLap, Björn Knutsson, Honghui Lu, Cristiana Amza |
PPoPP | 5 |
| 2004 | Peer-to-Peer Support for Massively Multiplayer GamesabstractWe present an approach to support massively multiplayer games on peer-to-peer overlays. Our approach exploits the fact that players in MMGs display locality of interest, and therefore can form self-organizing groups based on their locations in the virtual world. To this end, we have designed scalable mechanisms to distribute the game state to the participating players and to maintain consistency in the face of node failures. The resulting system dynamically scales with the number of online players. It is more flexible and has a lower deployment cost than centralized games servers. We have implemented a simple game we call SimMud, and experimented with up to 4000 players to demonstrate the applicability of this approach. Honghui Lu |
INFOCOM | 1 |
| 2003 | Architecture and performance of server-directed transcodingabstractProxy-based transcoding adapts Web content to be a better match for client capabilities (such as screen size and color depth) and last-hop bandwidths. Traditional transcoding breaks the end-to-end model of the Web, because the proxy does not know the semantics of the content. Server-directed transcoding preserves end-to-end semantics while supporting aggressive content transformations.We show how server-directed transcoding can be integrated into the HTTP protocol and into the implementation of a proxy. We discuss several useful transformations for image content, and present measurements of the performance impacts. Our results demonstrate that server-directed transcoding is a natural extension to HTTP, can be implemented without great complexity, and can provide good performance when carefully implemented. Björn Knutsson, Honghui Lu, Jeffrey C. Mogul, Bryan Hopkins |
ACM Trans. Internet Techn. | 2 |
| 2001 | Contention elimination by replication of sequential sections in distributed shared memory programsabstractIn shared memory programs contention often occurs at the transition between a sequential and a parallel section of the code. As all threads start executing the parallel section, they often access data just modified by the thread that executed the sequential section, causing a flurry of data requests to converge on that processor. Honghui Lu, Alan L. Cox, Willy Zwaenepoel |
PPoPP | 1 |
| 2000 | OpenMP for Networks of SMPs
Y. Charlie Hu, Honghui Lu, Alan L. Cox, Willy Zwaenepoel |
J. Parallel Distributed Comput. | 2 |
| 1999 | Transparent Adaptive Parallelism on NOWs using OpenMPabstractWe present a system that allows OpenMP programs to execute on a network of workstations with a variable number of nodes. The ability to adapt to a variable number of nodes allows a program to take advantage of additional nodes that become available after it starts execution, or to gracefully scale down when the number of available nodes is reduced. We demonstrate that the cost of adaptation is modest; the system allows a program to adapt at a moderate rate without much performance loss.Two ideas underlie the efficiency of our design. First, we recognize that OpenMP programs exhibit convenient adaptation points during their execution, points at which the cost of adaptation can be much reduced. Second, by allowing a process a certain grace period before it must leave a node, we insure that most adaptations can occur at these adaptation points, and thus at low cost. Migration of a process, a much more expensive method for providing adaptivity, is used only as a back-up solution, when the process cannot reach an adaptation point within the grace period.Our implementation consists of an OpenMP pre-processor that generates TreadMarks distributed shared memory (DSM) programs, and a version of TreadMarks modified to adapt to a variable number of nodes. Using a DSM as the underlying substrate facilitates the data (re-)distribution necessary after an adaptation. Alex Scherer, Honghui Lu, Thomas R. Gross, Willy Zwaenepoel |
PPoPP | 2 |
| 1999 | Combining compile-time and run-time support for efficient software distributed shared memoryabstractWe describe an integrated compile time and run time system for efficient shared memory parallel computing on distributed memory machines. The combined system presents the user with a shared memory programming model. The run time system implements a consistent shared memory abstraction using memory access detection and automatic data caching. The compiler improves the efficiency of the shared memory implementation by directing the run time system to exploit the message passing capabilities of the underlying hardware. To do so, the compiler analyzes shared memory accesses and transforms the code to insert calls to the run time system that provide it with the access information computed by the compiler. The run time system is augmented with the appropriate entry points to use this information to implement bulk data transfer and to reduce the overhead of run time consistency maintenance. In those cases where the compiler analysis succeeds for the entire program, we demonstrate that the combined system achieves performance comparable to that produced by compilers that directly target message passing. If the compiler analysis is successful only for parts of the program, for instance, because of irregular accesses to some of the arrays, the resulting optimizations can be applied to those parts for which the analysis succeeds. If the compiler analysis fails entirely, we rely on the run time maintenance of shared memory and thereby avoid the complexity and the limitations of compilers that directly target message passing. The result is a single system that combines efficient support for both regular and irregular memory access patterns. Sandhya Dwarkadas, Honghui Lu, Alan L. Cox, Ramakrishnan Rajamony, Willy Zwaenepoel |
Proc. IEEE | 2 |
| 1998 | OpenMP on Networks of WorkstationsabstractWe describe an implementation of a sizable subset of OpenMP on networks of workstations (NOWs). By extending the availability of OpenMP to NOWs, we overcome one of its primary drawbacks compared to MPI, namely lack of portability to environments other than hardware shared memory machines. In order to support OpenMP execution on NOWs, our compiler targets a software distributed shared memory system (DSM) which provides multi-threaded execution and memory consistency. This paper presents two contributions. First, we identify two aspects of the current OpenMP standard that make an implementation on NOWs hard, and suggest simple modifications to the standard that remedy the situation. These problems reflect differences in memory architecture between software and hardware shared memory and the high cost of synchronization on NOWs. Second, we present performance results of a prototype implementation of an OpenMP subset on a NOW, and compare them with hand-coded software DSM and MPI results for the same applications on the same platform. We use five applications (ASCI Sweep3d, NAS 3D- FFT, SPLASH-2 Water, QSORT, and TSP) exhibiting various styles of parallelization, including pipelined execution, data parallelism, coarse-grained parallelism, and task queues. The measurements show little difference between OpenMP and hand-coded software DSM, but both are still lagging behind MPI. Further work will concentrate on compiler optimization to reduce these differences. Honghui Lu, Y. Charlie Hu, Willy Zwaenepoel |
SC | 1 |
| 1997 | Compiler and Software Distributed Shared Memory Support for Irregular ApplicationsabstractWe investigate the use of a software distributed shared memory (DSM) layer to support irregular computations on distributed memory machines. Software DSM supports irregular computation through demand fetching of data in response to memory access faults. With the addition of a very limited form of compiler support, namely the identification of the section of the indirection array accessed by each processor, many of these on-demand page fetches can be aggregated into a single message, and prefetched prior to the access fault.We have measured the performance of this approach for two irregular applications, moldyn and nbf, using the Tread-Marks DSM system on an 8-processor IBM SP2. We find that it has similar performance to the inspector-executor method supported by the CHAOS run-time library, while requiring much simpler compile-time support. For moldyn, it is up to 23% faster than CHAOS, depending on the input problem's characteristics; and for nbf, it is no worse than 14% slower. If we include the execution time of the inspector, the software DSM-based approach is always faster than CHAOS. The advantage of this approach increases as the frequency of changes to the indirection array increases. The disadvantage of this approach is the potential for false sharing overhead when the data set is small or has poor spatial locality. Honghui Lu, Alan L. Cox, Sandhya Dwarkadas, Ramakrishnan Rajamony, Willy Zwaenepoel |
PPoPP | 1 |
| 1997 | Quantifying the Performance Differences between PVM and TreadMarksabstractThis paper compares two systems for parallel programming on networks of workstations: Parallel Virtual Machine (PVM), a message-passing system, and TreadMarks, a software distributed shared-memory (DSM) system. The eight applications used in this comparison are Water and Barnes–Hut from the SPLASH benchmark suite; 3-D FFT, Integer Sort (IS), and Embarrassingly Parallel (EP) from the NAS benchmarks; ILINK, a widely used genetic linkage analysis program; and Successive Over-Relaxation (SOR) and Traveling Salesman (TSP). Two different input data sets are used for five of the applications. We use two execution environments. The first is a 155 Mbps ATM network with eight Sparc-20 model 61 workstations; the second is an eight-processor IBM SP/2. The differences in speedup between TreadMarks and PVM depend mostly on the applications, and only to a much lesser extent on the platform and the data set used. In particular, the TreadMarks speedup for six of the eight applications is within 15% of that achieved with PVM. For one application, the difference in speedup is between 15% and 30%, and for another, the difference is around 50%. We identified four important factors that contribute to the lower performance of TreadMarks: (1) extra messages due to the separation of synchronization and data transfer, (2) extra messages to handle access misses caused by the use of an invalidate protocol, (3) false sharing, and (4) diff accumulation for migratory data. We have quantified the effects of the last three factors by measuring the performance gain when each is eliminated. Of the three factors, TreadMarks' use of a separate request message per page of data accessed is the most important. The effect of false sharing is comparatively low. Reducing diff accumulation benefits migratory data only when the diffs completely overlap. When these performance impediments are removed, all of the TreadMarks programs perform within 25% of PVM, and for six out of eight experiments, TreadMarks is less than 5% slower than PVM. Honghui Lu, Sandhya Dwarkadas, Alan L. Cox, Willy Zwaenepoel |
J. Parallel Distributed Comput. | 1 |
| 1995 | Message Passing Versus Distributed Shared Memory on Networks of WorkstationsabstractThe message passing programs are executed with the Parallel Virtual Machine (PVM) library and the shared memory programs are executed using TreadMarks. The programs are Water and Barnes-Hut from the SPLASH benchmark suite; 3-D FFT, Integer Sort (IS) and Embarrassingly Parallel (EP) from the NAS benchmarks; ILINK, a widely used genetic linkage analysis program; and Successive Over-Relaxation (SOR), Traveling Salesman (TSP), and Quicksort (QSORT). Two different input data sets were used for Water (Water-288 and Water-1728), IS (IS-Small and IS-Large), and SOR (SOR-Zero and SOR-NonZero). Our execution environment is a set of eight HP735 workstations connected by a 100Mbits per second FDDI network. For Water-1728, EP, ILINK, SOR-Zero, and SOR-NonZero, the performance of TreadMarks is within 10%of PVM. For IS-Small, Water-288, Barnes-Hut, 3-D FFT, TSP, and QSORT, differences are on the order of 10%to 30%. Finally, for IS-Large, PVM performs two times better than TreadMarks. More messages and more data are sent in TreadMarks, explaining the performance differences. This extra communication is caused by 1) the separation of synchronization and data transfer, 2) extra messages to request updates for data by the invalidate protocol used in TreadMarks, 3) false sharing, and 4) diff accumulation for migratory data in TreadMarks. Honghui Lu, Sandhya Dwarkadas, Alan L. Cox, Willy Zwaenepoel |
SC | 1 |
| 1994 | Software Versus Hardware Shared-Memory Implementation: A Case StudyabstractCompares the performance of software-supported shared memory on a general-purpose network to hardware-supported shared memory on a dedicated interconnect. Up to eight processors, the results are based on the execution of a set of application programs on a SGI 4D/480 multiprocessor and on TreadMarks, a distributed shared memory system that runs on a Fore ATM LAN of DECstation-5000/240s. Since the DECstation and the 4D/480 use the same processor, primary cache, and compiler, the shared-memory implementation is the principal difference between the systems. Beyond eight processors, the results are based on execution-driven simulation. Specifically, the authors compare a software implementation on a general-purpose network of uniprocessor nodes, a hardware implementation using a directory-based protocol on a dedicated interconnect, and a combined implementation using software to provide shared memory between multiprocessor nodes with hardware implementing shared memory within a node.> Alan L. Cox, Sandhya Dwarkadas, Peter J. Keleher, Honghui Lu, Ramakrishnan Rajamony, Willy Zwaenepoel |
ISCA | 4 |