WO2017203320A1 - Batch based first in first out ordered inter-thread communication - Google Patents

Batch based first in first out ordered inter-thread communication Download PDF

Info

Publication number
WO2017203320A1
WO2017203320A1 PCT/IB2016/052997 IB2016052997W WO2017203320A1 WO 2017203320 A1 WO2017203320 A1 WO 2017203320A1 IB 2016052997 W IB2016052997 W IB 2016052997W WO 2017203320 A1 WO2017203320 A1 WO 2017203320A1
Authority
WO
WIPO (PCT)
Prior art keywords
threads
queue
consumer
producer
out ordered
Prior art date
Application number
PCT/IB2016/052997
Other languages
French (fr)
Inventor
Pratik Sharma
Original Assignee
Pratik Sharma
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 Pratik Sharma filed Critical Pratik Sharma
Priority to PCT/IB2016/052997 priority Critical patent/WO2017203320A1/en
Publication of WO2017203320A1 publication Critical patent/WO2017203320A1/en

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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Definitions

  • Producer threads pass fixed size objects to consumer threads through an unbounded first in first out ordered queue using wait-free non-blocking algorithm for performing insertion and deletion operations on the queue.
  • producer threads pass objects to consumer threads in batches of size n where n is a number from the set of positive integers.
  • Producer threads generate fixed size objects and insert them into the unbounded first in first out ordered queue(using wait-free non-blocking algorithm) till we reach a queue size of n elements on which the producer thread which inserted the nth element in the queue will generate a token.
  • the scheduler in this case only schedules producer threads along with other threads and not consumer threads for current and subsequent rounds of scheduling till the token gets generated on reaching the queue size of n elements, and thereafter the scheduler only schedules consumer threads along with other threads and not producer threads for current and subsequent rounds of scheduling till the generated token gets absorbed by the consumer thread which dequeued the last remaining element in the queue.
  • the scheduler here maintains a table of entries consisting of thread identifier as the key and the value consists of the type of thread, i.e. , producer or consumer, along with the pointer to the token if generated or a null reference if token is not generated, for the given set of producer and consumer thread identifiers containing this thread identifier.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

In this invention we have one or more producer threads which communicate with one or more consumer threads with the help of fixed size objects through an unbounded first in first out queue(wait-free non-blocking algorithm is used to perform insertion and deletion operations on the queue) in batches of size n where n is a number from a set of positive integers.

Description

In this invention we have a set of one or more producer threads which produce fixed size objects and a set of one or more consumer threads which consume these objects. Producer threads pass fixed size objects to consumer threads through an unbounded first in first out ordered queue using wait-free non-blocking algorithm for performing insertion and deletion operations on the queue. Here producer threads pass objects to consumer threads in batches of size n where n is a number from the set of positive integers. Producer threads generate fixed size objects and insert them into the unbounded first in first out ordered queue(using wait-free non-blocking algorithm) till we reach a queue size of n elements on which the producer thread which inserted the nth element in the queue will generate a token. The scheduler in this case only schedules producer threads along with other threads and not consumer threads for current and subsequent rounds of scheduling till the token gets generated on reaching the queue size of n elements, and thereafter the scheduler only schedules consumer threads along with other threads and not producer threads for current and subsequent rounds of scheduling till the generated token gets absorbed by the consumer thread which dequeued the last remaining element in the queue.
The scheduler here maintains a table of entries consisting of thread identifier as the key and the value consists of the type of thread, i.e. , producer or consumer, along with the pointer to the token if generated or a null reference if token is not generated, for the given set of producer and consumer thread identifiers containing this thread identifier.

Claims

Following is the claim for this invention :-
1> The novel technique by which we achieve communication between one or more produce threads and one or more consumer threads with the help of fixed size objects through an unbounded first in first out queue (wait-free non-blocking algorithm is used to perform insertion and deletion operations on the queue) in batches of size n where n is a number from a set of positive integers.
PCT/IB2016/052997 2016-05-23 2016-05-23 Batch based first in first out ordered inter-thread communication WO2017203320A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/052997 WO2017203320A1 (en) 2016-05-23 2016-05-23 Batch based first in first out ordered inter-thread communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/052997 WO2017203320A1 (en) 2016-05-23 2016-05-23 Batch based first in first out ordered inter-thread communication

Publications (1)

Publication Number Publication Date
WO2017203320A1 true WO2017203320A1 (en) 2017-11-30

Family

ID=60411170

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2016/052997 WO2017203320A1 (en) 2016-05-23 2016-05-23 Batch based first in first out ordered inter-thread communication

Country Status (1)

Country Link
WO (1) WO2017203320A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459778B1 (en) 2018-07-16 2019-10-29 Microsoft Technology Licensing, Llc Sending messages between threads

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169123A1 (en) * 2005-12-30 2007-07-19 Level 3 Communications, Inc. Lock-Free Dual Queue with Condition Synchronization and Time-Outs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169123A1 (en) * 2005-12-30 2007-07-19 Level 3 Communications, Inc. Lock-Free Dual Queue with Condition Synchronization and Time-Outs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459778B1 (en) 2018-07-16 2019-10-29 Microsoft Technology Licensing, Llc Sending messages between threads

Similar Documents

Publication Publication Date Title
Festinger The significance of difference between means without reference to the frequency distribution function
Panda et al. An effective round robin algorithm using min-max dispersion measure
MY195952A (en) Blockchain-Based Data Processing Method and Device
Kraut et al. Multistability, noise, and attractor hopping: The crucial role of chaotic saddles
CN103309738A (en) User job scheduling method and device
US8463967B2 (en) Method and device for scheduling queues based on chained list
Schehr et al. Universal order statistics of random walks
CN104268015A (en) Implementation method of high-availability timer of embedded equipment and timer
Gupta et al. Robust and maxmin optimization under matroid and knapsack uncertainty sets
Behera et al. A new dynamic round robin and SRTN algorithm with variable original time slice and intelligent time slice for soft real time systems
WO2017203320A1 (en) Batch based first in first out ordered inter-thread communication
CN103077032B (en) The operating method of application program and the client of application program
Ayyapan et al. M/M/1 retrial queuing system with loss and feedback under pre-emptive priority service
Chliapnikov et al. Regularities in multiplicity distributions for e+ e− annihilation into hadrons
Pak et al. FRFC: fast table building algorithm for recursive flow classification
Behera Experimental analysis of new fair-share scheduling algorithm with weighted time slice for real time systems
Kim et al. On the Discrete-Time GeoX/G/1 Queues under N-Policy with Single and Multiple Vacations
Manjoo I Ignored Trump News for a Week. Here's What I Learned.
Ghosh et al. Control-relevant input excitation for system identification of ill-conditioned n× n systems with n> 2
Li et al. Comment on “An efficient homomorphic MAC with small key size for authentication in network coding”
Wan et al. Primary–secondary bicriteria scheduling on identical machines to minimize the total completion time of all jobs and the maximum T-time of all machines
WO2019171129A1 (en) Collision-free hash map
Izzard Duplicitous Nucleosynthesis
CN112988429B (en) Data processing method and device, electronic equipment and computer readable storage medium
Mostafa et al. Improving Scheduling Criteria of Preemptive Tasks Scheduled under Round Robin Algorithm using Changeable Time Quantum

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16903019

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16903019

Country of ref document: EP

Kind code of ref document: A1