KC Sivaramakrishnan Research Associate @ OCaml Labs

ProfileImage I am a Post-doctoral Research Associate under the OCaml Labs initiative at the University of Cambridge Computer Lab, an 1851 Research Fellow and a Research Fellow at Darwin College, Cambridge. I am also a member of the Network and Operating Systems group.

I am interested in the design and implementation of concurrent functional programming languages targeting scalable platforms such as many-core processors and compute clouds. My research spans programming models, compilers, static analysis, schedulers, threading systems, and memory management.

Before coming to Cambridge, I was a graduate student at Purdue University where I obtained an MS and a PhD degree in Computer Science under the supervision of the wonderful Prof. Suresh Jagannathan. At Purdue, I led the MultiMLton and Quelea projects. Before that, I obtained my BEng degree in Computer Science and Engineering from Anna University, India.

Contact

Timeline

Timeline

Publications

Overview

Drafts

  1. Gowtham Kaki, KC Sivaramakrishnan, Thomas Gazagnaire, Anil Madhavapeddy, Suresh Jagannathan

[DaLi: Database as a Library](papers/snapl17_draft.pdf) </a>
Draft, *In submission*, Jan 2017
</br>

PhD Dissertation

[Functional Programming Abstractions for Weakly Consistent Systems](papers/dissertation_dec14.pdf) </a>
*Department of Computer Science, Purdue University, Dec 2014*
[\[slides (pdf)\]](slides/defense.pdf) [\[slides (pptx)\]](slides/defense.pptx) [\[bib\]](bib/phd.txt)

Journal publications

  1. KC Sivaramakrishnan, Tim Harris, Simon Marlow, Simon Peyton Jones

