TWI366793B - Method of updating a message queue and computer system - Google Patents

Method of updating a message queue and computer system

Info

Publication number
TWI366793B
TWI366793B TW096117992A TW96117992A TWI366793B TW I366793 B TWI366793 B TW I366793B TW 096117992 A TW096117992 A TW 096117992A TW 96117992 A TW96117992 A TW 96117992A TW I366793 B TWI366793 B TW I366793B
Authority
TW
Taiwan
Prior art keywords
updating
computer system
message queue
queue
message
Prior art date
Application number
TW096117992A
Other languages
English (en)
Other versions
TW200807302A (en
Inventor
Gokhan Avkarogullari
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of TW200807302A publication Critical patent/TW200807302A/zh
Application granted granted Critical
Publication of TWI366793B publication Critical patent/TWI366793B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
TW096117992A 2006-05-25 2007-05-21 Method of updating a message queue and computer system TWI366793B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/420,394 US9274859B2 (en) 2006-05-25 2006-05-25 Multi processor and multi thread safe message queue with hardware assistance

Publications (2)

Publication Number Publication Date
TW200807302A TW200807302A (en) 2008-02-01
TWI366793B true TWI366793B (en) 2012-06-21

Family

ID=38823431

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096117992A TWI366793B (en) 2006-05-25 2007-05-21 Method of updating a message queue and computer system

Country Status (4)

Country Link
US (1) US9274859B2 (zh)
KR (2) KR100911796B1 (zh)
CN (1) CN101114235B (zh)
TW (1) TWI366793B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726279B2 (en) * 2006-05-06 2014-05-13 Nvidia Corporation System for multi threaded multi processor sharing of asynchronous hardware units
US8458724B2 (en) 2007-06-15 2013-06-04 Microsoft Corporation Automatic mutual exclusion
CN101286947B (zh) * 2008-05-30 2010-12-01 杭州华三通信技术有限公司 数据输出控制方法和装置
US8555292B2 (en) * 2008-06-27 2013-10-08 Microsoft Corporation Synchronizing communication over shared memory
JP5338435B2 (ja) * 2009-03-31 2013-11-13 富士通株式会社 情報処理プログラム、情報処理装置および情報処理方法
US9811385B2 (en) * 2010-04-28 2017-11-07 Wind River Systems, Inc. Optimizing task management
CN101872296B (zh) * 2010-06-18 2014-12-10 中兴通讯股份有限公司 实现大容量群发短信的装置及方法
KR20120061593A (ko) * 2010-12-03 2012-06-13 삼성전자주식회사 스레드 동기화 장치 및 방법
US9195524B1 (en) * 2010-12-20 2015-11-24 Marvell International Ltd. Hardware support for performance analysis
US10216553B2 (en) 2011-06-30 2019-02-26 International Business Machines Corporation Message oriented middleware with integrated rules engine
CN102693159B (zh) * 2012-05-09 2015-07-01 上海晨思电子科技有限公司 基于用户模式多任务下控制硬件设备的方法及其装置
GB2499277B (en) * 2012-08-30 2014-04-02 Imagination Tech Ltd Global register protection in a multi-threaded processor
GB2512086A (en) * 2013-03-20 2014-09-24 Ibm Transaction capable queuing
US8924596B1 (en) * 2013-12-06 2014-12-30 Concurrent Ventures, LLC System and method for dividing and synchronizing a processing task across multiple processing elements/processors in hardware
US20160043982A1 (en) * 2014-08-11 2016-02-11 Facebook, Inc. Techniques for a sequential message reader for message syncing
CN111158936B (zh) * 2017-06-15 2024-04-09 北京忆芯科技有限公司 队列交换信息的方法及系统
GB2567465B (en) * 2017-10-12 2020-09-02 Advanced Risc Mach Ltd Message passing in a data processing system
CN111858095B (zh) * 2020-07-17 2022-06-10 山东云海国创云计算装备产业创新中心有限公司 一种硬件队列多线程共享方法、装置、设备及存储介质
US11782635B2 (en) 2021-11-12 2023-10-10 Western Digital Technologies, Inc. Method to ensure message arrival before a message pointer
CN117407356B (zh) * 2023-12-14 2024-04-16 芯原科技(上海)有限公司 基于共享内存的核间通信方法、装置、存储介质及终端

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4956771A (en) * 1988-05-24 1990-09-11 Prime Computer, Inc. Method for inter-processor data transfer
DE3850881T2 (de) * 1988-10-28 1995-03-09 Ibm Verfahren und Vorrichtung zur Nachrichtenübertragung zwischen Quellen- und Zielanwender durch einen anteilig genutzten Speicher.
US5925099A (en) * 1995-06-15 1999-07-20 Intel Corporation Method and apparatus for transporting messages between processors in a multiple processor system
US5922057A (en) * 1997-01-10 1999-07-13 Lsi Logic Corporation Method for multiprocessor system of controlling a dynamically expandable shared queue in which ownership of a queue entry by a processor is indicated by a semaphore
US5999969A (en) * 1997-03-26 1999-12-07 Unisys Corporation Interrupt handling system for message transfers in network having mixed hardware and software emulated modules
KR19990079649A (ko) * 1998-04-08 1999-11-05 김영환 두 프로세서 간 공유 메모리 통신시 데이터 처리방법
US6842811B2 (en) * 2000-02-24 2005-01-11 Pts Corporation Methods and apparatus for scalable array processor interrupt detection and response
US6799317B1 (en) * 2000-06-27 2004-09-28 International Business Machines Corporation Interrupt mechanism for shared memory message passing
US6594736B1 (en) * 2000-08-15 2003-07-15 Src Computers, Inc. System and method for semaphore and atomic operation management in a multiprocessor
US20020091826A1 (en) * 2000-10-13 2002-07-11 Guillaume Comeau Method and apparatus for interprocessor communication and peripheral sharing
US7210022B2 (en) * 2001-05-15 2007-04-24 Cloudshield Technologies, Inc. Apparatus and method for interconnecting a processor to co-processors using a shared memory as the communication interface
US6912198B2 (en) * 2003-03-26 2005-06-28 Sony Corporation Performance of data transmission using adaptive technique
US7114042B2 (en) 2003-05-22 2006-09-26 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
US20060143415A1 (en) * 2004-12-29 2006-06-29 Uday Naik Managing shared memory access

Also Published As

Publication number Publication date
TW200807302A (en) 2008-02-01
US9274859B2 (en) 2016-03-01
KR100976280B1 (ko) 2010-08-16
US20070288931A1 (en) 2007-12-13
KR100911796B1 (ko) 2009-08-12
KR20070114020A (ko) 2007-11-29
CN101114235A (zh) 2008-01-30
CN101114235B (zh) 2011-12-07
KR20090021208A (ko) 2009-02-27

Similar Documents

Publication Publication Date Title
TWI366793B (en) Method of updating a message queue and computer system
EP2095231A4 (en) COMPUTER SYSTEM AND CONTROL PROCEDURE THEREFOR
EP1999547A4 (en) SYSTEM AND METHOD FOR ENTERING DATA IN A COMPUTER SYSTEM
EP2119170A4 (en) SYSTEM AND METHOD FOR UPDATING PRESENCE INFORMATION
EP1866755A4 (en) METHOD AND SYSTEM FOR UPDATING DEVICE CAPABILITIES
EP2092967A4 (en) GAME SYSTEM AND GAME EXECUTION MANAGEMENT METHOD
ZA200810464B (en) A system and method of managing an insurance scheme
EP2062117A4 (en) PORTABLE COMPUTER SYSTEM AND METHOD FOR CONTROLLING INFORMATION / SERVICES IN THIS PORTABLE COMPUTING SYSTEM
EP2101147A4 (en) SYSTEM, INFORMATION TRANSMISSION METHOD, AND COMPUTER PROGRAM
EP2002616A4 (en) METHOD AND SYSTEM FOR MANAGING COMPUTER RESOURCES
IL195736A0 (en) A system and method of managing an insurance scheme
EP2161868A4 (en) METHOD AND SYSTEM FOR MBMS DATA TRANSFER
GB2436215B (en) A chipset-independent method for locally updating and configuring system BIOS
HK1140030A1 (en) System and method for optimizing changes of data sets
HK1108784A1 (en) Telecommunication comprehensive information system and method thereof
EP2126832A4 (en) SYSTEM AND METHOD FOR UPDATING A FORECAST TEMPLATE
EP2071484A4 (en) INFORMATION PROCESSOR AND INFORMATION MANAGEMENT METHOD
GB0500151D0 (en) A method and system for updating application design
GB0614783D0 (en) Apparatus and method of interaction with a data processor
EP2026239A4 (en) INFORMATION PROCESSING SYSTEM, METHOD FOR PROVIDING INFORMATION AND PROGRAM FOR PROVIDING INFORMATION
EP1865661A4 (en) FAST MULTICAST METHOD AND IDOINE SYSTEM
EP2007630A4 (en) METHOD AND SYSTEM FOR OPERATING A TRANSFER / REFILL DEVICE
IL195738A0 (en) A method of managing an insurance plan and a system therefor
EP2066070A4 (en) INFORMATION PROCESSOR AND INFORMATION MANAGEMENT PROCESS
EP2073526A4 (en) FUNCTION UPDATE SYSTEM AND METHOD FOR UPDATING FUNCTIONS