Masters

Masters in Embedded Software Engineering at School of Computer Science –
Carnegie Mellon University (www.cmu.edu)

Internet Of Things

Duration: Jan-Jul 2013 Team size- 4
This was project with Bosch RTC, Pittsburgh as a client. The project focused on developing peer to peer service discovery protocols in a house, that facilitate the discovery of sensors, actuators, phones, tablets to interact and then communicate between them to perform desired actions. Different devices like Android powered phones and tablets, Raspberry pi and Arduinos were used for this project. Implementation of the protocol was done on all three platforms. more info >

View PDF>

De-duplication in CODA server using look aside cache and Content Addressable Storage

Duration: Jan-Jul 2013 Team size- 4
Coda is an advanced networked file system. This project demonstrates how the scarce resource of the network bandwidth can be saved by using hashes of the content. The concept is simple in theory but implementing this feature it into an advanced network file system like coda posed the biggest challenge. The implementation is done in C as well as C++. more info >

Dynamic pre-fetching in the CODA, distributed file system

Duration: Jan-Jul 2013 Team size- 4
Coda is an advanced networked file system. I implemented a dynamic pre fetcher in the coda client. The modified coda client takes advantage of the think time of the user and pre fetches the files by monitoring how the user in navigating in the file system. The implementation was in C as well as C++. more info >

Real Time Extensions to Android Linux Kernel

Duration: Jan-Jul 2013 Team size- 4
In this project I implemented extensions to the Android Linux kernel in order to support real time task with periods and deadlines as well as multi core task scheduling using bin packing heuristics. This was used in combination with Dynamic Voltage and Frequency Scaling (DVFS) techniques to implement power aware scheduling schemes, Sys-Clock and PM-Clock. The implementation was done on the quad core Nexus 7 platform on the android Linux kernel. more info >

Custom Mini kernel for ARM processor

Duration: Jan-Jul 2013 Team size- 4
Developed a pre-emptive, real-time kernel for an ARM processor on the Gumstix board. Implemented context switching and priority based task management for support up to 64 tasks. Features like mutex and Priority ceiling protocol to bound priority inversion were also developed. more info >

Adaptive replacement cache for Internet Suspend Resume(ISR)

Duration: Jan-Jul 2013 Team size- 4
Internet Suspend/Resume, a ubiquitous VM project, maintains a cache of decrypted and decompressed chunks of a VM image in memory. I replaced the LRU cache in the ISR implementation with an Adaptive Replacement Cache (ARC) policy which unlike LRU is resistant to sequential and random workloads. The implementation was done in C++. more info >

View PDF>

Multi server photo sharing application with two phase commit

Duration: Jan-Jul 2013 Team size- 4

Github link: https://github.com/parthmehta209/picshare

I developed web application for sharing pictures where users can create events and upload pictures to the events. Multiple instances of this web application are created as necessary to cater to more and more clients. The web servers interact with each other to maintain consistency of the uploaded pictures. The purpose of the project was to implement a transaction based system to understand the complexities of such a system. The project was implemented using the Python based Flask framework http://flask.pocoo.org/. more info >

Custom Search Engine for TextFiles.com

Duration: Jan-Jul 2013 Team size- 4
I developed an application that would perform a search on the website www.textfiles.com. The application uses in memory as well as persistent on disk caches to optimize search results. The depth of the search and number of threads used are tunable parameters for the search. The implementation was done in Java. more info >

View PDF>

 

  • Real Time Extensions to Android Linux Kernel
  • Multi server photo sharing application with two phase commit
  • GPU migration in virtual environment using log replay
  • Internet Of Things
  • De-duplication in CODA server using look aside cache and Content Addressable Storage
  • Dynamic pre-fetching in the CODA, distributed file system
  • Custom Mini kernel for ARM processor
  • Engineering Distributed Systems
  • Adaptive replacement cache for Internet Suspend Resume(ISR)
  • Custom Search Engine for TextFiles.com