Transactional Memory for Dependable Embedded Systems

Size: px
Start display at page:

Download "Transactional Memory for Dependable Embedded Systems"

Transcription

1 al Memory for Dependable Embedded Systems Christof Fetzer Dresden University of Technology Dresden, Germany Pascal Felber University of Neuchâtel Neuchâtel, Switzerland Abstract al Memory (TM) has been touted as one of the most promising approaches to concurrent programming for multi-core processors. By combining ease of use with high scalability potential, as well as checkpointing capabilities particularly useful for developing dependable software, TM has attracted considerable attention from the research community. Many of its facets have been studied over the last few years: hardware support, software TM runtimes, operating system extensions, transactional compilers, language extensions, or application workloads. On the basis of our experiences as designers and users of a complete TM stack that we developed over the last five years, we discuss in this position paper our view on the challenges one faces when extending TM to dependable embedded systems. Indeed, there is an apparent contradiction between the optimistic, best-effort operation of TM and the strict dependability requirements of embedded systems. Our position is that it is both possible and worthwhile to develop embedded transactional memory. Yet, we believe that in the context of dependable embedded systems the focus of TM should be on failure control and not concurrency control. Hence, this will require modifications of the TM language primitives, tools, algorithms, runtime systems, and hardware itself. Keywords al memory; embedded systems; dependability; concurrency. I. INTRODUCTION al memory (TM) [1] is a recent programming paradigm proposed as a means to support lightweight transactions in concurrent applications. s execute concurrently and those that fail to commit automatically roll back and restart their execution. TM proposes an interesting alternative to lock-based synchronization, offering benefits in terms of scalability and ease of programming. Its automated checkpoint/roll-back mechanisms also provide a promising perspective for dependable computing. TM can can be implemented in hardware (HTM), software (STM), or a hybrid combination of both (HyTM) [1]. The earliest designs were hardware-based [2], [3]. The first STM proposals were operating on a predefined set of memory locations [4]. Research on STM has really taken off during the last decade when the first dynamic designs have been proposed [5], [6]. Commercial HTM support has been proposed for real CPUs only recently, in the Rock [7] and Azul [8] processors, as well as in AMD s ASF proposal [9]. So far, the main application domain of TM is optimistic synchronization in concurrent programming. TM alleviates some of the drawbacks of locks: coarse-grained locking does not scale well with increasing thread counts; fine-grained locking is error-prone and difficult to reason about for non-trivial data structures; locks are subject to problematic issues such as priority inversions or deadlocks; and locks are not composable. We are currently witnessing the apparition of multi-core CPUs for embedded systems. The benefits of TM in terms of scalable concurrency control make it also an attractive option for embedded systems. Moreover, TM might in some workloads be more energy-efficient than locks [10], which might represent another compelling reason for targeting embedded systems with limited power. Yet, the very principles underlying TM, best-effort optimistic synchronization, seem to be in contradiction with the strict requirements of dependable systems. We argue in this paper that, in the domain of embedded systems, the use of TM for failure control, i.e., to improve the dependability of systems, is a more promising than its use for concurrency control. As a transaction executes in isolation and either commits, or rolls back automatically all its changes, TM can be leveraged to implement various semantics for robust software and hardware. In particular, TM provides straightforward support for failure atomicity, an important property when recovering from errors: it guarantees that an operation that cannot complete due to an unexpected event will leave the target component in its state prior to the invocation of the operation. In this position paper, we discuss the challenges one would face when designing a TM for dependable embedded systems. We conclude that, while it is possible and worthwhile to develop embedded transactional memory, this will require some deep changes to the classic TM designs that have been developed so far. II. DEPENDABLE EMBEDDED SYSTEMS AND TM There exist a variety of application domains for embedded systems. As a consequence, there also exist different notions and definitions of the term embedded system. According to [11], an embedded system is a microprocessor-based

2 system that is built to control a function or a range of functions. Often there exist various constraints that increase the difficulty of building embedded systems. In particular, embedded systems have in many cases stricter resource limitations than, for instance, desktop or server applications. For example, one must minimize energy consumption on battery-based systems and, in low-margin systems, memory size and CPU power are often severely limited. Some of the most challenging constraints are given for dependable embedded systems. These are embedded systems that are used in the context of safety-critical or missioncritical systems. They have strict requirements regarding hard real-time and dependability. Dependability consists of availability, reliability, maintainability, and security guarantees. A. TM for Dependability There have been only limited research efforts on using TM for developing dependable software, and conversely for implementing dependable TM infrastructures. In the rest of this section, we briefly summarize previous work on TM and dependability in the context of large multi- and many-core systems. We will then discuss in Section III the challenges faced when trying to apply these techniques to dependable embedded systems. Software Failures: Interestingly, a rollback mechanism very similar to TM was already described in 1975 for the recovery from software bugs [12]: a recovery block is protected by a postcondition and if the postcondition is violated, the state is rolled back using a combination of hardware and software. After the rollback, an alternative implementation of the block is executed, e.g., using an older version of block s code or a slower but safer variant. TM can be used not only in the context of recovery blocks, but also to tolerate other types of software bugs, for example, to ensure the atomicity of exception handling [13]. A combination of TM with adequate language extensions and semantics allows various types of error recovery. Notably, one can straightforwardly implement graceful degradation, selective retries, repair and retry, and recovery blocks with TM [13]. For completeness, we should point out that TM can be used for robustness in a variety of other contexts, notably for discovering concurrency bugs [14], for verifying data invariants [15], and for software testing [16]. Hardware Failures: TM can also be used to tolerate hardware bugs. For example, Razor circuitry is a promising approach to balance energy consumption, processing speed, and error rate of a CPU [17]. However, the error rate of a commodity CPU will be tuned for its target market and will most likely be too high for dependable applications. It seems worthwhile to investigate the use of software/hardware mechanisms to decrease the error rate perceived by a dependable application executing on a (commodity) CPU. In particular, the combination with HTM or HyTM to efficiently rollback erroneous executions with a software-based error detection mechanism like SWIFT (software implemented fault-tolerance) [18] could be a practical approach. FaulTM [19] uses a hybrid hardware/software TM approach to execute vulnerable code sections in two concurrent transactions and detect errors by comparing the associated write sets before commit. B. Dependability for TM If one wants to use a TM infrastructure to develop dependable software, the underlying TM must itself satisfy some requirements in terms of dependability. In particular, it must provide liveness guarantees so that, if a thread is delayed or fails inside a transaction, the other threads are not blocked. Liveness properties can be provided by a lock-free TM [20], an obstruction-free TM in combination with a robust contention manager [21], or an almost wait-free TM like ROBUSTM [22]. The latter is particularly interesting as it was specifically designed to tolerate crashed and nonterminating threads, and it provides performance comparable to that of non-robust state-of-the-art TMs. Finally, to deal with the unpredictability of transaction execution times, e.g., due to aborts/retries or thread preemption, one can use (soft) real-time TMs [23], [24]. These implementations can help bound the execution time of transactions, e.g., by relying on conservative scheduling techniques as deadlines near, but we are not aware of any TM that would provide comprehensive hard real-time guarantees. III. TM CHALLENGES FOR EMBEDDED SYSTEMS In the context of dependable embedded systems, we foresee several challenges that would deserve further research to determine how far TM could help alleviate them. In this short paper, we focus on the following challenges: Challenge 1: To satisfy dependability requirements, strict spatial, temporal, and failure isolation of tasks is required. Tasks running on an embedded system can have various criticalities. One needs not only to ensure that tasks of lower criticality cannot negatively affect tasks of higher criticality, but also that faulty tasks of the same or higher criticality do not negatively affect tasks of lower criticality. Hence, one wants to enforce a strict spatial, temporal, and failure isolation of tasks. Such isolation is difficult to achieve because tasks need to communicate to achieve the dedicated functions of the embedded system. TM can be used to protect access to shared memory, as illustrated in Figure 1. TM synchronizes access to shared memory by enforcing atomic execution of transactions. Atomicity has the potential advantage that consistency and liveness can be enforced even in situations when failures

