Publications
65 journal articles and 146 conference papers. Titles link to a free copy where one is available. Also on Google Scholar and dblp.
Journal Articles (65)
- History-Independent Dynamic Partitioning with Applications to B-Trees, Skip Lists and Fusion TreesTODS, 2026. Selected for Special Issue of ACM Transactions on Database Systems, Best of PODS 2024 doi
- Mitigating False Positives in Filters: to Adapt or to CacheTODS 51(3):17:1–17:32, 2026 doi
- Tiny PointersTALG 21(4):38:1–38:43, 2025. Selected for Special Issue for SODA 2023 doi
- Tight Bounds for Monotone Minimal Perfect HashingTALG 21(4):36:1–36:23, 2025. Selected for Special Issue for SODA 2023 doi
- Paging and the Address-Translation ProblemTALG 21(4):43:1–43:22, 2025 doi
- History-Independent Dynamic Partitioning: Operation-Order Privacy in Ordered Data StructuresSIGMOD Record 54(1):17–26, 2025. ACM SIGMOD Research Highlight Award doi
- Online List Labeling: Breaking the log² n BarrierSICOMP 54(5):S22–S60, 2025. Selected for Special Issue for FOCS 2022 doi
- Mosaic Pages: Big TLB Reach with Small PagesIEEE Micro 44(4):52–59, 2024. Selected for IEEE Micro Top Picks
- GraphZeppelin: How to Find Connected Components (Even When Graphs Are Dense, Dynamic, and Massive)TODS 49(3):9:1–9:31, 2024 doi
- Iceberg Hashing: Optimizing Many Hash-Table Criteria at OnceJACM 70(6):40:1–40:51, 2023 doi
- Using Advanced Data Structures to Enable Responsive Security MonitoringCluster Computing 25(4):2893–2914, 2022. Selected for Special Issue on “Innovating the Network for Data-Intensive Science”
- Timely Reporting of Heavy Hitters using External MemoryTODS 46(4):14:1–14:35, 2021. Selected for Special Issue of ACM Transactions on Database Systems, Best of SIGMOD 2020
- Dynamic Windows Scheduling with ReallocationJEA 26:1.11:1–1.11:19, 2021 doi
- External-Memory Dictionaries in the Affine and PDAM ModelsTOPC 8(3):15:1–15:20, 2021. Selected for Special Issue for SPAA 2019
- Copy-on-Abundant-Write for Nimble File System ClonesTOS 17(1):5:1–5:27, 2021. Selected for Special Section for USENIX FAST 2020
- Efficient directory mutations in a full-path indexed file systemTOS 14(3):22:1–22:27, 2018. Selected for Special Issue for USENIX FAST 2018 doi
- Writes Wrought Right, and Other Adventures in File System OptimizationTOS 13(1):3:1–3:26, 2017. Selected for Special Issue for USENIX FAST 2016 doi
- Cost-Oblivious ReallocationTALG 13(3):38:1–38:20, 2017 doi
- Fault-Tolerant Aggregation: Flow Update Meets Mass DistributionDistrib. Comput. 30(4):281–291, 2017 doi
- 40 Years of Suffix TreesCACM 59(4):66–73, 2016
- Exact Sublinear Binomial SamplingAlgorithmica 73(4):637–651, 2015. Selected for Special Issue for ISAAC 2013
- Initializing Sensor Networks of Non-uniform Density in the Weak Sensor ModelAlgorithmica 73(1):87–114, 2015
- BetrFS: A Right-Optimized Write-Optimized File SystemTOS 11(4):18:1–18:29, 2015. Selected for Special Issue for USENIX FAST 2015 doi
- Reallocation Problems in SchedulingAlgorithmica 73(2):389–409, 2015 doi
- Optimal Memory-aware Sensor Network GossipingTCS 472:60–80, 2013 doi
- Bootstrapping a Hop-optimal Network in the Weak Sensor ModelTALG 5(4):37:1–37:30, 2009
- Fast and Compact Regular Expression MatchingTCS 409(3):486–496, 2008 doi
- Ordinal Embeddings of Minimum Relaxation: General Properties, Trees, and UltrametricsTALG 4(4):46:1–46:21, 2008
- Optimal spaced seeds for faster approximate string matchingJCSS 73(7):1035–1044, 2007 doi
- Insertion Sort is O(n log n)ToCS 39(3):391–397, 2006. Selected for Special Issue for FUN 2004 doi
- On the Complexity of Ordinal ClusteringJ. Classif. 23(1):79–102, 2006
- All-Pairs Lowest Common Ancestors in Trees and Directed Acyclic GraphsJ. Algorithms 57(2):75–94, 2005
- Cache-Oblivious B-TreesSICOMP 35(2):341–358, 2005
- Finding Frequent Items in Data StreamsTCS 312(1):3–15, 2004 doi
- The Level Ancestor Problem SimplifiedTCS 321(1):5–12, 2004 doi
- Randomization, Rigor and Persuasiveness in ProofsSynthese 134(1–2):71–84, 2003
- Barnacle: An Assembly Algorithm for Clone-based Sequences of Whole GenomesGene 320:165–176, 2003 doi
- Fast, Fair and Frugal Bandwidth Allocation in ATM NetworksAlgorithmica 33(3):272–286, 2002
- An O(n log n) Algorithm for the Maximum Agreement Subtree Problem for Binary TreesSICOMP 30(5):1385–1404, 2000
- On Local Register AllocationJ. Algorithms 37(1):37–65, 2000
- Notung: Dating gene duplications using gene family treesJCB 7(3–4):429–447, 2000
- On the Sorting-Complexity of Suffix Tree ConstructionJACM 47(6):987–1011, 2000 doi
- Efficient Algorithms for Inverting EvolutionJACM 46(4):437–449, 1999 doi
- On the Approximability of Numerical Taxonomy (Fitting Distances by Tree Metrics)SICOMP 28(3):1073–1085, 1999
- Optimal Parallel Two Dimensional Text Searching on a CREW PRAMInf. Comput. 144(1):1–17, 1998 doi
- String Matching in Lempel-Ziv Compressed StringsAlgorithmica 20(4):388–404, 1998
- Optimal Parallel Randomized RenamingIPL 61(1):7–10, 1997
- Sparse Dynamic Programming for Evolutionary Tree ComparisonSICOMP 26(1):210–230, 1997
- Optimal Two Dimensional Compressed MatchingJ. Algorithms 24(2):354–379, 1997
- Recognizing Circular Decomposable MetricsJCB 4(2):157–162, 1997
- Local Rules for Protein Folding on the Triangular Lattice and Generalized Hydrophobicity in the HP ModelJCB 4(3):275–296, 1997
- Numerical Taxonomy on Data: Experimental ResultsJCB 4(4):547–558, 1997
- Let Sleeping Files Lie: Pattern Matching in Z-compressed FilesJCSS 52(2):299–307, 1996 doi
- On the Agreement of Many TreesIPL 55(6):297–301, 1995
- Fast Comparison of Evolutionary TreesInf. Comput. 123(1):29–37, 1995 doi
- Improved Dynamic Dictionary MatchingInf. Comput. 119(2):258–282, 1995 doi
- Efficient 2-dimensional Approximate Matching of Half-rectangular FiguresInf. Comput. 118(1):1–11, 1995 doi
- A Robust Model for Finding Optimal Evolutionary TreesAlgorithmica 13(1–2):155–179, 1995. Special Issue on Computational Biology
- Alphabet Dependence in Parameterized MatchingIPL 49(3):111–115, 1994
- Dynamic Dictionary MatchingJCSS 49(2):208–222, 1994 doi
- An Alphabet Independent Approach to Two Dimensional Pattern MatchingSICOMP 23(2):313–323, 1994
- Two Dimensional Dictionary MatchingIPL 44(5):233–239, 1992
- Optimal Superprimitivity Testing for StringsIPL 39(1):17–20, 1991
- Efficient Matching of Nonrectangular ShapesAnn. Math. Artif. Intell. 4:211–224, 1991
- Generating Plausible Diagnostic Hypotheses with Self-processing Causal NetworksJ. Exp. Theor. Artif. Intell. 1(2):91–112, 1989
Conference Papers (146)
- Popcorning: Repurposing Write-Optimization Buffers for Faster QueriesPODS '27
- Tight Bounds for Memory Allocation With and Without Request FragmentationSODA '27
- Fast Sparse α-Navigable Graph Construction with Improved Resource AugmentationSODA '27
- The Local/Global Disk Problem: How to Use Shared High-Bandwidth Storage EconomicallySPAA '26. Outstanding Paper Award
- Fast Concurrent Primitives Despite ContentionSPAA '26 doi
- Greedy Open Addressing Revisited: Beyond Yao's Lower BoundSTOC '26
- Breadcrumb Filters: Fast Fully Featured FiltersSIGMOD '26 doi
- Bounding the Fragmentation of B-Trees Subject to Batched InsertionsSIGMOD '26 doi
- Efficiently Constructing Sparse Navigable GraphsSODA '26 doi
- Don't Melt Your Cache: Low-Associativity with Heat-SinkSPAA '25. Distinguished Paper Award. Invited for a presentation at IGAFIT Highlights of Algorithms (HALG) 2026 doi
- The Case for External Graph SketchingACDA '25 doi
- Exploring the Landscape of Distributed Graph SketchingALENEX '25 doi
- History-Independent Concurrent Hash TablesSTOC '25 doi
- Adaptive Quotient FiltersSIGMOD '25 doi
- Optimal Bounds for Open Addressing Without ReorderingFOCS '24 doi
- Nearly Optimal List LabelingFOCS '24 doi
- History-Independent Concurrent ObjectsPODC '24 doi
- A Nearly Quadratic Improvement for Memory ReallocationSPAA '24 doi
- Snake in Optimal Space and TimeFUN '24 doi
- History-Independent Dynamic Partitioning: Operation-Order Privacy in Ordered Data StructuresPODS '24. Best Paper Award. ACM SIGMOD Research Highlight Award. Selected for Special Issue of ACM Transactions on Database Systems, Best of PODS 2024. Invited for a presentation at IGAFIT Highlights of Algorithms (HALG) 2026 doi
- Layered List LabelingPODS '24 doi
- Beyond Bloom: A Tutorial on Future Feature-Rich FiltersSIGMOD '24 (Tutorial)
- Modern Hashing Made SimpleSOSA '24
- Graph Ranking and the Cost of Sybil DefenseEC '23 doi
- An Associativity Threshold Phenomenon in Set-Associative CachesSPAA '23 doi
- Optimal Uncoordinated Unique IDsPODS '23 doi
- Mosaic Pages: Big TLB Reach with Small PagesASPLOS '23. Distinguished Paper Award. Selected for IEEE Micro Top Picks doi
- Tight Bounds for Monotone Minimal Perfect HashingSODA '23. Selected for Special Issue for SODA 2023 doi
- Tiny PointersSODA '23. Selected for Special Issue for SODA 2023 doi
- Analyzing and Implementing GPU Hash TablesAPOCS '23
- IcebergHT: High Performance PMEM Hash Tables Through Stability and Low AssociativitySIGMOD '23 doi
- SplinterDB and Maplets: Improving the Tradeoffs in Key-Value Store Compaction PolicySIGMOD '23 doi
- Online List Labeling: Breaking the log² n BarrierFOCS '22. Selected for Special Issue for FOCS 2022. Invited for a presentation at IGAFIT Highlights of Algorithms (HALG) 2023 doi
- GraphZeppelin: Storage-Friendly Sketching for Connected Components on Dynamic Graph StreamsSIGMOD '22 doi
- On the Optimal Time/Space Tradeoff for Hash TablesSTOC '22 doi
- A Compleat File System for Commodity SSDsEuroSys '22. Artifacts Available, Artifacts Functional, Results Reproducible Badges
- What Does Dynamic Optimality Mean in External Memory?ITCS '22 doi
- Paging and the Address Translation ProblemSPAA '21
- Vector Quotient Filters: Overcoming the Time/Space Trade-Off in Filter DesignSIGMOD '21 doi
- Mitigating false positives in filters: to adapt or to cache?APOCS '20
- SplinterDB: Closing the Bandwidth Gap for NVMe Key-Value StoresATC '20
- Timely Reporting of Heavy Hitters using External MemorySIGMOD '20. Selected for Special Issue of ACM Transactions on Database Systems, Best of SIGMOD 2020. Results Reproduced Badge doi
- How to Copy FilesFAST '20. Best Paper Award Finalist. Selected for Special Section for USENIX FAST 2020. Invited for a summary in USENIX ;login:
- Streaming Complexity of Spanning Tree ComputationSTACS '20 doi
- Flushing without CascadesSODA '20
- Syntactic Separation of Subset Satisfiability ProblemsAPPROX '19 doi
- Filesystem Aging: It's more Usage than FullnessHotStorage '19
- Small Refinements to the DAM Can Have Big Consequences for Data-Structure DesignSPAA '19. Selected for Special Issue for SPAA 2019 doi
- Achieving Optimal Backlog in Multi-Processor Cup GamesSTOC '19 doi
- Engineering a High-Performance GPU B-TreePPoPP '19 doi
- Optimal Ball RecyclingSODA '19 doi
- Streaming Algorithms for Planar Convex HullsISAAC '18 doi
- Bloom Filters, Adaptivity, and the Dictionary ProblemFOCS '18 doi
- Optimal Hashing in External MemoryICALP '18 doi
- A Dynamic Hash Table for the GPUIPDPS '18 doi
- Quotient Filters: Approximate Membership Queries on the GPUIPDPS '18
- GPU LSM: A Dynamic Dictionary Data Structure for the GPUIPDPS '18 doi
- The Full Path to Full-Path IndexingFAST '18. Best Paper Award Finalist. Selected for Special Issue for USENIX FAST 2018
- Mind the GapFUN '18 (Invited Paper) doi
- Dictionaries RevisitedSEA '17 (Invited Paper) doi
- Write-Optimized Skip ListsPODS '17 doi
- File Systems Fated for Senescence? Nonsense, Says Science!FAST '17. Invited for a special presentation at the SNIA Storage Developer Conference 2017. Invited for a summary in USENIX ;login:
- Cross-Referenced Dictionaries and the Limits of Write OptimizationSODA '17
- Parallel Lookups in String IndexesSPIRE '16
- Lazy Analytics: Let Other Queries Do the Work For YouHotStorage '16
- Optimizing Every Operation in a Write-Optimized File SystemFAST '16. Best Paper Award. Best of the Rest Award, USENIX Annual Technical Conference 2016. Selected for Special Issue for USENIX FAST 2016. Invited for a special presentation at the SNIA Storage Developer Conference 2017
- The I/O Complexity of Computing Prime TablesLATIN '16
- Tight Approximations of Graph Degeneracy in Large GraphsLATIN '16
- On the Complexity of Computing Prime TablesISAAC '15 doi
- Finding Articulation Points of Large Graphs in Linear TimeWADS '15
- Cost-Oblivious Reallocation for Scheduling and PlanningSPAA '15
- BetrFS: A Right-Optimized Write-Optimized File SystemFAST '15. Best Paper Award Finalist. Selected for Special Issue for USENIX FAST 2015
- The Batched Predecessor Problem in External MemoryESA '14
- Dynamic Windows Scheduling with ReallocationsSEA '14 doi
- Cost-Oblivious Storage ReallocationPODS '14 doi
- Computing the Degeneracy of Large GraphsLATIN '14
- Forty Years of Text IndexingCPM '13
- Exact Sublinear Binomial SamplingISAAC '13. Selected for Special Issue for ISAAC 2013
- Reallocation Problems in SchedulingSPAA '13 doi
- Don't Thrash: How to Cache Your Hash on FlashVLDB '12 doi
- The TokuFS File SystemHotStorage '12
- Opportunistic Information Dissemination in Mobile Ad-hoc Networks: adaptiveness vs obliviousness and randomization vs determinismLATIN '12 doi
- Don't Thrash: How to Cache Your Hash on FlashHotStorage '11
- Fault-Tolerant Aggregation: Flow Update Meets Mass DistributionOPODIS '11 doi
- Efficient and Robust Prediction Algorithms for Protein Complexes using Gomory-Hu TreePSB '09 doi
- A Linear Delay Algorithm for Building Concept LatticesCPM '08
- Sensor Network Gossiping or How to Break the Broadcast Lower BoundISAAC '07
- Initializing Sensor Networks of Non-uniform Density in the Weak Sensor ModelWADS '07
- Cache-Oblivious Streaming B-TreesSPAA '07
- Lattice based clustering of temporal gene-expression matricesSDM '07
- Lower Bounds for Clear Transmissions in Radio NetworksLATIN '06
- Cache-Oblivious String B-TreesPODS '06
- Bootstrapping a Hop-optimal Network in the Weak Sensor ModelESA '05
- Adversarial Contention Resolution for Simple ChannelsSPAA '05
- Ordinal Embeddings of Minimum Relaxation: General Properties, Trees, and UltrametricsSODA '05
- Optimal spaced seeds for faster approximate string matchingICALP '05
- Adversarial Analyses of Window Backoff StrategiesIPDPS '04, NSF Next Generation Software Program PI Workshop
- Discovering Temporal Relations in Molecular Pathways Using Protein-Protein InteractionsRECOMB '04
- Insertion Sort is O(n log n)FUN '04. Selected for Special Issue for FUN 2004
- Adventures at GoogleENC '03 (Invited Paper)
- The Level Ancestor Problem SimplifiedLATIN '02
- Two Simplified Algorithms for Maintaining Order in a ListESA '02
- Scanning and Traversing: Maintaining Data for Traversals in a Memory HierarchyESA '02
- Efficient Tree Layout in a Multilevel Memory HierarchyESA '02 doi
- Finding Frequent Items in Data StreamsICALP '02
- Undiscretized Dynamic Programming: Faster Algorithms for Facility Location and Related Problems on TreesSODA '02
- Structure-based Feature Extraction from Protein DatabasesMETMBS '01
- On the Midpath Tree Conjecture: A Counter-ExampleSODA '01
- COFE: A Scalable Method for Feature Extraction from Complex ObjectsDaWaK '00
- The LCA Problem RevisitedLATIN '00. Imre Simon Test of Time Award
- Notung: Dating gene duplications using gene family treesRECOMB '00
- Cache-Oblivious B-TreesFOCS '00
- Approximate Nearest Neighbor Algorithms for Hausdorff Metrics via EmbeddingsFOCS '99
- Evaluation of Algorithms for Local Register AllocationCC '99 doi
- Fast, Fair and Frugal Bandwidth Allocation in ATM NetworksSODA '99
- Overcoming Memory Bottlenecks in Suffix Tree ConstructionFOCS '98
- On Local Register AllocationSODA '98
- Nearly Tight Bounds on the Learnability of EvolutionFOCS '97
- Randomization, Rigor and Persuasiveness in ProofsLogic and Mathematical Reasoning '97
- DNA Strand Separation Prediction: A Parallel ImplementationPDPTA '97
- Group Testing Problems with Sequences in Experimental Molecular BiologySEQUENCES '97
- Optimal Suffix Tree Construction with Large AlphabetsFOCS '97
- Numerical Taxonomy on Data: Experimental ResultsSODA '97
- Local Rules for Protein Folding on the Triangular Lattice and Generalized Hydrophobicity in the HP ModelSODA '97
- Perfect Hashing for Strings: Formalization, Algorithms and Open ProblemsCPM '96
- The Structure of Circular Decomposable MetricsESA '96
- On the Approximability of Numerical Taxonomy (Fitting Distances by Tree Metrics)SODA '96
- Efficient Algorithms for Inverting EvolutionSTOC '96 doi
- Optimal Logarithmic Time Randomized Suffix Tree ConstructionICALP '96
- Computing the Agreement of Trees with Bounded DegreesESA '95
- Optimal Parallel Dictionary Matching and CompressionSPAA '95 doi
- On the Entropy of DNA: Algorithms and Measurements based on Memory and Rapid ConvergenceSODA '95
- String Matching in Lempel-Ziv Compressed StringsSTOC '95 doi
- An Efficient Algorithm for Dynamic Text IndexingSODA '94
- Optimal Evolutionary Tree Comparison by Sparse Dynamic ProgrammingFOCS '94
- Let Sleeping Files Lie: Pattern Matching in Z-compressed FilesSODA '94
- Fast Comparison of Evolutionary TreesSODA '94
- Optimal Two Dimensional Compressed MatchingICALP '94
- A Robust Model for Finding Optimal Evolutionary TreesSTOC '93
- Parallel Two Dimensional Pattern MatchingSPAA '93
- Improved Dynamic Dictionary MatchingSODA '93
- Efficient Randomized Dictionary Matching AlgorithmsCPM '92
- Alphabet Independent Two Dimensional MatchingSTOC '92 doi
- Adaptive Dictionary MatchingFOCS '91
- Efficient 2-dimensional Approximate Matching of Non-rectangular FiguresSODA '91
- The Whole is Faster than its PartsFAI '89
Books, Chapters & Other (7)
- Y. Zhan, A. Conway, Y. Jiao, N. Mukherjee, I. Groombridge, M. A. Bender, M. Farach-Colton, W. Jannen, R. Johnson, D. E. Porter, J. Yuan. How to Not Copy Files. In ;login:, '20
- A. Conway, A. Bakshi, Y. Jiao, W. Jannen, Y. Zhan, J. Yuan, M. A. Bender, R. Johnson, B. C. Kuszmaul, D. E. Porter, M. Farach-Colton. How to Fragment Your File System. In ;login:, '17
- M. Farach-Colton, Lowest Common Ancestors in Trees. In Encyclopedia of Algorithms, Springer Verlag. Ming-Yang Kao, editor, '16 link
- M. A. Bender, M. Farach-Colton, W. Jannen, R. Johnson, B. C. Kuszmaul, D. E. Porter, J. Yuan, Y. Zhan. An Introduction to Bε-trees and Write-Optimization. In ;login:, '15
- D. Durand and M. Farach-Colton, On the Design of Optimization Criteria for Multiple Sequence Alignment. In Biological Evolution and Statistical Physics, Springer Verlag. Michael Lässig and Angelo Valleriani, editors, '02 link
- M. Farach, F. Roberts, M. Vingron, M. Waterman, Editors. Mathematical Support for Molecular Biology, DIMACS Book Series, '99 link
- A. Amir and M. Farach, Extensions of String Matching and Array Pattern Matching. In Pattern Matching Algorithms and Applications, A. Apostolico and Z. Galil, Editors, '97