|
DBA: Linux
Meet the Oracle Linux Kernel Team: Chris Mason (Podcast Transcript)
In this TechCast series, members of Oracle's Linux Kernel Team reveal the inner workings of the team in particular and kernel development in general. This installment: Chris Mason.
Published December 2006
Welcome to this Oracle TechCast. This is Justin Kestelyn on the Oracle Technology Network. Today we are bringing you a conversation with Chris Mason, who is a consulting developer on the Oracle Kernel Development Team.
This is a team that has actually been at work for a good amount of time now, but its contributions to the mainline kernel are not extremely well publicized up to this point. So we thought it would be a good idea to have a conversation with Chris and provide some details about how the team actually works from the inside-out. So, Chris, welcome.
Mason: Thank you for having me.
Kestelyn: So let's start with a very baseline question here. Can you just explain what the kernel development team at Oracle is and tell us a little bit about what your role is specifically?
Mason: Sure. The kernel development team is made up of a number of established engineers from the kernel community that we have managed to collect over the years and myself included. I'm a relatively recent hire. I started in September of 2006. And so the actual scope of the team varies as we add people or as the roles of the people on the team change. But for the most part, we try to develop on the mainline kernel.
We try and make Linux progress, not just for Oracle workloads, but technology that's good for server workloads as well. And we try not to be entirely distro specific. We try to focus on things like the virtual memory layer, the file systems, the block layer and any of the core technologies that are commonly used in data center type workloads. And, of course that also includes things like kernel QA, testing, performance analysis and other parts that are needed, not just to develop the kernel, but to really make it a sustaining project that's good for server workloads in general.
Kestelyn: Something that has always interested me, and it's something that I don't know much about and I'm thinking the listeners might appreciate this, is some information about how kernel development work actually works as a process. How does the collaborative development process work? How do mainline kernel changes actually happen and get from point A to point Z?
Mason: Well, it varies. Every feature in every patch takes a different path into the mainline kernel, but there are a lot of things that they have in common. We end up establishing a need and identifying a test case of some kind. And this might be a feature. It might be a bug. It might be a subsystem rewrite to make things less complicated.
Depending on exactly what part of the kernel needs to change, it will get sent out for comments. Something might be discussed beforehand or a patch might be just created and sent out for comments. And there is an iterative design process there, an implementation process where it gets hashed out and reviewed. And then things get sent along to Andrew Morton or Linus Torvalds, where they are merged into either Andrew's tree or Linus' tree and become part of the mainline kernel. It is not uncommon for it to take a few months or years, depending on the technology and how big the change is.
Kestelyn: So does that more of less describe how OCFS2 [Oracle Cluster File System; an open-source, extent-based, general-purpose filesystem] was integrated with the mainline kernel recently?
Mason: Very much so. You know one of the really impressive things about OCFS2 is how quickly it managed to get into the kernel. And that was because it was implemented from the beginning with this community review process in mind. And so they did things in a way that they knew would work and that they knew would be acceptable to the community. And so they were able to show that they had a large number of users, which is important for any major subsystem going in, like a file system, and that they were able to support it well and that it was in line with how the kernel expected things to work. So OCFS2 didn't require large changes outside of the file system, and it was very well integrated with the kernel as a whole when it was submitted and so it was very easy to get in.
Kestelyn: Now in your work so far, have you identified any need for change in how this process works, and if so, what is the team doing to implement those changes?
Mason: Well, these aren't just things that I've identified, but it's also things that we've discussed at the kernel summit and things like that. So there are a few things that the community as a whole has said, "These are things that we need to do better." And one of the big ones is regression testing. In the past, distros have been the central point of regression testing for the kernel. So when Red Hat or Novell come out with a new release, they spend a number of months doing regression testing performance analysis, to make sure that everything they have integrated is the way they expect it to be and stable.
Unfortunately, they end up having to repeat this work over and over again as they merge in new mainline kernel revisions. And so, it is clearly very important that we are able to push this regression testing and performance testing into the mainline realm, and have it done on every mainline release on a more regular basis, so that the distros don't have to waste so much time on it during their release cycles.
Kestelyn: So let's move on to discuss some projects specifically. So is Oracle strictly focused on stability and hardening, in terms of the projects it chooses to work on, or are there other things that you're interested in as well?
Mason: Well, we certainly have a number of projects related to hardening and to ability. And a lot of those are either performance fixes or bug fixes or identifying problems that our customers hit. But we also do a number of features. And a lot of the features that we've gotten in, in the past have been specifically related to Oracle projects, such as OCFS2 or Asynchronous IO or Direct IO.
These are all things that really benefit Oracle directly. But we're definitely branching out into things that are more generally useful, and OCFS2 is another good example here as well, because it's not just an Oracle based file system, but it can be used as a generic clustered file system. So as we grow the team, we are working on more projects that benefit the kernel in general and are just good for server workloads in general.
Kestelyn: So can you give us an example and what are your favorite current projects?
Mason: Well, my favorite current project, there's a broad umbrella of things under virtualization that I find very, very interesting. And from my point of view, computing has always been about storage. And so virtualization in terms of making the storage more manageable is really key to me. And so iSCSI, the device mapper projects and then, of course, Xen as the big virtualization management tool on top of all of that, it has a long way to go, but I think it's really the future of where managing or computing in the data center is going to be extremely interesting.
Kestelyn: What's your role, if any, in Oracle Unbreakable Linux, which as listeners out there might know is Oracle's recently announced program for supporting enterprise Linux. Are you doing any work on that program?
Mason: Well, our biggest contribution to unbreakable Linux is actually supporting the distribution by advancing the mainline kernel. And so the work that we generally do might not show up in the current release of unbreakable Linux, but it's meant for the next release or sometimes the release after that. And apart from advancing mainline, we also, of course, help fix any really high level problems that need extremely detailed kernel expertise.
Kestelyn: So, Chris, can you give us a use case or an example of why virtualization is going to be such an important factor in the IT environment going forward?
Mason: Well, the old standard for virtualization use cases is to better utilize the hardware that you have. Typically data centers will purchase much more hardware than they need, because their workload has a few peak times, such as payroll processing at a given time of the month or the week. So for a large portion of that time, hardware is idle and virtualization allows you to make use of that hardware and to bring hardware in transparently without having to reconfigure everything. And so you're able to create, to separate your software definitions, your operating system installs on the actual hardware underneath it. And it allows you to bring in new hardware on a temporary basis and then later on a permanent basis much more easily.
Kestelyn: So virtualization is really sort of the platform that is going to enable the provisioning Nirvana that we're going to get from a full-fledged grid architecture.
Mason: Exactly. And then the other part of it that I find the most interesting is virtualizing the storage itself, in terms of instead of having a given disk or a given resource being attached to a specific controller, to be able to decouple that and have those resources float around as the virtual machine images float around. And this gives you much more flexibility in terms of being able to move things to different data centers, being able to move things to different parts of the same data center and re-provision things transparently with a minimum amount of down time.
Kestelyn: So that's going to be really highly complementary to the automatic storage management capability in Oracle Database, for example.
Mason: Exactly.
Kestelyn: So let's talk a little bit about the Web site that your team manages or helps to manage, which I think is one of the under-appreciated jewels, in terms of an Oracle customer-facing Web site, and that's called oss.oracle.com. Why is oss.oracle.com useful for customers and for Linux users in general? What kinds of content can they find there?
Mason: Well, oss.oracle.com has a large variety of content related to running Oracle on Linux and Open Source in general. And so customers who are happy with Oracle on top of Linux right now, but are wondering how else they can expand it into their enterprise and can save additional money, they can find a lot of resources about the various projects that we contribute to and the various projects that we feel are a great way to make use of Linux. As I said, Linux is a huge thing. It's a big umbrella terms of a lot of different projects.
When people are able to find the ones most pertinent to the common database type of workloads that Oracle uses, it can really help them figure out how to save money.
Kestelyn: Well, that's all we have time for today. Chris, I want to thank you for joining us, and remind listeners that if they want to get more information, again about Oracle's Linux projects, oss.oracle.com, it's a great place to start. And, of course, at otn.oracle.com/linux, is also a great resource for people who are interested in, specifically, in unbreakable Linux or other aspects of Linux development at Oracle.
Once again, I am Justin Kestelyn from Oracle Technology Network and thank you for joining us.
Visit oracle.com/podcasts for more podcasts from Oracle.
Send us your comments
|