Interview: Allen Kay, Software Engineer

By Dawn M. Foster (91 posts) on November 25, 2009 at 8:06 am

Allen Kay has been involved with the Xen virtualization project since 2006. His main area of focus is on VT-d PCI passthrough for unmodified guest domains. His prior operating systems work include enabling of 64-bit Windows OS on Intel Itanium processor and Unix SVR4 on Intel i860 processor. He has also worked on Intel's VTune Performance Tool project developing drivers for the CPU performance monitoring unit.

Dawn: What do you like about working in Intel's Open Source Technology Center (OTC)?

Allen: Working in OTC provides me with many opportunities to learn while making direct contributions to Intel at the same time. I get to learn the latest Intel CPU, graphics and chipset technologies while working on enablement of the latest Intel platforms. One of the great benefits of working at Intel is the luxury to get spec clarification directly from the architects who wrote them. I also really enjoy working with Intel customers and partners, which gives me opportunities to learn about what is important from their perspectives thus allows me to prioritize and defining tasks better. Working with the open source community is also a very rewarding learning experience for me as it provides an open forum for people from all over the world to collaborate and debate on best solutions to problems.

Dawn: Can you tell us about Intel's work with the Xen project?

Allen: Actually, we have also contributed major features such as VT-d device assignment in KVM - the other big open source virtualization project. We are one of the biggest contributors of the Xen project. We have enabled major features in Xen such as such as Windows guest support with VT-x technology, PCI device assignment support with VT-d technology. We have also enabled SR-IOV, power management, fault tolerance, unmodified guest live migration in Xen. Recently we have started graphics virtualization work which will enable users to run full 3-D graphics and video playbacks in guest virtual machines.

Dawn: Why is Intel's Virtualization Technology for Directed I/O (VT-d) important for open source virtualization projects?

Allen: When VT-x was first used in Xen and KVM, guest virtual machines were able to run CPU intensive workloads close to native CPU performance. However the performance of IO intensive workloads was dismal due to IO devices that were emulated by software. VT-d technology makes DMA possible in the guest virtual machines so that the same native device drivers can initiate DMA transfers in the guest without interacting with the hypervisor. For example, if an Ethernet controller is directly assigned to a guest, that guest is able to achieve network transfer speeds close to native performance. This means with both VT-x and VT-d technology enabled, a guest virtual machine can be configured to run both CPU intensive and IO intensive workloads at near native performance. This should alleviate most people’s misgivings about using virtualization technologies such as Xen and KVM.

Dawn: What do you do for fun when you aren't working at Intel?

Allen: I swim regularly to keep in shape. I like the challenge of having to work on technique improvements all the time. Currently I’m working on fine tuning my butterfly so that I can swim longer distances. I also enjoy working on my PC-based home theater project. My current setup enables me to watch recorded TV shows, streaming videos from internet sites such as Netflix, looking at family vacation photos, and listening to music collection from any room in the house - all with a single remote control.

Categories: Manageability & Security, Open Source
Tags: , , , , ,

For more complete information about compiler optimizations, see our Optimization Notice.

Comments (1)

November 29, 2009 8:01 AM PST

Tayfun DEGER
Tayfun DEGERTotal Points:
10
Registered User
Thanks:)

Trackbacks (2)


Leave a comment  

To obtain technical support, please go to Software Support.
Name (required)*

Email (required; will not be displayed on this page)*

Your URL (optional)


Comment*