Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Haodong Hu

dblp:97/2712 · DBLP profile ↗
← Back
11ranked-venue papers
1as first author
1since 2021 · last 2025
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 4Theory of computation · 4Systems, architecture and hardware · 1 · 1 first-author · 1 since 2021Software 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.

Databases, data mining, and information retrieval
4 papers
Indexing and storage engines · 94% Query processing and optimization · 6%
Theoretical computer science
6 papers
Algorithms and data structures · 86% Computational geometry · 12% Combinatorics and discrete mathematics · 2%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Memory systems · 100%

Topics — the 17 heaviest of 19, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Indexing and storage engines
b-tree
0.422016
B-Trees and Cache-Oblivious B-Trees with Different-Sized Atomic Keys · ACM Trans. Database Syst. 2016
Performance guarantees for B-trees with different-sized atomic keys · PODS 2010
Indexing and storage engines › dynamic data structures
packed-memory array
0.122007
An adaptive packed-memory array · ACM Trans. Database Syst. 2007
An adaptive packed-memory array · PODS 2006
Algorithms and data structures › sequence algorithms › sorting
variable-length keys
0.112010
Performance guarantees for B-trees with different-sized atomic keys · PODS 2010
Algorithms and data structures › data structure design › search structures
dictionary
0.112016
B-Trees and Cache-Oblivious B-Trees with Different-Sized Atomic Keys · ACM Trans. Database Syst. 2016
Algorithms and data structures › data structure design › search structures
search trees
0.112016
B-Trees and Cache-Oblivious B-Trees with Different-Sized Atomic Keys · ACM Trans. Database Syst. 2016
Algorithms and data structures › dynamic data structures
dynamic ordered set
0.112007
An adaptive packed-memory array · ACM Trans. Database Syst. 2007
Computational geometry
range searching
0.112007
An adaptive packed-memory array · ACM Trans. Database Syst. 2007
Algorithms and data structures › dynamic data structures
adaptive data structures
0.112006
An adaptive packed-memory array · PODS 2006
Algorithms and data structures › sequence algorithms
sorting
0.012004
Improved bounds on sorting with length-weighted reversals · SODA 2004
Algorithms and data structures › computational biology › genome rearrangement
sorting by reversals
0.012004
Improved bounds on sorting with length-weighted reversals · SODA 2004
Memory systems
cache
0.012003
The Cost of Cache-Oblivious Searching · FOCS 2003
Memory systems › cache
cache-oblivious algorithms
0.012003
The Cost of Cache-Oblivious Searching · FOCS 2003
Memory systems
memory hierarchy
0.012003
The Cost of Cache-Oblivious Searching · FOCS 2003
Algorithms and data structures › data structure design
search structures
0.012003
The Cost of Cache-Oblivious Searching · FOCS 2003
Memory systems
memory-efficient data structures
0.012007
An adaptive packed-memory array · ACM Trans. Database Syst. 2007
Query processing and optimization
range query
0.012006
An adaptive packed-memory array · PODS 2006
Combinatorics and discrete mathematics › permutation
permutation sorting
0.012004
Improved bounds on sorting with length-weighted reversals · SODA 2004

Methods — techniques the papers use, named apart from their topics

