Distinguished Lecture - Perspectives on Complex Systems Software Engineering

Location: 2150 Torgersen Hall
Date: Friday, November 12, 2010
Time: 11:15am-12:30pm
This talk is open to the general public.

A Meet-the-Speaker session will be held 4:00pm-5:30pm in McBryde 106

Slides: PDF

Video: video

Greg Lavender
Vice President, Cisco Systems, Inc.

In recognition of the 40th anniversary of Virginia Tech’s Department of Computer Science, this talk will provide both an historical and a modern perspective on some challenges facing computer scientists as we continue to create increasingly complex hardware and software for demanding real-world computing applications. The scale and complexity of an interconnected web of ubiquitous computing devices and systems continues to expand to a global network of things, presenting new challenges. I will pose some research challenges for both young and older computer scientists to think about based on insights gained from a dual career in both academia and commercial systems software R&D.

The past 40 years have been a period of significant advancement in computing science and practical software and hardware engineering, albeit with a corresponding increase in both intrinsic and extrinsic complexity. Modern networked computing systems are often non-deterministically fragile, contain numerous Heisenbug defects due to asynchronous interactions, are increasingly difficult to deploy, manage and evolve, and we keep applying layers upon layers of abstractions in an attempt to continue to evolve existing systems. Rarely do we have the opportunity to revisit our prior, often limiting, software constructions, often because of unacceptable short-term economic costs. Practicing computer scientists struggle to cope with this reality, often by inventing yet more syntactic variations on familiar themes without adequately addressing the underlying concurrent, asynchronous and combinatorial “semantics of interaction” that underlie these complex computing systems. As computer scientists ponder new ways to take advantage of multi-core computing, I suggest spending some of those extra mental and CPU cycles on providing richer end-to-end observability of the complex interactions that are happening between and among our computing devices. Alternatively, we can continue to keep rebooting everything frequently and hope for the best.

Greg Lavender has been conducting advanced R&D in networking protocols, operating systems, concurrent programming, and distributed computing for 27 years. He obtained both an MS (1988) and PhD (1993) in Computer Science from Virginia Tech. In 2001, he received the Outstanding Young Alumnus Award from the College of Arts and Sciences at Virginia Tech. He served on the advisory board of the Department of Computer Science from 2002-2006.

Dr. Lavender is currently Vice President, Foundation Engineering, in the Network Software and Systems Technology Group at Cisco Systems in San Jose, CA, where he is responsible for leading a next generation Internetwork Operating System (IOS) for Cisco’s routers and switches. Prior to Cisco, Dr. Lavender led the development of the OpenSolaris and Solaris 11 operating systems at Sun Microsystems and Oracle as Vice President of Engineering for the Solaris core operating system.

Since graduating from Virginia Tech, Dr. Lavender has led a dual career in the commercial software industry and academia. From 1994-1998, he was Chief Scientist of two Internet server software startup companies that pioneered the development of the Lightweight Directory Access Protocol and high-scale directory and email servers. Innosoft International acquired the rights to this technology in 1998. Dr. Lavender was VP of Engineering at Innosoft until being acquired by Sun Microsystems in 2000. From 2000-2004 Dr. Lavender led the development of Sun’s Internet directory server products, creating one of the most successful distributed computing software products in Sun’s history. During this same 10-year period, Dr. Lavender was also an adjunct faculty member in the Department of Computer Science at the University of Texas at Austin, regularly teaching both undergraduate and graduate courses and supervising funded research projects and theses. From 2004-2007 he served full-time as the Associate Chairman of Academics at UT-Austin, modernizing the CS academic programs of a top-ranked CS academic program. Dr. Lavender has also taught at Stanford University as a Visiting Lecturer.