Bui, an assistant professor of computer science, joined UW-Eau Claire in 2012. He comes from a notable distributed computing lineage: Doug Thain, a distinguished professor at the University of Notre Dame, US, was his graduate advisor - having himself studied under UW-Madison's Miron Livny.
Livny holds a number of prominent positions, including PI and facility coordinator for the Open Science Grid, director of the Center for High Throughput Computing (CHTC), director of Core Computational Technology of the Morgridge Institute for Research, and chief technology officer of the Wisconsin Institutes of Discovery. "If I am a father of distributed computing, then Bui is my grandson," Livny says proudly.
At Notre Dame, Bui's graduate work focused on distributed computing and workflows, and he worked closely with the HTCondor community and the CHTC in Madison. Through this research, he developed a solid foundation for collaborating with scientists ranging from electro-biologists to physicists. That perspective informs his teaching, which includes computer science majors and non-majors from fields such as math, physics, geology, engineering, and chemistry. He is also seeing increasing numbers of students from the humanities.
"Computational science is becoming more and more important to the students who know they want to continue on with research. Many of them are taking computer science courses because they know they will need some level of programming knowledge and data management skills," notes Bui.
He is planning to introduce high-throughput computing to his Python class in the near future. Students will take large data sets and write a program that not only analyzes all of the data, but also does so on a cluster system. In this way, Bui's undergraduates will develop foundational distributed computing skills - which too often are not introduced until they enter a graduate program.
When Bui arrived at UW-Eau Claire, he used his startup money to purchase a small cluster. However, he knew he would need more resources to engage the university community and do interesting projects. He approached the high throughput community in Madison, hoping to take advantage of the flocking feature in HTCondor. Now when his small cluster at Eau Claire is running at its maximum level, jobs automatically flow to Madison, essentially giving Bui and his students a large virtual cluster.
Bui is currently working with ten students on research and independent study projects. Bui recently paired a student double majoring in art and computer science with another student double majoring in computer science and math. Together, they are working on an animation system that distributes a movie specification to hundreds of machines - and, through CHTC, they are using machines in Eau Claire and Madison to do so.
"They have been able to take a small movie - that would take 17 minutes to render on a single machine - down to five minutes [of rendering]. For art students, this is a big deal because they can submit their movie and get results back sooner. This beats sitting around for hours or a couple of days to get results," comments Bui. "It is a great collaboration because it is not often you find this type of coordination between computing and art students. It's exciting."
Bui recently worked with a student on an archeological dig in Israel. The student was collecting digital photos of dig sites, and needed to send them back to US for processing. Bui helped form a collaboration, which then created an automated workflow system that fetched the dig data from the cloud, used the Eau Claire cluster to process the images in parallel, and archived the end products.
Thanks to student enthusiasm for Bui's projects and programs, he recently received a $100,000 grant from UW-Eau Claire to build an even larger cluster. The funding comes from a differential program that supports student activities and efforts that enhance learning experiences. The students themselves have a direct voice in how these funds are spent.
In addition to teaching, Bui will manage the new cluster and oversee the management of existing clusters, bringing them all together in a campus grid. "There are smaller clusters out there in various departments, but there is no bridging or collaboration among them," notes Bui. "I knew the first thing I had to do when I arrived was find other people in other departments. Computer science provides the glue to problems and research in other fields. Tools don't really come to life or have relevancy until applied to a real problem."
"The biggest thing computer scientists can do is listen. Sometimes when you're resource constrained or time constrained it is hard to make time for other people and listen to their challenges, but it is important to do so because it opens up the possibilities of what you can do."
Bui knows there will be challenges: "We're already looking ahead three years and wondering what will happen when the most recent grant is complete. We're also an undergraduate institution. We don't have unlimited manpower. Undergraduates are juggling classes and possibly work. You can't expect an undergraduate to be as productive as a graduate student."
"We're focused on building a solid foundation of expertise and community," concludes Bui. "Soon we will offer workshops on how to use available distributed resources, promote ongoing research through monthly seminars, and showcase interesting scientific results - so stay tuned for our computational science website."