会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Synchronized objects for software transactional memory
    • 用于软件事务内存的同步对象
    • US07720891B2
    • 2010-05-18
    • US11353478
    • 2006-02-14
    • Victor M. LuchangcoVirendra J. Marathe
    • Victor M. LuchangcoVirendra J. Marathe
    • G06F12/00
    • G06F17/30351
    • A system for implementing synchronized objects for software transactional memory may include one or more processors and a memory storing program instructions executable by the processor to implement a transactional-memory manager configured to coordinate memory access requests directed at the memory from a plurality of transactions. The transactional-memory manager records, within a collaborator record for a shared data object in the memory, identifications of a set of two or more transactions that have requested synchronization on the object. In response to a commit request from a given transaction of the set, the transactional-memory manager determines whether to commit or abort the given transaction based at least in part on the transactional states of other transactions in the set, examining the collaborator record to identify the other transactions.
    • 用于实现软件事务存储器的同步对象的系统可以包括一个或多个处理器和存储器,其存储可由处理器执行的程序指令,以实现事务存储器管理器,其经配置以从多个事务处理定向存储器的存储器访问请求。 事务内存管理器在存储器内的共享数据对象的协作者记录内记录已经请求在对象上同步的一组两个或多个事务的标识。 响应于来自集合的给定事务的提交请求,事务内存管理器至少部分地基于集合中的其他事务的事务状态来确定是否提交或中止给定的事务,检查协作者记录以识别 其他交易。
    • 2. 发明授权
    • System and method for implementing NUMA-aware reader-writer locks
    • 用于实现NUMA感知读写器锁的系统和方法
    • US08966491B2
    • 2015-02-24
    • US13458868
    • 2012-04-27
    • Irina CalciuDavid DiceVictor M. LuchangcoVirendra J. MaratheNir N. ShavitYosef Lev
    • Irina CalciuDavid DiceVictor M. LuchangcoVirendra J. MaratheNir N. ShavitYosef Lev
    • G06F9/46
    • G06F9/526G06F2209/523
    • NUMA-aware reader-writer locks may leverage lock cohorting techniques to band together writer requests from a single NUMA node. The locks may relax the order in which the lock schedules the execution of critical sections of code by reader threads and writer threads, allowing lock ownership to remain resident on a single NUMA node for long periods, while also taking advantage of parallelism between reader threads. Threads may contend on node-level structures to get permission to acquire a globally shared reader-writer lock. Writer threads may follow a lock cohorting strategy of passing ownership of the lock in write mode from one thread to a cohort writer thread without releasing the shared lock, while reader threads from multiple NUMA nodes may simultaneously acquire the shared lock in read mode. The reader-writer lock may follow a writer-preference policy, a reader-preference policy or a hybrid policy.
    • NUMA感知的读写器锁可以利用锁定队列技术将来自单个NUMA节点的写入器请求带到一起。 锁可以放松锁定通过读取器线程和写入器线程调度关键代码段的顺序,允许锁定所有权长时间保持驻留在单个NUMA节点上,同时还利用读取器线程之间的并行性。 线程可能会争取节点级结构获得获取全局共享读写器锁的权限。 编写者线程可能遵循锁定队列策略,将锁定的所有权从写入模式从一个线程传递到队列写入器线程,而不会释放共享锁定,而来自多个NUMA节点的读取器线程可以同时在读取模式下获取共享锁定。 读写器锁可以遵循写入者偏好策略,读者偏好策略或混合策略。
    • 3. 发明申请
    • System and Method for Implementing NUMA-Aware Reader-Writer Locks
    • 实现NUMA感知读写器锁的系统和方法
    • US20130290967A1
    • 2013-10-31
    • US13458868
    • 2012-04-27
    • Irina CalciuDavid DiceVictor M. LuchangcoVirendra J. MaratheNir N. ShavitYosef Lev
    • Irina CalciuDavid DiceVictor M. LuchangcoVirendra J. MaratheNir N. ShavitYosef Lev
    • G06F9/46
    • G06F9/526G06F2209/523
    • NUMA-aware reader-writer locks may leverage lock cohorting techniques to band together writer requests from a single NUMA node. The locks may relax the order in which the lock schedules the execution of critical sections of code by reader threads and writer threads, allowing lock ownership to remain resident on a single NUMA node for long periods, while also taking advantage of parallelism between reader threads. Threads may contend on node-level structures to get permission to acquire a globally shared reader-writer lock. Writer threads may follow a lock cohorting strategy of passing ownership of the lock in write mode from one thread to a cohort writer thread without releasing the shared lock, while reader threads from multiple NUMA nodes may simultaneously acquire the shared lock in read mode. The reader-writer lock may follow a writer-preference policy, a reader-preference policy or a hybrid policy.
    • NUMA感知的读写器锁可以利用锁定队列技术将来自单个NUMA节点的写入器请求带到一起。 锁可以放松锁定通过读取器线程和写入器线程调度关键代码段的顺序,允许锁定所有权长时间保持驻留在单个NUMA节点上,同时还利用读取器线程之间的并行性。 线程可能会争取节点级结构获得获取全局共享读写器锁的权限。 编写者线程可能遵循锁定队列策略,将锁定的所有权从写入模式从一个线程传递到队列写入器线程,而不会释放共享锁定,而来自多个NUMA节点的读取器线程可以同时在读取模式下获取共享锁定。 读写器锁可以遵循写入者偏好策略,读者偏好策略或混合策略。
    • 4. 发明授权
    • Synchronization between concurrent notifier and waiter transactions using transaction condition variables
    • 使用事务条件变量同步通知器和服务员事务之间的同步
    • US09430275B2
    • 2016-08-30
    • US13170026
    • 2011-06-27
    • Virendra J. MaratheVictor M. Luchangco
    • Virendra J. MaratheVictor M. Luchangco
    • G06F9/455G06F9/46
    • 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.
    • 事务性存储器实现可以被扩展以支持事务隔离被放宽的事务通信器和/或事务条件变量,以及通过哪些并发事务可以彼此通信和同步。 对这些对象的事务访问可能不被隔离,除非在通信器隔离事务中被调用。 服务员事务可以调用事务条件变量的等待方法,被添加到变量的等待列表中,并且从变量的通知方法通知一个通知事件。 通知器事务可以调用变量的通知方法,该方法可以从等待列表中移除服务员,安排服务员事务以恢复执行,并通知服务员通知事件。 只有当相应的通知程序事务提交时,服务员事务才可能执行。 如果服务员事务中止,通知可以转发给另一个服务员。
    • 5. 发明授权
    • System and method for communication between concurrent transactions using transaction communicator objects
    • 使用事务通信器对象的并发事务之间的通信的系统和方法
    • US08473952B2
    • 2013-06-25
    • US12828105
    • 2010-06-30
    • Virendra J. MaratheVictor M. Luchangco
    • Virendra J. MaratheVictor M. Luchangco
    • G06F9/46
    • G06F9/467G06F11/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.
    • 可以将事务性存储器实现扩展到包括特殊的事务通信器对象,并发事务可以通过该对象进行通信。 在第一个事务提交之前,第一个事务对通信器的更改可能对并发事务可见。 虽然交易的隔离可能会受到此类通信的影响,但是通过跟踪事务之间的依赖关系可以限制此妥协的影响,并且防止任何事务提交,除非其所观察到的更改的每个事务也都提交。 例如,相互依赖或循环依赖的交易可能会一起提交或中止。 不相互通信的事务可能会被隔离。 该系统可以提供隔离通信的事务,即使对于可以使用嵌套事务来实现的对通信器的访问也可以确保隔离。 可以跟踪真(例如,写后读取)依赖性,排序(例如,写后写入)依赖性和/或反依赖性(例如,读后读依赖性),并且所得到的依赖图可以 被提交协议所使用。
    • 6. 发明申请
    • System and Method for Synchronization Between Concurrent Transactions Using Transaction Condition Variables
    • 使用事务条件变量并发事务同步的系统和方法
    • US20120311273A1
    • 2012-12-06
    • US13170026
    • 2011-06-27
    • Virendra J. MaratheVictor M. Luchangco
    • Virendra J. MaratheVictor M. Luchangco
    • G06F12/00
    • 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.
    • 本文描述的系统和方法可以扩展事务存储器实现以支持事务隔离被放宽的事务通信器和/或事务条件变量,以及通过哪些并发事务可以彼此通信和同步。 对这些对象的事务访问可能不被隔离,除非在通信器隔离事务中被调用。 服务员事务可以调用事务条件变量的等待方法,被添加到变量的等待列表中,并且从变量的通知方法通知一个通知事件。 通知器事务可以调用变量的通知方法,该方法可以从等待列表中移除服务员,安排服务员事务以恢复执行,并通知服务员通知事件。 只有当相应的通知程序事务提交时,服务员事务才可能执行。 如果服务员事务中止,通知可以转发给另一个服务员。
    • 7. 发明申请
    • System and Method for Communication Between Concurrent Transactions Using Transaction Communicator Objects
    • 使用事务通信器对象的并发事务之间的通信系统和方法
    • US20120005530A1
    • 2012-01-05
    • US12828105
    • 2010-06-30
    • Virendra J. MaratheVictor M. Luchangco
    • Virendra J. MaratheVictor M. Luchangco
    • G06F9/312G06F11/14
    • G06F9/467G06F11/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.
    • 可以将事务性存储器实现扩展到包括特殊的事务通信器对象,并发事务可以通过该对象进行通信。 在第一个事务提交之前,第一个事务对通信器的更改可能对并发事务可见。 虽然交易的隔离可能会受到此类通信的影响,但是通过跟踪事务之间的依赖关系可以限制此妥协的影响,并且防止任何事务提交,除非其所观察到的更改的每个事务也都提交。 例如,相互依赖或循环依赖的交易可能会一起提交或中止。 不相互通信的事务可能会被隔离。 该系统可以提供隔离通信的事务,即使对于可以使用嵌套事务来实现的对通信器的访问也可以确保隔离。 可以跟踪真(例如,写后读取)依赖性,排序(例如,写后写入)依赖性和/或反依赖性(例如,读后读依赖性),并且所得到的依赖图可以 被提交协议所理解。
    • 8. 发明授权
    • Method and system for optimizing code for a multi-threaded application
    • 用于优化多线程应用程序代码的方法和系统
    • US08826249B2
    • 2014-09-02
    • US12708014
    • 2010-02-18
    • David DiceVirendra J. MaratheMark S. Moir
    • David DiceVirendra J. MaratheMark S. Moir
    • G06F9/45G06F9/455
    • G06F9/45516G06F8/456
    • In modern multi-threaded environments, threads often work cooperatively toward providing collective or aggregate throughput for an application as a whole. Optimizing in the small for “thread local” common path latency is often but not always the best approach for a concurrent system composed of multiple cooperating threads. Some embodiments provide a technique for augmenting traditional code emission with thread-aware policies and optimization strategies for a multi-threaded application. During operation, the system obtains information about resource contention between executing threads of the multi-threaded application. The system analyzes the resource contention information to identify regions of the code to be optimized. The system recompiles these identified regions to produce optimized code, which is then stored for subsequent execution.
    • 在现代多线程环境中,线程通常协同工作,为整个应用程序提供集体或聚合吞吐量。 对于“线程本地”公共路径延迟的优化通常并不总是对由多个协作线程组成的并发系统的最佳方法。 一些实施例提供了一种用于针对多线程应用程序的线程感知策略和优化策略来增加传统代码排放的技术。 在运行期间,系统获取有关多线程应用程序的执行线程之间资源争用的信息。 系统分析资源争用信息以识别要优化的代码区域。 系统重新编译这些识别的区域以产生优化的代码,然后将其存储用于随后的执行。
    • 9. 发明申请
    • System and Method for Implementing Hierarchical Queue-Based Locks Using Flat Combining
    • 使用平面组合实现层次化基于队列的锁的系统和方法
    • US20120311606A1
    • 2012-12-06
    • US13152079
    • 2011-06-02
    • Virendra J. MaratheNir N. ShavitDavid Dice
    • Virendra J. MaratheNir N. ShavitDavid Dice
    • G06F9/46
    • G06F9/526
    • The system and methods described herein may be used to implement a scalable, hierarchal, queue-based lock using flat combining. A thread executing on a processor core in a cluster of cores that share a memory may post a request to acquire a shared lock in a node of a publication list for the cluster using a non-atomic operation. A combiner thread may build an ordered (logical) local request queue that includes its own node and nodes of other threads (in the cluster) that include lock requests. The combiner thread may splice the local request queue into a (logical) global request queue for the shared lock as a sub-queue. A thread whose request has been posted in a node that has been combined into a local sub-queue and spliced into the global request queue may spin on a lock ownership indicator in its node until it is granted the shared lock.
    • 本文描述的系统和方法可以用于使用平坦组合来实现可扩展的,分级的基于队列的锁。 在共享内存的核心集群中的处理器核心上执行的线程可以使用非原子操作来发布用于获取集群的发布列表的节点中的共享锁定的请求。 组合线程可以构建一个有序(逻辑)本地请求队列,其包括其自己的节点和包含锁定请求的其他线程(在集群中)的节点。 组合器线程可以将本地请求队列拼接成用于共享锁的(逻辑)全局请求队列作为子队列。 已经将其请求已经发布在已经组合到本地子队列中并被拼接到全局请求队列中的节点的线程可以旋转其节点中的所有权所有者指示符,直到被授予共享锁为止。
    • 10. 发明授权
    • System and method for enabling turbo mode in a processor
    • 用于在处理器中启用turbo模式的系统和方法
    • US08775837B2
    • 2014-07-08
    • US13213833
    • 2011-08-19
    • David DiceNir N. ShavitVirendra J. Marathe
    • David DiceNir N. ShavitVirendra J. Marathe
    • G06F1/32G06F1/00G06F15/00G06F9/46
    • G06F9/526G06F1/3228G06F1/324G06F9/485Y02D10/126
    • The systems and methods described herein may enable a processor core to run at higher speeds than other processor cores in the same package. A thread executing on one processor core may begin waiting for another thread to complete a particular action (e.g., to release a lock). In response to determining that other threads are waiting, the thread/core may enter an inactive state. A data structure may store information indicating which threads are waiting on which other threads. In response to determining that a quorum of threads/cores are in an inactive state, one of the threads/cores may enter a turbo mode in which it executes at a higher speed than the baseline speed for the cores. A thread holding a lock and executing in turbo mode may perform work delegated by waiting threads at the higher speed. A thread may exit the inactive state when the waited-for action is completed.
    • 本文描述的系统和方法可以使处理器核心以比同一封装中的其它处理器核心更高的速度运行。 在一个处理器核心上执行的线程可以开始等待另一个线程来完成特定动作(例如,释放锁定)。 响应于确定其他线程正在等待,线程/内核可能进入非活动状态。 数据结构可以存储指示哪些线程在哪个其他线程上等待的信息。 响应于确定线程/核心的法定数量处于非活动状态,线程/内核中的一个可以进入turbo模式,在该模式下,该模式以比核心的基线速度更高的速度执行。 持有锁并以turbo模式执行的线程可以执行以较高速度等待线程委托的工作。 等待操作完成时,线程可能会退出非活动状态。