本文へジャンプ

  • HOME
  • 講演会情報

講演会情報

Overview of Software Transactional Memory Systems
講演者:Sathya Peri(IIT Hyderabad, India)
平成30年11月8日(木)13時〜14時30分 理学部7号館2階214講義室
Nowadays, multi-core systems are quite ubiquitous from cell phones to high performance computation servers. These systems were introduced around 2004, 50 years of exponential improvement in the performance of sequential computers ended. In order to get a continued speedup on these processors, 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. In recent years, Software Transactional Memory (STM) has garnered significant interest as an elegant alternative for developing concurrent code. Software transactions address many of the shortcomings of lock based systems. Multi-threaded programs used with STMs address many of these challenges.
In this talk, I will give an overview of Software Transactional Memory (STMs). I will describe the correctness requirements of STM systems, describe its current state. Then, I will briefly describe different applications that can benefit from STMs. Some of the applications that I will cover are: (1) Concurrent Execution of Smart Contracts in Blockchains (2) Graph coloring in the context of Large scale Analytics (3) Shared Counters.