My first industry experience...

Some pics we took in Codito

I did my final year project with Codito Technologies. My project partners were Asmita, Anu, Snehal and Krushna. This was my first industry experience. It was a great learning experience. We began doing our project in July 2002. We continued doing the project till March 2003.

Our patch to openMosix called "Migshm" provides shared memory migration support on openMosix cluster computing environment. Visit our project website, follow  www.mcaserta.com/maask


Motivation behind the project...

The openMosix project, which began in early 2002, was still a recent development, with migration of shared memory processes not being implemented. The openMosix  users were very keen on having it because it would allow a whole new set of applications like web servers, database servers etc. to benefit out of the high performance cluster.

The project, being an absolute kernel space implementation, would give us deep insight into the operating system: particularly the process structure, page fault handler, process migration mechanism, load balancer and interprocess communication mechanisms.

The innovation and the need involved posed an interesting challenge for enhancing the Linux clustering solution.


Aim of the project...

The aim of the project is to enable migration of processes that explicitly share memory and multithreaded applications, without any loss of performance and normal operation ensured on an openMosix cluster.

openMosix is an extension to the Linux kernel which provides a cluster computing environment with automatic load balancing among nodes of the cluster. Migration of shared memory processes is not handled in the current versions of openMosix. Hence applications like web servers, database servers, certain rendering tools that use shared memory cannot benefit from the openMosix cluster. Our project overcomes this limitation of openMosix.

We enable the migration of processes that explicitly share memory implemented using system calls such as shmget( ), shmat( ), shmdt( ) and shmctl( ) as well as threads created using the clone( ) system call. To maintain consistency of shared memory accessed by processes spread across the cluster, we provide a transparent Eager release consistency policy. Additionally the shared memory itself is migrated based on the frequency of shared memory usage and the load across the cluster. Shared memory migration decreases the remote accesses to the shared memory.

This implementation has enabled migration of Apache Web Server on an openMosix cluster, which was earlier not possible.


Achievements...

The effort that went in developing MigShm was rewarded when we received the "Second Prize in Software Category" at "Innovation 2003" at Cummins College of engineering, Pune, "Third Prize in Software Category" at "IntechXication 2003", Maharashtra Institute of Technology, Pune. Our happiness knew no bounds when we won the "Best Systems Project" sponsored by Calsoft Inc. at "Concepts 2003", organized by Pune Institute of Computer Technology, Pune. Participating in these project competitions has been a great learning experience.

Additionally, we released the first version of the MigShm patch, under the general public Licence, on 4th March 2003. Today, after two more releases, 'MigShm' is in the process of inclusion in the core openMosix kernel.