会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 21. 发明授权
    • Local allocation buffers for parallel garbage collection
    • 用于并行垃圾收集的本地分配缓冲区
    • US06826583B1
    • 2004-11-30
    • US09697228
    • 2000-10-25
    • Christine H. FloodDavid L. DetlefsAlexander T. Garthwaite
    • Christine H. FloodDavid L. DetlefsAlexander T. Garthwaite
    • G06F1730
    • G06F12/0269G06F12/0276Y10S707/99957
    • A multiprocessor, multiprogram, stop-the-world garbage collection program is described. The system initially over partitions the root sources, and then iteratively employs static and dynamic work balancing. Garbage collection threads compete dynamically for the initial partitions. Work stealing double-ended queues, where contention is reduced, are described to provide dynamic load balancing among the threads. Contention is resolved by atomic instructions. The heap is broken into a young and an old generation where semi-space copying employing local allocation buffers is used to collect the reachable objects in the young section, and for promoting objects from the young to the old generations, and parallel mark-compacting is used for collecting the old generation. Efficiency of collection is enhanced by use of card tables and linking objects, and overflow conditions are efficiently handled by linking using class pointers. The garbage collection termination using a global status word is employed.
    • 描述了一个多处理器,多路程序,世界垃圾收集程序。 系统最初对根源进行分区,然后迭代地采用静态和动态的工作平衡。 垃圾收集线程可以动态竞争初始分区。 被描述为在线程之间提供动态负载平衡的工作窃取双端队列,其中争用减少。 竞争由原子指令解决。 堆被打破成一个年轻的老一代,使用本地分配缓冲区的半空间复制来收集年轻部分中可达到的对象,并且用于促进从年轻到老一代的对象,并行标记压缩是 用于收集老一代。 通过使用卡表和链接对象来增强收集的效率,并且通过使用类指针链接来有效地处理溢出条件。 使用全局状态字的垃圾回收终止。
    • 23. 发明授权
    • Type and length abstraction for data types
    • 数据类型的类型和长度抽象
    • US08959501B2
    • 2015-02-17
    • US12968148
    • 2010-12-14
    • Carol Thompson EidtDavid L. Detlefs
    • Carol Thompson EidtDavid L. Detlefs
    • G06F9/45G06F9/44G06F9/455
    • G06F8/20G06F9/45516
    • Embodiments are directed to implementing a generic SIMD data type in software code. In an embodiment, a computer system accesses a portion of software code that includes an algorithm with a generic SIMD data type that includes a variable number of elements. The algorithm with the generic SIMD data type is to be processed by a specific processor that includes various specific hardware features. The computer system determines at runtime a portion of customized processor-specific code that is to be used with the specified processor based on the generic SIMD data type, wherein the runtime determination resolves the number of elements that are to be used with the specified processor. The computer system also processes the software code including the algorithm with the generic SIMD data type using the determined, customized processor-specific code.
    • 实施例涉及在软件代码中实现通用SIMD数据类型。 在一个实施例中,计算机系统访问包括具有包括可变数目的元素的通用SIMD数据类型的算法的软件代码的一部分。 具有通用SIMD数据类型的算法将由包括各种特定硬件特征的特定处理器处理。 计算机系统在运行时确定将基于通用SIMD数据类型与指定处理器一起使用的定制处理器特定代码的一部分,其中,运行时确定解决将与指定处理器一起使用的元素的数量。 计算机系统还使用确定的定制的处理器特定代码来处理包括具有通用SIMD数据类型的算法的软件代码。
    • 25. 发明申请
    • READER/WRITER LOCK WITH REDUCED CACHE CONTENTION
    • 读/写锁定与减少缓存的内容
    • US20100275209A1
    • 2010-10-28
    • US12430903
    • 2009-04-28
    • David L. Detlefs
    • David L. Detlefs
    • G06F9/46G06F12/00G06F12/08
    • G06F9/526G06F12/0842G06F2209/523
    • A scalable locking system is described herein that allows processors to access shared data with reduced cache contention to increase parallelism and scalability. The system provides a reader/writer lock implementation that uses randomization and spends extra space to spread possible contention over multiple cache lines. The system avoids updates to a single shared location in acquiring/releasing a read lock by spreading the lock count over multiple sub-counts in multiple cache lines, and hashing thread identifiers to those cache lines. Carefully crafted invariants allow the use of partially lock-free code in the common path of acquisition and release of a read lock. A careful protocol allows the system to reuse space allocated for a read lock for subsequent locking to avoid frequent reallocating of read lock data structures. The system also provides fairness for write-locking threads and uses object pooling techniques to make reduce costs associated with the lock data structures.
    • 这里描述了可扩展的锁定系统,其允许处理器以减少的高速缓存争用来访问共享数据,以增加并行性和可扩展性。 该系统提供使用随机化的读/写器锁实现,并花费额外的空间来扩展多个缓存线上的可能争用。 该系统通过在多个高速缓存行中扩展锁定计数超过多个子计数,并且将线程标识符散列到这些高速缓存行中,从而避免在获取/释放读取锁定时对单个共享位置进行更新。 精心制作的不变量允许在获取和释放读锁的通用路径中使用部分无锁代码。 一个谨慎的协议允许系统重用分配给读锁的空间,以便后续的锁定,以避免频繁重新分配读锁定数据结构。 该系统还为写锁线程提供了公平性,并使用对象池技术来降低与锁数据结构相关的成本。
    • 26. 发明授权
    • Code preparation technique employing lock-free pointer operations
    • 采用无锁指针操作的代码准备技术
    • US07805467B2
    • 2010-09-28
    • US11343678
    • 2006-01-30
    • Mark S. MoirDavid L. DetlefsSimon DohertyMaurice P. HerlihyVictor M. LuchangcoPaul A. MartinGuy L. Steele, Jr.
    • Mark S. MoirDavid L. DetlefsSimon DohertyMaurice P. HerlihyVictor M. LuchangcoPaul A. MartinGuy L. Steele, Jr.
    • G06F12/00
    • G06F12/0261G06F9/46G06F9/526
    • A methodology has been discovered for transforming garbage collection-dependent algorithms, shared object implementations and/or concurrent software mechanisms into a form that does not presume the existence of an independent, or execution environment provided, garbage collector. Algorithms, shared object implementations and/or mechanisms designed or transformed using techniques described herein provide explicit reclamation of storage using lock-free pointer operations. Transformations can be applied to lock-free algorithms and shared object implementations and preserve lock-freedom of such algorithms and implementations. As a result, existing and future lock-free algorithms and shared object implementations that depend on a garbage-collected execution environment can be exploited in environments that do not provide garbage collection. Furthermore, algorithms and shared object implementations that employ explicit reclamation of storage using lock-free pointer operations such as described herein may be employed in the implementation of a garbage collector itself.
    • 已经发现了一种方法,用于将垃圾回收依赖算法,共享对象实现和/或并发软件机制转换为不假定存在独立或执行环境(垃圾收集器)的形式。 使用本文描述的技术设计或变换的算法,共享对象实现和/或机制使用无锁指针操作来提供存储的显式回收。 转换可以应用于无锁算法和共享对象实现,并保持这种算法和实现的锁定自由度。 因此,依赖于垃圾回收执行环境的现有和将来的无锁算法和共享对象实现可以在不提供垃圾回收的环境中被利用。 此外,使用如本文所述的无锁定指针操作的使用显式回收存储的算法和共享对象实现可以用于实现垃圾收集器本身。
    • 28. 发明授权
    • Heuristic-based resumption of fully-young garbage collection intervals
    • 基于启发式的恢复全年垃圾收集间隔
    • US07779054B1
    • 2010-08-17
    • US11239992
    • 2005-09-30
    • Antonios PrintezisDavid L. Detlefs
    • Antonios PrintezisDavid L. Detlefs
    • G06F12/00G06F17/30
    • G06F12/0276
    • A method for heuristic-based resumption of fully-young garbage collection intervals comprises allocating memory to objects within one or more regions of a heap partitioned into a plurality of regions, and classifying each heap region as belonging to a category of a plurality of categories based at least in part on the recency of allocation of objects within the regions. The method may further comprise determining, using a garbage collection efficiency metric, whether regions belonging to a first category of the plurality of categories are to be excluded from a collection set of a particular garbage collection interval on the heap. In response to determining that the first category of regions is to be excluded, the method may comprise selecting a collection set that does not include any regions of the first category, and reclaiming memory from that collection set.
    • 一种用于基于启发式恢复全年垃圾收集间隔的方法包括:将存储器分配给划分成多个区域的堆的一个或多个区域内的对象,并将每个堆区域分类为属于多个类别的类别 至少部分地是区域内对象的分配情况。 该方法还可以包括:使用垃圾收集效率度量来确定属于多个类别的第一类别的区域是否将从堆上的特定垃圾收集间隔的集合集中排除。 响应于确定要排除第一类别的区域,该方法可以包括选择不包括第一类别的任何区域的收集集合,以及从该集合集合回收存储器。