3 Address space Address space Address space Figure 1. Process Shared region protected by TM Process al memory can protect shared memory regions. occur. However, failures like process crashes are typically not considered in current TM implementations. A notable exception is ROBUSTM [22], which was developed in the context of the EU FP7 VELOX project. The advantage of TM is that, in case a process crashes while updating a shared region, all its changes can be rolled back and, in this way, consistency can be preserved. In comparison, when using a lock-based approach, a process crash within a critical section would prevent all other processes from entering that section. ROBUSTM provides also some basic notion of fairness: all transactions will eventually be committed even if they are executed by a slow process. In the context of dependable embedded systems, we need to go beyond handling fail-stop failures and providing simple fairness. In particular, a stricter isolation of processes needs to be ensured. For example, spatial isolation could be improved by using a combination of isolated address spaces, TM-protected shared memory segments, and some form of address space randomization. Temporal isolation requires that the resource usage of a process does not invalidate the timeliness requirements of real-time processes. Challenge 2: To satisfy real-time constraints, we need to extend the TM language primitives and the runtime systems. The main advantage of TM in the context of real-time constraints is that it does not suffer from the priority inversion problem. In this sense, TM seems to be more appropriate than lock-based synchronization. However, there are other issues that need to be addressed, notably a low priority task could slow down a high priority task. Address space Must not be delayed Address space Many calls Address space High priority task Figure 2. Shared region protected by TM Low priority task A low priority task can slow down a higher priority task. Consider the situation sketched in Figure 2. A low priority task accesses a shared region very frequently, resulting not only in cache misses on a high priority task but potentially causing aborts of the high priority task. Moreover, the highpriority task might depend on the arrival of updates that could be delayed by too high access rates. To address these issues, we believe that the TM primitives need to be extended to include real-time and access guarantees. Furthermore, the runtime system needs to be Time Slot i Slot i+1 Abort Commit Program start(); y = x + z; commit(); Accesses to shared memory Figure 3. With a time-triggered approach, a transaction must execute all its accesses to shared memory and commit in a given time slot. The first execution of the transaction fails because it did not complete its accesses within time slot i, but the second execution succeeds in time slot i +1. extended to support real-time guarantees. It seems one possible approach could be to design and implement a TM following a time-triggered approach [25]: access to shared memory is only permitted during predetermined time slots and the TM needs to not only prevent accesses outside a thread s time slot, but also to rollback partial updates in case a thread fails to commit its changes within its time slot (see Figure 3). Note that, in this context, the speculation of a transaction would not be used for concurrency control but to ensure failure atomicity: the effects of a software or hardware failure could be rolled back. The next challenge is how to detect such failures. Challenge 3: Ensuring consistency in the face of software and hardware faults. TM could be used to ensure the consistency of updates in the face of failures. One possible approach to detect execution failures of the CPU (i.e., to detect the incorrect execution of the program) is the aforementioned combination of SWIFT [18] and TM. Alternatively, executable constraints could be used to detect both software and hardware failures. Software failures could be detected and tolerated in a similar manner as the recovery block approach [12]. Hardware failures can be detected with a high likelihood using appropriate executable constraints [26]. To do so, a TM could be checking executable constraints before committing a transaction. While this concept is conceptually simple, none of the standard TMs currently support this feature. Note that if a TM is not used for concurrency control anymore (e.g., when combined with a time triggered approach), transaction demarcation can be changed. Instead of adding atomic blocks to programs, we would add executable constraints. A new transaction is started automatically after committing a previous transaction or returning from a system call (see Figure 4). A transaction is automatically committed when control flow reaches an executable assertion or a system call. In this way, one can eliminate the two main disadvantages of TM: (1) its inability to cope with external actions, and (2) its inefficiency at executing large transactions. Regarding (1), a transaction must be committed before a system call not only to avoid rolling back external

