MULI BEN-YEHUDA June 26, 2008


CURRICULUM VITAE

CONTACT INFORMATION

Address: 27 Yakinton St., Haifa, Israel
Telephone: +972-4-8257062 (home), +972-52-5951080 (cellular)
E-mail: mulix@mulix.org, muli@il.ibm.com
Web: http://www.mulix.org
Blog: http://mulix.livejournal.com

OBJECTIVE

Researcher position in the systems area, working on challenging research problems at the intersection of operating systems, virtual machines, and computer architecture.

EMPLOYMENT HISTORY

2003 -- Current Researcher and Master Inventor--IBM Haifa Research Lab, Israel.
As a researcher in HRL's Systems department, I conducted research at the intersection of operating systems, hypervisors and computer architecture. I conceived, researched, designed and implemented systems. For example, I:
  • Researched, designed, implemented, and optimized operating system (Linux) and hypervisor (Xen) support for IBM's Calgary PCI-X and CalIOC2 PCI-e IOMMUs on the x86-64 platform  [iommu06].
  • Led a team of researchers working in the areas of I/O for virtualized systems (e.g., evaluating IOMMU performance  [iommu07]) and core hypervisor technologies.
  • Designed and implemented embedded firmware for the ``IP Only Server''  [iponly06], a server which had only a CPU, memory and a network connection but could run standard, unmodified x86 operating systems such as Linux and Windows.
  • Worked on a flexible architecture for TCP acceleration  [tcpaccel06], on machine learning for monitoring  [vigilant08] and storage for checkpointing  [cdpvm08] virtual machines, and on operating system support for programmable devices  [hydra08].
  • Developed a proof-of-concept network driver for an experimental high-speed ethernet adapter, and embedded software for the IBM DS6000 storage controller.


2002 Linux kernel Engineer - Qlusters, Inc., Tel Aviv, Israel.
As part of Qlusters' core kernel team I developed and maintained the core OS components of Qlusters' single system image Linux based cluster OS. I kept the code in sync with the latest Linux kernel versions, fixed bugs, and developed new features such as distributed shared memory for Qlusters OS.

2000 -- 2001 Programmer and Systems Analyst--Pointer Software Systems, Israel.
As a member of Pointer's team of consultants, I was responsible for designing and implementing creative solutions to customers' problems. For example, I designed and implemented an object serialization framework, an embedded database component for a large C++ application, and a cross platform library for communicating with GSM modems.

1997 -- 2000 Programmer and Programming Team Leader--IDF, Intelligence Corps.
I was a programmer and programming team leader in the IDF's Intelligence corps computer unit. I designed and implemented several projects dealing with parsing, understanding and representing large amounts of data.

SKILLS SUMMARY

Operating Systems: Excellent knowledge of the Linux kernel, system libraries and software. Core Linux developer. Familiarity with several other operating systems and hypervisors.
Programming: Excellent knowledge of C. Varying levels of proficiency in C++, Java, Perl, Python, ML, Pascal, Object Pascal, Lisp, shells, x86 and PPC asm.
SW Engineering: Well versed in all aspects of the software engineering process, including research, analysis, design, review, development, QA and verification.
Management: Experienced in technical management of small groups of developers and managing geographically distributed software projects.
Communication: Excellent oral and written communication skills, teaching and training experience. Frequent lecturer on technical subjects.

SELECTED PUBLICATIONS

