Software implemented method for thread-privatizing user-specified global
storage objects in parallel computer programs via program transformation
    1.
    发明授权
    Software implemented method for thread-privatizing user-specified global storage objects in parallel computer programs via program transformation 失效
    通过程序转换,在并行计算机程序中线程私有化用户指定的全局存储对象的软件实现方法

    公开(公告)号:US5812852A

    公开(公告)日:1998-09-22

    申请号:US749038

    申请日:1996-11-14

    IPC分类号: G06F9/45 G06F7/00

    CPC分类号: G06F8/453

    摘要: A software-implemented method for dynamically and statically privatizing global storage objects in parallel computer programs written in various programming languages. Privatization is accomplished via transformation of these parallel computer programs under the control of a general purpose computer. The privatization method is system-independent and is portable across various computer architectures and platforms since privatization is accomplished via program transformation; thus, the method does not depend on the features of a particular hardware architecture or configuration, operating system, compiler, linker, or thread environment. The inputs to the method are a parallel computer program, comprising parallel regions of execution and global storage objects, and a privatization specification describing the global storage objects to be privatized and the particular parallel regions, and manner, in which each of these objects is to be privatized. The privatization method itself translates the input parallel computer program into a second parallel computer program, according to the privatization specification, such that the second parallel computer program, when executed, accesses the specified global storage objects in a privatized manner, without requiring any explicit programmer modifications to the input parallel computer program.

    摘要翻译: 一种软件实现的方法,用于以各种编程语言编写的并行计算机程序中的全局存储对象进行动态和静态私有化。 私有化是通过在通用计算机的控制下对这些并行计算机程序进行转换而实现的。 私有化方法是独立于系统的,可以通过各种计算机体系结构和平台进行移植,因为私有化是通过程序转换完成的; 因此,该方法不依赖于特定硬件架构或配置,操作系统,编译器,链接器或线程环境的特征。 该方法的输入是并行计算机程序,其包括并行执行区域和全局存储对象,以及描述要被私有化的全局存储对象的私有化规范以及这些对象中的每个对象的特定并行区域和方式 私有化。 私有化方法本身根据私有化规范将输入并行计算机程序转换成第二并行计算机程序,使得第二并行计算机程序在执行时以私有化方式访问指定的全局存储对象,而不需要任何明确的编程器 对输入并行计算机程序的修改。

    Method and apparatus for an atomic operation in a parallel computing environment
    2.
    发明授权
    Method and apparatus for an atomic operation in a parallel computing environment 有权
    并行计算环境中原子操作的方法和装置

    公开(公告)号:US06792599B2

    公开(公告)日:2004-09-14

    申请号:US09977798

    申请日:2001-10-15

    IPC分类号: G06F945

    摘要: A method and apparatus for a atomic operation is described. A method comprises receiving a first program unit in a parallel computing environment, the first program unit including a memory update operation to be performed atomically, the memory update operation having an operand, the operand being of a data-type and of a data size, and translating the first program unit into a second program unit, the second program unit to associate the memory update operation with a set of one or more low-level instructions upon determining that the data size of the operand is supported by the set of low-level instructions, the set of low-level instructions to ensure atomicity of the memory update operation.

    摘要翻译: 描述了用于原子操作的方法和装置。 一种方法包括在并行计算环境中接收第一程序单元,所述第一程序单元包括要原子执行的存储器更新操作,具有操作数的存储器更新操作,所述操作数是数据类型和数据大小, 以及将所述第一程序单元转换为第二程序单元,所述第二程序单元在确定所述操作数的所述数据大小由所述一组低级指令支持时将所述存储器更新操作与一组一个或多个低级指令相关联, 级别指令,低级指令集,以确保内存更新操作的原子性。

    Software implemented method for automatically validating the correctness of parallel computer programs
    3.
    发明授权
    Software implemented method for automatically validating the correctness of parallel computer programs 失效
    用于自动验证并行计算机程序正确性的软件实现方法

    公开(公告)号:US06286130B1

    公开(公告)日:2001-09-04

    申请号:US08906281

    申请日:1997-08-05

    IPC分类号: G06F944

    CPC分类号: G06F8/10 G06F8/51

    摘要: A software-implemented method for validating the correctness of parallel computer programs, written in various programming languages, with respect to these programs' corresponding sequential computer programs. Validation detects errors that could cause parallel computer programs to behave incorrectly or to produce incorrect results, and is accomplished by transforming these parallel computer programs under the control of a general purpose computer and sequentially executing the resulting transformed programs. The validation method is system-independent and is portable across various computer architectures and platforms since validation is accomplished via program transformation; thus, the method does not depend on the features of a particular hardware architecture or configuration, operating system, compiler, linker, or thread environment. The input to the validation method is a parallel computer program. The parallel computer program results from annotating its corresponding sequential computer program with a parallelism specification; the annotations describe constraints in the sequential program to be relaxed to allow the exploitation of parallelism. Validation is accomplished by detecting semantic inconsistencies between the parallel computer program and its corresponding sequential computer program. The validation method translates the input parallel computer program into a second, sequential computer program such that the second sequential computer program, when executed, detects and reports the semantic inconsistencies between the parallel computer program and its corresponding sequential computer program.

    摘要翻译: 一种用于验证以各种编程语言编写的并行计算机程序的正确性的软件实现方法,用于这些程序相应的顺序计算机程序。 验证检测可能导致并行计算机程序运行不正确或产生不正确结果的错误,并通过在通用计算机的控制下转换这些并行计算机程序并顺序执行所生成的转换程序来实现。 验证方法是独立于系统的,可以通过各种计算机体系结构和平台进行移植,因为验证是通过程序转换完成的; 因此,该方法不依赖于特定硬件架构或配置,操作系统,编译器,链接器或线程环境的特征。 验证方法的输入是并行计算机程序。 并行计算机程序通过使用并行性规范来注释其相应的顺序计算机程序; 注释描述了顺序程序中的约束,以便放宽以允许利用并行性。 验证是通过检测并行计算机程序与其对应的顺序计算机程序之间的语义不一致来实现的。 验证方法将输入并行计算机程序转换为第二顺序计算机程序,使得第二顺序计算机程序在执行时检测并报告并行计算机程序与其对应的顺序计算机程序之间的语义不一致。

    Structured exception handling for application-managed thread units
    6.
    发明申请
    Structured exception handling for application-managed thread units 有权
    应用程序管理的线程单元的结构化异常处理

    公开(公告)号:US20080148259A1

    公开(公告)日:2008-06-19

    申请号:US11642384

    申请日:2006-12-19

    IPC分类号: G06F9/46

    摘要: Methods, data structures, instructions, and techniques for structured exception handling for user-level threads in a multi-threading system are provided. Registered filter routines may be dispatched to a thread unit not managed by the operating system (OS). The dispatch may occur by allowing an OS-managed thread unit (proxy) to invoke the OS-provided structured exception handling service (including dispatcher) on behalf of the sequestered thread unit. Alternatively, an OS-managed thread unit may include dispatch code and may, without OS intervention, dispatch the filter routine to the sequestered thread unit. Other embodiments are also described and claimed.

    摘要翻译: 提供了用于多线程系统中的用户级线程的结构化异常处理的方法,数据结构,指令和技术。 注册的过滤器例程可以被分派到不由操作系统(OS)管理的线程单元。 调度可以通过允许OS管理的线程单元(代理)代表被隔离的线程单元来调用OS提供的结构化异常处理服务(包括调度程序)。 或者,OS管理的线程单元可以包括调度代码,并且可以在没有OS干预的情况下将过滤器例程分派到隔离的线程单元。 还描述和要求保护其他实施例。

    Structured exception handling for application-managed thread units
    7.
    发明授权
    Structured exception handling for application-managed thread units 有权
    应用程序管理的线程单元的结构化异常处理

    公开(公告)号:US08689215B2

    公开(公告)日:2014-04-01

    申请号:US11642384

    申请日:2006-12-19

    IPC分类号: G06F9/46

    摘要: Methods, data structures, instructions, and techniques for structured exception handling for user-level threads in a multi-threading system are provided. Registered filter routines may be dispatched to a thread unit not managed by the operating system (OS). The dispatch may occur by allowing an OS-managed thread unit (proxy) to invoke the OS-provided structured exception handling service (including dispatcher) on behalf of the sequestered thread unit. Alternatively, an OS-managed thread unit may include dispatch code and may, without OS intervention, dispatch the filter routine to the sequestered thread unit. Other embodiments are also described and claimed.

    摘要翻译: 提供了用于多线程系统中的用户级线程的结构化异常处理的方法,数据结构,指令和技术。 注册的过滤器例程可以被分派到不由操作系统(OS)管理的线程单元。 调度可以通过允许OS管理的线程单元(代理)代表被隔离的线程单元来调用OS提供的结构化异常处理服务(包括调度程序)。 或者,OS管理的线程单元可以包括调度代码,并且可以在没有OS干预的情况下将过滤器例程分派到隔离的线程单元。 还描述和要求保护其他实施例。