Martin Farach-Colton | |
---|---|
Alma mater | Johns Hopkins School of Medicine, MD (1988) University of Maryland, College Park, PhD (1991) |
Scientific career | |
Fields | Computer science |
Institutions | New York University |
Thesis | String Algorithms for Template Matching (1991) |
Doctoral advisor | Amihood Amir |
Martin Farach-Colton is an American computer scientist, known for his work in streaming algorithms, suffix tree construction, pattern matching in compressed data, cache-oblivious algorithms, and lowest common ancestor data structures. He is the Leonard J. Shustek Professor of Computer Science and chair of the Department of Computer Science and Engineering at New York University. [1] Formerly, he was a Distinguished Professor of Computer Science at Rutgers University. [2] He co-founded the storage technology startup company Tokutek. [3]
Farach-Colton is of Argentine descent, and grew up in South Carolina. While attending medical school, he met his future husband, with whom he now has twin children. [4] He obtained his M.D. in 1988 from the Johns Hopkins School of Medicine [5] and his Ph.D. in computer science in 1991 from the University of Maryland, College Park under the supervision of Amihood Amir. [6]
After completing his Ph.D., he went on to work at Google and co-founded Tokutek. [7] He was program chair of the 14th ACM-SIAM Symposium on Discrete Algorithms (SODA 2003). [8] The cache-oblivious B-tree data structures studied by Bender, Demaine, and Farach-Colton beginning in 2000 became the basis for the fractal tree index used by Tokutek's products TokuDB and TokuMX. [3]
In 1996, Farach-Colton was awarded an Alfred P. Sloan Research Fellowship. [9] In 2021, he was inducted as a SIAM Fellow "for contributions to the design and analysis of algorithms and their use in storage systems and computational biology" [10] and as an ACM Fellow "for contributions to data structures for biocomputing and big data" [11] In 2022, he was inducted as an IEEE Fellow "for contributions to data structures for storage systems". [12] In 2023, he was elected to the Argentine Academia Nacional de Ciencias Exactas, Fisicas y Naturales. [13] In 2024, he was inducted as an AAAS Fellow. [14]
In 2012, his paper "The LCA problem revisited" won the Simon Imre Test of Time award at LATIN. [15] In 2016, his paper "Optimizing Every Operation in a Write-optimized File System" won the Best Paper award at FAST. [16] In 2023, his paper "Mosaic Pages: Big TLB Reach with Small Pages" won a Distinguished Paper award as ASPLOS. [17]
Farach-Colton is an avid Brazilian jiu-jitsu practitioner and received a bronze medal at the 2015 World Master Jiu-Jitsu IBJJF Championship. [18] He received his black belt from Russell Kerr in 2018. [19] Farach-Colton has served on several charity boards including the Ali Forney Center, Lambda Legal, [20] and The Trevor Project. [21]
Daniel Dominic Kaplan Sleator is a Professor of Computer Science at Carnegie Mellon University, Pittsburgh, United States. In 1999, he won the ACM Paris Kanellakis Award for the splay tree data structure.
In computer science, a suffix tree is a compressed trie containing all the suffixes of the given text as their keys and positions in the text as their values. Suffix trees allow particularly fast implementations of many important string operations.
Erik D. Demaine is a Canadian-American professor of computer science at the Massachusetts Institute of Technology and a former child prodigy.
Charles Eric Leiserson is a computer scientist and professor at Massachusetts Institute of Technology (M.I.T.). He specializes in the theory of parallel computing and distributed computing.
In computing, a cache-oblivious algorithm is an algorithm designed to take advantage of a processor cache without having the size of the cache as an explicit parameter. An optimal cache-oblivious algorithm is a cache-oblivious algorithm that uses the cache optimally. Thus, a cache-oblivious algorithm is designed to perform well, without modification, on multiple machines with different cache sizes, or for a memory hierarchy with different levels of cache having different sizes. Cache-oblivious algorithms are contrasted with explicit loop tiling, which explicitly breaks a problem into blocks that are optimally sized for a given cache.
In computing, external memory algorithms or out-of-core algorithms are algorithms that are designed to process data that are too large to fit into a computer's main memory at once. Such algorithms must be optimized to efficiently fetch and access data stored in slow bulk memory such as hard drives or tape drives, or when memory is on a computer network. External memory algorithms are analyzed in the external memory model.
David Arthur Eppstein is an American computer scientist and mathematician. He is a distinguished professor of computer science at the University of California, Irvine. He is known for his work in computational geometry, graph algorithms, and recreational mathematics. In 2011, he was named an ACM Fellow.
In graph theory and computer science, the lowest common ancestor (LCA) of two nodes v and w in a tree or directed acyclic graph (DAG) T is the lowest node that has both v and w as descendants, where we define each node to be a descendant of itself.
In computer science, a succinct data structure is a data structure which uses an amount of space that is "close" to the information-theoretic lower bound, but still allows for efficient query operations. The concept was originally introduced by Jacobson to encode bit vectors, (unlabeled) trees, and planar graphs. Unlike general lossless data compression algorithms, succinct data structures retain the ability to use them in-place, without decompressing them first. A related notion is that of a compressed data structure, insofar as the size of the stored or encoded data similarly depends upon the specific content of the data itself.
In computer science, a Cartesian tree is a binary tree derived from a sequence of distinct numbers. To construct the Cartesian tree, set its root to be the minimum number in the sequence, and recursively construct its left and right subtrees from the subsequences before and after this number. It is uniquely defined as a min-heap whose symmetric (in-order) traversal returns the original sequence.
In computer science, a doubly logarithmic tree is a tree where each internal node of height 1, the tree layer above the leaves, has two children, and each internal node of height has children. Each child of the root contains leaves. The number of children at a node from each leaf to root is 0,2,2,4,16, 256, 65536, ...
Michael David Mitzenmacher is an American computer scientist working in algorithms. He is Professor of Computer Science at the Harvard John A. Paulson School of Engineering and Applied Sciences and was area dean of computer science July 2010 to June 2013. He also runs My Biased Coin, a blog about theoretical computer science.
Anna R. Karlin is an American computer scientist, the Microsoft Professor of Computer Science & Engineering at the University of Washington.
In computer science, the order-maintenance problem involves maintaining a totally ordered set supporting the following operations:
Anna Lubiw is a computer scientist known for her work in computational geometry and graph theory. She is currently a professor at the University of Waterloo.
In computer science, a fractal tree index is a tree data structure that keeps data sorted and allows searches and sequential access in the same time as a B-tree but with insertions and deletions that are asymptotically faster than a B-tree. Like a B-tree, a fractal tree index is a generalization of a binary search tree in that a node can have more than two children. Furthermore, unlike a B-tree, a fractal tree index has buffers at each node, which allow insertions, deletions and other changes to be stored in intermediate locations. The goal of the buffers is to schedule disk writes so that each write performs a large amount of useful work, thereby avoiding the worst-case performance of B-trees, in which each disk write may change a small amount of data on disk. Like a B-tree, fractal tree indexes are optimized for systems that read and write large blocks of data. The fractal tree index has been commercialized in databases by Tokutek. Originally, it was implemented as a cache-oblivious lookahead array, but the current implementation is an extension of the Bε tree. The Bε is related to the Buffered Repository Tree. The Buffered Repository Tree has degree 2, whereas the Bε tree has degree Bε. The fractal tree index has also been used in a prototype filesystem. An open source implementation of the fractal tree index is available, which demonstrates the implementation details outlined below.
Amit Sahai is an Indian-American computer scientist. He is a professor of computer science at UCLA and the director of the Center for Encrypted Functionalities.
Gad Menahem Landau is an Israeli computer scientist noted for his contributions to combinatorial pattern matching and string algorithms and is the founding department chair of the Computer Science Department at the University of Haifa.
In computer science, the list-labeling problem involves maintaining a totally ordered set S supporting the following operations:
Michael A. Bender is an American computer scientist, known for his work in cache-oblivious algorithms, lowest common ancestor data structures, scheduling (computing), and pebble games. He is David R. Smith Leading Scholar professor of computer science at Stony Brook University, and a co-founder of storage technology startup company Tokutek.