Aborted Transaction

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 108 Experts worldwide ranked by ideXlab platform

Michel Raynal - One of the best experts on this subject based on the ideXlab platform.

  • ICA3PP (1) - Read invisibility, virtual world consistency and probabilistic permissiveness are compatible
    Algorithms and Architectures for Parallel Processing, 2011
    Co-Authors: Tyler Crain, Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, an STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, an STMsystem has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. Both conditions ensure that any Transaction (be it a committed or an Aborted Transaction) reads values from a consistent global state, a noteworthy property if one wants to prevent abnormal behavior from concurrent Transactions that behave correctly when executed alone. A read operation issued by a Transaction is invisible if it does not entail shared memory modifications. This is an important property that favors efficiency and privacy. An STM system is permissive (respectively probabilistically permissive) with respect to a consistency condition if it accepts (respectively accepts with positive probability) every history that satisfies the condition. This is a crucial property as a permissive STM system never aborts a Transaction "for free". The paper first shows that read invisibility, probabilistic permissiveness and opacity are incompatible, which means that there is no probabilistically permissive STM system that implements opacity while ensuring read invisibility. It then shows that read invisibility, probabilistic permissiveness and virtual world consistency are compatible. To that end the paper describes a new STM protocol called IR_VWC_P. This protocol presents additional noteworthy features: it uses only base read/write objects and locks which are used only at commit time; it satisfies the disjoint access parallelism property; and, in favorable circumstances, the cost of a read operation is O(1).

  • Read invisibility, virtual world consistency and permissiveness are compatible
    2010
    Co-Authors: Tyler Crain, Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, a STM system has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. Both conditions ensures that any Transaction (be it a committed or an Aborted Transaction) reads values from a consistent global state, a noteworthy property if one wants to prevents abnormal behavior from concurrent Transactions that behave correctly when executed alone. A read operation issued by a Transaction is invisible if it does not entail shared memory modifications. This is an important property that favors efficiency and privacy. An STM system is permissive with respect to a consistency condition if it accepts every history that satisfies the condition. This is a crucial property as a permissive STM system never aborts a Transaction “for free”. The paper first shows that read invisibility, permissiveness and opacity are incompatible, which means that there is no permissive STM system that implements opacity while ensuring read invisibility. It then shows that invisibility, permissiveness and opacity are compatible. To that end the paper describes a new STM protocol called IR VWC P. This protocol presents additional noteworthy features: it uses only base read/write objects and locks which are used only at commit time; it satisfies the disjoint access parallelism property; and, in favorable circumstances, the cost of a read operation is O(1).

  • SIROCCO - A versatile STM protocol with invisible read operations that satisfies the virtual world consistency condition
    Structural Information and Communication Complexity, 2010
    Co-Authors: Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, a STM system has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper first presents a new STM consistency condition, called virtual world consistency. This condition states that no Transaction reads object values from an inconsistent global state. It is similar to opacity for the committed Transactions but weaker for the Aborted Transactions. More precisely, it states that (1) the committed Transactions can be totally ordered, and (2) the values read by each Aborted Transaction are consistent with respect to its causal past only. Hence, virtual world consistency is weaker than opacity while keeping its spirit. Then, assuming the objects shared by the processes are atomic read/write objects, the paper presents a STM protocol that ensures virtual world consistency (while guaranteeing the invisibility of the read operations). From an operational point of view, this protocol is based on a vector-clock mechanism. Finally, the paper considers the case where the shared objects are regular read/write objects. It also shows how the protocol can easily be weakened while still providing an STM system that satisfies causal consistency, a condition strictly weaker than virtual world consistency.

  • Read invisibility, virtual world consistency and permissiveness are compatible
    2010
    Co-Authors: Tyler Crain, Damien Imbs, Michel Raynal
    Abstract:

    Abstract: The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, a STM system has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. Both conditions ensures that any Transaction (be it a committed or an Aborted Transaction) reads values from a consistent global state, a noteworthy property if one wants to prevents abnormal behavior from concurrent Transactions that behave correctly when executed alone. A read operation issued by a Transaction is invisible if it does not entail shared memory modifications. This is an important property that favors efficiency and privacy. An STM system is permissive with respect to a consistency condition if it accepts every history that satisfies the condition. This is a crucial property as a permissive STM system never aborts a Transaction “for free”. The paper first shows that read invisibility, permissiveness and opacity are incompatible, which means that there is no permissive STM system that implements opacity while ensuring read invisibility. It then shows tha

  • A versatile STM protocol with invisible read operations that satisfies the virtual world consistency condition
    2009
    Co-Authors: Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to decompose each sequential process the application is made up of into Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. For efficiency, a STM system allows Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper first presents a new STM consistency condition, called virtual world consistency. This condition states that no Transaction reads object values from an inconsistent global state. It is similar to opacity for the committed Transactions but weaker for the Aborted Transactions. More precisely, it states that (1) the committed Transactions can be totally ordered, and (2) the values read by each Aborted Transaction are consistent with respect to its causal past only. Hence, virtual world consistency is weaker than opacity while keeping its spirit. Then, assuming the objects shared by the processes are atomic read/write objects, the paper presents a STM protocol that ensures virtual world consistency (while guaranteeing the invisibility of the read operations). From an operational point of view, this protocol is based on a vector-clock mechanism. Finally, the paper considers the case where the shared objects are regular read/write objects. It also shows how the protocol can be weakened to satisfy the causal consistency condition (that is weaker than virtual world consistency). Virtual world consistency does not require the Aborted Transactions to agree on what they have seen. This is captured by the local vector clocks associated with each process and the vector timestamps associated with each object. From a comprehensive point of view, the paper addresses how the interplay of these local control informations allows the execution of a set of Transactions to be provided with a global meaning.

