Overview
Over the course of seven years starting August 2000, I have worked on quite a few projects including the ones required by the courses I took. This page summarizes the projects that I did learn quite a bit from or was able to contribute something to the computing community.
Multi Cell Simulator
Regardless of the degree of coupling, the presence of accelerators requires support for new programming abstractions and run-time environments that can efficiently harvest platform resources comprised of general purpose and specialized processing cores, their diverse memory units and memory management support, and communication links that connect them. We have developed an execution model and infrastructure for modeling multi-accelerator architectures -- specifically architectures comprised of a large number of Cell Broadband engine processors. Multi Cell Simulator or MCS is an execution-driven simulation infrastructure for modeling systems comprised of multiple IBM Cell broadband engine processors. The infrastructure utilizes IBM's Mambo simulator and contributes (1) a pooled accelerator execution model for orchestrating computations on and data movements across multiple accelerators providing a uniform view of a single platform to the programmer as required, (2) an API for implementing the pooled accelerator model and (3) a distributed simulation environment for modeling multiple, communicating Cell BE processors. MCS partially offsets the enormous computational demands of simulating multi-cell systems by employing distributed simulation. In the current version of MCS the inter-cell network simulation is purely functional in nature. The simulation infrastructure is intended to be easily accessible to researchers working in clusters of Cell processors and be conducive to ``what-if'' analysis. This infrastructure is an easily configurable simulation tool useful for exploring a wide range of issues of interest in multi-cell architectures including, development of parallel multi-cell applications, communication optimizations, compiler optimizations, interconnection network topologies, and allocation/management algorithms.
Project Documentation
- Technical Report
- Project Overview
- API Documentation
- Source code (Coming soon)
Systems - Embedded, Operating and Distributed!
These are some projects done as a requirement for the Systems courses I have taken.
- Implementation of a (Unix-like) Kernel (CS 15-410 at CMU)
- Implementation of user level thread library (CS 6210 at Gatech + CS 15-410 at CMU)
- MyOS – A Real Time Operating System (ECE 18-342 at CMU)
- Distributed Embedded System Simulating an Elevator (ECE 18-649 at CMU)
- CruiseControl: Optimal Routing on Roads Using Dynamic Traffic Balancing (report) (presentation) (ECE 18-742 at CMU)
- A Novel Architecture for Distributed Computing (Wireless Ad Hoc Lattice Computer) (report) (For Intel India Student Research Contest)
Other Projects
Here are some more projects mostly from undergrad:
- A Framework For E-Governance
- Active Networks (AN) for Network Security and Route Optimization