会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 31. 发明授权
    • Transactional locking with read-write locks in transactional memory systems
    • 在事务性存储器系统中具有读写锁的事务锁定
    • US08973004B2
    • 2015-03-03
    • US12492654
    • 2009-06-26
    • David DiceNir N. Shavit
    • David DiceNir N. Shavit
    • G06F9/46G06F13/00G06F12/00G06F12/14
    • G06F9/467G06F12/00G06F12/14G06F2209/523
    • A system and method for transactional memory using read-write locks is disclosed. Each of a plurality of shared memory areas is associated with a respective read-write lock, which includes a read-lock portion indicating whether any thread has a read-lock for read-only access to the memory area and a write-lock portion indicating whether any thread has a write-lock for write access to the memory area. A thread executing a group of memory access operations as an atomic transaction acquires the proper read or write permissions before performing a memory operation. To perform a read access, the thread attempts to obtain the corresponding read-lock and succeeds if no other thread holds a write-lock for the memory area. To perform a write-access, the thread attempts to obtain the corresponding write-lock and succeeds if no other thread holds a write-lock or read-lock for the memory area.
    • 公开了一种使用读写锁的事务性存储器的系统和方法。 多个共享存储器区域中的每一个与相应的读写锁定相关联,读锁定包括指示是否任何线程具有用于对存储区域的只读访问的读锁定的读锁定部分和指示 任何线程是否具有写入对存储区域的访问权限的写锁定。 作为原子事务执行一组内存访问操作的线程在执行内存操作之前获取正确的读取或写入权限。 要执行读取访问,线程尝试获取相应的读取锁定,并且如果没有其他线程持有内存区域的写入锁定,该线程将成功执行。 要执行写入访问,线程尝试获取相应的写入锁定,并且如果其他线程不存在用于存储器区域的写锁定或读锁定,则该线程成功执行。
    • 32. 发明授权
    • Concurrency control using slotted read-write locks
    • 使用时隙读写锁的并发控制
    • US08539168B2
    • 2013-09-17
    • US12492613
    • 2009-06-26
    • David DiceNir N. Shavit
    • David DiceNir N. Shavit
    • G06F12/14
    • G06F9/526G06F2209/523
    • A system and method for concurrency control may use slotted read-write locks. A slotted read-write lock is a lock data structure associated with a shared memory area, wherein the slotted read-write lock indicates whether any thread has a read-lock and/or a write-lock for the shared memory area. Multiple threads may concurrently have the read-lock but only one thread can have the write-lock at any given time. The slotted read-write lock comprises multiple slots, each associated with a single thread. To acquire the slotted read-write lock for reading, a thread assigned to a slot performs a store operation to the slot and then attempts to determine that no other thread holds the slotted read-write lock for writing. To acquire the slotted read-write lock for writing, a thread assigned to a slot sets its write-bit and then attempts to determine that the write-lock is not held.
    • 用于并发控制的系统和方法可以使用时隙读写锁。 时隙读写锁是与共享存储器区域相关联的锁定数据结构,其中,时隙读写锁定指示任何线程是否具有针对共享存储器区域的读锁定和/或写锁定。 多个线程可以同时具有读锁定,但只有一个线程可以在任何给定时间具有写锁定。 时隙读写锁定包括多个时隙,每个时隙与单个线程相关联。 为了获取读取时隙读写锁,分配给时隙的线程对该时隙执行存储操作,然后尝试确定没有其他线程保持用于写入的时隙读写锁。 要获取用于写入的时隙读写锁,分配给时隙的线程设置其写入位,然后尝试确定写锁定不被保持。
    • 33. 发明申请
    • System and Method for Enabling Turbo Mode in a Processor
    • 在处理器中启用Turbo模式的系统和方法
    • US20130047011A1
    • 2013-02-21
    • US13213833
    • 2011-08-19
    • David DiceNir N. ShavitVirendra J. Marathe
    • David DiceNir N. ShavitVirendra J. Marathe
    • G06F9/46G06F1/32
    • 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模式执行的线程可以执行以较高速度等待线程委托的工作。 等待操作完成时,线程可能会退出非活动状态。
    • 34. 发明申请
    • System and Method for Tracking References to Shared Objects Using Byte-Addressable Per-Thread Reference Counters
    • 使用字节可寻址的每线程参考计数器跟踪对共享对象的引用的系统和方法
    • US20110246727A1
    • 2011-10-06
    • US12750455
    • 2010-03-30
    • David DiceNir N. Shavit
    • David DiceNir N. Shavit
    • G06F12/02G06F12/06
    • G06F12/0261
    • The system described herein may track references to a shared object by concurrently executing threads using a reference tracking data structure that includes an owner field and an array of byte-addressable per-thread entries, each including a per-thread reference counter and a per-thread counter lock. Slotted threads assigned to a given array entry may increment or decrement the per-thread reference counter in that entry in response to referencing or dereferencing the shared object. Unslotted threads may increment or decrement a shared unslotted reference counter. A thread may update the data structure and/or examine it to determine whether the number of references to the shared object is zero or non-zero using a blocking-optimistic or a non-blocking mechanism. A checking thread may acquire ownership of the data structure, obtain an instantaneous snapshot of all counters, and return a value indicating whether the number of references to the shared object is zero or non-zero.
    • 本文描述的系统可以通过使用包括所有者字段和字节可寻址每个线程条目的数组的参考跟踪数据结构并行执行线程来跟踪对共享对象的引用,每个线程项包括每线程参考计数器和每线程参考计数器, 螺纹计数器锁。 分配给给定阵列条目的时隙线程可以增加或减少该条目中的每个线程引用计数器,以响应引用或取消引用共享对象。 未分配的线程可以递增或递减共享的未引用的引用计数器。 线程可以更新数据结构和/或检查它,以使用阻塞乐观或非阻塞机制来确定对共享对象的引用数量是零还是非零。 检查线程可以获取数据结构的所有权,获得所有计数器的瞬时快照,并返回一个值,该值指示对共享对象的引用数是零还是非零。
    • 35. 发明授权
    • Globally incremented variable or clock based methods and apparatus to implement parallel transactions
    • 全局增量的可变或基于时钟的方法和装置来实现并行事务
    • US08028133B2
    • 2011-09-27
    • US11699802
    • 2007-01-30
    • David DiceNir N. ShavitOri ShalevMark Moir
    • David DiceNir N. ShavitOri ShalevMark Moir
    • G06F13/00
    • G06F9/466
    • The present disclosure describes a unique way for each of multiple processes to operate in parallel and use the same shared data without causing corruption to the shared data. For example, during a commit phase, a corresponding transaction can attempt to increment a globally accessible version information variable and store a current value of the globally accessible version information variable for updating version information associated with modified data regardless of whether an associated attempt by the corresponding transaction to modify the globally accessible version information variable was successful. As an alternative mode, a corresponding transaction can merely read and store a current value of the globally accessible version information variable without attempting to update the globally accessible version information variable before such use. In yet another application, a parallel processing environment implements a combination of both aforementioned modes depending on a self-abort rate of the transaction.
    • 本公开描述了多个进程中的每一个并行操作并使用相同的共享数据而不会对共享数据造成损坏的唯一方式。 例如,在提交阶段期间,相应的事务可以尝试增加全局可访问的版本信息变量并存储全局可访问版本信息变量的当前值,用于更新与经修改的数据相关联的版本信息,而不管相关联的尝试是否相应 修改全局可访问版本信息变量的事务成功。 作为替代模式,相应的事务只能读取和存储全局可访问版本信息变量的当前值,而不尝试在此类使用之前更新全局可访问版本信息变量。 在另一个应用中,并行处理环境根据交易的自我中止率实现两种上述模式的组合。
    • 36. 发明申请
    • Transactional Locking with Read-Write Locks in Transactional Memory Systems
    • 在事务性存储系统中使用读写锁的事务锁定
    • US20100333096A1
    • 2010-12-30
    • US12492654
    • 2009-06-26
    • David DiceNir N. Shavit
    • David DiceNir N. Shavit
    • G06F9/46G06F12/14G06F12/00
    • G06F9/467G06F12/00G06F12/14G06F2209/523
    • A system and method for transactional memory using read-write locks is disclosed. Each of a plurality of shared memory areas is associated with a respective read-write lock, which includes a read-lock portion indicating whether any thread has a read-lock for read-only access to the memory area and a write-lock portion indicating whether any thread has a write-lock for write access to the memory area. A thread executing a group of memory access operations as an atomic transaction acquires the proper read or write permissions before performing a memory operation. To perform a read access, the thread attempts to obtain the corresponding read-lock and succeeds if no other thread holds a write-lock for the memory area. To perform a write-access, the thread attempts to obtain the corresponding write-lock and succeeds if no other thread holds a write-lock or read-lock for the memory area.
    • 公开了一种使用读写锁的事务性存储器的系统和方法。 多个共享存储器区域中的每一个与相应的读写锁定相关联,读锁定包括指示是否任何线程具有用于对存储区域的只读访问的读锁定的读锁定部分和指示 任何线程是否具有写入对存储区域的访问权限的写锁定。 作为原子事务执行一组内存访问操作的线程在执行内存操作之前获取正确的读取或写入权限。 要执行读取访问,线程尝试获取相应的读取锁定,并且如果没有其他线程持有内存区域的写入锁定,该线程将成功执行。 要执行写入访问,线程尝试获取相应的写入锁定,并且如果其他线程不存在用于存储器区域的写锁定或读锁定,则该线程成功执行。
    • 37. 发明授权
    • Fine-locked transactional memory
    • 精细锁定事务记忆
    • US07792805B2
    • 2010-09-07
    • US11443234
    • 2006-05-30
    • Nir N. ShavitDavid Dice
    • Nir N. ShavitDavid Dice
    • G06F17/30G06F17/00
    • G06F9/3004G06F9/30087G06F9/3834G06F9/467
    • A method comprises associating a plurality of locks with a data object accessed concurrently by a plurality of threads, where each lock corresponds to a respective partition of the object. The method includes using a first non-blocking transaction (such as a Hardware Transactional-Memory (HTM) transaction) to attempt to complete a programmer-specified transaction. The first non-blocking transaction may access one or more of the locks but may not actually acquire any of the locks. In response to an indication that the first non-blocking transaction failed to complete, the method may include acquiring a set of locks in another non-blocking transaction, where the set of locks corresponds to a set of partitions expected to be accessed in the programmer-specified transaction. If the set of locks is acquired, the method may include performing the memory access operations of the programmer-specified transaction, and releasing the set of locks.
    • 一种方法包括将多个锁与多个线程同时访问的数据对象相关联,其中每个锁对应于对象的相应分区。 该方法包括使用第一非阻塞事务(例如硬件事务存储器(HTM)事务)来尝试完成编程器指定的事务。 第一个非阻塞事务可以访问一个或多个锁,但实际上可能不会获取任何锁。 响应于第一非阻塞事务未能完成的指示,该方法可以包括获取另一非阻塞事务中的一组锁,其中该组锁对应于预期在该程序器中被访问的一组分区 指定交易。 如果获取了一组锁,则该方法可以包括执行程序员指定的事务的存储器访问操作,以及释放一组锁。
    • 38. 发明申请
    • System and Method for Transactional Locking Using Reader-Lists
    • 使用读者列表进行事务锁定的系统和方法
    • US20100174875A1
    • 2010-07-08
    • US12350792
    • 2009-01-08
    • David DiceNir N. Shavit
    • David DiceNir N. Shavit
    • G06F12/00
    • G06F9/52
    • In traditional transactional locking systems, such as TLRW, threads may frequently update lock metadata, causing system performance degradation. A system and method for implementing transactional locking using reader-lists (TLRL) may associate a respective reader-list with each stripe of data in a shared memory system. Before reading a given stripe as part of a transaction, a thread may add itself to the stripe's reader-list, if the thread is not already on the reader-list. A thread may leave itself on a reader-list after finishing the transaction. Before a thread modifies a stripe, the modifying thread may acquire a write-lock for the stripe. The writer thread may indicate to each reader thread on the stripe's reader-list that if the reader thread is executing a transaction, the reader thread should abort. The indication may include setting an invalidation flag for the reader. The writer thread may clear the reader-list of a stripe it modified.
    • 在传统的事务锁定系统(如TLRW)中,线程可能会频繁更新锁元数据,导致系统性能下降。 用于使用读取器列表(TLRL)实现事务锁定的系统和方法可将相应的读取器列表与共享存储器系统中的每条数据条相关联。 在作为事务的一部分读取给定的条带之前,线程可能会将自身添加到条带的读取器列表中,如果该线程尚未在读取器列表中。 完成交易后,线程可能会在读取器列表上留下。 在线程修改条带之前,修改线程可以获取条带的写锁定。 作者线程可能会在条形码读取器列表上向每个读取器线程指示如果读取器线程正在执行事务,则读取器线程应该中止。 该指示可以包括设置读取器的无效标志。 作者线程可以清除其修改的条带的阅读器列表。
    • 39. 发明申请
    • Optimistic Semi-Static Transactional Memory Implementations
    • 乐观的半静态事务内存实现
    • US20090172327A1
    • 2009-07-02
    • US11967395
    • 2007-12-31
    • Nir N. ShavitDavid Dice
    • Nir N. ShavitDavid Dice
    • G06F12/14G06F11/14G06F9/46
    • G06F9/526G06F9/466G06F2209/521G06F2209/523
    • A lock-based software transactional memory (STM) implementation may determine whether a transaction's write-set is static (e.g., known in advance not to change). If so, and if the read-set is not static, the STM implementation may execute, or attempt to execute, the transaction as a semi-static transaction. A semi-static transaction may involve obtaining, possibly after incrementing, a reference version value against which to subsequently validate that memory locations, such as read-set locations, have not been modified concurrently with the semi-static transaction. The read-set locations may be validated while locks are held for the locations to be written (e.g., the write-set locations). After committing the modifications to the write-set locations and as part of releasing the locks, versioned write-locks associated with the write-set locations may be updated to reflect the previously obtained, or newly incremented, reference version value.
    • 基于锁的软件事务存储器(STM)实现可以确定事务的写入组是否是静态的(例如,事先知道不会改变)。 如果是这样,并且如果读取集不是静态的,则STM实现可以作为半静态事务来执行或尝试执行该事务。 半静态事务可能包括获得(可能在递增之后)参考版本值,随后验证该存储器位置(诸如读取位置)尚未与半静态事务同时修改。 在为要写入的位置(例如,写入位置)保持锁定的同时可以验证读取位置。 在对写入位置进行修改之后并且作为释放锁的一部分,可以更新与写入位置相关联的版本化的写锁定以反映先前获得的或新增加的参考版本值。
    • 40. 发明授权
    • Efficient non-blocking K-compare-single-swap operation
    • 高效无阻塞K比较 - 单互换操作
    • US09135178B2
    • 2015-09-15
    • US13543267
    • 2012-07-06
    • Nir N. ShavitMark S. MoirVictor M. Luchangco
    • Nir N. ShavitMark S. MoirVictor M. Luchangco
    • G06F9/46G06F12/00G06F13/00G06F13/28G06F12/08G06F9/30G06F9/38G06F9/52
    • G06F12/0844G06F9/30G06F9/3004G06F9/38G06F9/466G06F9/52G06F12/00G06F12/08G06F12/0815G06F12/084G06F12/0842G06F12/0846Y10S707/99942
    • The design of nonblocking linked data structures using single-location synchronization primitives such as compare-and-swap (CAS) is a complex affair that often requires severe restrictions on the way pointers are used. One way to address this problem is to provide stronger synchronization operations, for example, ones that atomically modify one memory location while simultaneously verifying the contents of others. We provide a simple and highly efficient nonblocking implementation of such an operation: an atomic k-word-compare single-swap operation (KCSS). Our implementation is obstruction-free. As a result, it is highly efficient in the uncontended case and relies on contention management mechanisms in the contended cases. It allows linked data structure manipulation without the complexity and restrictions of other solutions. Additionally, as a building block of some implementations of our techniques, we have developed the first nonblocking software implementation of load-linked/store-conditional that does not severely restrict word size.
    • 使用单一位置同步原语(例如比较和交换(CAS))的非阻塞链接数据结构的设计是一种复杂的事情,通常需要对指针使用方式的严格限制。 解决这个问题的一个方法是提供更强大的同步操作,例如,在同时验证其他内容的同时原子地修改一个存储器位置的同步操作。 我们提供了这样一个操作的简单而高效的非阻塞实现:原子k字比较单交换操作(KCSS)。 我们的实施是无障碍的。 因此,在无争议的情况下是高效的,并且依赖于竞争案件中的争用管理机制。 它允许链接的数据结构操作,而不需要其他解决方案的复杂性和限制。 此外,作为我们技术的一些实现的构建块,我们开发了第一个不会严重限制字大小的无负载连接/存储条件的非阻塞软件实现。