Damien Imbs - One of the best experts on this subject based on the ideXlab platform.

  • ICA3PP (1) - Read invisibility, virtual world consistency and probabilistic permissiveness are compatible
    Algorithms and Architectures for Parallel Processing, 2011
    Co-Authors: Tyler Crain, Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, an STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, an STMsystem has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. Both conditions ensure that any Transaction (be it a committed or an Aborted Transaction) reads values from a consistent global state, a noteworthy property if one wants to prevent abnormal behavior from concurrent Transactions that behave correctly when executed alone. A read operation issued by a Transaction is invisible if it does not entail shared memory modifications. This is an important property that favors efficiency and privacy. An STM system is permissive (respectively probabilistically permissive) with respect to a consistency condition if it accepts (respectively accepts with positive probability) every history that satisfies the condition. This is a crucial property as a permissive STM system never aborts a Transaction "for free". The paper first shows that read invisibility, probabilistic permissiveness and opacity are incompatible, which means that there is no probabilistically permissive STM system that implements opacity while ensuring read invisibility. It then shows that read invisibility, probabilistic permissiveness and virtual world consistency are compatible. To that end the paper describes a new STM protocol called IR_VWC_P. This protocol presents additional noteworthy features: it uses only base read/write objects and locks which are used only at commit time; it satisfies the disjoint access parallelism property; and, in favorable circumstances, the cost of a read operation is O(1).

  • Read invisibility, virtual world consistency and permissiveness are compatible
    2010
    Co-Authors: Tyler Crain, Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, a STM system has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. Both conditions ensures that any Transaction (be it a committed or an Aborted Transaction) reads values from a consistent global state, a noteworthy property if one wants to prevents abnormal behavior from concurrent Transactions that behave correctly when executed alone. A read operation issued by a Transaction is invisible if it does not entail shared memory modifications. This is an important property that favors efficiency and privacy. An STM system is permissive with respect to a consistency condition if it accepts every history that satisfies the condition. This is a crucial property as a permissive STM system never aborts a Transaction “for free”. The paper first shows that read invisibility, permissiveness and opacity are incompatible, which means that there is no permissive STM system that implements opacity while ensuring read invisibility. It then shows that invisibility, permissiveness and opacity are compatible. To that end the paper describes a new STM protocol called IR VWC P. This protocol presents additional noteworthy features: it uses only base read/write objects and locks which are used only at commit time; it satisfies the disjoint access parallelism property; and, in favorable circumstances, the cost of a read operation is O(1).

  • SIROCCO - A versatile STM protocol with invisible read operations that satisfies the virtual world consistency condition
    Structural Information and Communication Complexity, 2010
    Co-Authors: Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, a STM system has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper first presents a new STM consistency condition, called virtual world consistency. This condition states that no Transaction reads object values from an inconsistent global state. It is similar to opacity for the committed Transactions but weaker for the Aborted Transactions. More precisely, it states that (1) the committed Transactions can be totally ordered, and (2) the values read by each Aborted Transaction are consistent with respect to its causal past only. Hence, virtual world consistency is weaker than opacity while keeping its spirit. Then, assuming the objects shared by the processes are atomic read/write objects, the paper presents a STM protocol that ensures virtual world consistency (while guaranteeing the invisibility of the read operations). From an operational point of view, this protocol is based on a vector-clock mechanism. Finally, the paper considers the case where the shared objects are regular read/write objects. It also shows how the protocol can easily be weakened while still providing an STM system that satisfies causal consistency, a condition strictly weaker than virtual world consistency.

  • Read invisibility, virtual world consistency and permissiveness are compatible
    2010
    Co-Authors: Tyler Crain, Damien Imbs, Michel Raynal
    Abstract:

    Abstract: The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, a STM system has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. Both conditions ensures that any Transaction (be it a committed or an Aborted Transaction) reads values from a consistent global state, a noteworthy property if one wants to prevents abnormal behavior from concurrent Transactions that behave correctly when executed alone. A read operation issued by a Transaction is invisible if it does not entail shared memory modifications. This is an important property that favors efficiency and privacy. An STM system is permissive with respect to a consistency condition if it accepts every history that satisfies the condition. This is a crucial property as a permissive STM system never aborts a Transaction “for free”. The paper first shows that read invisibility, permissiveness and opacity are incompatible, which means that there is no permissive STM system that implements opacity while ensuring read invisibility. It then shows tha

  • A versatile STM protocol with invisible read operations that satisfies the virtual world consistency condition
    2009
    Co-Authors: Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to decompose each sequential process the application is made up of into Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. For efficiency, a STM system allows Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper first presents a new STM consistency condition, called virtual world consistency. This condition states that no Transaction reads object values from an inconsistent global state. It is similar to opacity for the committed Transactions but weaker for the Aborted Transactions. More precisely, it states that (1) the committed Transactions can be totally ordered, and (2) the values read by each Aborted Transaction are consistent with respect to its causal past only. Hence, virtual world consistency is weaker than opacity while keeping its spirit. Then, assuming the objects shared by the processes are atomic read/write objects, the paper presents a STM protocol that ensures virtual world consistency (while guaranteeing the invisibility of the read operations). From an operational point of view, this protocol is based on a vector-clock mechanism. Finally, the paper considers the case where the shared objects are regular read/write objects. It also shows how the protocol can be weakened to satisfy the causal consistency condition (that is weaker than virtual world consistency). Virtual world consistency does not require the Aborted Transactions to agree on what they have seen. This is captured by the local vector clocks associated with each process and the vector timestamps associated with each object. From a comprehensive point of view, the paper addresses how the interplay of these local control informations allows the execution of a set of Transactions to be provided with a global meaning.

