Thursday, September 29, 2016

Computer science internship lands Google Go proposal

Louis Jenkins’s internship with Lehigh University’s R.E.U. program not only provided him with a unique research experience leading to publication and a Google Go proposal, but a lasting relationship with a mentee of one of the country’s renowned computer programmers.
According to the Bloomsburg University senior computer science major, he wasn’t initially looking for an academic research experience like this. Jenkins wanted an industry related internship — but in hindsight — he’s grateful for the summer spent at Lehigh working with Michael F. Spear, an assistant professor of computer science engineering.
The summer experience also landed Jenkins an Outstanding Project: Peers’ Choice award for his work on “Concurrent and Scalable Built-in Hash Table for the Go Programming Language.”
“When I originally got in contact with my advisor (Spear), I did some research into what his areas of interest were,” Jenkins said. “Besides software transactional memory, the one we had in common was concurrent data structures.”
Jenkins’s internship advisor was a doctoral student of Michael L. Scott, renowned computer programmer and the Arthur Gould Yates Professor of Engineering at the University of Rochester.
“He suggested the project topic and mentioned a former Ph.D. student of his had initially been working on a design for a lock-free hash table for Go, but never managed to actually implement it,” said Jenkins, adding in the past he created some simple lock-free data structures that ended up helping him with creating his research for his internship. “So I had to make numerous changes to the runtime and compiler of the language itself. I had to do all of this on my own and without much help from the developers themselves, who even directly discouraged me from doing it.”
According to Jenkins, the original design had changed immensely, which both Michael Spear and Jenkins designed. Jenkins also wrote all of the code and implementation. The ending project resulted in a really powerful and scalable lock-based hash table with very sane semantics (and was implemented opaque enough to be backwards compatible with existing user code). An official proposal to Google’s Go development team will occur this fall, as well as a research paper for publication with his advisor, Jenkins added.
“The internship literally turned on its head,” Jenkins said. “Originally, it was looking okay, but I felt that my potential would be severely limited due to my lack of connections. However, besides for the excellent resume-fluff the award will add, the best award has to be meeting and getting to know my advisor. The project by itself would not have been as amazing as it could have been, and there would be no research paper and it probably would not have gotten anywhere.”
Jenkins said the Lehigh R.E.U. internship left a lasting impression.
“I plan on obtaining a Ph.D. in computer science and hopefully make it as a researcher in either systems programming or concurrent and distributed computing,” said Jenkins, adding his initial interest in computer science was sparked here at BU by Drue Coles, professor of mathematical and digital sciences.
— Samantha Gross, mass communications