System and Method for Promoting Reader Groups for Lock Cohorting

    公开(公告)号:US20220100587A1

    公开(公告)日:2022-03-31

    申请号:US17547956

    申请日:2021-12-10

    Abstract: NUMA-aware reader-writer locks may leverage lock cohorting techniques that introduce a synthetic level into the lock hierarchy (e.g., one whose nodes do not correspond to the system topology). The synthetic level may include a global reader lock and a global writer lock. A writer thread may acquire a node-level writer lock, then the global writer lock, and then the top-level lock, after which it may access a critical section protected by the lock. The writer may release the lock (if an upper bound on consecutive writers has been met), or may pass the lock to another writer (on the same node or a different node, according to a fairness policy). A reader may acquire the global reader lock (whether or not node-level reader locks are present), and then the top-level lock. However, readers may only hold these locks long enough to increment reader counts associated with them.

    SYSTEM AND METHOD FOR PROMOTING READER GROUPS FOR LOCK COHORTING

    公开(公告)号:US20200210249A1

    公开(公告)日:2020-07-02

    申请号:US16812165

    申请日:2020-03-06

    Abstract: NUMA-aware reader-writer locks may leverage lock cohorting techniques that introduce a synthetic level into the lock hierarchy (e.g., one whose nodes do not correspond to the system topology). The synthetic level may include a global reader lock and a global writer lock. A writer thread may acquire a node-level writer lock, then the global writer lock, and then the top-level lock, after which it may access a critical section protected by the lock. The writer may release the lock (if an upper bound on consecutive writers has been met), or may pass the lock to another writer (on the same node or a different node, according to a fairness policy). A reader may acquire the global reader lock (whether or not node-level reader locks are present), and then the top-level lock. However, readers may only hold these locks long enough to increment reader counts associated with them.

    Generic concurrency restriction
    16.
    发明授权

    公开(公告)号:US10565024B2

    公开(公告)日:2020-02-18

    申请号:US15298090

    申请日:2016-10-19

    Abstract: Generic Concurrency Restriction (GCR) may divide a set of threads waiting to acquire a lock into two sets: an active set currently able to contend for the lock, and a passive set waiting for an opportunity to join the active set and contend for the lock. The number of threads in the active set may be limited to a predefined maximum or even a single thread. Generic Concurrency Restriction may be implemented as a wrapper around an existing lock implementation. Generic Concurrency Restriction may, in some embodiments, be unfair (e.g., to some threads) over the short term, but may improve the overall throughput of the underlying multithreaded application via passivation of a portion of the waiting threads.

    System and Method for Promoting Reader Groups for Lock Cohorting

    公开(公告)号:US20170220474A1

    公开(公告)日:2017-08-03

    申请号:US15012505

    申请日:2016-02-01

    Abstract: NUMA-aware reader-writer locks may leverage lock cohorting techniques that introduce a synthetic level into the lock hierarchy (e.g., one whose nodes do not correspond to the system topology). The synthetic level may include a global reader lock and a global writer lock. A writer thread may acquire a node-level writer lock, then the global writer lock, and then the top-level lock, after which it may access a critical section protected by the lock. The writer may release the lock (if an upper bound on consecutive writers has been met), or may pass the lock to another writer (on the same node or a different node, according to a fairness policy). A reader may acquire the global reader lock (whether or not node-level reader locks are present), and then the top-level lock. However, readers may only hold these locks long enough to increment reader counts associated with them.

    System and method for implementing scalable contention-adaptive statistics counters
    19.
    发明授权
    System and method for implementing scalable contention-adaptive statistics counters 有权
    用于实现可扩展的争用自适应统计计数器的系统和方法

    公开(公告)号:US09183048B2

    公开(公告)日:2015-11-10

    申请号:US13722811

    申请日:2012-12-20

    CPC classification number: G06F9/4881 G06F9/52 G06F9/526

    Abstract: The systems and methods described herein may implement scalable statistics counters that are adaptive to the amount of contention for the counters. The counters may be accessible within transactions. Methods for determining whether or when to increment the counters in response to initiation of an increment operation and/or methods for updating the counters may be selected dependent on current, recent, or historical amounts of contention. Various contention management policies or retry conditions may be applied to select between multiple methods. One counter may include a precise counter portion that is incremented under low contention and a probabilistic counter portion that is updated under high contention. Amounts by which probabilistic counters are incremented may be contention-dependent. Another counter may include a node identifier portion that encourages consecutive increments by threads on a single node only when under contention. Another counter may be inflated in response to contention for the counter.

    Abstract translation: 本文描述的系统和方法可以实现可自适应于计数器的争用量的可伸缩统计计数器。 柜台可能在交易中可访问。 可以根据当前,最近或历史的争用量来选择用于响应于增量操作的启动来确定是否或何时增加计数器的方法和/或用于更新计数器的方法。 可以应用各种争用管理策略或重试条件来在多种方法之间进行选择。 一个计数器可以包括在低争用下递增的精确计数器部分和在高争用下更新的概率计数器部分。 概率计数器增加的金额可能是争用依赖的。 另一个计数器可以包括节点标识符部分,其仅在竞争时才鼓励单个节点上的线程的连续增量。 响应于柜台的争用,另一个柜台可能会膨胀。

    Systems and methods for adaptive integration of hardware and software lock elision techniques
    20.
    发明授权
    Systems and methods for adaptive integration of hardware and software lock elision techniques 有权
    硬件和软件锁定技术自适应集成的系统和方法

    公开(公告)号:US09183043B2

    公开(公告)日:2015-11-10

    申请号:US14254758

    申请日:2014-04-16

    Abstract: Particular techniques for improving the scalability of concurrent programs (e.g., lock-based applications) may be effective in some environments and for some workloads, but not others. The systems described herein may automatically choose appropriate ones of these techniques to apply when executing lock-based applications at runtime, based on observations of the application in the current environment and with the current workload. In one example, two techniques for improving lock scalability (e.g., transactional lock elision using hardware transactional memory, and optimistic software techniques) may be integrated together. A lightweight runtime library built for this purpose may adapt its approach to managing concurrency by dynamically selecting one or more of these techniques (at different times) during execution of a given application. In this Adaptive Lock Elision approach, the techniques may be selected (based on pluggable policies) at runtime to achieve good performance on different platforms and for different workloads.

    Abstract translation: 用于提高并发程序(例如基于锁的应用程序)的可扩展性的特殊技术在一些环境中以及对于一些工作负载而言可能是有效的,而不是其他工作负载。 基于当前环境中的应用和当前工作负载的观察,本文所述的系统可以自动选择在运行时执行基于锁的应用时应用的这些技术中适当的系统。 在一个示例中,可以集成两种用于提高锁可伸缩性的技术(例如,使用硬件事务存储器的事务锁定检测和乐观软件技术)。 为此目的而构建的轻量级运行时库可以通过在执行给定应用程序期间动态选择这些技术(在不同时间)中的一个或多个技术来调整其方法来管理并发性。 在这种自适应锁定Elision方法中,可以在运行时选择(基于可插拔策略)的技术,以在不同的平台和不同的工作负载下实现良好的性能。

Patent Agency Ranking