W.k. Fuchs - One of the best experts on this subject based on the ideXlab platform.

  • COMPSAC - Twin-page storage management for rapid Transaction-undo recovery
    Proceedings. Fourteenth Annual International Computer Software and Applications Conference, 1
    Co-Authors: W.k. Fuchs
    Abstract:

    A twin-page disk-storage management scheme for rapid database Transaction-undo recovery is presented and evaluated. In contrast to previous twin-page schemes, this approach uses static page mapping and allows dirty pages in the main memory to be written, at any instant, onto disk without the requirement of undo logging. No explicit undo is required when a Transaction is Aborted. Transaction undo is implicitly performed by not subsequently fetching from disk the invalid pages updated by the Aborted Transaction. Performance in terms of disk I/O and CPU overhead for Transaction-undo recovery is analyzed and compared with a previous approach called TWIST. It is shown that the present scheme achieves rapid Transaction-undo recovery without degrading average system performance for various workloads, and that the scheme is well suited for applications with a large number of updates and frequent Transaction aborts. >

Tyler Crain - One of the best experts on this subject based on the ideXlab platform.

  • ICA3PP (1) - Read invisibility, virtual world consistency and probabilistic permissiveness are compatible
    Algorithms and Architectures for Parallel Processing, 2011
    Co-Authors: Tyler Crain, Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, an STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, an STMsystem has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. Both conditions ensure that any Transaction (be it a committed or an Aborted Transaction) reads values from a consistent global state, a noteworthy property if one wants to prevent abnormal behavior from concurrent Transactions that behave correctly when executed alone. A read operation issued by a Transaction is invisible if it does not entail shared memory modifications. This is an important property that favors efficiency and privacy. An STM system is permissive (respectively probabilistically permissive) with respect to a consistency condition if it accepts (respectively accepts with positive probability) every history that satisfies the condition. This is a crucial property as a permissive STM system never aborts a Transaction "for free". The paper first shows that read invisibility, probabilistic permissiveness and opacity are incompatible, which means that there is no probabilistically permissive STM system that implements opacity while ensuring read invisibility. It then shows that read invisibility, probabilistic permissiveness and virtual world consistency are compatible. To that end the paper describes a new STM protocol called IR_VWC_P. This protocol presents additional noteworthy features: it uses only base read/write objects and locks which are used only at commit time; it satisfies the disjoint access parallelism property; and, in favorable circumstances, the cost of a read operation is O(1).

  • Read invisibility, virtual world consistency and permissiveness are compatible
    2010
    Co-Authors: Tyler Crain, Damien Imbs, Michel Raynal
    Abstract:

    The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, a STM system has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. Both conditions ensures that any Transaction (be it a committed or an Aborted Transaction) reads values from a consistent global state, a noteworthy property if one wants to prevents abnormal behavior from concurrent Transactions that behave correctly when executed alone. A read operation issued by a Transaction is invisible if it does not entail shared memory modifications. This is an important property that favors efficiency and privacy. An STM system is permissive with respect to a consistency condition if it accepts every history that satisfies the condition. This is a crucial property as a permissive STM system never aborts a Transaction “for free”. The paper first shows that read invisibility, permissiveness and opacity are incompatible, which means that there is no permissive STM system that implements opacity while ensuring read invisibility. It then shows that invisibility, permissiveness and opacity are compatible. To that end the paper describes a new STM protocol called IR VWC P. This protocol presents additional noteworthy features: it uses only base read/write objects and locks which are used only at commit time; it satisfies the disjoint access parallelism property; and, in favorable circumstances, the cost of a read operation is O(1).

  • Read invisibility, virtual world consistency and permissiveness are compatible
    2010
    Co-Authors: Tyler Crain, Damien Imbs, Michel Raynal
    Abstract:

    Abstract: The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, a STM system has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts. This paper studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. Both conditions ensures that any Transaction (be it a committed or an Aborted Transaction) reads values from a consistent global state, a noteworthy property if one wants to prevents abnormal behavior from concurrent Transactions that behave correctly when executed alone. A read operation issued by a Transaction is invisible if it does not entail shared memory modifications. This is an important property that favors efficiency and privacy. An STM system is permissive with respect to a consistency condition if it accepts every history that satisfies the condition. This is a crucial property as a permissive STM system never aborts a Transaction “for free”. The paper first shows that read invisibility, permissiveness and opacity are incompatible, which means that there is no permissive STM system that implements opacity while ensuring read invisibility. It then shows tha

