Players in the Linux community often find Microsoft and open source technology not quite in sync. Ironically, Microsoft is one of the major contributors to the Linux kernel, but is still perceived as being anti-open source. To clear the air, we, at OSFY, decided to check this out with Microsoft, directly. Diksha P Gupta from the OSFY team spoke to Dr K Y Srinivasan, principal architect at Microsoft, about how the company is moving ahead on the open track, and how it is as much a part of the ecosystem as we all are. Excerpts:
Q.We last saw you at OSI Days 2011 where you talked about the Linux kernel. What have you been working on since then and how have things progressed with Microsoft’s contributions to Linux?
When I addressed this conference two years ago, we had got the core of our Linux support on Hyper-V out of the staging area of the Linux kernel. This was a significant effort that propelled Microsoft into being one of the top 20 contributors to the Linux kernel. Since then, we have been steadily working on realising our vision of making Linux a first class environment on our platforms (both public and private cloud environments).
Over the last couple of years, in addition to getting the remaining Hyper-V specific drivers out of the staging area, as part of the Windows Server (WS) 2012 R2 effort, we have significantly improved Linux support and are making it possible for Linux workloads to fully leverage the benefits of the Microsoft platform and the ecosystem. Some of the key areas of Linux investment in the WS 2012 R2 wave were: full dynamic memory support, multichannel support for performance critical devices, and host initiated backup for Linux guests.
Q Can you start with how Microsoft and the Linux community are working together on kernel contributions?
It’s all part of our larger vision, which is to ensure that anything our customers want to run, they can run on Windows Server Hyper-V and in Windows Azure. This is what customers tell us they want. One of the best things about getting to this point has been going through the process of working with the Linux community to refine and improve our code so that it best serves our customers. It was particularly gratifying to hear from Linux Foundation VP Greg Kroah-Hartman (in an interview with Wired magazine) that merging Microsoft’s code into the Linux kernel tree made it smaller and easier to maintain.
Q Being a contributor to the Linux kernel, how do you react to Linus- worries on how Linux will handle the end of Moore’s Law?
The laws of physics dictate that Moore’s Law will have to end and the question is not ‘if’ but rather ‘when’. Future innovation in computing is going to be in building and managing massively distributed computing infrastructures. Advances in performance and scalability are not going to be based on higher clock speeds but rather on new application paradigms, where we can bring to bear massive computational power based on commodity hardware. As network bandwidth improves, we can deliver a rich user experience on a variety of client devices served from a cloud of compute and storage infrastructure. Linux is well positioned in this space. As we get to the physical limits on a single device, we may have to restate Moore’s Law to take into account the new paradigm for increasing computational capacity.
Q In 2012, Microsoft was one amongst the top 20 companies contributing to the Linux kernel. But this year it is not in the Top 20 list. What are your views on this change?
This has been a topic of some discussion since the Linux conference in New Orleans back in September. There was a spike in activity when the Hyper-V drivers were initially contributed to the Linux kernel and went through the acceptance process with the Linux community. Since then, Microsoft has contributed at a steady rate with ongoing improvements to Linux support on Hyper-V. We will contribute on an ongoing basis as Hyper-V introduces new capabilities and we bring those capabilities to Linux guests.
We at Microsoft have always been focused on addressing customer needs. Our investments in supporting Linux are to ensure that Linux is, and continues to be, a first class environment on our platforms. Indeed, I would submit to you that the impact of our contributions in the last year was every bit as significant as what we did in the previous year from a Linux customer’s perspective.
Q In the coming months, what will you be focused on with respect to kernel development?
We are in the process of ensuring that all of our WS 2012 R2 Linux related investments can be delivered through various commercial Linux distributions. Additionally, I am working on a couple of cool features that I am not sure I can disclose here.
My team remains committed to ensuring as far as possible that whatever features we implement in Hyper-V and Windows Azure are available to Linux guests. I want to get to the point where customers who are considering deploying Linux will see the Hyper-V and Windows Azure environments as the best choice for running Linux.
For example, we’ve just finished adding dynamic memory for Linux guests, which is a very important feature when a customer wants to consolidate a lot of workloads. It will allow you to manage the physical memory better across virtual machines. There are also a range of other drivers and interoperability between Linux and Windows that we’ll be working on; basically, we want to look at anything that we feel our customers do or will find important.
Q What would your suggestions be to a new developer who wants to contribute to the Linux kernel?
Linux kernel development is truly open and anybody with good programming skills can contribute. If somebody is interested and is new to the kernel, I would suggest starting work on cleaning up drivers in the Linux kernel staging area: drivers/staging/. The drivers in the staging directory have numerous issues that range from being stylistic to architectural. Each of these drivers has a To-do file, which lists the current issues that have been identified as things to be addressed before the driver can exit the staging area. I would recommend starting with stylistic cleanup before jumping into more detailed architectural work.
Another way to contribute would be to help in testing and if you hit a problem, you can potentially come up with a fix that can be submitted as a contribution. Even if you cannot fix the problem, identifying the problem is also valued and is considered a contribution. Each day, one can download the Linux-next kernel, and try to build this kernel and test it. I would love to have people validating Linux on Hyper-V!
Q What are some of this year’s top interoperability gains for customers?
Linux interoperability has been enabled through work across the company. Customers can run Red Hat and SUSE on Hyper-V. We worked with Canonical, OpenLogic and SUSE to enable Linux images to run on Windows Azure Virtual Machines with high performance. We teamed up with NetApp and Citrix, who helped us contribute some 8,500 lines of code so that FreeBSD can run on Hyper-V. All of that is possible, in part, because of the work we’ve done with the Linux kernel.
Q Has there been any critical feedback about this interoperability work with Linux?
The feedback we receive primarily focuses on what features and functionality customers want to see next and we welcome all that feedback. I don’t think anyone really begrudges this ultimately, the work is good for everyone who is involved.
Q What do you wish people understood about Microsoft’s work with open source communities and with Linux, in particular?
That we are serious and not just putting in some code that is not up to snuff. We are committed to updating our code and bringing additional functionality. Our goal has been to make Hyper-V and Windows Azure the best for Linux. We’re interested in whatever it takes-everything is up for discussion in order to ensure that our customers will have the very best experience when running Linux.