<-- 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
- 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