4 actions but also to validate the correctness of the arguments of the system call. Regarding (2), by automatically [27] or manually deriving and adding invariants to a program, one can limit the size of transactions. assertion(x > 0); y = x + z; assertion(y > 10); r = syscall(, y); v = r + x; Program Figure 4. When focusing on failure control, transactional demarcation can be set (implicitly) by executable constraints and system calls. Constraints can be added manually or automatically. Challenge 4: Integration with replication mechanisms. To detect wrong executions and/or to ensure availability in the face of failures, dependable embedded systems often rely on some form of replication. In many instances, active replication is used, i.e., each request is executed by a set of processes. In this way, instant fail-over can be ensured. Temporal replication is also used, for example, to detect execution failures. Active replication of multi-threaded applications is difficult since the scheduling of threads introduces nondeterminism. This non-determinism causes replicas to diverge. A divergence needs to be detected and the replicas stopped to ensure safety. To support active replication, a TM would need to integrate (or enforce itself) a form of deterministic execution scheduling. Deterministic execution typically introduces some non-negligible overheads. However, the use of a time-triggered TM would already ensure determinism (and not introduce any additional overhead). An interesting use of TM is to roll back replicas in case a divergence is detected. The challenge that we foresee is that replicas would need to be synchronized frequently to limit the size of the rollbacks. Note that such rollback would be applicable both for active and temporal replication. We expect that some original TM-based replication mechanisms could be developed in this context. IV. CONCLUDING REMARKS We believe there are interesting uses of TM for dependable embedded systems. TM mechanisms might however be used less for concurrency control than for failure control. In particular, we do not expect the widespread use of speculation for concurrency control because of the need for hard real-time guarantees. In this context, we anticipate that one will stick with more conservative approaches like a timetriggered approach and use the TM to deal with software and hardware failures. Considering that transactions were originally introduced to provide clean failure semantics, the use of transactions for failure control might not come as a surprise. However, we believe there are some interesting research questions left to be explored. In particular, the TM usage patterns, language integration, and runtime system will have to be dramatically modified. Most notably, these changes will likely eliminate some of the main problems of TM: coping with external actions and long transactions. Moreover, by eliminating concurrency control issues, the overhead of TM could be reduced. This would need to be investigated more closely. We strongly believe that it would be a very worthwhile effort to evaluate the potential advantages, but also the disadvantages, of TM for dependable embedded systems. As argued in this short paper, we expect this will require modifications of the TM language primitives, tools, algorithms, runtime systems, and hardware itself. This would represent exciting new research directions in the domain of dependable embedded systems. ACKNOWLEDGMENT The research leading to these results has received funding from the European Community s Seventh Framework Programme (FP7/ ) under grant agreement (VELOX). REFERENCES [1] T. Harris, J. Larus, and R. Rajwar, al Memory, 2nd ed., M. Hill, Ed. Morgan and Claypool publishers, [2] T. Knight, An architecture for mostly functional languages, in Proceedings of the 1986 ACM Conference on LISP and Functional Programming, [3] M. Herlihy and J. Moss, al memory: architectural support for lock-free data structures, in Proceedings of the 20th Annual International Symposium on Computer Architecture (ISCA 93), vol. 21, [4] N. Shavit and D. Touitou, Software transactional memory, in Proceedings of the Annual ACM Symposium on Principles of Distributed Computing (PODC), [5] M. Herlihy, V. Luchangco, M. Moir, and W. N. S. III, Software transactional memory for dynamic-sized data structures, in Proceedings of the Annual ACM Symposium on Principles of Distributed Computing (PODC), [6] T. Harris and K. Fraser, Language support for lightweight transactions, in Proceedings of the Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA), [7] D. Dice, Y. Lev, M. Moir, and D. Nussbaum, Early experience with a commercial hardware transactional memory implementation, in Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2009.

5 [8] C. Click, Azul s experiences with hardware transactional memory, in HP Labs Bay Area Workshop on al Memory, [9] D. Christie, J.-W. Chung, S. Diestelhorst, M. Hohmuth, M. Pohlack, C. Fetzer, M. Nowack, T. Riegel, P. Felber, P. Marlier, and E. Riviere, Evaluation of AMD s advanced synchronization facility within a complete transactional memory stack, in Proceedings of the ACM SIGOPS/EuroSys European Conference on Computer Systems, [10] T. Moreshet, R. I. Bahar, and M. Herlihy, Energy reduction in multiprocessor systems using transactional memory, in Proceedings of the International Symposium on Low Power Electronics and Design (ISPLED), [11] S. Heath, Embedded Systems Design, 2nd ed. Newnes, [12] B. Randell, System structure for software fault tolerance, in Proceedings of the International Conference on Reliable Software, [13] C. Fetzer and P. Felber, Improving program correctness with atomic exception handling, JUCS, Special Issue (Atomicity II), vol. 13, no. 8, pp , [14] L. Chew and D. Lie, Kivati: fast detection and prevention of atomicity violations, in Proceedings of the ACM SIGOPS/EuroSys European Conference on Computer Systems, [22] J.-T. Wamhoff, T. Riegel, C. Fetzer, and P. Felber, RobuSTM: A robust software transactional memory, in Proceedings of the 12th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS 10), [23] T. Sarni, A. Queudet, and P. Valduriez, Real-time support for software transactional memory, in Proceedings of the IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), [24] W. Maldonado, P. Marlier, P. Felber, J. Lawall, G. Muller, and E. Rivière, Deadline-aware scheduling for software transactional memory, in Proceedings of the International Conference on Dependable Systems and Networks (DSN), [25] H. Kopetz and G. Bauer, The time-triggered architecture, Proceedings of the IEEE, vol. 91, no. 1, pp , [26] M. Hiller, Executable assertions for detecting data errors in embedded control systems, in Proceedings of the International Conference on Dependable Systems and Networks (DSN), [27] M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin, Dynamically discovering likely program invariants to support program evolution, IEEE s on Software Engineering, vol. 27, pp , [15] T. Harris and S. Peyton Jones, al memory with data invariants, in Workshop on Languages, Compilers, and Hardware Support for al Computing (TRANS- ACT), [16] J. Bobba, W. Xiong, L. Yen, M. D. Hill, and D. A. Wood, StealthTest: Low overhead online software testing using transactional memory, in Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT), [17] D. Blaauw and S. Das, CPU, heal thyself, IEEE Spectr., vol. 46, pp , [18] G. Reis, J. Chang, N. Vachharajani, R. Rangan, and D. August, Swift: software implemented fault tolerance, in Proceedings of the International Symposium on Code Generation and Optimization (CGO), 2005, pp [19] G. Yalcin, O. Unsal, I. Hur, A. Cristal, and M. Valero, FaulTM: Fault-tolerance using hardware transactional memory, in Proceedings of the Workshop on Parallel Execution of Sequential Programs on Multi-core Architectures (PESPMA), [20] K. Fraser, Practical lock freedom, Ph.D. dissertation, Cambridge University Computer Laboratory, 2003, also available as Technical Report UCAM-CL-TR-579. [21] R. Guerraoui, M. Herlihy, M. Kapalka, and B. Pochon, Robust contention management in software transactional memory, in Proceedings of the OOPSLA Workshop on Synchronization and Concurrency in Object-Oriented Languages (SCOOL), 2005.

Lock vs. Lock-free Memory Project proposal

Lock vs. Lock-free Memory Project proposal Lock vs. Lock-free Memory Project proposal Fahad Alduraibi Aws Ahmad Eman Elrifaei Electrical and Computer Engineering Southern Illinois University 1. Introduction The CPU performance development history

More information

1 Publishable Summary

1 Publishable Summary 1 Publishable Summary 1.1 VELOX Motivation and Goals The current trend in designing processors with multiple cores, where cores operate in parallel and each of them supports multiple threads, makes the

More information

HAFT Hardware-Assisted Fault Tolerance

