发明名称 SYSTEM AND METHOD FOR SUPPORTING A SCALABLE CONCURRENT QUEUE IN A DISTRIBUTED DATA GRID
摘要 A scalable concurrent queue includes a central queue associated with multiple temporary queues for holding batches of nodes from multiple producers. When a producer thread or service performs an insertion operation on the scalable concurrent queue, the producer inserts one or more nodes into a batch in one of the multiple temporary queues associated with the central queue. Subsequently, the producer (or another producer) inserts the batch held in the temporary queue into the central queue. Contention between the multiple producers is reduced by providing multiple temporary queues into which the producers may insert nodes, and also by inserting nodes in the central queue in batches rather than one node at a time. The scalable concurrent queue scales to serve large number of producers with reduced contention thereby improving performance in a distributed data grid.
申请公布号 US2016077867(A1) 申请公布日期 2016.03.17
申请号 US201514856106 申请日期 2015.09.16
申请人 Oracle International Corporation 发明人 Falco Mark
分类号 G06F9/46;G06F9/48;G06F9/30;G06F9/50 主分类号 G06F9/46
代理机构 代理人
主权项 1. A method for providing a scalable queue in a multi-threaded processing environment, the method, comprising: providing a central queue having a head, a tail, a tail reference, and an ordered plurality of nodes; providing a plurality of temporary queues each holding a batch of nodes; configuring a plurality of producers to perform an insertion operation to insert a node into said central queue by performing the following steps, inserting a node into a batch of nodes in a temporary queue of the plurality of temporary queues,attempting to insert said batch of nodes held in said temporary queue into the central queue,completing said insertion operation when said batch is inserted into the central queue; and whereby nodes are inserted into said central queue in batches, thereby reducing contention on said central queue.
地址 Redwood Shores CA US