03-26
Software Transactions: A Programming-Languages Perspective

With multicore processors bringing parallel computing to the masses, there is an urgent need to make concurrent programming easier. Software transactions hold great promise for simplifying shared-memory concurrency,and they have received enormous attention from the research community in the last couple years. This talk will provide an overview of work done at the University of Washington to help bring transactions to the next generation of programming languages. No prior knowledge of software transactions will be necessary.

Our work complements research done on hardware and software algorithms for implementing transactions by considering essential issues regarding how transactions affect language semantics and language implementation. Our motivation takes the novel view that transactions can improve language support for concurrency much like garbage collection can improve language support for memory management. Our language design and language semantics work has considered the pitfalls of so-called "weak isolation" and how to avoid them, interaction with other language features like native calls and exceptions, and the implications for shared-memory consistency models. Our implementation work includes techniques for the special case of a uniprocessor, a whole-program static optimization that uses pointer information to remove unnecessary read- and write-barriers while providing "strong isolation", and ongoing work for allowing parallelism within transactions.

Dan Grossman is an Assistant Professor in the Department of Computer Science & Engineering at the University of Washington. His research in the design and implementation of programming languages is aimed at improving software quality.

Date and Time
Wednesday March 26, 2008 4:15pm - 5:45pm
Location
Computer Science Small Auditorium (Room 105)
Event Type
Speaker
Dan Grossman, from University of Washington
Host
David Walker

Contributions to and/or sponsorship of any event does not constitute departmental or institutional endorsement of the specific program, speakers or views presented.

CS Talks Mailing List