skip to content

Conservation Research Institute



Anil Madhavapeddy is the Professor of Planetary Computing at the University of Cambridge Computer Laboratory, based in the Systems Research Group.

research topics related to computer systems and programming language design and implementation, with a focus on applying it to conservation as part of the Energy and Environment Group. I direct the Cambridge Centre for Carbon Credits and collaborate with colleagues from Plant Sciences, Zoology and Economics. I also teach computer science and am a Fellow at Pembroke College. I enjoy hacking on open-source code and co-founded the MirageOS unikernel framework and am a long-time contributor to projects ranging from OCamlOpenBSDDockerHorde and Xen. The 2nd Edition of my book Real World OCaml was published in Oct 2022 by Cambridge University Press and is available online and in print.


  • University of Cambridge Computer Lab, Professor of Planetary Computing (2014-), UK
  • Tezos Foundation Council member non-exec director (2020-), Switzerland
  • Segfault Systems, Founder and board member (2020-), India
  • Tarides, Founder and board member (2018-), France
  • OCaml Labs Consultancy, Founder and board member (2016-), UK
  • I advise several companies on open source technology strategy (e.g. Zededa).

In the past, I've co-founded Unikernel Systems and High Energy Magic and worked for DockerCitrixXenSource, Intel Research, Fraser Research, Imperial College, and NASA MVACS at UCLA. You can read up some of the history over in my projects. I obtained my PhD from the University of Cambridge in 2003 and my BEng in Information Systems Engineering from Imperial College in 1999.


Interested graduate students are welcome to get in touch informally, but all applications must go through the department process. You may find my past research and papers as helpful background material before getting in touch.


Other publications: 

Journal publications

  • Tarkhani, Z. and Madhavapeddy, A., 2020. $μ$Tiles: Efficient Intra-Process Privilege Enforcement of Memory Regions
  • Sivaramakrishnan, KC., Dolan, S., White, L., Jaffer, S., Kelly, T., Sahoo, A., Parimala, S., Dhiman, A. and Madhavapeddy, A., 2020. Retrofitting parallelism onto OCaml. Proceedings of the ACM on Programming Languages, v. 4
    Doi: 10.1145/3408995
  • Sivaramakrishnan, KC., Dolan, S., White, L., Jaffer, S., Kelly, T., Sahoo, A., Parimala, S., Dhiman, A. and Madhavapeddy, A., 2020. Retrofitting parallelism onto OCaml Proceedings of the ACM on Programming Languages, v. 4
    Doi: 10.1145/3408995
  • Radanne, G., Gazagnaire, T., Madhavapeddy, A., Yallop, J., Mortier, R., Mehnert, H., Preston, M. and Scott, D., 2019. Programming Unikernels in the Large via Functor Driven Development
  • Koleini, M., Oviedo, C., McAuley, D., Rotsos, C., Madhavapeddy, A., Gazagnaire, T., Skejgstad, M. and Mortier, R., 2019. Fractal: Automated Application Scaling
  • Skjegstad, M., Madhavapeddy, A. and Crowcroft, J., 2015. Kadupul: Livin' on the edge with virtual currencies and time-locked puzzles DIYNetworking 2015 - Proceedings of the 2015 Workshop on Do-it-Yourself Networking: An Interdisciplinary Approach,
    Doi: 10.1145/2753488.2753492
  • Howard, H., Schwarzkopf, M., Madhavapeddy, A. and Crowcroft, J., 2015. Raft refloated: Do we have consensus? Operating Systems Review (ACM), v. 49
    Doi: 10.1145/2723872.2723876
  • Eriksen, M., Sperber, M. and Madhavapeddy, A., 2015. CUFP'13 scribe's report Journal of Functional Programming, v. 25
    Doi: 10.1017/S0956796815000052
  • Madhavapeddy, A. and Scott, DJ., 2014. Unikernels: The rise of the virtual library operating system Communications of the ACM, v. 57
    Doi: 10.1145/2541883.2541895
  • Sperber, M. and Madhavapeddy, A., 2014. Commercial users of functional programming workshop report Journal of Functional Programming, v. 23
    Doi: 10.1017/S0956796813000257
  • Parisis, G., Moncaster, T., Madhavapeddy, A. and Crowcroft, J., 2013. Trevi: Watering down storage hotspots with cool fountain codes Proceedings of the 12th ACM Workshop on Hot Topics in Networks, HotNets 2013,
    Doi: 10.1145/2535771.2535781
  • Madhavapeddy, A. and Scott, DJ., 2013. Unikernels: Rise of the virtual library operating system Queue, v. 11
    Doi: 10.1145/2557963.2566628
  • Madhavapeddy, A., Minsky, Y. and Eriksen, M., 2012. CUFP 2011 Workshop Report. J. Funct. Program., v. 22
    Doi: 10.1017/S0956796812000020
  • Nabi, Z., Moncaster, T., Madhavapeddy, A., Hand, S. and Crowcroft, J., 2012. Evolving TCP. How hard can it be? CoNEXT Student 2012 - Proceedings of the ACM Conference on the 2012 CoNEXT Student Workshop,
    Doi: 10.1145/2413247.2413270
  • Madhavapeddy, AVS. and Gazagnaire, T., 2011. Dynamics for ML using Meta-Programming Electronic Notes in Theoretical Computer Science, v. 264
    Doi: 10.1016/j.entcs.2011.06.002
  • Scott, D., Sharp, R., Gazagnaire, T. and Madhavapeddy, A., 2010. Using functional programming within an industrial product group: Perspectives and perceptions ACM SIGPLAN Notices, v. 45
    Doi: 10.1145/1932681.1863557
  • Toye, E., Sharp, R., Madhavapeddy, A., Scott, D., Upton, E. and Blackwell, A., 2007. Interacting with mobile services: an evaluation of camera-phones and visual tags PERS UBIQUIT COMPUT, v. 11
    Doi: 10.1007/s00779-006-0064-9
  • Madhavapeddy, A., Sharp, R., Scott, DJ. and Tse, A., 2005. Audio networking: the forgotten wireless technology. IEEE Pervasive Comput., v. 4
    Doi: 10.1109/MPRV.2005.50
  • Toye, EF., Sharp, R., Madhavapeddy, A. and Scott, DJ., 2005. Using smart phones to access site-specific services. IEEE Pervasive Comput., v. 4
    Doi: 10.1109/MPRV.2005.44
  • Scott, DJ., Sharp, R., Madhavapeddy, A. and Upton, E., 2005. Using visual tags to bypass Bluetooth device discovery. ACM SIGMOBILE Mob. Comput. Commun. Rev., v. 9
    Doi: 10.1145/1055959.1055965
  • Yallop, J., Sheets, D. and Madhavapeddy, A.A modular foreign function interface Science of Computer Programming,
    Doi: 10.1016/j.scico.2017.04.002
  • Chaudhry, A., Crowcroft, J., Howard, H., Madhavapeddy, A., Mortier, R., Haddadi, H. and McAuley, D., Personal Data: Thinking Inside the Box Critical Alternatives, v. 1
    Doi: 10.7146/aahcc.v1i1.21312


  • Minsky, Y., Madhavapeddy, A. and Hickey, J., 2013. Real World OCaml - Functional Programming for the Masses.
  • Minsky, Y., Madhavapeddy, A. and Hickey, J., 2013. Real World OCaml - Functional Programming for the Masses.

Teaching and Supervisions


I have been a Fellow at Pembroke College since 2015 and the Director of Studies for Computer Science there until 2018. I have taught the following courses at the Cambridge Computer Laboratory: