Reached by phone after his recent shared triumph, Professor Maurice Herlihy of Brown University’s Computer Science Department was feeling optimistic: “This is good news for programmers.” The paper that he co-wrote with PhD student Zhiyu Liu (“Well-Structured Futures and Cache Locality”) had just won the Best Paper Award at the Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2014). It’s the first time that CS faculty or students have received this honor.
Why should programmers celebrate? It helps first to understand futures. “We can think of them as a promise to deliver results at a later time,” explains Maurice. “They’re the programming equivalent of a receipt that you might be given in a store for goods that will be supplied later.” Maurice and Zhiyu undertook their project partially in response to a recent paper which indicated that under some circumstances, use of futures could lead to poor cache performance. “We discovered,” Zhiyu says, “that if programmers write futures in some simple, structured ways, poor performance can be prevented. These best practices can be easily used on many different applications.”
“I’m very happy to have won this award,” he continues. “It was a great collaboration and we’re proud of the results.” Maurice echoes the sentiment: “Working with Zhiyu was a pleasure. He was the driving force behind the project, and I’m so glad to see him get credit for it.”