<-- back

Projects:

Systems

  • Bayou : A weekly connected distributed storage system
  • Networked file system : User level networked file system implemented using Fuse and libssh (write up)
  • ELF loader : Program to load elf executables to memory using mmap. Includes three different implementations: basic loader (maps all pages including bss segments), on demand loader (pages are only mapped when accessed) and hybrid loader (maps pages based on hueristic) (write up)
  • Libfastpaxos port : Successfully ported libfastpaxos to a distributed simulator (write up)
  • Paxos : Replicated bank applicaiton using Paxos protocol

Compilers

  • Perfexpert : Contributed ability to get metrics for set associated cache conflicts to give relevant code change suggestions to high performance applications.
  • DFA framework and LLVM passes : Implementation of Framework for data flow analysis and LLVM passes that include Local Optimizations (constant folding, strength reduction, algebraic identity), LICM (loop invariant code motion) and Dead code elimination
  • Phase order optimization in compilers : Phase ordering of compile optimization using ML with static and dynamic features (write up)
  • Instrumentation tools : Tools to instrument C++ code using clang for memory accesses and to parse the output from valgrind. It generates the binary that can be analyzed using perfexpert
  • Undergrad Projects : Compiler, NFS, Vertex Cover, etc

Applications

Tools

  • mdpresent : Tool to create presentation from markdown (uses mdpress) and deploys them to heroku.
  • Lyricit : Gem to update itunes lyrics from command line.
  • Benchmark tools : Tools to simulate cache and code for getting hardware counters

Others

  • Modularize Sinatra : Modularized Code Generator for Sinatra.
  • dotfiles : Dotfiles to replicate my development environment.
  • Mbdb : Implementation of MDB (miniature database) that uses Berkley DB as backend to support subset of SQL

Yet another blog