Some of my projects
The following is a list of projects completed by
me, as on 1st Jan 2002. This list is bound to expand in size,
so keep checking it often.
Adaptive Anonymity in NAS systems:
Security in network-attached storage
systems has so far only looked at integrity and privacy of data. In this
work, done as part of my research, we looked at providing better security
to the system by hiding information about the system itself through anonymous
protocols. Examples of such information include, "which disks store valuable
data", "where backup data is headed", "which system is the file manager",
etc. Providing anonymity with minimal impact on performance being our primary
goal, we designed anonymity schemes that provide good performance by dynamically
adapting various parameters of the system to client request traffic.
Eliminating False Synchrony in NASD Filesystems:
Synchronous operations in filesystems
often result in sub-optimal performance. In many cases, however, applications
are forced to incur synchrony, not because of their semantics, but because
of limitations in the storage interface. This project, done in a team of
two, looked at embellishing the storage interface to remove such false
synchrony. We designed an intelligent disk scheduler and a scripting interface
to the disk, which eliminated false synchrony at various points in a NASD
filesystem. We found that such a scripting interface to network attached
storage can greatly reduce the number of network round-trips incurred by
common filesystem operations, thereby improving application performance over
wide-area filesystems.
The WiND filesystem (WFS):
This work
involved the design and implementation of a new distributed filesystem WFS,
over network attached disks. The fileystem sought to achieve high-throughput
I/O by transparently striping and replicating data across multiple "intelligent"
storage devices spread across the network. WFS also achieved high scalability
by allowing direct communication between the client and disks.
(This project was developed independently as part of my Master's research
)
Applying Database Ideas to filesystems: Crash
Recovery and Concurrency Control in the WiND filesystem:
In this project, we designed efficient
crash recovery and concurrency control protocols in the context of embedding
fault-tolerance into the WiND filesystem built for a shared array of network
attached disks. This facilitated correct implementation of RAID mechanisms
over a set of network attached disks, inspite of multiple clients performing
the role of a "RAID controller" and updating stripes concurrently.
(This project was developed in a team of three as part of Advanced Databases
course)
Paper available
here
Flexible security for the WiND filesystem:
This project addressed the issue
of security in the fully decentralized WFS architecture with clients allowed
to directly access the disks over an insecure network. The lack of
a centralized access control entity like the file server in traditional filesystems
makes this interesting. The constraint of low CPU capability at the
disks was accommodated, and a security model with minimal impact on throughput
was developed. We also provided support for multiple levels of security
on a per-file basis, with flexibility to dynamically change a file's security
level, thereby enabling users to decide the optimal compromise between performance
and security. (This project was developed in a team of two as part of
the 'Topics in Security' course)
Paper available
here
Block Asynchronous I/O : A kernel infrastructure
for user-level filesystems :
This project
was aimed at developing the best possible low-interface to disks.
A protected direct interface to the disk was exported to the user level, thereby
facilitating construction of tailor-made user-level filesystems, leading
to dramatic increase in application performance. This would
be highly beneficial to demanding applications like databases and web-servers.
(This project was developed in a team of two as a part of the Advanced
Operating Systems course and was selected as one of the two best papers)
Paper Available as
ps
or pdf
Exploring Trace Cache Performance : An argument for multiple fetch
:
In this project, we investigated
aspects of trace cache performance with an objective of finding out if a
multiple fetch mechanism can perform on par with trace cache, but with lot
less hardware. The results we obtained constituted strong
arguments in favor of a multiple fetch technique. (This project was done
in a team of three as part of the Advanced Computer Architecture course)
Paper Available as
ps
or pdf
A single-user Database Management System :
We developed in this project,
various components of a single-user DBMS called Minibase, including
the buffer manager, file manager, a B+ tree indexing module and an external
sorting module. (This project was done in a team of two as part
of 'Database Management Systems' course)
Selective projects in my undergraduation :
Kernel-level implementation of an efficient and flexible architecture
for distributed objects :
In this project, we implemented
a distributed object architecture (a variant of the model "Globe" proposed
by Tanenbaum et al), which facilitates implementation of replication,
consistency and security policies on a per-object basis, customized to the
specific requirements of the application encapsulated by the object.
This was implemented inside the Linux kernel . (This project was done in
a team of three as our undergraduate final year project)
Self-determination of optimal granularity of distributed objects :
This project, done in a
team of three, involved implementing an adaptive mechanism whereby the granularity
of a distributed object can be determined optimally by the object itself,
and continuously updated in tune with the changing access patterns on the
object. The results were published in HiPC 99.
An adaptive routing algorithm for an Intranet :
This project, done in a
team of two, involved the design and implementation of an adaptive routing
algorithm for an intranet. This was done as part of Computer Networks
course in my undergraduation.
A graphical web browser for shell internet accounts :
This project involved the
design and implementation of a graphical web browser that would facilitate
full web access through a shell account ( a SLIP connection ). (This was
done as a class project in my BE, and I led one-third of the class in the
development of the network sub-section of the project)
Home
Personal
Research
Projects
Courses
Resume
Quotes
Contact