MULI BEN-YEHUDA November 1, 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

A technical leadership position in systems research, 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 conceived, researched, designed and implemented systems alone, as part of a team, and while leading a team. 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], which had only CPU, memory and a network interface but could run standard, unmodified x86 operating systems.
  • Worked on a flexible architecture for TCP acceleration  [tcpaccel06], machine learning for monitoring virtual machines  [vigilant08], combined memory and storage checkpointing of VMs  [cdpvm08], and on operating system support for programmable devices  [hydra08].
  • Developed a proof-of-concept Linux network driver for an experimental ethernet adapter and embedded system 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, fixed bugs, and developed new features, such as distributed shared memory.

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.
As a programmer and programming team leader in the IDF's Intelligence corps. 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, 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.
[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 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 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 HOTI '06, p. 3-8.
[Patents]: Patent disclosures, Author of 16 patent disclosures which have been submitted for filing to the USPTO. Full list is available upon request.

PROFESSIONAL SERVICE

PC & General Co-Chair: SYSTOR '07 virtualization workshop.
PC & General Co-Chair: WIOV '08 (First Workshop on I/O Virtualization).
Journal guest editor: ACM SIGOPS Operating Systems Review, special issue on Research and Developments in the Linux kernel.
Publicity Chair: SYSTOR '09.
PC Member: SYSTOR '07, Xen Summit '08, WIOV '08, SYSTOR '09.
Member: USENIX, ACM SIGOPS, EuroSys.

FREE SOFTWARE

Linux Kernel http://www.mulix.org/kernel.html
I am an active Linux kernel developer, maintaining the Calgary IOMMU and contributing 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 several other free software projects.

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-11-01