HAFT Hardware-Assisted Fault Tolerance HAFT Hardware-Assisted Fault Tolerance Dmitrii Kuvaiskii Rasha Faqeh Pramod Bhatotia Christof Fetzer Technische Universität Dresden Pascal Felber Université de Neuchâtel Hardware Errors in the Wild Online

More information

Transactional Memory. Concurrency unlocked Programming. Bingsheng Wang TM Operating Systems

Transactional Memory. Concurrency unlocked Programming. Bingsheng Wang TM Operating Systems Concurrency unlocked Programming Bingsheng Wang TM Operating Systems 1 Outline Background Motivation Database Transaction Transactional Memory History Transactional Memory Example Mechanisms Software Transactional

More information

Concurrent Programming Made Simple: The (r)evolution of Transactional Memory

Concurrent Programming Made Simple: The (r)evolution of Transactional Memory Concurrent Programming Made Simple: The (r)evolution of Transactional Memory Nuno Diegues 1 and Torvald Riegel 2 1 INESC-ID, Lisbon, Portugal 2 Red Hat October 1, 2013 ndiegues@gsd.inesc-id.pt triegel@redhat.com

More information

Chí Cao Minh 28 May 2008

Chí Cao Minh 28 May 2008 Chí Cao Minh 28 May 2008 Uniprocessor systems hitting limits Design complexity overwhelming Power consumption increasing dramatically Instruction-level parallelism exhausted Solution is multiprocessor

More information

Summary: Open Questions:

Summary: Open Questions: Summary: The paper proposes an new parallelization technique, which provides dynamic runtime parallelization of loops from binary single-thread programs with minimal architectural change. The realization

More information

Development of Technique for Healing Data Races based on Software Transactional Memory

Development of Technique for Healing Data Races based on Software Transactional Memory , pp.482-487 http://dx.doi.org/10.14257/astl.2016.139.96 Development of Technique for Healing Data Races based on Software Transactional Memory Eu-Teum Choi 1,, Kun Su Yoon 2, Ok-Kyoon Ha 3, Yong-Kee Jun

More information

Scheduling Transactions in Replicated Distributed Transactional Memory

Scheduling Transactions in Replicated Distributed Transactional Memory Scheduling Transactions in Replicated Distributed Transactional Memory Junwhan Kim and Binoy Ravindran Virginia Tech USA {junwhan,binoy}@vt.edu CCGrid 2013 Concurrency control on chip multiprocessors significantly

More information

Opportunities and pitfalls of multi-core scaling using Hardware Transaction Memory

Opportunities and pitfalls of multi-core scaling using Hardware Transaction Memory Opportunities and pitfalls of multi-core scaling using Hardware Transaction Memory Zhaoguo Wang, Hao Qian, Haibo Chen, Jinyang Li School of Computer Science, Fudan University Institute of Parallel and

More information

Transactions are Back but How Different They Are?

Transactions are Back but How Different They Are? Transactions are Back but How Different They Are? Relating STM and Databases Consistency Conditions (Preliminary Version) Hagit Attiya Technion hagit@cs.technion.ac.il Sandeep Hans Technion sandeep@cs.technion.ac.il

More information

INTRODUCTION. Hybrid Transactional Memory. Transactional Memory. Problems with Transactional Memory Problems

INTRODUCTION. Hybrid Transactional Memory. Transactional Memory. Problems with Transactional Memory Problems Hybrid Transactional Memory Peter Damron Sun Microsystems peter.damron@sun.com Alexandra Fedorova Harvard University and Sun Microsystems Laboratories fedorova@eecs.harvard.edu Yossi Lev Brown University

More information

6.852: Distributed Algorithms Fall, Class 20

6.852: Distributed Algorithms Fall, Class 20 6.852: Distributed Algorithms Fall, 2009 Class 20 Today s plan z z z Transactional Memory Reading: Herlihy-Shavit, Chapter 18 Guerraoui, Kapalka, Chapters 1-4 Next: z z z Asynchronous networks vs asynchronous

More information

Early Results Using Hardware Transactional Memory for High-Performance Computing Applications

Early Results Using Hardware Transactional Memory for High-Performance Computing Applications Early Results Using Hardware Transactional Memory for High-Performance Computing Applications Sverker Holmgren sverker.holmgren@it.uu.se Karl Ljungkvist kalj0193@student.uu.se Martin Karlsson martin.karlsson@it.uu.se

More information

False Conflict Reduction in the Swiss Transactional Memory (SwissTM) System

False Conflict Reduction in the Swiss Transactional Memory (SwissTM) System False Conflict Reduction in the Swiss Transactional Memory (SwissTM) System Aravind Natarajan Department of Computer Engineering The University of Texas at Dallas Richardson, TX - 75080, USA Email: aravindn@utdallas.edu

More information

Fall 2012 Parallel Computer Architecture Lecture 16: Speculation II. Prof. Onur Mutlu Carnegie Mellon University 10/12/2012

Fall 2012 Parallel Computer Architecture Lecture 16: Speculation II. Prof. Onur Mutlu Carnegie Mellon University 10/12/2012 18-742 Fall 2012 Parallel Computer Architecture Lecture 16: Speculation II Prof. Onur Mutlu Carnegie Mellon University 10/12/2012 Past Due: Review Assignments Was Due: Tuesday, October 9, 11:59pm. Sohi

More information

Enhancing efficiency of Hybrid Transactional Memory via Dynamic Data Partitioning Schemes

Enhancing efficiency of Hybrid Transactional Memory via Dynamic Data Partitioning Schemes Enhancing efficiency of Hybrid Transactional Memory via Dynamic Data Partitioning Schemes Pedro Raminhas Instituto Superior Técnico, Universidade de Lisboa Lisbon, Portugal Email: pedro.raminhas@tecnico.ulisboa.pt

More information

Refined Transactional Lock Elision

Refined Transactional Lock Elision Refined Transactional Elision Dave Dice Alex Kogan Yossi Lev Oracle Labs {dave.dice,alex.kogan,yossi.lev}@oracle.com Abstract Transactional lock elision () is a well-known technique that exploits hardware

More information

A Formal Model of Crash Recovery in Distributed Software Transactional Memory (Extended Abstract)

A Formal Model of Crash Recovery in Distributed Software Transactional Memory (Extended Abstract) A Formal Model of Crash Recovery in Distributed Software Transactional Memory (Extended Abstract) Paweł T. Wojciechowski, Jan Kończak Poznań University of Technology 60-965 Poznań, Poland {Pawel.T.Wojciechowski,Jan.Konczak}@cs.put.edu.pl

More information

Atomic Transac1ons. Atomic Transactions. Q1: What if network fails before deposit? Q2: What if sequence is interrupted by another sequence?