[Composable Scheduler Activations for Haskell](papers/schedact_jfp16.pdf) </a>
*Journal of Functional Programming (JFP), 2016*
[\[code\]](https://github.com/ghc/ghc/tree/ghc-lwc2)
</br>
  1. KC Sivaramakrishnan, Gowtham Kaki, Suresh Jagannathan

[Representation without Taxation: A Uniform, Low-Overhead, and High-Level Interface to Eventually Consistent Key-Value Stores](papers/quelea_ieee16.pdf) </a>
*IEEE Data Engineering Bulletin, 39(1): 52 – 64, March 2016*
**Invited Paper** [\[bib\]](bib/ieee16.txt)
</br>
  1. KC Sivaramakrishnan, Lukasz Ziarek, Suresh Jagannathan

[MultiMLton: A Multicore-aware Runtime for Standard ML](papers/multimlton_jfp14.pdf) </a>
*Journal of Functional Programming (JFP), 24(6): 613 – 674, 2014*
[\[code\]](https://github.com/kayceesrk/multiMLton) [\[bib\]](bib/jfp14.txt)
</br>
  1. KC Sivaramakrishnan, Mohammad Qudeisat, Lukasz Ziarek, Karthik Nagaraj, Patrick Eugster

[Efficient Sessions](papers/sting_scp13.pdf) </a>
*Science of Computer Programming (SCP), 78(2): 147 – 167, 2013*
**Invited Paper** [\[code\]](https://github.com/kayceesrk/Sting) [\[bib\]](bib/scp13.txt)

Conference publications

  1. KC Sivaramakrishnan, Gowtham Kaki, Suresh Jagannathan

[Declarative Programming over Eventually Consistent Data Stores](papers/quelea_pldi15.pdf)
*International Conference on Programming Language Design and Implementation (PLDI), 2015*
[\[code\]](http://kcsrk.info/Quelea) [\[techrep\]](papers/quelea-long.pdf) [\[bib\]](bib/pldi15.txt)
</br>
  1. KC Sivaramakrishnan, Lukasz Ziarek, Suresh Jagannathan

[Rx-CML: A Prescription for Safely Relaxing Synchrony](papers/rxcml_padl14.pdf) </a>
*Symposium on Practical Aspects of Declarative Languages (PADL), 2014*
[\[code\]](https://github.com/kayceesrk/mlton-zmq) [\[slides (pdf)\]](slides/padl14.pdf) [\[slides (key)\]](slides/padl14.key) [\[bib\]](bib/padl14.txt)
</br>
  1. KC Sivaramakrishnan, Lukasz Ziarek, Suresh Jagannathan

[A Coherent and Managed Runtime for ML on the SCC](papers/mmscc_marc12.pdf) </a>
*Many-core Architecture Research Community Symposium (MARC), 2012*
**Best Paper Award** [\[code\]](https://github.com/kayceesrk/multiMLton/tree/split-heap-parallel-GC-IntelSCC) [\[slides (pdf)\]](slides/marc12.pdf) [\[slides (pptx)\]](slides/marc12.pptx) [\[bib\]](bib/marc12.txt)
</br>
  1. KC Sivaramakrishnan, Lukasz Ziarek, Suresh Jagannathan

[Eliminating Read Barriers through Procrastination and Cleanliness](papers/mmgc_ismm12.pdf) </a>
*International Symposium on Memory Management (ISMM), 2012*
[\[slides (pdf)\]](slides/ismm12.pdf) [\[slides (pptx)\]](slides/ismm12.pptx) [\[bib\]](bib/ismm12.txt)
</br>
  1. Lukasz Ziarek, KC Sivaramakrishnan, Suresh Jagannathan

[Composable Asynchronous Events](papers/acml_pldi11.pdf) </a>
*International Conference on Programming Language Design and Implementation (PLDI), 2011*
[\[bib\]](bib/pldi11.txt)
</br>
  1. KC Sivaramakrishnan, Karthik Nagaraj, Lukasz Ziarek, Patrick Eugster

[Efficient Session Type Guided Distributed Interaction](papers/sting_coordination10.pdf) </a>
*International Conference on Coordination Models and Languages (COORDINATION), 2010*
[\[code\]](https://github.com/kayceesrk/Sting) [\[slides (pdf)\]](slides/coordination10.pdf) [\[slides (key)\]](slides/coordination10.key) [\[bib\]](bib/coordination10.txt)
</br>
  1. Lukasz Ziarek, KC Sivaramakrishnan, Suresh Jagannathan

[Partial Memoization of Concurrency and Communication](papers/memo_icfp09.pdf) </a>
*International Conference on Functional Programming (ICFP), 2009*
[\[bib\]](bib/icfp09.txt)

Workshop publications

  1. Oleg Kiselyov and KC Sivaramakrishnan

[Eff directly in OCaml](papers/eff_ocaml_ppl17.pdf)
*JSSST Workshop on Programming and Programming Languages*
</br>
2.
KC Sivaramakrishnan and Théo Laurent
[Lock-free programming for the masses](papers/reagents_ocaml16.pdf) </a>
*OCaml Workshop, 2016*
</br>
3.
Daniel Hilleström, Sam Lindley, KC Sivaramakrishnan
[Compiling Links Effect Handlers to the OCaml Backend](papers/links_ocaml_ml16.pdf) </a>
*ML Worshop, 2016*
</br>
4.
Oleg Kiselyov and Kc Sivaramakrishnan
[Eff Directly in OCaml](papers/eff_ocaml_ml16.pdf)
*ML Worshop, 2016*
</br>
5.
Stephen Dolan, Leo White, KC Sivaramakrishnan, Jeremy Yallop and Anil Madhavapeddy
[Effective Concurrency with Algebraic Effects](papers/effects_ocaml15.pdf) </a>
*OCaml Worshop, 2015*
[\[code\]](https://github.com/kayceesrk/ocaml-eff-example) [\[slides (pdf)\]](slides/OCaml15.pdf) [\[slides (key)\]](slides/OCaml15.key)
</br>
6.
KC Sivaramakrishnan, Lukasz Ziarek, Suresh Jagannathan
[Migrating MultiMLton to the Cloud](papers/mmcloud_mlw13.pdf) </a>
*ML Worshop, 2013*
</br>
7.
Daniel G. Waddington, Chen Tian, KC Sivaramakrishnan
[Scalable Lightweight Task Management Schemes for MIMD Processors](papers/snapple_sfma11.pdf) </a>
*Workshop on Systems for Future Multi-Core Architectures (SFMA), 2011*
[\[bib\]](bib/sfma11.txt)
</br>
8.
Suresh Jagannathan, Armand Navabi, KC Sivaramakrishnan, Lukasz Ziarek
[Design Rationale for MultiMLton](papers/multimlton_mlw10.pdf) </a>
*ML Workshop, 2010*
[\[bib\]](bib/mlw10.txt)
</br>
9.
KC Sivaramakrishnan, Lukasz Ziarek, Raghavendra Prasad, Suresh Jagannathan
[Lightweight Asynchrony using Parasitic Threads](papers/parasites_damp10.pdf) </a>
*Workshop on Declarative Aspects of Multicore Programming (DAMP), 2010*
[\[bib\]](bib/damp10.txt)
## Technical Reports 1.
KC Sivaramakrishnan, Lukasz Ziarek, Suresh Jagannathan
[Featherweight Threads for Communication](papers/parasites_tech11.pdf) </a>
*Purdue University Computer Science Technical Report – TR-11-018, 2011*
[\[bib\]](bib/featherweight.txt)
# Talks ## 2016 * **Composable lock-free programming for Multicore OCaml**
ABCD Meeting, University of Edinburgh, Nov 2016
[\[slides (pdf)\]](slides/reagents_edinburgh.pdf) [\[slides (key)\]](slides/reagents_edinburgh.key)
* **Practical Algebraic Effect Handlers in Multicore OCaml**
LFCS Seminar, University of Edinburgh, Nov 2016
[\[slides (pdf)\]](slides/handlers_edinburgh.pdf) [\[slides (key)\]](slides/handlers_edinburgh.key)
* **Effective Concurrency and Parallelism in Multicore OCaml**
Invited Seminar, IIT Madras, Nov 2016
* **Effective Concurrency and Parallelism in Multicore OCaml**
Invited Seminar, IIT Bombay, Nov 2016
* **Effective parallelism with Reagents**
London Facebook Faculty Summit - Facebook London, UK, Sep 2016
[\[slides (pdf)\]](slides/reagents_fb_fac_summit_16.pdf) [\[slides (key)\]](slides/reagents_fb_fac_summit_16.key)
* **Multicore OCaml and Programming with Reagents**
[LDN Functionals](https://www.meetup.com/London-Functionals/), Jane Street UK, London, Aug 2016
[\[video\]](https://youtu.be/qRWTws_YPBA) [\[slides (pdf)\]](slides/reagents_aug_2_17.pdf) [\[slides (key)\]](slides/reagents_aug_2_17.key)
* **Effect handlers in Multicore OCaml**
Dagstuhl Seminar, Mar 2016
[\[slides (pdf)\]](slides/handlers_dagstuhl_16.pdf) [\[slides (key)\]](slides/handlers_dagstuhl_16.key)
* **Arrows and Reagents**
Invited Lecture, Advanced Functional Programming, Mar 2016
[\[slides (pdf)\]](slides/reagents_adv_fp_16.pdf) [\[slides (key)\]](slides/reagents_adv_fp_16.key)
* **Concurrent and Multicore OCaml: A deep dive**
Facebook, Menlo Park, CA, Jan 2016
[\[slides (pdf)\]](slides/multicore_fb16.pdf) [\[slides (key)\]](slides/multicore_fb16.key)
## 2015 * **Multicore OCaml: Status Report**
OCaml Developer's workshop, Paris, Nov 2015
* **The state of the OCaml Platform**
OCaml Consortium Meeting, Paris, Nov 2015
* **Silence is Golden: Controlling Communication and Coordination in Distributed Databases**
Darwin College Science Seminar, University of Cambridge, Oct 2015
* **Effective Concurrency with Algebraic Effects**
OCaml Workshop, Sep 2015
* **Quelea: Declarative Programming over Eventually Consistent Data Stores**
University of Cambridge, Apr 2015
## 2014 * **Functional Programming Abstractions for Weakly Consistent Systems**
Purdue University, Dec 2014
* **Functional Abstractions for Practical and Scalable Concurrent Programming**
Microsoft Research, Cambridge, UK, Mar 2014
[\[slides (pdf)\]](slides/msr14.pdf) [\[slides (pptx)\]](slides/msr14.pptx)
* **Rx-CML: A Prescription for Safely Relaxing Synchrony**
PADL '14, Jan 2014
## 2013 * **Migrating MultiMLton to the Cloud**
ML Workshop '13, Sep 2013
## 2012 * **A Coherent and Managed Runtime for ML on the SCC**
MARC '12, Nov 2012
* **Eliminating Read Barriers through Procrastination and Cleanliness**
†   ISMM '12, Jun 2012
†   Wrestling Wednesdays, Microsoft Research, Cambridge, May 2012
* **Lightweight Concurrency in GHC**
Microsoft Research, Cambridge, May 2012
[\[slides (pdf)\]](slides/ghclwc.pdf) [\[slides (pptx)\]](slides/ghclwc.pptx)
* **Efficient Session Type guided Distributed Interaction**
COORDINATION '12, Jun 2012