CV - Microsoft Research

advertisement
JACOB R. LORCH
15245 NE 3rd Pl
Bellevue, WA 98007
E-mail: lorch “at” microsoft.com
http://research.microsoft.com/~lorch/
RESEARCH INTERESTS
My research focuses broadly on computer systems, with particular emphasis on distributed systems,
online games, web security, cloud computing, and energy management. I seek a position in which I can
not only perform research in these areas, but also directly apply this research to product development.
EDUCATION
U NIVERSITY OF
C ALIFORNIA ,
B ERKELEY
Ph.D., Computer Science
Dec. 2001
Operating systems techniques for reducing processor energy consumption. Advised by Alan Jay Smith. GPA: 4.0/4.0.
M ICHIGAN S TATE
U NIVERSITY
B.S., Computer Science and Mathematics
May 1992
Graduated from honors program with high honors and ranked #1 in class of ~4,000. GPA: 4.0/4.0.
M.S., Computer Science
GPA: 4.0/4.0.
Dec. 1995
RESEARCH EXPERIENCE
M ICROSOFT
R ESEARCH
Researcher
Jan. 2002 – present
Developed novel approach to configuration change in replicated state machines. Invented techniques
for dramatically increasing the scale of peer-to-peer games. Improved matchmaking quality in online
games with novel network coordinate system. Enabled secure web applications using legacy code.
Developed API for simple trusted hardware enabling a variety of secure distributed systems.
U NIVERSITY OF
C ALIFORNIA ,
B ERKELEY
Graduate Student Researcher
Sep. 1994 – Dec. 2001
Analyzed energy consumption in laptops, determining that best opportunity for system-driven savings
was the processor. Developed methods to reduce energy consumption of laptop processors, including a
novel and optimal algorithm for dynamic voltage scaling. In side projects, analyzed file system
workloads and designed system of cooperating web caches.
M ICHIGAN S TATE
U NIVERSITY
Research Assistant
Sep. 1991 – May 1992
Analyzed effectiveness of several methods for estimating fractal dimension of curves and surfaces.
SELECTED PUBLICATIONS
S. Agarwal and J. Lorch. Matchmaking for online games and other latency-sensitive P2P systems. In
Proceedings of the Conference on Computer Communications (SIGCOMM), August 2009.
D. Levin, J. Douceur, J. Lorch, and T. Moscibroda. TrInc: small trusted hardware for large distributed
systems. In Proceedings of the 6th USENIX Symposium on Networked Systems Design and
Implementation (NSDI), pp. 1-14, April 2009. Awarded “Best Paper.”
J. Howell, J. Douceur, J. Elson, and J. Lorch. Leveraging legacy code to deploy desktop applications on
the Web. In Proceedings of the 8th USENIX Symposium on Operating Systems Design and
Implementation (OSDI), pp. 339-354, December 2008.
A. Bharambe, J. Douceur, J. Lorch, T. Moscibroda, J. Pang, S. Seshan, and X. Zhuang. Donnybrook:
Enabling large-scale, high-speed, peer-to-peer games. In Proceedings of the Conference on Computer
Communications (SIGCOMM), pp. 389–400, August 2008.
J. Lorch, A. Adya, W. Bolosky, R. Chaiken, J. Douceur, and J. Howell. The SMART way to migrate
replicated stateful services. In Proceedings of the 2006 EuroSys Conference, pp. 103–115, April 2006.
A. Adya, W. Bolosky, M. Castro, G. Cermak, R. Chaiken, J. Douceur, J. Howell, J. Lorch, M. Theimer,
and R. Wattenhofer. FARSITE: Federated, available, reliable storage for an incompletely trusted
environment. In Proceedings of the 5th USENIX Symposium on Operating Systems Design and
Implementation (OSDI), pp. 1–14, December 2002.
J. Lorch and A. Smith. Improving dynamic voltage scaling algorithms with PACE. In Proceedings of
the ACM SIGMETRICS 2001 Conference, pp. 50–61, June 2001.
OTHER PUBLICATIONS
N. Agrawal W. Bolosky, J. Douceur, and J. Lorch. A five-year study of file-system metadata. In ACM
Transactions on Storage, 3(3), October 2007.
J. Douceur, J. Lorch, and T. Moscibroda. Maximizing total upload in latency-sensitive P2P applications.
In Proceedings of the 19th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA),
pp. 270–279, June 2007.
J. Douceur, J. Lorch, F. Uyeda, and R. Wood. Enhancing game-server AI with distributed client
computation. In Proceedings of the 17th International Workshop on Network and Operating Systems
Support for Digital Audio and Video (NOSSDAV), pp. 31–36, June 2007.
N. Agrawal, W. Bolosky, J. Douceur, and J. Lorch. A five-year study of file-system metadata. In
Proceedings of the 5th USENIX Conference on File and Storage Technologies (FAST), pp. 31–45,
February 2007.
J. Pang, F. Uyeda, and J. Lorch. Scaling peer-to-peer games in low-bandwidth environments. In
Proceedings of the 6th International Workshop on Peer-to-Peer Systems (IPTPS), February 2007.
S. King, P. Chen, Y. Wang, C. Verbowski, H. Wang, and J. Lorch. SubVirt: implementing malware with
virtual machines. In Proceedings of the 2006 IEEE Symposium on Security and Privacy (Oakland), pp.
314–327, May 2006.
J. Lorch and A. Smith. PACE: a new approach to dynamic voltage scaling. In IEEE Transactions on
Computers, 53(7):856–869, July 2004.
J. Lorch and A. Smith. Using user interface event information in dynamic voltage scaling algorithms. In
Proceedings of the IEEE/ACM MASCOTS 2003 Conference, pp. 46–55, October 2003.
J. Lorch and A. Smith. Operating system modifications for task-based speed and voltage scheduling. In
Proceedings of the MobiSys 2003 Conference, pp. 215–229, May 2003.
J. Lorch and A. Smith. The VTrace tool: building a system tracer for Windows NT and Windows 2000.
In MSDN Magazine, 15(10):86–102, October 2000.
D. Roselli, J. Lorch, and T. Anderson. A comparison of file system workloads. In Proceedings of the
2000 USENIX Annual Technical Conference, pp. 41–54, June 2000.
J. Lorch and A. Smith. Energy consumption of Apple Macintosh computers. In IEEE Micro, 18(6):54–
63, November/December 1998.
J. Lorch and A. Smith. Software strategies for portable computer energy management. In IEEE Personal
Communications Magazine, 5(3):60–73, June 1998.
J. Lorch and A. Smith. Scheduling techniques for reducing processor energy use in MacOS. In Wireless
Networks, 3(5):311–324, October 1997.
J. Lorch and A. Smith Reducing processor power consumption by improving processor time
management in a single-user operating system. In Proceedings of the ACM MOBICOM 1996
Conference, pp. 143–154, November 1996.
R. Malpani, J. Lorch, and D. Berger. Making World Wide Web caching servers cooperate. In
Proceedings of the Fourth International World Wide Web Conference, pp. 107–117, December 1995.
Q. Huang, J. Lorch, and R. Dubes. Can the fractal dimension of images be measured? In Pattern
Recognition, 27(3):339–349, March 1994.
OTHER EXPERIENCE
N ATIONAL
T ECHNOLOGICAL
U NIVERSITY
Course Consultant
Aug. – Dec. 1993
Acted as content expert for graduate-level computer architecture course taught by Professor David
Patterson and distributed nationally to industry engineers. Answered students’ questions, conducted
review sessions, and prepared and graded homework assignments and tests.
T OTAL T R AVEL
M ANAGEMENT
Software Development Engineer
Summers 1991, 1992
Developed software for in-house use. Applications included dynamic control system for cooperating
computers, interface to Southwest booking system, bulletin board service for corporate travel bookings,
and client report generator.
S CHLUMBERGER
CAD/CAM
Engineering Intern
Summer 1990
Developed and implemented object-oriented approach to testing CAD/CAM software.
SKILLS
S YSTEMS
P ROGRAMMING
Implemented kernel driver for arbitrary Windows operating systems to direct system calls of a process
to a monitor program, enabling secure execution of remotely-provided code.
Wrote system tracer for Windows NT/2000 containing over 37,000 lines of C, C++, and x86 assembler.
Tracer was featured in MSDN Magazine and on Microsoft web site.
Wrote Windows 2000 drivers, libraries, and utilities to implement task-based dynamic voltage scaling
scheme. Ported this software to systems with Transmeta and AMD processors. Code contained over
35,000 lines of C, C++, and x86 assembler.
Wrote system tracer for MacOS 7.5 while working at Apple Computer, Inc.
A PPLICATION
P ROGRAMMING
Implemented Paxos with novel configuration change algorithm, over 30,000 lines of C++.
Built simulator for network latency prediction systems, including various network coordinate systems,
and built prototype implementation of one of these systems.
Created benchmark scripts in Python to evaluate speedup of desktop applications with cloud assistance.
Wrote programs in C, C++, and Perl to obtain traces via the web, archive them, and convert them to
formats useful for analysis.
Wrote several trace-based simulators in C, C++, and Perl to evaluate power management schemes.
Completed four software projects for travel management corporation: dynamic control system for
cooperating computers, interface to Southwest booking system, bulletin board service for corporate
travel bookings, and client report generator.
21 years experience with C, 11 years experience with C++, 12 years experience with Perl, 1 year
experience with Python.
W RITTEN
C OMMUNICATION
Authored 24 publications in conferences, journals, and magazines.
Authored 12 technical reports at UC Berkeley, Microsoft, Apple Computer, Inc., and Schlumberger
CAD/CAM.
Contributed to 14 patents.
O RAL
C OMMUNICATION
Presented research talks at five conferences.
Gave invited talks at five universities.
Lectured 50 students in operating systems course.
Guided review sessions in computer architecture course of 12 students.
Designed experiment to evaluate effect on user experience of approaches to increasing the scale of peerto-peer latency-sensitive games.
Created experimental framework for evaluating network latency prediction techniques.
E XPERIMENTAL
D ESIGN
P ERFORMANCE
A NALYSIS
Evaluated performance of various latency prediction techniques using Halo 3 matchmaking traces.
Benchmarked performance of system to leverage cloud computing resources for interactive desktop
applications.
Performed statistical analyses on five years of file system metadata traces.
Compared scalability of various approaches to update dissemination in peer-to-peer games.
Evaluated how energy is consumed and saved in laptop computers.
Developed and evaluated techniques for increasing MacOS use of processor sleep mode.
Analyzed characteristics of Windows workloads to guide design of task-based dynamic voltage scaling
algorithms. Developed and evaluated new dynamic voltage scaling algorithms.
Implemented and evaluated protocol allowing web caching proxies to cooperate using multicasting.
M ATHEM ATICAL
A NALYSIS
Developed formula for optimal dynamic voltage scaling.
Finished in top 100 on Putnam Mathematics Prize Competition four years in a row.
L EADERSHIP AND
O RGANIZATION
Mentored four summer interns at Microsoft Research and helped mentor three others.
Organized monthly meetings of the Systems and Networking research area at Microsoft Research.
Led team that created and ran the tenth Microsoft Puzzle Hunt, a weekend-long puzzle-solving
competition that attracted over 900 participants.
Founded Emerald City Games Club, a group that meets weekly to play strategy games.
Founded East Bay Strategy Games Club, arranged weekly meetings of club, and increased membership
to over sixty using promotion by word of mouth and website.
Captained team finishing second in world in ACM Programming Contest.
HONORS AND AWARDS
NSDI Best-Paper Award
2009
Awarded for the paper, “TrInc: Small Trusted Hardware for Large Distributed Systems.”
Siebel Scholarship
2001
Support for last year of graduate study. Awarded for academic merit and leadership excellence.
National Science Foundation Fellowship
1992 – 1995
Support for three years of graduate study. Awarded for intellectual merit and scientific ability.
ACTIVITIES
Strategy board games, puzzle events, puzzle design.
Download