A cache storage engine designed to meet
the requirements of Developing Regions

Is It?

HashCache is a configurable cache storage engine designed to meet the needs of cache storage in the developing world. With the advent of cheap commodity laptops geared for mass deployments, developing regions are poised to become major users of the Internet, and given the high cost of bandwidth in these parts of the world, they stand to gain significantly from network caching.

Using an efficient cache storage engine like HashCache one can build a plethora of other services for developing regions settings. We are working on a WAN Accelerator called Waprox which uses HashCache as its chunk storage engine. We are also working towards building a prefetcher (overnight crawling based), a local search engine and in general towards an affordable server box providing web services in resource constrained environments.

So What?

Current Web proxies are incapable of providing large storage capacities while using small resource footprints, a requirement for the integrated multi-purpose servers needed to effectively support developing-world deployments. HashCache presents a radical departure from the conventional wisdom in disk cache design, and uses 6 to 20 times less memory than current techniques while still providing comparable or better performance. As such, HashCache can be deployed in configurations not attainable with current approaches, such as having multiple terabytes of external storage cache attached to low-powered machines.

Media Attention


HashCache recently received a lot of media attention. HashCache was picked as one of top 10 Emerging Technologies of 2009 by the Technology Review Magazine of MIT. Following is a quick summary with links about the event and the also the follow-up.



Anirudh Badam, KyoungSoo Park, Vivek S. Pai and Larry L. Peterson with input from lots of people. We would like to thank Marc E. Fiuczinsky for co-ordinating our deployments. We would also like to thank Jim Gettys for his inputs regarding the caching needs of OLPC.