NOTICE Unless I explicitly say otherwise, all pages and posts on this site are largely speculation based on observations. Where experiments have been done to provide conclusive evidence it is noted. These posts are a brain dump of my thoughts (to capture those elusive moments) at the time of writing, and is therefore likely to change as the results of research proves otherwise. Obviously this does not apply to posts where I describe a technique that has been implemented and tested.
  1. O’Neil, P., Cheng, E., Gawlick, D., & O’Neil, E. (1996). The log-structured merge-tree (LSM-tree). Acta Informatica, 33(4), 351–385.
  2. Kyrola, A., Blelloch, G., & Guestrin, C. (2012). GraphChi: Large-scale graph computation on just a PC. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI) (31–46).
  3. Lakshman, A., & Malik, P. (2010). Cassandra: a decentralized structured storage system. ACM SIGOPS Operating Systems Review, 44(2), 35–40.
  4. Khayyat, Z., Awara, K., Alonazi, A., Jamjoom, H., Williams, D., & Kalnis, P. (2013). Mizan: a system for dynamic load balancing in large-scale graph processing. In Proceedings of the 8th ACM European Conference on Computer Systems (169–182).
  5. Tarjan, R. E. (1985). Amortized computational complexity. SIAM Journal on Algebraic Discrete Methods, 6(2), 306–318.
  6. Okasaki, C. (1999). Purely functional data structures. Cambridge University Press.
  7. Shafaat, T. M., Ghodsi, A., & Haridi, S. (2007). Handling network partitions and mergers in structured overlay networks. In Peer-to-Peer Computing, 2007. P2P 2007. Seventh IEEE International Conference on (132–139).
  8. Walshaw, C., Cross, M., & Everett, Mg. (1997). Parallel dynamic graph partitioning for adaptive unstructured meshes. Journal of Parallel and Distributed Computing, 47(2), 102–108.
  9. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., & Vogels, W. (2007). Dynamo: amazon’s highly available key-value store. In SOSP (Vol. 7, 205–220).
  10. Codd, E. F. (1982). Relational database: a practical foundation for productivity. Communications of the ACM, 25(2), 109–117.
  11. Codd, E. F. (1972). Relational completeness of data base sublanguages. IBM Corporation.
  12. Eugster, P. T., Guerraoui, R., Kermarrec, A.-M., & Massoulié, L. (2004). Epidemic information dissemination in distributed systems. Computer, 37(5), 60–67.
  13. Bollobás, B. (2001). Random graphs (Vol. 73). Cambridge university press.
  14. Cardwell, N., Savage, S., & Anderson, T. (2000). Modeling TCP latency. In INFOCOM 2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE (Vol. 3, 1742–1751).
  15. Voulgaris, S., & Van Steen, M. (2007). Hybrid dissemination: adding determinism to probabilistic multicasting in large-scale P2P systems. In Proceedings of the ACM/IFIP/USENIX 2007 International Conference on Middleware (389–409).
  16. Griffioen, J., & Appleton, R. (1994). Reducing File System Latency using a Predictive Approach. In USENIX Summer (197–207).
  17. Padmanabhan, V. N., & Mogul, J. C. (1996). Using predictive prefetching to improve World Wide Web latency. ACM SIGCOMM Computer Communication Review, 26(3), 22–36.
  18. Malewicz, G., Austern, M. H., Bik, A. Jc., Dehnert, J. C., Horn, I., Leiser, N., & Czajkowski, G. (2010). Pregel: a system for large-scale graph processing. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data (135–146).
  19. Bisseling, R. H., & McColl, W. F. (1993). Scientific computing on bulk synchronous parallel architectures.