Title: Department of Computer Science Seminar Date: Friday 23 May Time: 2:00 pm to 3:00 pm Venue: Room N101, CSIT Building [108] Title: Transactional Threads for Orthogonal Persistence Speaker: Antony Hosking (Purdue University) Abstract: Orthogonally persistent programming platforms have been advocated as ideal for the development of enterprise applications that embody in their implementations sophisticated data models, complex logic, and persistence. By integrating the data and control models of the programming language with persistence, orthogonally persistent programming platforms overcome the impedance mismatch present in any a posteriori marriage of programming languages with existing database systems. One aspect of this mismatch is the competing concurrency mechanisms of programming languages and database systems: threads and transactions. Transactions are widely-held to be essential for the reliable composition of programs and code that manipulate persistent data, yet no persistent programming language has come to a full accommodation between transactions and threads. We present a model for transactional threads within object-oriented orthogonally persistent programming languages, and describe the implementation of that model in a prototype persistent extension of Modula-3. This prototype represents the first (to our knowledge) full implementation of such a tight coupling between language threads and transactions over persistent data. Experiments using a range of workloads from the multi-user OO7 benchmark demonstrate the performance advantages of transactional threads compared with transactions using traditional differentiated thread and transaction models in which transactions are associated only with the operating system process. Our results show better performance for update transactions, and improved scalability as the degree of concurrency and numbers of shared updates increase. This is joint work with Adam Welc Biography: Antony Hosking received the Bachelor of Science in Mathematical Sciences from the University of Adelaide in May 1985, and the Master of Science in Computer Science from the University of Waikato in April 1987. He continued his graduate studies at the University of Massachusetts, receiving the Ph.D. in February 1995. In January 1995 Dr. Hosking was appointed to the faculty of Purdue University, in the Department of Computer Sciences, where he now holds the rank of Associate Professor. His work is in the area of programming language design and implementation, with specific interests in database and persistent programming languages, object-oriented database systems, dynamic memory management, compiler optimization, and architectural support for programming systems. Dr. Hosking is a Member of the ACM and IEEE. He was Program Chair for the 2000 ACM International Symposium on Memory Management (ISMM), and has served on the program committees of ISMM, the ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), and the International Conference on Very Large Data Bases (VLDB). URL: http://cs.anu.edu.au/lib/seminars/seminars03/dept20030523