Tata Institute of Fundamental Research

Correctness of Closed Nesting in Software Transactional Memory Systems

Seminar
Speaker: Sathya Peri (Indian Institute of Technology Department of Computer Science and Engineering Navin Government Polytechnic Campus Patliputra Colony Patna 800 013  )
Organiser: Sagnik Mukhopadhyay
Date: Wednesday, 22 May 2013, 16:00 to 17:00
Venue: A-212 (STCS Seminar Room)

(Scan to add to calendar)
Abstract:  There has been considerable interest in Software Transactional Memory in recent years. The reason for rise in STM is due to rise of multicore computers. To fully utilize the power of these machines, applications need to be able to harness the parallelism of the underlying hardware. This is commonly achieved using multi-threading. Yet writing correct and scalable multi-threaded programs is far from trivial. In multi-threaded programs sets of semantically related actions may need to execute in mutual exclusion to avoid semantic inconsistencies.
 
Traditionally, multi-threaded programs were developed in conjunction with locks to address these issues. But programming with locks has many disadvantages such as deadlocks, priority inversion etc. and makes it difficult to build scalable software systems. Importantly, lock based software components are difficult to compose i.e. build larger software systems using simpler software components. Composition of software components is a very important property which is the basis of modular programming. Nesting of transactions is a way of achieving Composition. 
 
In this talk, I will explain about how closed nesting can be achieved with Software Transactional Memory. I will talk about correctness requirements of Closed Nested executions. I will then describe correctness criteria that we developed and then describe about an implementation based on them.