CN108228801B - Jump table multithreading optimization method and device based on multi-core processor - Google Patents

Jump table multithreading optimization method and device based on multi-core processor Download PDF

Info

Publication number
CN108228801B
CN108228801B CN201711480205.4A CN201711480205A CN108228801B CN 108228801 B CN108228801 B CN 108228801B CN 201711480205 A CN201711480205 A CN 201711480205A CN 108228801 B CN108228801 B CN 108228801B
Authority
CN
China
Prior art keywords
lock
data
query
list
read
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201711480205.4A
Other languages
Chinese (zh)
Other versions
CN108228801A (en
Inventor
汪俊锋
张巧云
任维蒙
戴平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Huishi Jintong Technology Co ltd
Original Assignee
Anhui Huishi Jintong Technology Co ltd
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 Anhui Huishi Jintong Technology Co ltd filed Critical Anhui Huishi Jintong Technology Co ltd
Priority to CN201711480205.4A priority Critical patent/CN108228801B/en
Publication of CN108228801A publication Critical patent/CN108228801A/en
Application granted granted Critical
Publication of CN108228801B publication Critical patent/CN108228801B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Abstract

The invention discloses a skip list multithreading optimization method and equipment based on a multi-core processor, belonging to the technical field of data processing and comprising the steps of initializing a read-write Lock Lock to be 0; searching the jump table layer by layer from the highest-layer index data of the jump table to obtain the latest index data of the query data or the insertion data in the data list; when the operation is data query, applying for a read Lock for the read-write Lock, and then entering the data list in a parallel processing mode to execute query operation; and when the operation is data insertion, applying for a write Lock to the read-write Lock, and then entering the data list to execute the insertion operation. When a plurality of query or insertion operations are executed in a plurality of processing cores of the multi-core processor at the same time, the data consistency of the insertion and query operations is ensured through the locking operation of the whole data list. Therefore, the resources of the multi-core processor can be fully utilized, and the efficiency of data insertion and query is improved.

Description

Jump table multithreading optimization method and device based on multi-core processor
Technical Field
The invention relates to the technical field of data processing, in particular to a jump table multithreading optimization method and equipment based on a multi-core processor.
Background
The memory database is a database in which data is completely stored in a memory for operation, and compared with a database in which a magnetic disk is used as a main storage medium, the memory database has the main characteristics of high speed and high throughput. In a current big data processing system, a memory database is generally used for caching and storing data so as to improve the processing performance of common data. The dictionary structure of the index (mainly an inverted index) in the database directly affects the effect of the index, and a data structure suitable for the current service needs to be found in the index structure for storage. The data structures generally include a skip table, a B + tree, a prefix tree, a suffix tree, an automatic state machine, and a hash table.
The jump table is a data structure for adding index data in a randomized mode on the basis of the ordered list. Thus, when searching in the list, the additional index data can quickly skip part of the list to improve the searching speed. The jump table has the characteristics of simple structure, high efficiency and the like, and is widely used in mainstream memory databases such as Redis, Memsql and the like as an index data structure.
The multi-core processor provides a plurality of physical execution cores, so that a plurality of threads can be executed on the processor at the same time, and the parallel processing capacity of the processor is greatly improved. For the skip list, when a plurality of query or insert operations are simultaneously executed on the multi-core processor, a necessary synchronization mechanism is required to ensure the consistency of data.
The existing skip list multithreading concurrent algorithm influences the performance of parallel searching and inserting due to the defects of low efficiency of a synchronization mechanism, low utilization rate of hardware resources, low parallel efficiency and the like.
Disclosure of Invention
The invention aims to provide a jump table multithreading optimization method based on a multi-core processor so as to improve the parallel searching and inserting performance in a jump table data structure.
In order to realize the purpose, the invention adopts the technical scheme that:
in one aspect, a skip list multithreading optimization method based on a multi-core processor is provided, and includes:
s1, initializing the read-write Lock Lock to 0, and recording the ongoing data operation state in the data list in real time by the read-write Lock Lock;
s2, searching the jump table layer by layer from the highest-layer index data of the jump table to obtain the latest index data of the query data or the insertion data in the data list;
s3, when the operation is data query, applying for a read Lock to the read-write Lock Lock, and then entering the data list in a parallel processing mode to execute query operation;
and S4, when the operation is data insertion, applying for a write Lock to the read-write Lock Lock, and then entering the data list to execute the insertion operation.
Preferably, the entering the data list in the parallel processing manner in step S3 is to perform query operation, which specifically includes:
s31, checking whether the value of the variable Lock is larger than or equal to zero, if yes, executing a step S32, and if not, continuing to execute a step S31 after suspending for 0.1 second;
s32, adding 1 to the atomic operation executed by Lock, if the execution is successful, jumping to S33 for continuous execution, and if the execution is failed, jumping to S31 for continuous execution;
s33, entering a data list to execute query operation;
s34, performing atomic operation minus 1 on Lock, and ending the query operation;
preferably, entering the data list in step S4 performs an insert operation, which specifically includes:
s41, checking whether the value of the variable Lock is equal to zero, if yes, executing the step S42, and if not, continuing to execute the step S41 after suspending for 0.1 second;
s42, performing atomic operation minus 1 on Lock, if the execution is successful, jumping to S43 for continuous execution, and if the execution is failed, jumping to S41 for continuous execution;
s43, entering a data list to execute an inserting operation;
and S44, adding 1 to the Lock atomic operation and ending the insert operation.
In a second aspect, a skip list multithreading optimization device based on a multi-core processor is provided, which includes:
a processor and a storage device;
a processor to implement instructions;
a storage device to store the instructions, the instructions loaded and executed by the processor to:
initializing a read-write Lock Lock to be 0, and recording the ongoing data operation state in a data list in real time by the read-write Lock Lock;
searching the jump table layer by layer from the highest-layer index data of the jump table to obtain the latest index data of the query data or the insertion data in the data list;
when the operation is data query, applying for a read Lock for the read-write Lock, and then entering the data list in a parallel processing mode to execute query operation;
and when the operation is data insertion, applying for a write Lock to the read-write Lock, and then entering the data list to execute the insertion operation.
Preferably, the processor performs query operations entering the data list in a parallel processing manner, specifically including:
a. checking whether the value of the variable Lock is larger than or equal to zero, if so, executing the step b, and if not, continuing to execute the step a after suspending for 0.1 second;
b. adding 1 to the atomic operation executed by Lock, if the execution is successful, jumping to the step c for continuous execution, and if the execution is failed, jumping to the step a for continuous execution;
c. entering a data list to execute query operation;
d. executing atomic operation minus 1 on Lock, and ending the query operation;
preferably, the processor performs an insert operation by entering the data list, specifically including:
e. checking whether the value of the variable Lock is equal to zero, if so, executing the step f, and if not, continuing to execute the step e after suspending for 0.1 second;
f. performing atomic operation on Lock minus 1, if the execution is successful, jumping to g for continuous execution, and if the execution is failed, jumping to e for continuous execution;
g. entering a data list to execute an insertion operation;
h. and adding 1 to the Lock to execute the atomic operation, and ending the insert operation.
In a third aspect, a skip list multithreading optimization device based on a multi-core processor is provided, which includes:
the initialization module is used for initializing the read-write Lock Lock to be 0 and recording the ongoing data operation state in the data list in real time;
the searching module is used for searching the jump table layer by layer from the highest-layer index data of the jump table to obtain the latest index data of the query data or the insertion data in the data list;
the query operation execution module applies for a read Lock for the read-write Lock and then enters the data list in a parallel processing mode to execute query operation;
and the insertion operation execution module applies for a write Lock to the read-write Lock, and then enters the data list to execute insertion operation.
Preferably, the query operation execution module specifically includes:
the first checking unit is used for checking whether the value of the variable Lock is larger than or equal to zero or not;
the query operation execution unit is used for adding 1 to the Lock and executing query operation in the data list when the first checking unit judges that the first checking unit is yes, and subtracting 1 from the Lock after the operation is finished;
and when the first checking unit judges that the first checking unit is not the first checking unit, waiting until the Lock is larger than or equal to zero, and then executing the query operation.
Preferably, the insertion operation execution module specifically includes:
a second checking unit for checking whether the value of the variable Lock is equal to zero;
the inserting operation executing unit is used for subtracting 1 from the Lock and executing inserting operation after entering the data list when the second checking unit judges that the Lock is in the positive state, and adding 1 to the Lock after the operation is finished;
and when the second checking unit judges that the second checking unit does not judge that the second checking unit and does not judge that the second checking unit and does not judge that the second and does not.
Compared with the prior art, the invention has the following technical effects: the invention ensures the data consistency of the insertion and query operations by simultaneously executing a plurality of or query operations in a plurality of processing cores of the multi-core processor and locking the whole data list. Therefore, the resource utilization rate of the processor can be fully utilized, and the efficiency of data insertion and query is improved.
Drawings
The following detailed description of embodiments of the invention refers to the accompanying drawings in which:
FIG. 1 is a flow diagram of a skip list multithreading optimization method based on a multi-core processor;
FIG. 2 is a schematic diagram of a lookup and insertion operation of a skip table;
FIG. 3 is a flow chart of the parallel query operation in the skip list;
FIG. 4 is a flow chart illustrating a skip table insert operation;
FIG. 5 is a schematic structural diagram of a jump table multithreading optimization device based on a multi-core processor.
Detailed Description
To further illustrate the features of the present invention, refer to the following detailed description of the invention and the accompanying drawings. The drawings are for reference and illustration purposes only and are not intended to limit the scope of the present disclosure.
As shown in fig. 1, the present embodiment discloses a skip list multithreading optimization method based on a multi-core processor, which includes the following steps S1 to S4
S1, initializing the read-write Lock Lock to 0, and recording the ongoing data operation state in the data list in real time by the read-write Lock Lock;
s2, searching the jump table layer by layer from the highest-layer index data of the jump table to obtain the latest index data of the query data or the insertion data in the data list;
s3, when the operation is data query, applying for a read Lock to the read-write Lock Lock, and then entering the data list in a parallel processing mode to execute query operation;
and S4, when the operation is data insertion, applying for a write Lock to the read-write Lock Lock, and then entering the data list to execute the insertion operation.
Specifically, the variable Lock is used in the present embodiment to record the ongoing data operation state in the data list in real time. When the Lock is greater than 0, a plurality of query operations are actually executed in the data list; when the Lock is less than 0, it indicates that 1 insertion operation is executed in the data list; when Lock is equal to 0, it indicates that there is no specific query or insert operation being performed in the data list at this time. Therefore, at initialization, the value of the Lock variable Lock is set to 0, indicating that there is no operation in the data list.
As shown in fig. 2, when looking up the skip list layer by layer, search (K) is recorded as an operation for querying data K, and insert (J) is recorded as an operation for inserting data J. In the search (K) and insert (J) operations, when data insertion or data query operations are performed, the index data of the data K and the index data of the data J that are the most recent in the data list need to be queried in the multi-layer index data of the skip list in advance. The lookup operation of the skip list is performed layer by layer as shown in fig. 2.
It should be noted that since the query to the skip table does not change any content, the query operations of search (k) and insert (j) can be performed in parallel without destroying the consistency of the skip table index data structure.
Preferably, the query operation for the data list may allow multiple queries to be performed simultaneously. Firstly, checking whether a query operation exists or not, and directly entering the query if the query operation exists or no query operation exists. If there is an insert operation, wait until the end of the insert operation before entering. The value of the variable Lock records the operational state of the data list. As shown in fig. 3, step S3 specifically includes the following steps:
s31, checking whether the value of the variable Lock is greater than or equal to 0, if so, executing a step S33, otherwise, executing a step S32;
s32, suspending the current query operation thread for a set time, and then re-executing the step S31;
s33, executing an atomic operation, and enabling Lock to be Lock + 1;
s34, checking whether the atomic operation of the step S33 is successfully executed, if so, executing the step S35 to continue execution, otherwise, executing the step S31;
s35, executing query operation in the data list;
s36, executing an atomic operation, and enabling Lock to be Lock-1;
s37, checking whether the atomic operation in the step S36 is successfully executed, if so, ending the process, otherwise, executing the step S39;
s39, after suspending the current inquiry operation thread for a set time, executing step S36.
Preferably, the insert operation on the data list allows only 1 operation to be performed in the data list. Firstly, whether a query or insert operation exists is checked, and if no operation exists, the operation of executing the data list insert operation is directly entered. If there is an inquiry or insertion operation, then wait until the operation in the data list is finished and then enter. The value of the variable Lock records the operational state of the data list. As shown in fig. 4, step S4 specifically includes:
s41, checking whether the value of the variable Lock is equal to 0, if yes, executing a step S43, and if not, executing a step S42;
s42, after the current inserting operation thread is suspended for a set time, executing the step S41;
s43, executing an atomic operation, and enabling Lock to be Lock-1;
s44, checking whether the atomic operation of the step S43 is successfully executed, if so, executing the step S45, otherwise, executing the step S41;
s45, executing an inserting operation in the data list;
s46, executing an atomic operation, and enabling Lock to be Lock + 1;
s47, checking whether the atomic operation in the step S46 is successfully executed, if so, ending the process, otherwise, executing the step S48;
s48, suspending the current inserting operation thread for a set time, and then executing the step S46.
Specifically, in practical applications, the suspension time of the current query operation thread or the current insertion operation thread may be set according to practical situations, for example, 0.1 second.
It should be noted that, in this embodiment, through the lock operation on the data list, multiple query operations can be simultaneously entered into the data list for searching. Because the query operation does not change the value of the data list, this allows multiple query operations to be performed simultaneously without affecting the consistency of the data. Because the query operation in the actual application scene is far more than the insertion operation, the concurrent processing efficiency of the jump table can be effectively improved by the scheme.
The embodiment also discloses jump table multithreading optimization equipment based on the multi-core processor, which comprises a processor and storage equipment;
a processor to implement instructions;
a storage device to store the instructions, the instructions loaded and executed by the processor to:
initializing a read-write Lock Lock to be 0, and recording the ongoing data operation state in a data list in real time by the read-write Lock Lock;
searching the jump table layer by layer from the highest-layer index data of the jump table to obtain the latest index data of the query data or the insertion data in the data list;
when the operation is data query, applying for a read Lock for the read-write Lock, and then entering the data list in a parallel processing mode to execute query operation;
and when the operation is data insertion, applying for a write Lock to the read-write Lock, and then entering the data list to execute the insertion operation.
Preferably, the processor performs query operations entering the data list in a parallel processing manner, specifically including:
a. checking whether the value of the variable Lock is greater than or equal to zero;
b. if yes, adding 1 to the Lock, entering a data list, executing query operation, and subtracting 1 from the Lock after the operation is finished;
c. if not, the step b is executed after the Lock is larger than or equal to zero.
Preferably, the processor performs an insert operation into the data list, specifically including:
d. checking whether the value of the variable Lock is equal to zero;
e. if yes, subtracting 1 from the Lock, entering a data list to execute an insertion operation, and adding 1 to the Lock after the operation is finished;
f. if not, the step e is executed after the Lock is equal to zero.
As shown in fig. 5, this embodiment further discloses a skip list multithreading optimization device based on a multicore processor, including:
the initialization module 10 is configured to initialize a read-write Lock to 0, where the read-write Lock records an ongoing data operation state in a data list in real time;
the searching module 20 is configured to search the skip list layer by layer from the highest-layer index data of the skip list to obtain the latest index data of the query data or the insertion data in the data list;
the query operation execution module 30 applies for a read Lock to the read-write Lock, and then enters the data list in a parallel processing mode to execute query operation;
and the insertion operation execution module 40 applies for a write Lock to the read-write Lock, and then enters the data list to execute an insertion operation.
Preferably, the query operation execution module specifically includes:
the first checking unit is used for checking whether the value of the variable Lock is larger than or equal to zero or not;
the query operation execution unit is used for adding 1 to the Lock and executing query operation in the data list when the first checking unit judges that the first checking unit is yes, and subtracting 1 from the Lock after the operation is finished;
and when the first checking unit judges that the first checking unit is not the first checking unit, waiting until the Lock is larger than or equal to zero, and then executing the query operation.
Preferably, the insertion operation execution module specifically includes:
a second checking unit for checking whether the value of the variable Lock is equal to zero;
the inserting operation executing unit is used for subtracting 1 from the Lock and executing inserting operation after entering the data list when the second checking unit judges that the Lock is in the positive state, and adding 1 to the Lock after the operation is finished;
and when the second checking unit judges that the second checking unit does not judge that the second checking unit and does not judge that the second checking unit and does not judge that the second and does not.
It should be noted that, the skip list multithreading optimization device based on the multi-core processor disclosed in this embodiment has the same technical details and the same technical effects as the skip list multithreading optimization method based on the multi-core processor disclosed in the foregoing embodiment, and details are not described here.
The existing jump table parallel query and insertion scheme is realized based on a traditional lock synchronization mechanism. When a thread executes data query operation in the data list, other data query threads are blocked, and concurrent execution of the data query threads cannot be realized. According to the scheme, the read-write Lock of the Lock is set, so that the data query operation can be simultaneously executed in the data list by a plurality of threads of the multi-core processor on the premise of ensuring the data consistency. Because the data query operation is far greater than the data insertion operation in the actual application scene of the memory database, the execution efficiency of the skip list concurrent query and insertion operation in the actual scene can be effectively improved.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (9)

1. A jump table multithreading optimization method based on a multi-core processor is characterized by comprising the following steps:
s1, initializing the read-write Lock Lock to 0, and recording the ongoing data operation state in the data list in real time by the read-write Lock Lock;
s2, searching the jump table layer by layer from the highest-layer index data of the jump table to obtain the latest index data of the query data or the insertion data in the data list;
s3, when the operation is data query, applying for a read Lock to the read-write Lock Lock, and then entering the data list in a parallel processing mode to execute query operation;
and S4, when the operation is data insertion, applying for a write Lock to the read-write Lock Lock, and then entering the data list to execute the insertion operation.
2. The skip list multithreading optimization method based on the multicore processor of claim 1, wherein the entering the data list in a parallel processing manner in step S3 to perform the query operation specifically includes:
s31, checking whether the value of the variable Lock is larger than or equal to zero, if yes, executing a step S32, and if not, continuing to execute a step S31 after suspending for 0.1 second;
s32, adding 1 to the atomic operation executed by Lock, if the execution is successful, jumping to S33 for continuous execution, and if the execution is failed, jumping to S31 for continuous execution;
s33, entering a data list to execute query operation;
and S34, executing the atomic operation minus 1 on Lock, and ending the query operation.
3. The skip list multithreading optimization method based on the multicore processor of claim 1, wherein the entering of the data list in step S4 performs an insert operation, specifically comprising:
s41, checking whether the value of the variable Lock is equal to zero, if yes, executing the step S42, and if not, continuing to execute the step S41 after suspending for 0.1 second;
s42, performing atomic operation minus 1 on Lock, if the execution is successful, jumping to S43 for continuous execution, and if the execution is failed, jumping to S41 for continuous execution;
s43, entering a data list to execute an inserting operation;
and S44, adding 1 to the Lock atomic operation and ending the insert operation.
4. A skip list multithreading optimization device based on a multi-core processor, comprising: a processor and a storage device;
a processor to implement instructions;
a storage device to store the instructions, the instructions loaded and executed by the processor to:
initializing a read-write Lock Lock to be 0, and recording the ongoing data operation state in a data list in real time by the read-write Lock Lock;
searching the jump table layer by layer from the highest-layer index data of the jump table to obtain the latest index data of the query data or the insertion data in the data list;
when the operation is data query, applying for a read Lock for the read-write Lock, and then entering the data list in a parallel processing mode to execute query operation;
and when the operation is data insertion, applying for a write Lock to the read-write Lock, and then entering the data list to execute the insertion operation.
5. The multi-core processor-based skip list multithreading optimization device of claim 4, wherein the processor performs the query operation by entering the data list in a parallel processing manner, specifically comprising:
a. checking whether the value of the variable Lock is larger than or equal to zero, if so, executing the step b, and if not, continuing to execute the step a after suspending for 0.1 second;
b. adding 1 to the atomic operation executed by Lock, if the execution is successful, jumping to the step c for continuous execution, and if the execution is failed, jumping to the step a for continuous execution;
c. entering a data list to execute query operation;
d. and executing the atomic operation minus 1 on the Lock, and finishing the query operation.
6. The multi-core processor-based skip list multithreading optimization device of claim 4, wherein the processor performing the insert operation into the data list comprises:
e. checking whether the value of the variable Lock is equal to zero, if so, executing the step f, and if not, continuing to execute the step e after suspending for 0.1 second;
f. performing atomic operation on Lock minus 1, if the execution is successful, jumping to g for continuous execution, and if the execution is failed, jumping to e for continuous execution;
g. entering a data list to execute an insertion operation;
h. and adding 1 to the Lock to execute the atomic operation, and ending the insert operation.
7. A skip list multithreading optimization device based on a multi-core processor, comprising:
the initialization module is used for initializing the read-write Lock Lock to be 0 and recording the ongoing data operation state in the data list in real time;
the searching module is used for searching the jump table layer by layer from the highest-layer index data of the jump table to obtain the latest index data of the query data or the insertion data in the data list;
the query operation execution module applies for a read Lock from the read-write Lock and enters the data list in a parallel processing mode to execute query operation;
and the insertion operation execution module applies for a write Lock to the read-write Lock and enters the data list to execute insertion operation.
8. The skip list multithreading optimization device based on the multicore processor of claim 7, wherein the query operation execution module specifically includes:
the first checking unit is used for checking whether the value of the variable Lock is larger than or equal to zero or not;
the query operation execution unit is used for adding 1 to the Lock and executing query operation in the data list when the first checking unit judges that the first checking unit is yes, and subtracting 1 from the Lock after the operation is finished;
and when the first checking unit judges that the first checking unit is not the first checking unit, waiting until the Lock is larger than or equal to zero, and then executing the query operation.
9. The skip list multithreading optimization device based on the multicore processor of claim 7, wherein the insert operation execution module specifically includes:
a second checking unit for checking whether the value of the variable Lock is equal to zero;
the inserting operation executing unit is used for subtracting 1 from the Lock and executing inserting operation after entering the data list when the second checking unit judges that the Lock is in the positive state, and adding 1 to the Lock after the operation is finished;
and when the second checking unit judges that the second checking unit does not judge that the second checking unit and does not judge that the second checking unit and does not judge that the second and does not.
CN201711480205.4A 2017-12-29 2017-12-29 Jump table multithreading optimization method and device based on multi-core processor Active CN108228801B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711480205.4A CN108228801B (en) 2017-12-29 2017-12-29 Jump table multithreading optimization method and device based on multi-core processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711480205.4A CN108228801B (en) 2017-12-29 2017-12-29 Jump table multithreading optimization method and device based on multi-core processor

Publications (2)

Publication Number Publication Date
CN108228801A CN108228801A (en) 2018-06-29
CN108228801B true CN108228801B (en) 2021-08-31

Family

ID=62646131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711480205.4A Active CN108228801B (en) 2017-12-29 2017-12-29 Jump table multithreading optimization method and device based on multi-core processor

Country Status (1)

Country Link
CN (1) CN108228801B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116069267B (en) * 2023-04-06 2023-07-14 苏州浪潮智能科技有限公司 Writing cache method, system, equipment and storage medium of RAID card

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853279A (en) * 2010-05-13 2010-10-06 复旦大学 Improved lockout method of internal memory database
CN102880585A (en) * 2012-09-28 2013-01-16 无锡江南计算技术研究所 Synchronizer for processor system with multiple processor cores
CN103279428A (en) * 2013-05-08 2013-09-04 中国人民解放军国防科学技术大学 Explicit multi-core Cache consistency active management method facing flow application

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8375062B2 (en) * 2007-11-19 2013-02-12 Oracle America, Inc. Simple optimistic skiplist
US9569265B2 (en) * 2014-10-07 2017-02-14 Check Point Software Technologies Ltd. Optimization of data locks for improved write lock performance and CPU cache usage in multi core architectures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853279A (en) * 2010-05-13 2010-10-06 复旦大学 Improved lockout method of internal memory database
CN102880585A (en) * 2012-09-28 2013-01-16 无锡江南计算技术研究所 Synchronizer for processor system with multiple processor cores
CN103279428A (en) * 2013-05-08 2013-09-04 中国人民解放军国防科学技术大学 Explicit multi-core Cache consistency active management method facing flow application

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A GPU-Friendly Skiplist Algorithm;Nurit Moscovici;《2017 26th International Conference on Parallel Architectures and Compilation Techniques (PACT)》;20170913;全文 *

Also Published As

Publication number Publication date
CN108228801A (en) 2018-06-29

Similar Documents

Publication Publication Date Title
Zhang et al. Chameleondb: a key-value store for optane persistent memory
CN109933570B (en) Metadata management method, system and medium
US9672235B2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
US8832050B2 (en) Validation of distributed balanced trees
CN104115134B (en) For managing the method and system to be conducted interviews to complex data storage device
CN105468298B (en) A kind of key assignments storage method based on log-structured merging tree
US10248556B2 (en) Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session
CN108009008A (en) Data processing method and system, electronic equipment
US11204813B2 (en) System and method for multidimensional search with a resource pool in a computing environment
CN108021717B (en) Method for implementing lightweight embedded file system
Viglas Adapting the B+-tree for asymmetric I/O
CN107423321B (en) Method and device suitable for cloud storage of large-batch small files
CN108228801B (en) Jump table multithreading optimization method and device based on multi-core processor
CN111198660A (en) B + tree traversal method and device
CN108052296B (en) Data reading method and device and computer storage medium
CN110110034A (en) A kind of RDF data management method, device and storage medium based on figure
JP6333371B2 (en) Method for implementing bit arrays in cache lines
US10606757B2 (en) Method, device and computer program product for flushing metadata in multi-core system
CN110232066A (en) A kind of target cache method and system obtaining table data request
CN115905246B (en) KV caching method and device based on dynamic compression prefix tree
CN111881085B (en) Method and system for optimizing read-write bandwidth performance
CN108196795B (en) Data storage method and device and computer storage medium
CN107329705B (en) Shuffle method for heterogeneous storage
WO2015004570A1 (en) Method and system for implementing a dynamic array data structure in a cache line
CN114416742A (en) Key-Value storage engine implementation method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 230000 Yafu Park, Juchao Economic Development Zone, Chaohu City, Hefei City, Anhui Province

Applicant after: ANHUI HUISHI JINTONG TECHNOLOGY Co.,Ltd.

Address before: 102, room 602, C District, Hefei National University, Mount Huangshan Road, 230000 Hefei Road, Anhui, China

Applicant before: ANHUI HUISHI JINTONG TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant