Interrupt mechanism for shared memory message passing
    1.
    发明授权
    Interrupt mechanism for shared memory message passing 失效
    共享内存消息传递的中断机制

    公开(公告)号:US06799317B1

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

    申请号:US09604310

    申请日:2000-06-27

    IPC分类号: G06F300

    CPC分类号: G06F9/544 G06F9/4812

    摘要: A method for transparently handling messages originating from local shared memory and from an external source. A device driver allows the local sender to identify and wake up a waiting receiver task thread, simulating a packet arrival hardware interrupt. Upon awakening, the receiver task thread examines both shared memory and hardware message queues. The method can use a software routine that simulates handling of an occurrence of a hardware interrupt. The method invokes a local notify system service module that passes a window number identifying a receiving task. The method invokes a wake thread module that passes awakens a thread associated with the window number, and examines the shared memory buffer for receipt of the local source message. The method then copies the local source message from the shared memory buffer to the receiving task.

    摘要翻译: 一种透明地处理源自本地共享内存和来自外部源的消息的方法。 设备驱动程序允许本地发送方识别和唤醒等待的接收者任务线程,模拟数据包到达硬件中断。 唤醒后,接收者任务线程检查共享内存和硬件消息队列。 该方法可以使用模拟处理硬件中断发生的软件程序。 该方法调用传递标识接收任务的窗口号的本地通知系统服务模块。 该方法调用唤醒线程模块,该模块通过唤醒与窗口号相关联的线程,并检查共享内存缓冲区以接收本地源消息。 该方法然后将本地源消息从共享内存缓冲区复制到接收任务。

    Method for implementing MPI-2 one sided communication
    2.
    发明授权
    Method for implementing MPI-2 one sided communication 有权
    实现MPI-2单向通信的方法

    公开(公告)号:US07694310B2

    公开(公告)日:2010-04-06

    申请号:US11467946

    申请日:2006-08-29

    摘要: A method for implementing Message Passing Interface (MPI-2) one-sided communication by using Low-level Applications Programming Interface (LAPI) active messaging capabilities, including providing at least three data transfer types, one of which is used to send a message with a message header greater than one packet where Data Gather and Scatter Programs (DGSP) are placed as part of the message header; allowing a multi-packet header by using a LAPI data transfer type; sending the DGSP and data as one message; reading the DSGP with a header handler; registering the DSGP with the LAPI to allow the LAPI to scatter the data to one or more memory locations; defining two sets of counters, one counter set for keeping track of a state of a prospective communication partner, and another counter set for recording activities of local and Remote Memory Access (RMA) operations; comparing local and remote counts of completed RMA operations to complete synchronization mechanisms; and creating a mpci_wait_loop function.

    摘要翻译: 一种通过使用低级应用程序编程接口(LAPI)活动消息传递功能实现消息传递接口(MPI-2)单向通信的方法,包括提供至少三种数据传输类型,其中一种用于发送消息 一个消息头大于一个数据包,数据收集和散布程序(DGSP)作为消息头的一部分放置; 通过使用LAPI数据传输类型允许多分组报头; 发送DGSP和数据作为一个消息; 用头处理程序读取DSGP; 将DSGP注册到LAPI以允许LAPI将数据分散到一个或多个存储器位置; 定义两组计数器,一个用于跟踪预期通信伙伴的状态的计数器集合,以及用于记录本地和远程存储器访问(RMA)操作的活动的另一个计数器集合; 比较完成的RMA操作的本地和远程计数以完成同步机制; 并创建一个mpci_wait_loop函数。

    Managing message arrival to ensure proper matching of unordered messages
    3.
    发明授权
    Managing message arrival to ensure proper matching of unordered messages 失效
    管理消息到达以确保无序消息的正确匹配

    公开(公告)号:US07522590B2

    公开(公告)日:2009-04-21

    申请号:US10685144

    申请日:2003-10-14

    IPC分类号: H04L12/28

    摘要: Messages arriving at a receiver are managed to ensure proper ordering of the messages. To facilitate proper ordering, a message sequence number is used, as well as matching criteria to match a correctly sequenced message with a posted receive. In response to processing a message, a check is made as to whether previously out of order messages can now be processed.

    摘要翻译: 到达接收机的消息被管理以确保消息的正确排序。 为了方便正确的排序,使用消息序列号,以及匹配标准以将正确排序的消息与发布的接收匹配。 响应于处理消息,检查是否可以处理先前不按顺序的消息。

    System and method for generating graphical output
    4.
    发明授权
    System and method for generating graphical output 失效
    用于生成图形输出的系统和方法

    公开(公告)号:US5164711A

    公开(公告)日:1992-11-17

    申请号:US477304

    申请日:1990-02-08

    CPC分类号: G09G5/02 H04N1/644

    摘要: A system and method for translating vector description displays into raster images writes the vector description image, having some number of displayable colors, into more than one intermediate image file. Each intermediate image file can define only a number of colors which is smaller than the number of colors in the original display. Separate color translation tables are used to generate each intermediate file. Proper selection of the color translation tables causes each intermediate file to contain a portion of the full color information. The intermediate files are translated to intermediate raster files which are then combined into a single raster image which retains all of the colors of the original vector description image.

    Method for handling of asynchronous message packet in a multi-node threaded computing environment
    5.
    发明授权
    Method for handling of asynchronous message packet in a multi-node threaded computing environment 失效
    在多节点线程计算环境中处理异步消息包的方法

    公开(公告)号:US06415332B1

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

    申请号:US09136692

    申请日:1998-08-19

    IPC分类号: G06F954

    CPC分类号: G06F9/546 G06F9/4843

    摘要: Message-passing capability is provided in a computer system with a plurality of asynchronous computing nodes interconnected for transmission of messages between threaded user tasks executing in ones of the computing nodes. A message is received at a receiver computing node employing a threaded message passing interface (MPI), which includes a means by which a user-defined program can be called by an interrupt service thread at the MPI. The user-defined program takes a predefined action in response to the asynchronous arrival of the at least one message packet. For example, the user-defined program might comprise a program to initiate a function to receive the at least one message packet at the receiver's threaded MPI, which may include awaking a waiting thread.

    摘要翻译: 在具有多个异步计算节点的计算机系统中提供消息传递能力,所述多个异步计算节点被互连用于在计算节点之一中执行的线程用户任务之间的消息传输。 在采用线程消息传递接口(MPI)的接收机计算节点处接收到消息,其包括用于通过MPI中断服务线程来调用用户定义的程序的装置。 用户定义的程序响应于至少一个消息分组的异步到达而采取预定义的动作。 例如,用户定义的程序可以包括用于发起功能以在接收者的线程MPI处接收至少一个消息分组的程序,其可以包括唤醒等待线程。

    System for handling asynchronous message packet in a multi-node threaded computing environment
    6.
    发明授权
    System for handling asynchronous message packet in a multi-node threaded computing environment 有权
    用于在多节点线程计算环境中处理异步消息包的系统

    公开(公告)号:US06412018B1

    公开(公告)日:2002-06-25

    申请号:US09136388

    申请日:1998-08-19

    IPC分类号: G06F954

    CPC分类号: G06F9/546

    摘要: Message-passing capability is provided in a computer system with a plurality of asynchronous computing nodes interconnected for transmission of messages between threaded user tasks executing in ones of the computing nodes. A message is received at a receiver computing node employing a threaded message passing interface (MPI), which includes a means by which a user-defined program can be called by an interrupt service thread at the MPI. The user-defined program takes a predefined action in response to the asynchronous arrival of the at least one message packet. For example, the user-defined program might comprise a program to initiate a function to receive the at least one message packet at the receiver's threaded MPI, which may include awaking a waiting thread.

    摘要翻译: 在具有多个异步计算节点的计算机系统中提供消息传递能力,所述多个异步计算节点被互连用于在计算节点之一中执行的线程用户任务之间的消息传输。 在采用线程消息传递接口(MPI)的接收机计算节点处接收到消息,其包括用于通过MPI中断服务线程来调用用户定义的程序的装置。 用户定义的程序响应于至少一个消息分组的异步到达而采取预定义的动作。 例如,用户定义的程序可以包括用于发起功能以在接收者的线程MPI处接收至少一个消息分组的程序,其可以包括唤醒等待线程。

    Thread dispatcher for multi-threaded communication library
    8.
    发明授权
    Thread dispatcher for multi-threaded communication library 失效
    用于多线程通信库的线程调度程序

    公开(公告)号:US06934950B1

    公开(公告)日:2005-08-23

    申请号:US09588492

    申请日:2000-06-06

    IPC分类号: G06F9/46

    CPC分类号: G06F9/546

    摘要: Method, computer program product, and apparatus for efficiently dispatching threads in a multi-threaded communication library which become runnable by completion of an event. Each thread has a thread-specific structure containing a “ready flag” and a POSIX thread condition variable unique to that thread. Each message is assigned a “handle”. When a thread waits for a message, thread-specific structure is attached to the message handle being waited on, and the thread is enqueued, waiting for its condition variable to be signaled. When a message completes, the message matching logic sets the ready flag to READY, and causes the queue to be examined. The queue manager scans the queue of waiting threads, and sends a thread awakening condition signal to one of the threads with its ready flag set to READY. The queue manager can implement any desired policy, including First-In-First-Out (FIFO), Last-In-First-Out (LIFO), or some other thread priority scheduling policy. This ensures that the thread which is awakened has the highest priority message to be processed, and enhances the efficiency of message delivery. The priority of the message to be processed is computed based on the overall state of the communication subsystem.

    摘要翻译: 方法,计算机程序产品和用于在多线程通信库中有效调度线程的装置,其可以通过事件完成而运行。 每个线程都有一个线程特定的结构,其中包含一个“就绪标志”和该线程唯一的POSIX线程条件变量。 每个消息都被分配一个“句柄”。 当线程等待消息时,线程特定的结构被附加到等待的消息句柄,并且线程入队,等待其条件变量被发信号。 当消息完成时,消息匹配逻辑将就绪标志设置为READY,并且使队列被检查。 队列管理器扫描等待线程的队列,并将线程唤醒条件信号发送到其准备标志设置为READY的线程之一。 队列管理器可以实现任何所需的策略,包括先进先出(FIFO),先进先出(LIFO)或一些其他线程优先级调度策略。 这确保了被唤醒的线程具有待处理的最高优先级的消息,并提高了消息传递的效率。 基于通信子系统的总体状态来计算要处理的消息的优先级。

    Method for resource lock/unlock capability in multithreaded computer
environment
    9.
    发明授权
    Method for resource lock/unlock capability in multithreaded computer environment 失效
    多线程计算机环境中资源锁定/解锁能力的方法

    公开(公告)号:US06112222A

    公开(公告)日:2000-08-29

    申请号:US139816

    申请日:1998-08-25

    IPC分类号: G06F9/38 G06F9/46 G06F9/00

    摘要: Hybrid lock and unlock capabilities are provided for a threaded computing environment. For example, kernel locking services are selectively employed in conjunction with functions in the POSIX threads standard to provide a lock capability and an unlock capability. The hybrid approach determines which lock scheme to employ by evaluating whether one thread or multiple threads concurrently desire a resource lock. When only one thread desires the lock, the thread is directly assigned resource ownership employing one of an operating system primitive lock process or a hardware lock process. An alternate lock process is used to obtain resource ownership when multiple threads concurrently desire the lock. This alternate process employs at least one function in the POSIX threads standard to implement a queue of waiting threads. A similar hybrid approach to the unlock capability is also provided.

    摘要翻译: 为线程计算环境提供混合锁和解锁功能。 例如,内核锁定服务与POSIX线程标准中的功能一起选择性地采用,以提供锁定功能和解锁功能。 混合方法通过评估一个线程或多个线程是否同时需要资源锁来确定要采用的锁定方案。 当只有一个线程需要锁定时,线程将直接使用操作系统原语锁定过程或硬件锁定过程之一分配资源所有权。 当多个线程同时需要锁定时,使用备用锁定进程来获取资源所有权。 该替代过程在POSIX线程标准中使用至少一个函数来实现等待线程的队列。 还提供了类似的解锁能力的混合方法。

    System for resource lock/unlock capability in multithreaded computer
environment
    10.
    发明授权
    System for resource lock/unlock capability in multithreaded computer environment 有权
    多线程计算机环境中的资源锁定/解锁功能系统

    公开(公告)号:US6105050A

    公开(公告)日:2000-08-15

    申请号:US139255

    申请日:1998-08-25

    IPC分类号: G06F9/46 G06F9/00

    CPC分类号: G06F9/52

    摘要: Hybrid lock and unlock capabilities are provided for a threaded computing environment. For example, kernel locking services are selectively employed in conjunction with functions in the POSIX threads standard to provide a lock capability and an unlock capability. The hybrid approach determines which lock scheme to employ by evaluating whether one thread or multiple threads concurrently desire a resource lock. When only one thread desires the lock, the thread is directly assigned resource ownership employing one of an operating system primitive lock process or a hardware lock process. An alternate lock process is used to obtain resource ownership when multiple threads concurrently desire the lock. This alternate process employs at least one function in the POSIX threads standard to implement a queue of waiting threads. A similar hybrid approach to the unlock capability is also provided.

    摘要翻译: 为线程计算环境提供混合锁和解锁功能。 例如,内核锁定服务与POSIX线程标准中的功能一起选择性地采用,以提供锁定功能和解锁功能。 混合方法通过评估一个线程或多个线程是否同时需要资源锁来确定要采用的锁定方案。 当只有一个线程需要锁定时,线程将直接使用操作系统原语锁定过程或硬件锁定过程之一分配资源所有权。 当多个线程同时需要锁定时,使用备用锁定进程来获取资源所有权。 该替代过程在POSIX线程标准中使用至少一个函数来实现等待线程的队列。 还提供了类似的解锁能力的混合方法。