Synchronization between concurrent notifier and waiter transactions using transaction condition variables
    41.
    发明授权
    Synchronization between concurrent notifier and waiter transactions using transaction condition variables 有权
    使用事务条件变量同步通知器和服务员事务之间的同步

    公开(公告)号:US09430275B2

    公开(公告)日:2016-08-30

    申请号:US13170026

    申请日:2011-06-27

    IPC分类号: G06F9/455 G06F9/46

    CPC分类号: G06F9/467

    摘要: Transactional memory implementations may be extended to support transaction communicators and/or transaction condition variables for which transaction isolation is relaxed, and through which concurrent transactions can communicate and be synchronized with each other. Transactional accesses to these objects may not be isolated unless called within communicator-isolating transactions. A waiter transaction may invoke a wait method of a transaction condition variable, be added to a wait list for the variable, and be suspended pending notification of a notification event from a notify method of the variable. A notifier transaction may invoke a notify method of the variable, which may remove the waiter from the wait list, schedule the waiter transaction for resumed execution, and notify the waiter of the notification event. A waiter transaction may commit only if the corresponding notifier transaction commits. If the waiter transaction aborts, the notification may be forwarded to another waiter.

    摘要翻译: 事务性存储器实现可以被扩展以支持事务隔离被放宽的事务通信器和/或事务条件变量,以及通过哪些并发事务可以彼此通信和同步。 对这些对象的事务访问可能不被隔离,除非在通信器隔离事务中被调用。 服务员事务可以调用事务条件变量的等待方法,被添加到变量的等待列表中,并且从变量的通知方法通知一个通知事件。 通知器事务可以调用变量的通知方法,该方法可以从等待列表中移除服务员,安排服务员事务以恢复执行,并通知服务员通知事件。 只有当相应的通知程序事务提交时,服务员事务才可能执行。 如果服务员事务中止,通知可以转发给另一个服务员。

    Dispatch predicate for overloaded functions using type intervals
    42.
    发明授权
    Dispatch predicate for overloaded functions using type intervals 有权
    使用类型间隔的重载功能的调度谓词

    公开(公告)号:US08898632B2

    公开(公告)日:2014-11-25

    申请号:US13601745

    申请日:2012-08-31

    IPC分类号: G06F9/44

    CPC分类号: G06F9/4492

    摘要: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system obtains a function call associated with an overloaded function and a generic type hierarchy. Next, the system determines an applicability of an implementation of the overloaded function to the function call. Finally, the system selects the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function.

    摘要翻译: 所公开的实施例提供了便于开发和执行软件程序的系统。 在软件程序的运行期间,系统获得与重载函数和通用类型层次结构相关联的函数调用。 接下来,系统确定重载函数的实现对函数调用的适用性。 最后,系统根据确定的适用性和重载功能的部分实现顺序选择函数调用的实现。

    DISPATCH PREDICATE FOR OVERLOADED FUNCTIONS USING TYPE INTERVALS
    43.
    发明申请
    DISPATCH PREDICATE FOR OVERLOADED FUNCTIONS USING TYPE INTERVALS 有权
    使用类型间隔预测过载功能

    公开(公告)号:US20140068556A1

    公开(公告)日:2014-03-06

    申请号:US13601745

    申请日:2012-08-31

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F9/4492

    摘要: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system obtains a function call associated with an overloaded function and a generic type hierarchy. Next, the system determines an applicability of an implementation of the overloaded function to the function call. Finally, the system selects the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function.

    摘要翻译: 所公开的实施例提供了便于开发和执行软件程序的系统。 在软件程序的运行期间,系统获得与重载函数和通用类型层次结构相关联的函数调用。 接下来,系统确定重载函数的实现对函数调用的适用性。 最后,系统根据确定的适用性和重载功能的部分实现顺序选择函数调用的实现。

    System and method for communication between concurrent transactions using transaction communicator objects
    44.
    发明授权
    System and method for communication between concurrent transactions using transaction communicator objects 有权
    使用事务通信器对象的并发事务之间的通信的系统和方法

    公开(公告)号:US08473952B2

    公开(公告)日:2013-06-25

    申请号:US12828105

    申请日:2010-06-30

    IPC分类号: G06F9/46

    CPC分类号: G06F9/467 G06F11/1474

    摘要: Transactional memory implementations may be extended to include special transaction communicator objects through which concurrent transactions can communicate. Changes by a first transaction to a communicator may be visible to concurrent transactions before the first transaction commits. Although isolation of transactions may be compromised by such communication, the effects of this compromise may be limited by tracking dependencies among transactions, and preventing any transaction from committing unless every transaction whose changes it has observed also commits. For example, mutually dependent or cyclically dependent transactions may commit or abort together. Transactions that do not communicate with each other may remain isolated. The system may provide a communicator-isolating transaction that ensures isolation even for accesses to communicators, which may be implemented using nesting transactions. True (e.g., read-after-write) dependencies, ordering (e.g., write-after-write) dependencies, and/or anti-dependencies (e.g., write-after-read dependencies) may be tracked, and a resulting dependency graph may be perused by the commit protocol.

    摘要翻译: 可以将事务性存储器实现扩展到包括特殊的事务通信器对象,并发事务可以通过该对象进行通信。 在第一个事务提交之前,第一个事务对通信器的更改可能对并发事务可见。 虽然交易的隔离可能会受到此类通信的影响,但是通过跟踪事务之间的依赖关系可以限制此妥协的影响,并且防止任何事务提交,除非其所观察到的更改的每个事务也都提交。 例如,相互依赖或循环依赖的交易可能会一起提交或中止。 不相互通信的事务可能会被隔离。 该系统可以提供隔离通信的事务,即使对于可以使用嵌套事务来实现的对通信器的访问也可以确保隔离。 可以跟踪真(例如,写后读取)依赖性,排序(例如,写后写入)依赖性和/或反依赖性(例如,读后读依赖性),并且所得到的依赖图可以 被提交协议所使用。

    System and Method for Synchronization Between Concurrent Transactions Using Transaction Condition Variables
    45.
    发明申请
    System and Method for Synchronization Between Concurrent Transactions Using Transaction Condition Variables 有权
    使用事务条件变量并发事务同步的系统和方法

    公开(公告)号:US20120311273A1

    公开(公告)日:2012-12-06

    申请号:US13170026

    申请日:2011-06-27

    IPC分类号: G06F12/00

    CPC分类号: G06F9/467

    摘要: The systems and methods described herein may extend transactional memory implementations to support transaction communicators and/or transaction condition variables for which transaction isolation is relaxed, and through which concurrent transactions can communicate and be synchronized with each other. Transactional accesses to these objects may not be isolated unless called within communicator-isolating transactions. A waiter transaction may invoke a wait method of a transaction condition variable, be added to a wait list for the variable, and be suspended pending notification of a notification event from a notify method of the variable. A notifier transaction may invoke a notify method of the variable, which may remove the waiter from the wait list, schedule the waiter transaction for resumed execution, and notify the waiter of the notification event. A waiter transaction may commit only if the corresponding notifier transaction commits. If the waiter transaction aborts, the notification may be forwarded to another waiter.

    摘要翻译: 本文描述的系统和方法可以扩展事务存储器实现以支持事务隔离被放宽的事务通信器和/或事务条件变量,以及通过哪些并发事务可以彼此通信和同步。 对这些对象的事务访问可能不被隔离,除非在通信器隔离事务中被调用。 服务员事务可以调用事务条件变量的等待方法,被添加到变量的等待列表中,并且从变量的通知方法通知一个通知事件。 通知器事务可以调用变量的通知方法,该方法可以从等待列表中移除服务员,安排服务员事务以恢复执行,并通知服务员通知事件。 只有当相应的通知程序事务提交时,服务员事务才可能执行。 如果服务员事务中止,通知可以转发给另一个服务员。