会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Technologies for efficient synchronization barriers with work stealing support
    • 技术的高效同步障碍与工作窃取支持
    • US09348658B1
    • 2016-05-24
    • US14568831
    • 2014-12-12
    • Arch D. RobisonAlejandro Duran Gonzalez
    • Arch D. RobisonAlejandro Duran Gonzalez
    • G06F9/46G06F9/52
    • G06F9/522G06F9/4856
    • Technologies for multithreaded synchronization and work stealing include a computing device executing two or more threads in a thread team. A thread executes all of the tasks in its task queue and then exchanges its associated task stolen flag value with false and stores that value in a temporary flag. Subsequently, the thread enters a basic synchronization barrier. The computing device performs a logical-OR reduction over the temporary flags of the thread team to produce a reduction value. While waiting for other threads of the thread team to enter the barrier, the thread may steal a task from a victim thread and set the task stolen flag of the victim thread to true. After exiting the basic synchronization barrier, if the reduction value is true, the thread repeats exchanging the task stolen flag value and entering the basic synchronization barrier. Other embodiments are described and claimed.
    • 用于多线程同步和工作窃取的技术包括在线程团队中执行两个或多个线程的计算设备。 线程执行其任务队列中的所有任务,然后将其关联的任务被盗标志值与false进行交换,并将该值存储在临时标志中。 随后,线程进入基本同步屏障。 计算设备对线程团队的临时标志执行逻辑或减少以产生减小值。 在等待线程团队的其他线程进入障碍时,线程可能从受害者线程中窃取任务,并将受害者线程的任务被盗标志设置为true。 退出基本同步屏障后,如果缩减值为真,则线程重复交换任务被盗标志值并进入基本同步屏障。 描述和要求保护其他实施例。
    • 2. 发明申请
    • TECHNOLOGIES FOR EFFICIENT SYNCHRONIZATION BARRIERS WITH WORK STEALING SUPPORT
    • 高效同步障碍技术与工作保障支持技术
    • US20160170812A1
    • 2016-06-16
    • US14568831
    • 2014-12-12
    • Arch D. RobisonAlejandro Duran Gonzalez
    • Arch D. RobisonAlejandro Duran Gonzalez
    • G06F9/52G06F9/46
    • G06F9/522G06F9/4856
    • Technologies for multithreaded synchronization and work stealing include a computing device executing two or more threads in a thread team. A thread executes all of the tasks in its task queue and then exchanges its associated task stolen flag value with false and stores that value in a temporary flag. Subsequently, the thread enters a basic synchronization barrier. The computing device performs a logical-OR reduction over the temporary flags of the thread team to produce a reduction value. While waiting for other threads of the thread team to enter the barrier, the thread may steal a task from a victim thread and set the task stolen flag of the victim thread to true. After exiting the basic synchronization barrier, if the reduction value is true, the thread repeats exchanging the task stolen flag value and entering the basic synchronization barrier. Other embodiments are described and claimed.
    • 用于多线程同步和工作窃取的技术包括在线程团队中执行两个或多个线程的计算设备。 线程执行其任务队列中的所有任务,然后将其关联的任务被盗标志值与false进行交换,并将该值存储在临时标志中。 随后,线程进入基本同步屏障。 计算设备对线程团队的临时标志执行逻辑或减少以产生减小值。 在等待线程团队的其他线程进入障碍时,线程可能从受害者线程中窃取任务,并将受害者线程的任务被盗标志设置为true。 退出基本同步屏障后,如果缩减值为真,则线程重复交换任务被盗标志值并进入基本同步屏障。 描述和要求保护其他实施例。
    • 3. 发明授权
    • Data-flow method of analyzing definitions and uses of L values in programs
    • 分析程序中L值的定义和使用的数据流方法
    • US06370685B1
    • 2002-04-09
    • US09226804
    • 1999-01-06
    • Arch D. Robison
    • Arch D. Robison
    • G06F945
    • G06F8/433
    • A method for analyzing and optimizing programs that contain pointers or aggregates or both, such as found in the languages C, C++, FORTRAN-90, Ada, and Java is disclosed. The program is represented as a control flow graph. The method applies to storage locations (lvalues) computed by instructions in a program. The data flow analysis distinguishes when a definition might reach a use, and if so, whether the expression defining the address of the defined lvalue may have changed. The method ignores changes to the addressing expression where a definition does not reach. The lattice values and functions employed by the analysis are compactly represented as packed bit vectors, and operated upon in a parallel bitwise fashion. Despite the generality of definitions that define lvalues specified by expressions, the present invention computes the reachability of the definitions with a single data-flow framework that requires only one fixed-point solution per data-flow problem.
    • 公开了一种用于分析和优化包含指针或聚合或两者的程序的方法,例如在C,C ++,FORTRAN-90,Ada和Java语言中找到的方法。 该程序表示为控制流程图。 该方法适用于由程序中的指令计算的存储位置(l值)。 数据流分析可以区分定义何时达成使用,如果是,则定义定义的左值的地址的表达式是否可能已更改。 该方法忽略对定义不到达的寻址表达式的更改。 分析中使用的晶格值和函数被紧密地表示为打包位向量,并且以并行的方式操作。 尽管定义了由表达式指定的左值的定义的一般性,但是本发明使用仅需要每个数据流问题的一个定点解决方案的单个数据流框架来计算定义的可达性。
    • 4. 发明授权
    • Fair scalable reader-writer mutual exclusion
    • 公平可扩展的读写器互斥
    • US08707324B2
    • 2014-04-22
    • US13405772
    • 2012-02-27
    • Alexey KukanovArch D. Robison
    • Alexey KukanovArch D. Robison
    • G06F9/46G06F7/00
    • G06F9/526
    • Implementing fair scalable reader writer mutual exclusion for access to a critical section by a plurality of processing threads is accomplished by creating a first queue node for a first thread, the first queue node representing a request by the first thread to access the critical section; setting at least one pointer within a queue to point to the first queue node, the queue representing at least one thread desiring access to the critical section; waiting until a condition is met, the condition comprising the first queue node having no preceding write requests as indicated by at least one predecessor queue node on the queue; permitting the first thread to enter the critical section in response to the condition being met; and causing the first thread to release a spin lock, the spin lock acquired by a second thread of the plurality of processing threads.
    • 通过为第一线程创建第一队列节点来实现用于通过多个处理线程访问关键部分的公平可扩展读取器写入器互斥,第一队列节点表示第一线程访问关键部分的请求; 将队列中的至少一个指针设置为指向第一队列节点,所述队列表示希望访问关键部分的至少一个线程; 等待直到满足条件,所述条件包括由队列上的至少一个前导队列节点指示的没有先前写入请求的第一队列节点; 允许第一线程响应于满足的条件进入临界区; 并且使所述第一螺纹释放旋转锁定,所述自旋锁由所述多个处理线程中的第二线程获取。
    • 6. 发明申请
    • TECHNOLOGIES FOR FAST SYNCHRONIZATION BARRIERS FOR MANY-CORE PROCESSING
    • 用于多核处理的快速同步障碍的技术
    • US20160170813A1
    • 2016-06-16
    • US14568890
    • 2014-12-12
    • Arch D. Robison
    • Arch D. Robison
    • G06F9/52
    • G06F9/522
    • Technologies for multithreaded synchronization including a computing device having a many-core processor. Each processor core includes multiple hardware threads. A hardware thread executed by a processor core enters a synchronization barrier and synchronizes with other hardware threads executed by the same processor core. After synchronization, the hardware thread synchronizes with a source hardware thread that may be executed by a different processor core. The source hardware thread may be assigned using an n-way shuffle of all hardware threads, where n is the number of hardware threads per processor core. The hardware thread resynchronizes with the other hardware threads executed by the same processor core. The hardware thread alternately synchronizes with the source hardware thread and the other hardware threads executed by the same processor core until all hardware threads have synchronized. The computing device may reduce a Boolean value over the synchronization barrier. Other embodiments are described and claimed.
    • 包括具有多核处理器的计算设备的多线程同步技术。 每个处理器核心包括多个硬件线程。 由处理器核心执行的硬件线程进入同步屏障,并与同一处理器核心执行的其他硬件线程同步。 同步后,硬件线程与可能由不同处理器核心执行的源硬件线程同步。 源硬件线程可以使用所有硬件线程的n次shuffle进行分配,其中n是每个处理器核心的硬件线程数。 硬件线程与同一处理器核心执行的其他硬件线程重新同步。 硬件线程与源硬件线程和由相同处理器核心执行的其他硬件线程交替同步,直到所有硬件线程都已同步。 计算设备可以减少超过同步屏障的布尔值。 描述和要求保护其他实施例。
    • 8. 发明申请
    • ADVANCE TRIP COUNT COMPUTATION IN A CONCURRENT PROCESSING ENVIRONMENT
    • 同步处理环境中的提前计数计算
    • US20090248776A1
    • 2009-10-01
    • US12057287
    • 2008-03-27
    • Arch D. Robison
    • Arch D. Robison
    • G06F7/72
    • G06F8/4441
    • A method for computing a trip count for a loop in advance of the execution of the loop is provided. The method comprises identifying the elements of a loop; returning infinity, if a first index value satisfies a first condition and that a first step size is equal to zero; modifying the first index value and the first step size, if the first index value satisfies the first condition, when the first step size is not equal to zero, and the first step size is greater than half of a first modulus; returning the result computed by applying a formula that divides the difference between a first condition value and the first index value by the first step size and rounds up to a next integer when there is a non-zero remainder; and returning a second trip count for a second loop based on the elements of the first loop.
    • 提供了一种用于在执行循环之前计算循环的跳闸计数的方法。 该方法包括识别循环的元素; 如果第一索引值满足第一条件并且第一步长等于零则返回无穷大; 如果第一指标值满足第一条件,第一步长不等于零,第一步长大于第一模数的一半,则修改第一索引值和第一步长; 通过应用将第一条件值和第一索引值之间的差分除以第一步长的公式返回所计算的结果,并且当存在非零余数时向上舍入到下一个整数; 并且基于第一循环的元素返回第二循环的第二行程计数。
    • 9. 发明授权
    • Method of analyzing definitions and uses in programs with pointers and