Atomic Transac1ons. Atomic Transactions. Q1: What if network fails before deposit? Q2: What if sequence is interrupted by another sequence? CPSC-4/6: Operang Systems Atomic Transactions The Transaction Model / Primitives Serializability Implementation Serialization Graphs 2-Phase Locking Optimistic Concurrency Control Transactional Memory

More information

An Update on Haskell H/STM 1

An Update on Haskell H/STM 1 An Update on Haskell H/STM 1 Ryan Yates and Michael L. Scott University of Rochester TRANSACT 10, 6-15-2015 1 This work was funded in part by the National Science Foundation under grants CCR-0963759, CCF-1116055,

More information

Remote Invalidation: Optimizing the Critical Path of Memory Transactions

Remote Invalidation: Optimizing the Critical Path of Memory Transactions Remote idation: Optimizing the Critical Path of Memory Transactions Ahmed Hassan, Roberto Palmieri, Binoy Ravindran Electrical and Computer Engineering Department Virginia Tech Blacksburg, Virginia, USA

More information

Agenda. Designing Transactional Memory Systems. Why not obstruction-free? Why lock-based?

Agenda. Designing Transactional Memory Systems. Why not obstruction-free? Why lock-based? Agenda Designing Transactional Memory Systems Part III: Lock-based STMs Pascal Felber University of Neuchatel Pascal.Felber@unine.ch Part I: Introduction Part II: Obstruction-free STMs Part III: Lock-based

More information

Reduced Hardware Lock Elision

Reduced Hardware Lock Elision Reduced Hardware Lock Elision Yehuda Afek Tel-Aviv University afek@post.tau.ac.il Alexander Matveev MIT matveeva@post.tau.ac.il Nir Shavit MIT shanir@csail.mit.edu Abstract Hardware lock elision (HLE)

More information

Reminder from last time

Reminder from last time Concurrent systems Lecture 7: Crash recovery, lock-free programming, and transactional memory DrRobert N. M. Watson 1 Reminder from last time History graphs; good (and bad) schedules Isolation vs. strict

More information

Towards Transactional Memory for Safety-Critical Embedded Systems

Towards Transactional Memory for Safety-Critical Embedded Systems Towards Transactional Memory for Safety-Critical Embedded Systems Stefan Metzlaff, Sebastian Weis, and Theo Ungerer Department of Computer Science, University of Augsburg, Germany Euro-TM Workshop on Transactional

More information

6 Transactional Memory. Robert Mullins

