>Projects
Aim:
Video display and conversion from SD to HD given a video in video in raw native format
,Spring-09
Course: CSCI 576: Multimedia System Design Description:
First part of this project was to display video,I read a video file in a raw native format and displayed it at the needed frame rate. The parameters to display video were filename, width, height, number of frames and frame rate. Depending on the frame rate video should change its running speed.
      Second part of the project was to deal with image sampling, aliasing effects, image aspect ratios and pixel aspect ratios. In this part I was expected to convert input video in one format (standard definition or high definition) to other respective format. These have very practical applications today.In this part we were asked to covert and write the new converted video (HD or SD) onto the local disc, so that it can be viewed afterwords.I implemented three different spatial filtering techniques to smooth the image after conversion.In this project I also analysed problems inherent in video conversions and some techniques to overcome them.
Score: Not Out Yet Language: C/VC++         Platform: Windows (Visual Studio 2008)
Aim:
Kernel threads synchronization using Locks and Condition Variables on Nachos Operating System
,Fall-08
Course: CSCI 402 Description:
In the first part of this project, we developed Locks, Condition Variables and thread routines.We needed Locks and Condition Varibales to avoid race conditions between the interacting threads and thus solved the synchronization problem.
      In the second part of our project, we were expected to simulate "the Senate pay phone system" which uses different kernel threads as different entities to interact with eachother. Aim was to show that the Locks and CVs work fine with large number of threads and provides perfect Mutual Exclusion.All the work was done at kernel level. Score: 35/35 Language: C++         Platform: Nachos OS
Aim: Implementation of System calls and multiprogramming on the Nachos operating system , FALL-08
Course: CSCI 402 Description:
This project was an extention to the Project 1, mentioned above.In the first part we were expected to "bullet-proof" the nachos kernel from the User Programs. So all the Locks, CVs and some other kernel level routines were needed to be protected from the User Program errors. We implemented System Calls to do this. Now all the queries to the Kernel level function were performed through System Calls.
      In the second part we needed to create an address space in which to run a user program that uses System Calls to invoke kernel level procedures. We needed to allow multiple user programs to run concurrently in main memory. To insure this we had to create an interface between Virtual Address and Physical Address of instructions.Moreover, we needed to assign new stack for each incoming thread and remove the same when thread disappears.
      In the last part we implemented "The Senate Pay Phone Simulation" as a set of multithreaded Nachos User Programs. We needed to use the Multiprogramming and System Call features implemented in last two parts for synchronization.Along with this, we created multiple Address Spaces to run multiple Senate Pay Phone Simulations at the same time without interfering with eachother.
      For this project we created Fork, Exec, Exit, Yield, Lock Acquire, Lock Release, Wait, Signal and Broadcast system calls.
Score: 37/40 Language:C++         Platform: Nachos OS
Aim:. Implementation of Virtual MMU with TLB, IPT, Page Tables and Swap Files in Nachos, FALL-08
Course:CSCI 402 Description:
In this project we implemented Software managed TLB, Virtual Memory and Remote Procedure Calls.In the first part we were expected to implement TLB(Translation Lookside Buffer) and IPT (Inntverted Page Table): This will be searched only when a TLB miss occurs.
      In the second part we implemented complete Virtual Memory Management Unit. We had limited Physical Memory size, thus proper page replacement algorithms were needed to be implemented to utilize the space optimally. We had to keep track of each virtual page and whether it is in TLB, IPT, Main Memory or Swap File.We were expected to run The Senate Pay Phoone Simulation created in project1 with all these settings intact and we succeeded in doing so.
      Finally, we needed to create Remote Procedure Calls to simulate Client-Server environment within the project. All the System Calls are now placed on the servers and User Programs that access those System Calls are Client Programs runniing on Client machines.We made the server to handle multiple clients - just like the operating system handles multiple address spaces.
Score: 40/40 Language:C++         Platform: Nachos OS
Aim:Distributed operating System in Nachos using Remote Procedure Calls, FALL-08
Course:CSCI 402 Description:
In this project we created a Distributed System to allow user programs across multiple Nachos clients to
participate in a single Senate Phone system. Here Senate Pay Phone entities not just act as a different user program but they are hosted on different clients running as completely different Nachos Instances.
      In the first part we had to make sure that user programs do not know about RPCs getting executed. Also. nachos Clients do not communicate with each other directly, all the communications happen through the server only. All the system call requests are directed tooward the server and server takes the decision about which client to give the priority to.
      In the Second part, we increased the servers from 1 to 5 to make it a fully distributed and redundant system which is fault tolerant. In this scenario every server needed to talk to every client as well as with eachother to maintain the complete state of the operation.there was a major challenge in maintaining synchronization within the servers.
      Thirdly, we were expected to make the system fault tolerant, meaning system should keep running even if one of the server went down up until there is at least a one server in the ssystem. We needed to make sure that the task being performed by the dead server is taken over by the other alive server. We needed to take many possibilities into consideration before implementing a perfect solution to this problem.
Score: 43/35 (with 8 extra credits) Language: C++         Platform: Nachos OS
Aim:Socket Programming , FALL-08
Course: EE 450 Description:
Socket programming project wasneede to simulate a target, Check Point and mobile unit scenario, wherein
every mobile unit keeps communicating with available check points. Check Points are static entities which
has all the info about the Target. Check Points know the position of target and its port number. Mobile
Units, however, have no idea about the targets port number. Mobile Units exchange their XY co-ordinates
with Check Points using their UDP connections. Check points compare mobile units position with respect to target. And when MU reaches
close to target(within certain distance), CHP sends target PORT number to the Mobile Unit. MU then opens
its own TCP connection to communicate with the Target.
I implemented working TCP sockets for cmmunication between Target and MU while Working UDP sockets for CHP and MU.
Score: 115/100 (15 extra credits for using Fork and Makefile) Language: C         Platform: Nachos OS
Aim:Fingerprint Authentication using MATLAB as a tool, Bachelors
Course:Digital Image Processing Description:
Implemented algorithms for Image Enhancement, Feature Extraction, and Matching of Features with the images stored in the database.Illustrated substantial growth in matching performance over other methods by comparing it with the data gathered from the Internet.
Score: 139/150 Language: MATLAB         Platform: Windows
Aim (Seminar):
Minutiae Based Approach for Fingerprint Authentication, Bachelors Course: Digital Image Processing Description:
Provided comprehensive details on minutiae points that are unique for each person, its roots, advantages, applications and comparison with the other fingerprint authentication techniques.
Illustrated using practical data gathered from our own project.
Score: 22/25
|