aggregates in an optimizing compiler
    • 在优化编译器中分析指针和聚合的程序中的定义和用法的分析方法
    • US5790866A
    • 1998-08-04
    • US388271
    • 1995-02-13
    • Arch D. Robison
    • Arch D. Robison
    • G06F9/45
    • G06F8/443G06F8/433G06F8/434G06F8/4435
    • A method for analyzing and optimizing programs that contain pointers and/or aggregates, such as found in the languages C, C++, FORTRAN-90, and Ada. The method applies to storage locations (lvalues) and values (rvalues) computed by expressions. Data-flow analysis is performed on two levels. The bottom level determines when an rvalue computed at one point in a program is the same if recomputed at a later point in the program. The top level computes reaching definitions, based upon information provided by the bottom level. Each destination lvalue may be designated by an arbitrary rvalue (pointer-expression). Splitting of data-flow analysis into two levels allows computation of reaching definitions that involve assignments to lvalues with designating rvalues that are arbitrary expressions. Furthermore, for aggregate lvalues, which themselves may contain components that are pointers to other aggregates, data-flow analysis is done on a component-by-component basis. Data-flow analysis is then used to forward-substitute definitions and remove "dead" assignments.
    • 一种用于分析和优化包含指针和/或聚合的程序的方法,例如以C,C ++,FORTRAN-90和Ad​​a语言。 该方法适用于由表达式计算的存储位置(lvalues)和值(rvalue)。 数据流分析在两个层次上进行。 底层决定了在程序中的某一点计算出的r值在程序中的稍后重新计算时是否相同。 顶层根据底层提供的信息计算达成的定义。 每个目标左值可以由任意的rvalue(指针表达式)指定。 将数据流分析分为两个层次,可以计算涉及到左值赋值的定义,并指定任意表达式的值。 此外,对于本身可能包含指向其他聚合的指针的聚合值,数据流分析是在逐个组件的基础上进行的。 然后使用数据流分析来转发替换定义并删除“死”分配。