6 Transactional Memory. Robert Mullins 6 Transactional Memory ( MPhil Chip Multiprocessors (ACS Robert Mullins Overview Limitations of lock-based programming Transactional memory Programming with TM ( STM ) Software TM ( HTM ) Hardware TM 2

More information

An Introduction to Transactional Memory

An Introduction to Transactional Memory An Introduction to Transactional Memory Jonathan Parri jparri@uottawa.ca http://site.uottawa.ca/~jparr090 Prelude 2 How can we simplify parallel programming by allowing groups of load and store operations

More information

The Multicore Transformation

The Multicore Transformation Ubiquity Symposium The Multicore Transformation The Future of Synchronization on Multicores by Maurice Herlihy Editor s Introduction Synchronization bugs such as data races and deadlocks make every programmer

More information

Maintaining Consistent Transactional States without a Global Clock

Maintaining Consistent Transactional States without a Global Clock Maintaining Consistent Transactional States without a Global Clock Hillel Avni 1,3 and Nir Shavit 1,2 1 Tel-Aviv University, Tel-Aviv 69978, Israel 2 Sun Microsystems Laboratories, 1 Network Drive, Burlington

More information

LOCK-FREE DINING PHILOSOPHER

LOCK-FREE DINING PHILOSOPHER LOCK-FREE DINING PHILOSOPHER VENKATAKASH RAJ RAOJILLELAMUDI 1, SOURAV MUKHERJEE 2, RYAN SAPTARSHI RAY 3, UTPAL KUMAR RAY 4 Department of Information Technology, Jadavpur University, Kolkata, India 1,2,

More information

arxiv: v1 [cs.dc] 22 May 2014

arxiv: v1 [cs.dc] 22 May 2014 Inherent Limitations of Hybrid Transactional Memory Dan Alistarh 1 Justin Kopinsky 4 Petr Kuznetsov 2 Srivatsan Ravi 3 Nir Shavit 4,5 1 Microsoft Research, Cambridge 2 Télécom ParisTech 3 TU Berlin 4 Massachusetts

More information

THE concept of a transaction forms the foundation of

THE concept of a transaction forms the foundation of ELG7187 TOPICS IN COMPUTERS: MULTIPROCESSOR SYSTEMS ON CHIP - FALL 2010 1 An Introduction to Transactional Memory Jonathan Parri Abstract Parallel programming has become a complex task as systems enabling

More information

TROM: A Transactional Replicated Object Memory

TROM: A Transactional Replicated Object Memory TECHNICAL REPORT VS-R01-2009, INSTITUTE OF DISTRIBUTED SYSTEMS, UNIVERSITY OF ULM, GERMANY 1 TROM: A Transactional Replicated Object Memory Jörg Domaschka E-mail: joerg.domaschka@uni-ulm.de Abstract This

More information

Conflict Detection and Validation Strategies for Software Transactional Memory

Conflict Detection and Validation Strategies for Software Transactional Memory Conflict Detection and Validation Strategies for Software Transactional Memory Michael F. Spear, Virendra J. Marathe, William N. Scherer III, and Michael L. Scott University of Rochester www.cs.rochester.edu/research/synchronization/

More information

unreadtvar: Extending Haskell Software Transactional Memory for Performance

unreadtvar: Extending Haskell Software Transactional Memory for Performance unreadtvar: Extending Haskell Software Transactional Memory for Performance Nehir Sonmez, Cristian Perfumo, Srdjan Stipic, Adrian Cristal, Osman S. Unsal, and Mateo Valero Barcelona Supercomputing Center,

More information

Time-based Transactional Memory with Scalable Time Bases

Time-based Transactional Memory with Scalable Time Bases Time-based Transactional Memory with Scalable Time Bases Torvald Riegel Dresden University of Technology, Germany torvald.riegel@inf.tudresden.de Christof Fetzer Dresden University of Technology, Germany

More information

Enhancing Concurrency in Distributed Transactional Memory through Commutativity

Enhancing Concurrency in Distributed Transactional Memory through Commutativity Enhancing Concurrency in Distributed Transactional Memory through Commutativity Junwhan Kim, Roberto Palmieri, Binoy Ravindran Virginia Tech USA Lock-based concurrency control has serious drawbacks Coarse

More information

DBT Tool. DBT Framework

DBT Tool. DBT Framework Thread-Safe Dynamic Binary Translation using Transactional Memory JaeWoong Chung,, Michael Dalton, Hari Kannan, Christos Kozyrakis Computer Systems Laboratory Stanford University http://csl.stanford.edu

More information

Fine-grained Transaction Scheduling in Replicated Databases via Symbolic Execution

Fine-grained Transaction Scheduling in Replicated Databases via Symbolic Execution Fine-grained Transaction Scheduling in Replicated Databases via Symbolic Execution Raminhas pedro.raminhas@tecnico.ulisboa.pt Stage: 2 nd Year PhD Student Research Area: Dependable and fault-tolerant systems

More information

Lecture 21: Transactional Memory. Topics: consistency model recap, introduction to transactional memory

Lecture 21: Transactional Memory. Topics: consistency model recap, introduction to transactional memory Lecture 21: Transactional Memory Topics: consistency model recap, introduction to transactional memory 1 Example Programs Initially, A = B = 0 P1 P2 A = 1 B = 1 if (B == 0) if (A == 0) critical section

More information

COMP3151/9151 Foundations of Concurrency Lecture 8

COMP3151/9151 Foundations of Concurrency Lecture 8 1 COMP3151/9151 Foundations of Concurrency Lecture 8 Transactional Memory Liam O Connor CSE, UNSW (and data61) 8 Sept 2017 2 The Problem with Locks Problem Write a procedure to transfer money from one

More information

Cost of Concurrency in Hybrid Transactional Memory

Cost of Concurrency in Hybrid Transactional Memory Cost of Concurrency in Hybrid Transactional Memory Trevor Brown University of Toronto tabrown@cs.toronto.ca Srivatsan Ravi Purdue University srivatsanravi@purdue.edu Abstract State-of-the-art software

More information

Composable Transactional Objects: a Position Paper

Composable Transactional Objects: a Position Paper Composable Transactional Objects: a Position Paper Maurice Herlihy 1 and Eric Koskinen 2 1 Brown University, Providence, RI, USA 2 New York University, New York, NY, USA Abstract. Memory transactions provide

More information

Integrating Transactionally Boosted Data Structures with STM Frameworks: A Case Study on Set

Integrating Transactionally Boosted Data Structures with STM Frameworks: A Case Study on Set Integrating Transactionally Boosted Data Structures with STM Frameworks: A Case Study on Set Ahmed Hassan Roberto Palmieri Binoy Ravindran Virginia Tech hassan84@vt.edu robertop@vt.edu binoy@vt.edu Abstract

More information

Cache Coherence in Distributed and Replicated Transactional Memory Systems. Technical Report RT/4/2009

Cache Coherence in Distributed and Replicated Transactional Memory Systems. Technical Report RT/4/2009 Technical Report RT/4/2009 Cache Coherence in Distributed and Replicated Transactional Memory Systems Maria Couceiro INESC-ID/IST maria.couceiro@ist.utl.pt Luis Rodrigues INESC-ID/IST ler@ist.utl.pt Jan

More information

How Live Can a Transactional Memory Be?

How Live Can a Transactional Memory Be? How Live Can a Transactional Memory Be? Rachid Guerraoui Michał Kapałka February 18, 2009 Abstract This paper asks how much liveness a transactional memory (TM) implementation can guarantee. We first devise

More information

Relaxing Concurrency Control in Transactional Memory. Utku Aydonat

Relaxing Concurrency Control in Transactional Memory. Utku Aydonat Relaxing Concurrency Control in Transactional Memory by Utku Aydonat A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of The Edward S. Rogers

More information

Permissiveness in Transactional Memories

Permissiveness in Transactional Memories Permissiveness in Transactional Memories Rachid Guerraoui, Thomas A. Henzinger, and Vasu Singh EPFL, Switzerland Abstract. We introduce the notion of permissiveness in transactional memories (TM). Intuitively,

More information

Cigarette-Smokers Problem with STM

Cigarette-Smokers Problem with STM Rup Kamal, Ryan Saptarshi Ray, Utpal Kumar Ray & Parama Bhaumik Department of Information Technology, Jadavpur University Kolkata, India Abstract - The past few years have marked the start of a historic

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Goal A Distributed Transaction We want a transaction that involves multiple nodes Review of transactions and their properties

More information

TRANSACTION MEMORY. Presented by Hussain Sattuwala Ramya Somuri

TRANSACTION MEMORY. Presented by Hussain Sattuwala Ramya Somuri TRANSACTION MEMORY Presented by Hussain Sattuwala Ramya Somuri AGENDA Issues with Lock Free Synchronization Transaction Memory Hardware Transaction Memory Software Transaction Memory Conclusion 1 ISSUES

More information

FROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS

FROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS FROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS Peter Puschner and Raimund Kirner Vienna University of Technology, A-1040 Vienna, Austria {peter, raimund}@vmars.tuwien.ac.at Abstract Keywords:

More information

Speculative Concurrent Processing with Transactional Memory in the Actor Model

Speculative Concurrent Processing with Transactional Memory in the Actor Model Speculative oncurrent Processing with Transactional Memory in the Actor Model Yaroslav Hayduk, Anita Sobe, Derin Harmanci, Patrick Marlier, and Pascal Felber first.last@unine.ch University of Neuchatel,

More information

Improving the Practicality of Transactional Memory

Improving the Practicality of Transactional Memory Improving the Practicality of Transactional Memory Woongki Baek Electrical Engineering Stanford University Programming Multiprocessors Multiprocessor systems are now everywhere From embedded to datacenter

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Goal A Distributed Transaction We want a transaction that involves multiple nodes Review of transactions and their properties

More information

Concurrent Programming Method for Embedded Systems

Concurrent Programming Method for Embedded Systems Concurrent Programming Method for Embedded Systems Norbert Schramm UVA, 24000 Subotica, Serbia norbert.schramm@gmail.com Anita Sabo Polytechnical Engineering College Subotica M. Oreškovića 16, 24000 Subotica,

More information

Real-time scheduling of transactions in multicore systems

Real-time scheduling of transactions in multicore systems Real-time scheduling of transactions in multicore systems Toufik Sarni, Audrey Queudet, Patrick Valduriez To cite this version: Toufik Sarni, Audrey Queudet, Patrick Valduriez. Real-time scheduling of

More information

Reflective Java and A Reflective Component-Based Transaction Architecture

Reflective Java and A Reflective Component-Based Transaction Architecture Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,

More information

Lecture 7: Transactional Memory Intro. Topics: introduction to transactional memory, lazy implementation

Lecture 7: Transactional Memory Intro. Topics: introduction to transactional memory, lazy implementation Lecture 7: Transactional Memory Intro Topics: introduction to transactional memory, lazy implementation 1 Transactions New paradigm to simplify programming instead of lock-unlock, use transaction begin-end

More information

Cost of Concurrency in Hybrid Transactional Memory. Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University)

Cost of Concurrency in Hybrid Transactional Memory. Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University) Cost of Concurrency in Hybrid Transactional Memory Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University) 1 Transactional Memory: a history Hardware TM Software TM Hybrid TM 1993 1995-today

