The Log-Structured Merge-Tree (LSM Tree)

The Log-Structured Merge-Tree (LSM Tree) - O'Neil et al. '96. Log-Structured Merge is an important technique used in many modern data stores (for example, BigTable, Cassandra, HBase, Riak, ...). Suppose you have a hierarchy of storage options for data - for example, RAM, SSDs, Spinning disks, with different price/performance characteristics. Furthermore, you have a large … Continue reading The Log-Structured Merge-Tree (LSM Tree)

Dynamic vehicle routing, pickup, and delivery problems

A double-header today: A review of dynamic vehicle routing problems - Pillac et al. 2012, and Dynamic pickup and delivery problems - Berbeglia et al. 2010 With the ubiquity of location-enabled smartphones we're increasingly seeing new startup businesses that take advantage of a mobile workforce to pick up and deliver goods (e.g. groceries, meals, parcels) … Continue reading Dynamic vehicle routing, pickup, and delivery problems

An unsupervised algorithm for person-name disambiguation on the web

An unsupervised algorithm for person-name disambiguation on the web - Delgado et al. 2014 Many people share the same name. When you search for a person by name on the web, the results you get back are page ranked without consideration to the individual they refer to. If you're searching for a person who shares … Continue reading An unsupervised algorithm for person-name disambiguation on the web

Outperforming LRU with an Adaptive Replacement Cache Algorithm

Outperforming LRU with an Adaptive Replacement Cache Algorithm Megiddo & Modha, 2004 Ask most people to name a cache management algorithm, and the first thing that springs to their mind is likely to be LRU. But it turns out there is a better (lesser-known) algorithm called ARC (Adaptive Replacement Cache), as used for example by … Continue reading Outperforming LRU with an Adaptive Replacement Cache Algorithm