Lords Of The Code

By Team Digit Published Date
01 - Aug - 2005
| Last Updated
01 - Aug - 2005
Lords Of The Code
Amit Yadav, Narender Kumar, Nishant Kumar and Pranay Pramod are jubilant- and with good reason. Just last month, this winning foursome walked away with the top honours-Rs 2 lakh-for their project on Virtual Private Server (VPS) 2.6.5-1.358 which they entered in the Red Hat Scholarship programme 2004-05. Their joint efforts made it possible to host several Web sites simultaneously on a single PC using distinct VPSes that run independently.  

How It All Started
Yadav, the two Kumars, and Pramod are children of serving Army personnel. Ever since joining the AIT in 2001, they have been the thickest of pals.

During their second year of engineering, they were introduced to the philosophy of Open Source by a senior, who later joined Red Hat. This cursory introduction sufficed to arouse their interest in the concept and its possibilities. When the first Red Hat Scholarship was announced last year, they decided to compete for it.

What's Red Hat And Open Source?
As most of you may be aware, software is compiled source code. Open Source, as the name suggests, means the code is protected by a special license, but one that allows everyone to access it. On the other hand, in the case of proprietary software such as Windows, only programmers employed with the company can write or alter the code.

The aim of the project was to partition the server's native operating system kernel into isolated operating environments. These partitions are called Virtual Private Servers on Linux

While both Open Source and proprietary software have their positives and negatives, the major negative of proprietary software is that shortcomings and remedies are never known to the real users-the public at large.

With Open Source, on the other hand, users can-often collaboratively-see the code, change it and fix problems. Open Source is a philosophy based on collaboration, community and collective ownership of intellectual property. Open Source allows the best technology to win in an open, competitive environment.

What's needed for one to be able to work with the Open Source code is a knowledge of the programming language, and, how the code interacts with the operating system (OS)-entailing some knowledge of the working of the OS.

The fantastic four-Nishant Kumar, Narender Kumar, Amit Yadav and Pranay Pramod

Red Hat India, one of the leading Linux and Open Source solutions providers in the country, announced the 2004-2005 Red Hat Scholarships programme, known as the 'Lord of the Code' contest, for students across India. An education initiative designed to encourage budding open source software developers, it is jointly conducted with the Kanwal Rekhi School of Information Technology (KreSIT) at IIT-Bombay.

To participate in the programme and be eligible for the prize, a team is required to develop a piece of high-quality Open Source software.

What Is VPS?
Says Nishant Kumar, "While we were trying to zero in on the theme for our project, our external project guide, Aditya Pandit, who was working with Calsoft (a software consulting house), provided us with the idea of a setting up a VPS. He was working on a similar project at the time. We accepted his suggestion."

The effort and contributions going into projects submitted for the competition are expected to be similar to that of a typical final-year B.E. or B.Tech. project.

"In our project, we decided to show the benefits of running a VPS using Open Source, and at the same time, ensuring it is cost-effective, with optimum utilisation of resources," says Nishant.

The aim of the project was to partition the server's native operating system kernel into isolated operating environments. These partitions are called Virtual Private Servers on Linux. A VPS provides multiple virtual hosting environments on the same physical server, and eliminates the need for separate physical servers for hosting different Web sites, for example.

The VPS implementations are targeted at Internet Service Providers (ISPs) and Web Hosting Providers (WHPs).

Hard Work Ensues
Says Yadav, "Given that a computer has enough resources to drive ten times the number of applications a single Linux server would usually require, why not put ten servers on that PC, which will then share the available resources in an efficient manner? So, essentially, we separated the user-space environment into distinct units in such a way that each VPS looked and felt like a real server to the processes contained within that VPS on that computer."

In fact, the team gave a live demo that showcased a maximum of 10 VPSes running on a single computer. This number can be increased depending on the resources available to the system.

Group projects needed each student of the group to have identifiable contributions, and also that the total visible effort be commensurate with the number of students in the group.

To this end, Amit looked after signals, Narender handled networking, Nishant took over Process File Separation, and Pranay worked on File System Separation. It was therefore a well-defined project, with daily six hours of effort put in for a period of one year.

In The Real World
Just creating the VPS was not the end, though. There had to be practical applications. This was possible through Process Isolation, Network Isolation and File System Isolation.

For instance, the team put one alias for each VPS, that is, each VPS had a different IP (Internet Protocol) address while running on the same computer. Each individual VPS is bound to a particular IP address the moment it starts, and all connections for that VPS are handled only through that IP address.   

The project statement claims that the VPS ensures minimal virtualisation overheads, efficient sharing of system resources, enhanced security, minimal changes to the kernel, and faster context switching.

Nishant Kumar explains: "The VPS we designed scores over other software that can be used as a substitute, such as VMware or Xen. For instance, VMware needs to virtualise hardware for each VMware application running on the system. On the other hand, all the VPSes running on a machine can make do with the same device drivers. Moreover, if one VPS crashes, the other would remain unaffected."

Fruits Of Labour
"Red Hat Scholarships is a programme aimed at encouraging talented young programmers in India. The largest numbers of engineers graduate from India every year, and given the right guidance, the next Linus Torvalds could well emerge from India," said Javed Tapia, director of Red Hat India. If the efforts and achievements of this foursome are anything to go by, we're inclined to agree with Mr Tapia!

For the moment, though, the VPS needs to be tested thoroughly to ensure it is foolproof, and some niggling issues need to be addressed as well. Getting the tests done is next on the agenda, after which the project can be unleashed into the real world.

However, the project is proof enough that India is now a contributor to-and not just a recipient of-Open Source technology.

Team DigitTeam Digit

All of us are better than one of us.