More information

The Common Case Transactional Behavior of Multithreaded Programs

The Common Case Transactional Behavior of Multithreaded Programs The Common Case Transactional Behavior of Multithreaded Programs JaeWoong Chung Hassan Chafi,, Chi Cao Minh, Austen McDonald, Brian D. Carlstrom, Christos Kozyrakis, Kunle Olukotun Computer Systems Lab

More information

Inherent Limitations of Hybrid Transactional Memory

Inherent Limitations of Hybrid Transactional Memory Inherent Limitations of Hybrid Transactional Memory Dan Alistarh, Justin Kopinsky, Petr Kuznetsov, Srivatsan Ravi, Nir Shavit To cite this version: Dan Alistarh, Justin Kopinsky, Petr Kuznetsov, Srivatsan

More information

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi 1 Lecture Notes 1 Basic Concepts Anand Tripathi CSci 8980 Operating Systems Anand Tripathi CSci 8980 1 Distributed Systems A set of computers (hosts or nodes) connected through a communication network.

More information

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs 1 Anand Tripathi CSci 8980 Operating Systems Lecture Notes 1 Basic Concepts Distributed Systems A set of computers (hosts or nodes) connected through a communication network. Nodes may have different speeds

More information

Sequential Fault Tolerance Techniques

Sequential Fault Tolerance Techniques COMP-667 Software Fault Tolerance Software Fault Tolerance Sequential Fault Tolerance Techniques Jörg Kienzle Software Engineering Laboratory School of Computer Science McGill University Overview Robust

More information

Mobile and Heterogeneous databases Distributed Database System Transaction Management. A.R. Hurson Computer Science Missouri Science & Technology

Mobile and Heterogeneous databases Distributed Database System Transaction Management. A.R. Hurson Computer Science Missouri Science & Technology Mobile and Heterogeneous databases Distributed Database System Transaction Management A.R. Hurson Computer Science Missouri Science & Technology 1 Distributed Database System Note, this unit will be covered

More information

An Orthogonal and Fault-Tolerant Subsystem for High-Precision Clock Synchronization in CAN Networks *

An Orthogonal and Fault-Tolerant Subsystem for High-Precision Clock Synchronization in CAN Networks * An Orthogonal and Fault-Tolerant Subsystem for High-Precision Clock Synchronization in Networks * GUILLERMO RODRÍGUEZ-NAVAS and JULIÁN PROENZA Departament de Matemàtiques i Informàtica Universitat de les

More information

Ohua: Implicit Dataflow Programming for Concurrent Systems

Ohua: Implicit Dataflow Programming for Concurrent Systems Ohua: Implicit Dataflow Programming for Concurrent Systems Sebastian Ertel Compiler Construction Group TU Dresden, Germany Christof Fetzer Systems Engineering Group TU Dresden, Germany Pascal Felber Institut

More information

A Concurrency Control for Transactional Mobile Agents

A Concurrency Control for Transactional Mobile Agents A Concurrency Control for Transactional Mobile Agents Jeong-Joon Yoo and Dong-Ik Lee Department of Information and Communications, Kwang-Ju Institute of Science and Technology (K-JIST) Puk-Gu Oryong-Dong

More information

1993 Paper 3 Question 6

1993 Paper 3 Question 6 993 Paper 3 Question 6 Describe the functionality you would expect to find in the file system directory service of a multi-user operating system. [0 marks] Describe two ways in which multiple names for

More information

Optimizing Hybrid Transactional Memory: The Importance of Nonspeculative Operations

Optimizing Hybrid Transactional Memory: The Importance of Nonspeculative Operations Optimizing Hybrid Transactional Memory: The Importance of Nonspeculative Operations Torvald Riegel Technische Universität Dresden, Germany torvald.riegel@tudresden.de Patrick Marlier Université de Neuchâtel,

More information

Concurrent & Distributed Systems Supervision Exercises

Concurrent & Distributed Systems Supervision Exercises Concurrent & Distributed Systems Supervision Exercises Stephen Kell Stephen.Kell@cl.cam.ac.uk November 9, 2009 These exercises are intended to cover all the main points of understanding in the lecture

More information

Performance Comparison of Various STM Concurrency Control Protocols Using Synchrobench

Performance Comparison of Various STM Concurrency Control Protocols Using Synchrobench Performance Comparison of Various STM Concurrency Control Protocols Using Synchrobench Ajay Singh Dr. Sathya Peri Anila Kumari Monika G. February 24, 2017 STM vs Synchrobench IIT Hyderabad February 24,

More information

Transactional Memory. review articles. Is TM the answer for improving parallel programming?

Transactional Memory. review articles. Is TM the answer for improving parallel programming? Is TM the answer for improving parallel programming? by james larus and christos Kozyrakis doi: 10.1145/1364782.1364800 Transactional Memory As computers evolve, programming changes as well. The past few

More information

Lock-Free Readers/Writers

Lock-Free Readers/Writers www.ijcsi.org 180 Lock-Free Readers/Writers Anupriya Chakraborty 1, Sourav Saha 2, Ryan Saptarshi Ray 3 and Utpal Kumar Ray 4 1 Department of Information Technology, Jadavpur University Salt Lake Campus

More information

Assignment 12: Commit Protocols and Replication Solution

Assignment 12: Commit Protocols and Replication Solution Data Modelling and Databases Exercise dates: May 24 / May 25, 2018 Ce Zhang, Gustavo Alonso Last update: June 04, 2018 Spring Semester 2018 Head TA: Ingo Müller Assignment 12: Commit Protocols and Replication

More information

Multiprocessor and Real-Time Scheduling. Chapter 10

Multiprocessor and Real-Time Scheduling. Chapter 10 Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems

More information

DMP Deterministic Shared Memory Multiprocessing