amortized analysis · 0.8dynamic programming · 0.5simulation · 0.3worst-case analysis · 0.2block transfer analysis · 0.2van emde boas layout · 0.1approximation bounds · 0.0lower bounds · 0.0lower bound · 0.0
YearPublicationVenuePosition
2025 An efficient numerical simulation method based on practical 1T1R devices measurement for compute in memory chip design
Haodong Hu, Jie Peng 0013, Guiqing Liu, Shihao Yu, Zhongjin Zhao, Zhiwei Li 0008, Haijun Liu 0003, Hui Xu 0010
Integr.1
2018 A Thread Modularity Approach for Verification Concurrent Software Based on Abstract Interpretation
abstract
Ensuring the reliability of concurrency software systems is difficult due to the interaction between threads. This article discusses the requirements for formal verification of concurrent embedded software and proposes a constraint-based flow-sensitive static analysis for concurrent avionics software by iteratively composing thread-modular abstract interpreters. These constraint are based on data-flow graphs and used to rule out patterns of thread interference that can not occur in a real program execution. Our new method has the advantage of being more accurate than existing, flow-insensitive, static avionics analyzers while remaining scalable and providing the expected soundness and termination guarantees. We implemented our method and evaluated it on an industrial setting, hinting at the maturity of our approach.
Qingyu Jiang, Haodong Hu
APSEC3
2016 B-Trees and Cache-Oblivious B-Trees with Different-Sized Atomic Keys
abstract
Most B-tree articles assume that all N keys have the same size K , that f = B / K keys fit in a disk block, and therefore that the search cost is O (log f + 1 N ) block transfers. When keys have variable size, B-tree operations have no nontrivial performance guarantees, however. This article provides B-tree-like performance guarantees on dictionaries that contain keys of different sizes in a model in which keys must be stored and compared as opaque objects. The resulting atomic-key dictionaries exhibit performance bounds in terms of the average key size and match the bounds when all keys are the same size. Atomic-key dictionaries can be built with minimal modification to the B-tree structure, simply by choosing the pivot keys properly. This article describes both static and dynamic atomic-key dictionaries. In the static case, if there are N keys with average size K , the search cost is O (⌈ K / B ⌉log 1 + ⌈ B / K ⌉ N ) expected transfers. It is not possible to transform these expected bounds into worst-case bounds. The cost to build the tree is O ( NK ) operations and O ( NK/B ) transfers if all keys are presented in sorted order. If not, the cost is the sorting cost. For the dynamic dictionaries, the amortized cost to insert a key κ of arbitrary length at an arbitrary rank is dominated by the cost to search for κ. Specifically, the amortized cost to insert a key κ of arbitrary length and random rank is O (⌈ K / B ⌉log 1 + ⌈ B / K ⌉ N + |κ|/ B ) transfers. A dynamic-programming algorithm is shown for constructing a search tree with minimal expected cost. This article also gives a cache-oblivious static atomic-key B-tree, which achieves the same asymptotic performance as the static B-tree dictionary, mentioned previously. A cache-oblivious data structure or algorithm is not parameterized by the block size B or memory size M in the memory hierarchy; rather, it is universal, working simultaneously for all possible values of B or M . On a machine with block size B , if there are N keys with average size K , search operations costs O (⌈ K / B ⌉log 1 + ⌈ B / K ⌉ N ) block transfers in expectation. This cache-oblivious layout can be built in O ( N log( NK )) processor operations.
Michael A. Bender, Roozbeh Ebrahimi, Haodong Hu, Bradley C. Kuszmaul
ACM Trans. Database Syst.3
2011 The Cost of Cache-Oblivious Searching
Michael A. Bender, Gerth Stølting Brodal, Rolf Fagerberg, Dongdong Ge, Simai He, Haodong Hu, John Iacono, Alejandro López-Ortiz
Algorithmica6
2010 Performance guarantees for B-trees with different-sized atomic keys
abstract
Most B-tree papers assume that all N keys have the same size K, that F = B/K keys fit in a disk block, and therefore that the search cost is O(logf+1 N) block transfers. When keys have variable size, however, B-tree operations have no nontrivial performance guarantees.
Michael A. Bender, Haodong Hu, Bradley C. Kuszmaul
PODS2
2008 Improved bounds on sorting by length-weighted reversals
Michael A. Bender, Dongdong Ge, Simai He, Haodong Hu, Ron Y. Pinter, Steven Skiena, Firas Swidan
J. Comput. Syst. Sci.4
2007 An adaptive packed-memory array
abstract
The packed-memory array ( PMA ) is a data structure that maintains a dynamic set of N elements in sorted order in a Θ( N )-sized array. The idea is to intersperse Θ( N ) empty spaces or gaps among the elements so that only a small number of elements need to be shifted around on an insert or delete. Because the elements are stored physically in sorted order in memory or on disk, the PMA can be used to support extremely efficient range queries. Specifically, the cost to scan L consecutive elements is O (1 + L / B ) memory transfers. This article gives the first adaptive packed-memory array ( APMA ), which automatically adjusts to the input pattern. Like the traditional PMA, any pattern of updates costs only O (log 2 N ) amortized element moves and O (1 + (log 2 N )/ B ) amortized memory transfers per update. However, the APMA performs even better on many common input distributions achieving only O (log N ) amortized element moves and O (1+ (log N )/ B ) amortized memory transfers. The article analyzes sequential inserts, where the insertions are to the front of the APMA, hammer inserts, where the insertions “hammer” on one part of the APMA, random inserts, where the insertions are after random elements in the APMA, and bulk inserts, where for constant α ϵ [0, 1], N α elements are inserted after random elements in the APMA. The article then gives simulation results that are consistent with the asymptotic bounds. For sequential insertions of roughly 1.4 million elements, the APMA has four times fewer element moves per insertion than the traditional PMA and running times that are more than seven times faster.
Michael A. Bender, Haodong Hu
ACM Trans. Database Syst.2
2006 An adaptive packed-memory array
abstract
The packed-memory array (PMA) is a data structure that maintains a dynamic set of N elements in sorted order in a Θ(N)-sized array. The idea is to intersperse Θ(N) empty spaces or gaps among the elements so that only a small number of elements need to be shifted around on an insert or delete. Because the elements are stored physically in sorted order in memory or on disk, the PMA can be used to support extremely efficient range queries. Specifically, the cost to scan L consecutive elements is O(1+L/B) memory transfers.This paper gives the first adaptive packed-memory array (APMA), which automatically adjusts to the input pattern. Like the original PMA, any pattern of updates costs only O(log2 N) amortized element moves and O(1+(log2 N)/B) amortized memory transfers per update. However, the APMA performs even better on many common input distributions achieving only O(logN) amortized element moves and O(1+(logN)/B) amortized memory transfers. The paper analyzes sequential inserts, where the insertions are to the front of the APMA, hammer inserts, where the insertions "hammer" on one part of the APMA, random inserts, where the insertions are after random elements in the APMA, and bulk inserts, where for constant α∈[0,1], Nα elements are inserted after random elements in the APMA. The paper then gives simulation results that are consistent with the asymptotic bounds. For sequential insertions of roughly 1.4 million elements, the APMA has four times fewer element moves per insertion than the traditional PMA and running times that are more than seven times faster.
Michael A. Bender, Haodong Hu
PODS2
2004 Sorting by Length-Weighted Reversals: Dealing with Signs and Circularity
Firas Swidan, Michael A. Bender, Dongdong Ge, Simai He, Haodong Hu, Ron Y. Pinter
CPM5
2004 Improved bounds on sorting with length-weighted reversals
Michael A. Bender, Dongdong Ge, Simai He, Haodong Hu, Ron Y. Pinter, Steven Skiena, Firas Swidan
SODA4
2003 The Cost of Cache-Oblivious Searching
abstract
Tight bounds on the cost of cache-oblivious searching are proved. It is shown that no cache-oblivious search structure can guarantee that a search performs fewer than lg e log/sub B/N block transfers between any two levels of the memory hierarchy. This lower bound holds even if all of the block sizes are limited to be powers of 2. A modified version of the van Emde Boas layout is proposed, whose expected block transfers between any two levels of the memory hierarchy arbitrarily close to [lg e + O(lg lg B/ lgB)] logB N + O(1). This factor approaches lg e /spl ap/ 1.443 as B increases. The expectation is taken over the random placement of the first element of the structure in memory. As searching in the disk access model (DAM) can be performed in log/sub B/N + 1 block transfers, this result shows a separation between the 2-level DAM and cache-oblivious memory-hierarchy models. By extending the DAM model to k levels, multilevel memory hierarchies can be modeled. It is shown that as k grows, the search costs of the optimal k-level DAM search structure and of the optimal cache-oblivious search structure rapidly converge. This demonstrates that for a multilevel memory hierarchy, a simple cache-oblivious structure almost replicates the performance of an optimal parameterized k-level DAM structure.
Michael A. Bender, Gerth Stølting Brodal, Rolf Fagerberg, Dongdong Ge, Simai He, Haodong Hu, John Iacono, Alejandro López-Ortiz
FOCS6