SCHOOL OF COMPUTING
The University of Utah
Utah Teapot IN THIS ISSUE • John E. Warnock Presented
National Medal • Suresh Venkatasubramanian
Receives NSF Award • Alumni Profile :
Chris Alfeld • Invisible Logic:
Engineering/Art Collaborations • A Parallel Tools Platform
Integration of MPI Formal Analysis • Computing Innovation
Fellow - Jeff Phillips
• Senior Project Course
John E. Warnock Presented the National Medal of Technology and Innovation Dr. John E. Warnock (BS ‘69) was presented the National Medal of Technology and Innovation during a White House ceremony in October 2009. He was one of nine researchers who received one of the nation’s highest honors bestowed upon engineers, scientists and inventors. Dr. Warnock along with Adobe Systems Co-founder Charles M. Geschke were given the award for their “outstanding contributions to the promotion of technology for the improvement of Charles M. Geschke, John E. Warnock, and President Barak Obama the economic, environmental, or social well-being of the United States,” according to a White House press release. “These scientists, engineers and inventors are national icons, embodying the very best of American ingenuity and inspiring a new generation of thinkers and innovators,” Obama said of the recipients. “Their extraordinary achievements strengthen our nation every day—not just intellectually and technologically but also economically, by helping create new industries and opportunities that others before them could never have imagined.” photo credit: Associated Press
Suresh Venkatasubramanian Receives NSF CAREER Award Suresh Venkatasubramanian has been selected as a recipient of an NSF Faculty Early CAREER Development Award, for his work on “Geometric algorithms for data analysis in spaces of distributions”. The CAREER program offers the National Science Foundation’s most prestigious awards for new faculty members. The program supports and recognizes the early development of scholars and teachers who will become an influential part of academia in the future. The CAREER Award will provide funding to support research into the geometric structure of spaces of probability distributions, developing algorithmic tools that have application in areas like machine learning, statistics and information theory.
Spring 2010 Issue
Alumni Profile Chris Alfeld With his father working as a professor in the Mathematics Department at the U, Chris Alfeld spent most of his childhood hanging out on campus. “I literally grew up running around campus. In high school, I attended the High School Summer Computing Institute and the High School Programming Contest and worked as a lab tech in the math department computer labs. Going to college at the U was a natural step for me, “ said Alfeld. The Teapot meets up with Chris 9 years after receiving his B.S. in Chris Alfeld computer science and B.A. in mathematics. Teapot: Looking back at your time here at the University of Utah what do you remember? Chris Alfeld: I had several amazing opportunities at the University of Utah as well as a number of great classes. On the classes side of things, I especially enjoyed classes from John Carter -- I would take whatever he was teaching each semester. I also had a great algorithms class from Frank Stenger. I had a number of outreach opportunities that were very rewarding. I attended the High School Summer Computing Institute while in high school and then worked as a teaching assistant for it every summer during college. Similarly, in high school I competed in the High School Programming Contest and then was a judge for the same contest during college. Dave Hanscom organized both the High School Summer Computing Institute and the High School Programming Contest and was a great mentor to me. Another extracurricular activity I was involved in was competing in the ACM Programming Contest. In 1999, Amol Nayate, Kip Killpack, and I went with our coach, Peter Jensen, to the finals in Eindhoven, the Netherlands. It was another great experience. Peter Jensen and I also worked together as judges in the High School Programming Contest, and he was another mentor for me.
2 - The Utah Teapot - Spring 2010
My experience at the University of Utah was great on many counts: high quality classes, incomparable mentors, and many opportunities. UT: You worked as a research assistant while here at Utah, can you tell us a about that? CA: By far the most significant impact on my education was my employment as a research assistant with the Flux research group. The opportunity to witness and participate in academic research as an undergrad, and to work with such talent, was incomparable. Jay Lepreau, who led the Flux group during my time there and was my primary mentor, passed away recently; I miss him greatly. UT: How did this experience working with the Flux group prepare you for your future endeavors? CA: My work at Flux helped me develop both as a programmer and computer scientist. It provided a wealth of knowledge of programming and computer science, but I also learned skills for working in a team, academic publishing, and building and supporting widely used software. Flux also provided opportunities to write papers and attend conferences through which I was able to learn more of the wider computer science community and make connections. UT: After completing your studies at the U what did you do? CA: I went to the University of Wisconsin-Madison to pursue a graduate degree in mathematics. My advisor was Steffen Lempp and my research was in computability theory, a branch of mathematical logic. While at UWMadison, I was a calculus teaching assistant for the first two years, then worked as a research assistant for Paul Barford in the Wisconsin Advanced Internet Laboratory. After finishing my Ph.D. in 2007, Paul Barford, Phil Matthews, Kevin Springborn, and I founded Nemean Networks, a startup company in network security. This is where I currently work as the Director of Research. UT: Was your career path what you expected? continued on page 3
continued from page 2
CA: Not really. Mathematics was a bit unplanned. I’d also always imagined I’d take the academic route and be a professor. I certainly didn’t expect to end up in the startup world. When not focused on mathematics and computer science you can find Chris heavily involved in International Folkdance. He participates in traditional dances from all over the world, especially from the Balkans. He is part of a recreational group in Madison (Madison Folkdance Unlimited) and he helps organize two big annual dance festivals in the midwest: Folkball in Madison, WI and the Door County Folk Festival in Sister Bay, WI. Interested in contacting Chris Alfeld please send mail to email@example.com.
Vi s i t us at
Invisible Logic On January 14th, 2010 a combined group of engineering and fine art students presented an exhibition called Invisible Logic: Projects from Engineering/Art Collaborations. The artwork in the exhibition comes from an innovative course taught for the first time in the fall of 2009. It contained the collaborative artwork of nine students from the Department of Art and Art History, Computer Science, and Computer Engineering.The course was designed and taught by professors Erik Brunvand from the School of Computing and Paul Stout from the Department of Art and Art History. The kinetic art in the exhibit involved a symbiotic marriage of art and technology. Artistic sensibility was required for concept and planning, and engineering and computer skill were required to realize the artistic vision. Artworks included in Invisible Logic included self-typing typewriters, experiments in human conductivity and cooperation, standing wave generators, angry flowers, and ruminations on war. These kinetic artworks use microcontrollers connected to motors, actuators, transducers, and sensors that enable the artwork to move and react to its environment.
Computer Engineering student Kevin Brown demonstrates how the sculpture reacts to human touch.
A 1910 Underwood typewriter controlled by pneumatic actuators and microprocessor control.
A 3D plexiglass shape is illuminated by changing patterns of light from an array of tri-color LEDs
The Utah Teapot - Spring 2010 - 3
A Parallel Tools Platform Integration of MPI Formal Analysis by Chris Derrick, Alan Humphrey and Ganesh Gopalakrishnan
The Problem - Parallel Programming has always been difficult and error-prone. It requires a whole new way of thinking to arrive at a parallel algorithm. One of the greatest difficulties in parallel programming, however, is that such a program may work fine hundreds of times in a row and then fail miserably with no apparent cause. For example, these errors can show up when “printf” statements are commented out or when the code is ported to new platforms. This makes traditional testing approaches insufficient. Fortunately the students of the Gauss Group working under Professors Ganesh Gopalakrishan and Robert M. Kirby have created a tool called In-Situ Partial-order analysis (ISP) which is able to analyze Message Passing Interface (MPI) programs and definitively report whether a deadlock, MPI resource leak, or assertion violation (all three of these are explained in the side-bar) will arise for the same inputs when the code is run or ported to any platform. ISP - To understand ISP one must first understand MPI which is the predominant library for Parallel Programming. MPI works by sending and receiving messages between processors. It works much like a news agency that sends out assignments to reporters and then receives and organizes the resulting articles into a final product. ISP works by intercepting these messages and executing the calls under the control of its own scheduler. This allows ISP to observe all possible matches of messages -- even under schedules that may be altered by printfs or by code porting. This way, ISP’s approach guarantees to detect all bugs – explicit or latent. It would however take far too long (an “exponential search”) to run through every possible message match and determine what happens. For this reason, ISP uses an algorithm called POE that (in the parlance of Formal Methods) guarantees the coverage of all relevant interleavings. Here, interleaving refers to a possible assignment and ordering of the MPI calls. For many programs, there are far fewer relevant interleavings than potential interleavings. POE creates a graph representing the “happens before” order among MPI calls. This notion was introduced to Happens Before Viewer Computer Science by Lamport who
4 - The Utah Teapot - Spring 2010
cites the theory of Special Relativity as his main motivator. The happens before graph captures which MPI calls must happen before which other ones. Characterizing the happens before graph underlying an MPI program execution is a unique contribution of the Gauss group. ISP allows users to view the happens-before graph -this is a valuable design verification aid (see illustration below). ISP also uses this graph to schedule as per relevant interleavings. GEM - The results of ISP are incredibly verbose since it summarizes the all possible behaviors of the program and can be difficult to interpret. For this reason a graphical interface has been created in the form of a plug-in (extension) for Eclipse (a popular development tool used by many programmers). We call this new interface GEM (Graphical Explorer of Message-Passing). Once ISP is run the results are displayed in the Detailed Runtime Information section. On the right under the title “Stepping Through the Code” an example of these views of GEM can be seen. In this example, the red phrase “Deadlock in interleavings 2, 3” indicates that of the three possible ways in which the messages can be sent two of them will result in a deadlock. To learn the cause of the deadlock a user clicks on the “Browse Errors” button and is presented with a list of all the error messages in the context of their actual code. Clicking on any of these messages will open the code in an editor window with the error highlighted. In this way the user is directed to each line that is involved in the deadlock. Once the user thinks that they have fixed the code they can rerun ISP with the click of a button and see if the deadlock is still present.
Just beneath the line indicating whether an error is present or not is a line indicating whether or not there is a resource leak and to the left of the Browse Errors button there is a button for displaying the resource leaks. The remainder of the plugin is designed to help users understand how the messages may interact with each other at run time. Two ways to do this are Stepping Through the Code and using the Matches-Before GEM Analyzer View Viewer. The option of stepping through the code is designed to let the user see how each individual message interacts with the others and how the program progresses. The code windows at the bottom display where the current call was issued from and where it was received. Arrow buttons at the top let the change what interleaving and which call in that interleaving is being observed. Stepping through the calls is a great way to get a detailed look of what the program’s behavior is at any given point, but such a detailed view can make it difficult to see the big picture. For this reason the Matches-Before Viewer was created which displays a graph with all the messages shown as small rectangles with their dependencies on other messages shown as arrows that are colored to indicate what type of dependency it is. In conclusion, the combination of ISP and GEM allows for scalable and intuitive formal analysis of MPI programs. We believe that Formal Analysis is a crucial enabler of high performance. This is because without formal analysis, users will be forced to employ extremely defensive styles of programming, since they would lack a debugging technique that guarantees coverage of erroneous scenarios. GEM has proved itself a valuable tool, due in no small part to the mentoring we have received from researchers at IBM Corporation, notably Drs. Beth Tibbitts and Greg Watson. With their help GEM was contributed to the Eclipse project’s Parallel Tools Platform (PTP) making it a part of the Version 3.0 released in November, and was also recently featured in a tools workshop at the Supercomputing 2009 conference. ISP and GEM are unique tools in the space of MPI verification tools. At present, the capabilities of ISP are being scaled up so as to run it on a large number (e.g., 500 or
Parallel Problem Definitions Deadlock: Deadlock occurs when multiple processes are waiting on each other, with each process preventing others from completing their activities. Deadlocks are particularly dangerous when they can be elusive -- i.e., schedule dependent. ISP ensures the detection of deadlocks in MPI programs by computing and subsequently forcing all relevant matches to occur. Resource Leak: A resource leak occurs when a program reserves some memory for itself and does not give it back once it is done. Resource leaks can cause a `slow death’ to a program. ISP detects resource leaks by monitoring resource allocations and ensuring the return of the resources when the method calls are finished. Assertion Violation: When a programmer wants to verify that the program is behaving as expected they can place small tests in their code called assertions. These are basically small tests that if passed have no affect on the code and if failed tell the programmer that item being tested is not behaving as expected. more) of CPUs. We are mainly indebted to the creators and developers of ISP, notably Sarvani Vakkalanka, Anh Vo, and Michael DeLisi. All the remaining Gauss group members who continued on page 7
The Utah Teapot - Spring 2010 - 5
Computing Innovation Fellow Joins the SoC
We are saddened to report that Ron Resch, a Research Associate Professor of Computer Science at the U from 1969 to 1978, passed away November 19, 2009. Mr. Resch is widely known for his contributions to both art and science. The Ukrainian Easter Egg located in the town of Vegreville, in Alberta, Canada was designed and constructed by Resch in the early 70’s and still stands today. It was the first complex, full scale physical structure designed from a computer model.
Jeff Phillips joined the School of Computing in Fall 2009 as a CRA Computing Innovations Postdoctoral Fellow. Prior to joining the School of Computing Jeff was at Duke University completing his Ph.D. in Computer Science. He obtained a BS in Computer Science and a BA in Mathematics at Rice University. Jeff’s research focus is on algorithms for statistical problems. More specifically, he has developed algorithms for problems fundamental to computing statistics and proven guarantees in their runtime and approximation error. A recent theme of his work has been on computing distributions of statistics for uncertain data, that is when the exact values of the input data is not know precisely. He has provided a simple algorithmic framework which can be used to construct distribution over the value of any univariate statistic by merely sampling from the uncertainty of the data a small number of times. A paper of his which can be used to improve the size and runtime bounds of these algorithms won best student paper at a top theoretical computer science conference in 2008. While here at Utah Jeff is working with Suresh Venkatasubramanian on the theme of algorithms for statistical problems, he has been focused towards broader research interests such as the geometry of non-Euclidean spaces. In particular, his recent work can be categorized as statistics on non-Euclidean spaces and on providing algorithms for statistical problems by interpreting them as geometric problems in non-Euclidean spaces. Jeff is enjoying the opportunity to help mentor Suresh’s and other students in the department, and to collaborate with people through the School of Computing. “I hope to get to know and share research ideas with more people during my stay here,” said Jeff. When Jeff is not busy doing research he enjoys good interesting food (especially that cooked by his wife :)), noncommericial new music, and hiking.
Kris Sikorski was elected to Chair the IFIP (International Federation for Information Processing) group on Foundations of Computer Science/Continuous Algorithms and Complexity. Established in 1960, IFIP is an umbrella organization for national societies working in the field of information technology. Its members include over 48 national societies and Academies of Science.
STUDENTS Miriah Meyer (PhD ‘08) was one of 60 recent PhD graduates selected as a 2009 Computing Innovation Fellow (CIFellows). She will receive a one to two-year postdoctoral position at computing research institution. The fellowship awards were made possible by a $15 million grant from the National Science Foundation. Miriah is currently working as a postdoctoral research fellow at the School of Engineering and Applied Sciences at Harvard University. Niti Madan (PhD ‘09) was one of 60 recent PhD graduates selected as a 2009 Computing Innovation Fellow (CIFellows). She will receive a one to two-year postdoctoral position at computing research institution. The fellowship awards were made possible by a $15 million grant from the National Science Foundation. Niti is currently working as a postdoctoral research fellow at IBM T.J. Watson. Graduate student Aniruddha Udipi earned Best Paper Award at the 16th International Conference on High Performance Computing (HiPC 2009) for his paper “Non-Uniform Power Access in Large Caches with LowSwing Wires”. This was a joint work with Utah alumnus Naveen Muralimanohar (HP Labs) and his advisor Rajeev Balasubramonian.
6 - The Utah Teapot - Spring 2010
Contact Jeff - firstname.lastname@example.org
Senior Project Course, CS 3992 Computer Engineering students presented their final projects on December 11th, to cap off the CS 3992 senior project course. The year long course is designed to give students the opportunity to design, build and demonstrate a project. Beginning in spring students form teams and select a project. During the summer they acquire parts and start building. In the subsequent fall semester, students then complete the project and demonstrate it to the public. All projects were required to have an original software design component and an original hardware design component.
“Our CE senior project was an exciting chance to put the our engineering skills to the test. We were able to choose our own project and team members, and create a project we each found interesting. The project challenged both our Electrical Engineering and Computer Science skills, but it was a very enjoyable and rewarding experience to see our creation in action.” - Jordan Squire, CS 3992 student
“CE Senior Project was, hands-down, the best class of my career because it allowed me and my team to undertake a year long project in which we first had to come up with an idea off the top of our heads, solidify that idea into something concrete, and actually design and implement the system with a demonstrable end product, all the while experiencing all the real constraints and last minute engineering problems that Students present their projects during senior project day. are associated with trying to launch a product for the very first time.” - Torrey Atcitty, CS 3992 Student For more information on CS 3992 go to http://www.eng.utah.edu/~cs3992
A Parallel Tools Platform Integration of MPI Formal Analysis continued from page 5
have worked on improving ISP are also being gratefully acknowledged. We also acknowledge Argonne National Laboratory and Lawrence Livermore National Laboratory for their ideas and encouragement. Finally, we also want to thank Microsoft and the NSF for their support of this research. Details of this support, our publications, as well as the ISP download site are all accessible from http://www.cs.utah. edu/fv
Find us on University of Utah, School of Computing
The Utah Teapot - Spring 2010 - 7
School of Computing University of Utah 50 S Central Campus Dr, Rm 3190 Salt Lake City, UT 84112-9205
CALENDAR March 22 - 26, 2010
SCHOOL OF COMPUTING UNIVERSIT Y OF UTAH
50 S Central Campus Dr, Rm 3190
April 28 , 2010
EDITOR & DESIGN.......Chris Coleman
Salt Lake City, UT 84112-9205
Comments and suggestions are welcome. Please send email to email@example.com.
May 7, 2010 Graduation
May 17, 2010
Summer Semester Begins
ÂŠ 2010 University of Utah