[hydra08]: Tapping into the Fountain of CPUs--On Operating Systems Support
for Programmable Devices
Weinsberg Y., Dolev D., Anker T., Ben-Yehuda M., and Wyckoff P. In ASPLOS '08: Thirteenth international conference on Architectural Support for Programming Languages and Operating Systems.
[vigilant08]: Vigilant--Out-of-band Detection of Failures in Virtual Machines
Pelleg D., Ben-Yehuda M., Harper R., Spainhower L., and Adeshiyan T. In ACM SIGOPS Operating Systems Review, 42(1): 26-31 (2008).
[cdpvm08]: Virtual Machine Time Travel Using Continuous Data Protection
and Checkpointing
Ta-Shma P., Laden G., Ben-Yehuda M., and Factor M. In ACM SIGOPS Operating Systems Review, 42(1): 127-134 (2008).
[osr08]: Open Source as a Foundation for Systems Research
Ben-Yehuda M. and Van Hensbergen E. In ACM SIGOPS Operating Systems Review, 42(1): 2-4 (2008).
[iommu07]: The Price of Safety: Evaluating IOMMU Performance
Ben-Yehuda M., Xenidis J., Mostrows M., Rister K., Bruemmer A., Van Doorn L.. In Proceedings of The 2007 Ottawa Linux Symposium (OLS '07), p. 9-20.
[iponly06]: IP Only Server
Ben-Yehuda M., Goldshmidt O., Kolodner E. K., Machulsky Z., Makhervaks V., Satran J., Segal M., Shalev L., Shimony I.. In Proceedings of the 2006 USENIX Systems Practice and Experience Track (USENIX '06), p. 381-386.
[iommu06]: Utilizing IOMMUs for Virtualization in Linux and Xen
Ben-Yehuda M., Mason J., Krieger O., Xenidis J., Van Doorn L., Mallick A., Nakajima J., Wahlig E.. In Proceedings of the 2006 Ottawa Linux Symposium (OLS '06), p. 71-86.
[tcpaccel06]: Loosely Coupled TCP Acceleration Architecture
Shalev L., Makhervaks V., Machulsky Z., Biran G., Satran J., Ben-Yehuda M., Shimony I.. In Proceedings of the 14th IEEE Symposium on High-Performance Interconnects (HOTI '06), p. 3-8.
[Patents]: Various patent disclosures
Author of 15 patent disclosures which have been submitted for filing to the USPTO. Full list is available upon request.

PROFESSIONAL SERVICE AND MEMBERSHIPS

PC and General Chair: Virtualization Workshop at SYSTOR '07, the 1st Annual Haifa Systems and Storage Conference.
Publicity Chair: SYSTOR '09, The Israeli Experimental Systems Conference.
Guest editor: ACM SIGOPS Operating Systems Review, special issue on Research and Developments in the Linux kernel.
PC Member: SYSTOR '09, Xen Summit North America '08
External reviewer: USENIX '08, ICS '08, SOSP '07, ISMM '06.
Member: USENIX, ACM SIGOPS, EuroSys.

FREE SOFTWARE

Linux Kernel http://www.mulix.org/kernel.html
I am an active Linux kernel developer. I maintain the Calgary IOMMU and trident sound driver. I also contribute to other areas of the kernel.

KVM Hypervisor http://kvm.qumranet.com/kvmwiki
I am an active KVM hypervisor developer. I am working on IOMMU support for KVM, and also contribute to other areas of the hypervisor.

Xen Hypervisor http://www.cl.cam.ac.uk/research/srg/netos/xen/
I developed IOMMU support for Xen, and also contributed to other areas of the hypervisor.

syscalltrack http://syscalltrack.sf.net
I co-founded the syscalltrack project, led it and was its most active developer. syscalltrack is a Linux kernel 2.4 based tool for debugging and monitoring a Linux system. I designed and implemented large parts of the kernel modules, the configuration and control utilities, the libraries and the testing framework.

ADSL/pptp http://www.mulix.org/adsl.html
I reverse-engineered the pptp protocol and wrote patches to the pptp client to allow Linux users in Israel to connect to Bezeq's ADSL service.

Various http://www.mulix.org/code.html
I contributed patches to numerous other free software projects, some of which appear on http://www.mulix.org/code.html.

EDUCATION

Partial studies in Computer Science in the Technion and the Open University, Haifa, Israel.

LANGUAGES

Fluent in Hebrew and English.

REFERENCES

Available upon request.



Muli Ben-Yehuda 2008-06-26