Raynal Michel - One of the best experts on this subject based on the ideXlab platform.

  • Virtual world consistency: A condition for STM systems (with a versatile protocol with invisible read operations)
    Elsevier B.V., 2012
    Co-Authors: Imbs Damien, Raynal Michel
    Abstract:

    AbstractThe aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, an STM system provides the programmer with the concept of a Transaction. The job of the programmer is to design each process the application is made up of as a sequence of Transactions. A Transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each Transaction appears as being executed atomically. Of course, for efficiency, an STM system has to allow Transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a Transaction commits or aborts.This paper first presents a new STM consistency condition, called virtual world consistency. This condition states that no Transaction reads object values from an inconsistent global state. It is similar to opacity for the committed Transactions but weaker for the Aborted Transactions. More precisely, it states that (1) the committed Transactions can be totally ordered, and (2) the values read by each Aborted Transaction are consistent with respect to its causal past. Hence, virtual world consistency is weaker than opacity while keeping its spirit. Then, assuming the objects shared by the processes are atomic read/write objects, the paper presents an STM protocol that ensures virtual world consistency (while guaranteeing the invisibility of the read operations). From an operational point of view, this protocol is based on a vector-clock mechanism. Finally, the paper considers the case where the shared objects are regular read/write objects. It also shows how the protocol can easily be weakened while still providing an STM system that satisfies causal consistency, a condition strictly weaker than virtual world consistency