DMP Deterministic Shared Memory Multiprocessing DMP Deterministic Shared Memory Multiprocessing University of Washington Joe Devietti, Brandon Lucia, Luis Ceze, Mark Oskin A multithreaded voting machine 2 thread 0 thread 1 while (more_votes) { load

More information

Lecture 6: Lazy Transactional Memory. Topics: TM semantics and implementation details of lazy TM

Lecture 6: Lazy Transactional Memory. Topics: TM semantics and implementation details of lazy TM Lecture 6: Lazy Transactional Memory Topics: TM semantics and implementation details of lazy TM 1 Transactions Access to shared variables is encapsulated within transactions the system gives the illusion

More information

Phased Transactional Memory

Phased Transactional Memory Phased Transactional Memory Dan Nussbaum Scalable Synchronization Research Group Joint work with Yossi Lev and Mark Moir Sun Microsystems Labs August 16, 2007 1 Transactional Memory (TM) Replace locks

More information

Commit Algorithms for Scalable Hardware Transactional Memory. Abstract

Commit Algorithms for Scalable Hardware Transactional Memory. Abstract Commit Algorithms for Scalable Hardware Transactional Memory Seth H. Pugsley, Rajeev Balasubramonian UUCS-07-016 School of Computing University of Utah Salt Lake City, UT 84112 USA August 9, 2007 Abstract

More information

Towards a Software Transactional Memory for Graphics Processors

Towards a Software Transactional Memory for Graphics Processors Eurographics Symposium on Parallel Graphics and Visualization (21) J. Ahrens, K. Debattista, and R. Pajarola (Editors) Towards a Software Transactional Memory for Graphics Processors Daniel Cederman, Philippas

More information

Software Transactional Memory Should Not Be Obstruction-Free

Software Transactional Memory Should Not Be Obstruction-Free Software Transactional Memory Should Not Be Obstruction-Free Robert Ennals IRC-TR-06-052 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL

More information

Parallelizing SPECjbb2000 with Transactional Memory

Parallelizing SPECjbb2000 with Transactional Memory Parallelizing SPECjbb2000 with Transactional Memory JaeWoong Chung, Chi Cao Minh, Brian D. Carlstrom, Christos Kozyrakis Computer Systems Laboratory Stanford University {jwchung, caominh, bdc, kozyraki}@stanford.edu

More information

FlowBack: Providing Backward Recovery for Workflow Management Systems

FlowBack: Providing Backward Recovery for Workflow Management Systems FlowBack: Providing Backward Recovery for Workflow Management Systems Bartek Kiepuszewski, Ralf Muhlberger, Maria E. Orlowska Distributed Systems Technology Centre Distributed Databases Unit ABSTRACT The

More information

CS5412: TRANSACTIONS (I)

CS5412: TRANSACTIONS (I) 1 CS5412: TRANSACTIONS (I) Lecture XVII Ken Birman Transactions 2 A widely used reliability technology, despite the BASE methodology we use in the first tier Goal for this week: in-depth examination of

More information

Design Tradeoffs in Modern Software Transactional Memory Systems

Design Tradeoffs in Modern Software Transactional Memory Systems Design Tradeoffs in Modern Software al Memory Systems Virendra J. Marathe, William N. Scherer III, and Michael L. Scott Department of Computer Science University of Rochester Rochester, NY 14627-226 {vmarathe,

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Transactions - Definition A transaction is a sequence of data operations with the following properties: * A Atomic All

More information

Cloud Programming James Larus Microsoft Research. July 13, 2010

Cloud Programming James Larus Microsoft Research. July 13, 2010 Cloud Programming James Larus Microsoft Research July 13, 2010 New Programming Model, New Problems (and some old, unsolved ones) Concurrency Parallelism Message passing Distribution High availability Performance

More information

Transactional Memory

Transactional Memory Transactional Memory Architectural Support for Practical Parallel Programming The TCC Research Group Computer Systems Lab Stanford University http://tcc.stanford.edu TCC Overview - January 2007 The Era

More information

arxiv: v2 [cs.dc] 2 Mar 2017

arxiv: v2 [cs.dc] 2 Mar 2017 1 DyAdHyTM: A Low Overhead Dynamically Adaptive Hybrid Transactional Memory on Big Data Graphs Mohammad Qayum and Abdel-Hameed Badawy, New Mexico State University Jeanine Cook, Sandia National Laboratories

More information

Transactional Memory. Prof. Hsien-Hsin S. Lee School of Electrical and Computer Engineering Georgia Tech

Transactional Memory. Prof. Hsien-Hsin S. Lee School of Electrical and Computer Engineering Georgia Tech Transactional Memory Prof. Hsien-Hsin S. Lee School of Electrical and Computer Engineering Georgia Tech (Adapted from Stanford TCC group and MIT SuperTech Group) Motivation Uniprocessor Systems Frequency

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering CS6302- DATABASE MANAGEMENT SYSTEMS Anna University 2 & 16 Mark Questions & Answers Year / Semester: II / III

More information

Part IV. Chapter 15 - Introduction to MIMD Architectures

Part IV. Chapter 15 - Introduction to MIMD Architectures D. Sima, T. J. Fountain, P. Kacsuk dvanced Computer rchitectures Part IV. Chapter 15 - Introduction to MIMD rchitectures Thread and process-level parallel architectures are typically realised by MIMD (Multiple

More information

Optimizing Hybrid Transactional Memory: The Importance of Nonspeculative Operations

Optimizing Hybrid Transactional Memory: The Importance of Nonspeculative Operations Optimizing Hybrid Transactional Memory: The Importance of Nonspeculative Operations Torvald Riegel Technische Universität Dresden, Germany torvald.riegel@tudresden.de Patrick Marlier Université de Neuchâtel,

More information

Key-value store with eventual consistency without trusting individual nodes

Key-value store with eventual consistency without trusting individual nodes basementdb Key-value store with eventual consistency without trusting individual nodes https://github.com/spferical/basementdb 1. Abstract basementdb is an eventually-consistent key-value store, composed

More information

LogSI-HTM: Log Based Snapshot Isolation in Hardware Transactional Memory

LogSI-HTM: Log Based Snapshot Isolation in Hardware Transactional Memory LogSI-HTM: Log Based Snapshot Isolation in Hardware Transactional Memory Lois Orosa and Rodolfo zevedo Institute of Computing, University of Campinas (UNICMP) {lois.orosa,rodolfo}@ic.unicamp.br bstract

More information

Transactional Memory. R. Guerraoui, EPFL

Transactional Memory. R. Guerraoui, EPFL Transactional Memory R. Guerraoui, EPFL Locking is history Lock-freedom is difficult Wanted A concurrency control abstraction that is simple, robust and efficient Transactions Historical perspective Eswaran

More information

Software Transactional Memory

Software Transactional Memory Software Transactional Memory Michel Weimerskirch 22nd January 2008 Technical University of Kaiserslautern, 67653 Kaiserslautern, Germany michel@weimerskirch.net WWW home page: http://michel.weimerskirch.net/

More information