CN118819899A - 一种用于金融交易场景的数据处理方法、介质及电子设备 - Google Patents
一种用于金融交易场景的数据处理方法、介质及电子设备 Download PDFInfo
- Publication number
- CN118819899A CN118819899A CN202410915504.XA CN202410915504A CN118819899A CN 118819899 A CN118819899 A CN 118819899A CN 202410915504 A CN202410915504 A CN 202410915504A CN 118819899 A CN118819899 A CN 118819899A
- Authority
- CN
- China
- Prior art keywords
- thread
- ring buffer
- threadlocal
- transaction
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于金融交易场景的数据处理方法、介质及电子设备,所述方法包括:初始化环形缓冲区;使用ThreadLocal进行线程本地存储;在生产者线程中,通过ThreadLocal获取线程本地事件对象;获取环形缓冲区下一个可用的序列号;将线程本地事件对象中的数据写入环形缓冲区中的事件对象;通过环形缓冲区发布事件,通知消费者有新的事件可处理;消费者线程从环形缓冲区中获取事件;使用线程本地的处理状态对象处理从环形缓冲区中获取交易数据;在处理交易数据后,更新线程本地的处理状态对象。本发明提供了一种高效、低延迟、线程安全的金融交易系统数据处理方法,满足了金融系统高并发、高吞吐量、低延迟的严格要求。
Description
技术领域
本发明涉及金融交易领域,具体是一种用于金融交易场景的数据处理方法、介质及电子设备。
背景技术
在高并发数据处理场景中,如在线交易系统和实时数据分析,系统需要快速、高效地处理大量并发请求。目前在高频数据处理场景中,常见的实现方案有使用传统的阻塞队列(如ArrayBlockingQueue或LinkedBlockingQueue)结合线程池来进行数据生产和消费。
传统的队列和锁机制往往难以满足高性能要求,容易导致线程竞争和性能瓶颈。RingBuffer作为一种高效的缓冲区结构,可以提供高吞吐量和低延迟,而ThreadLocal可以为每个线程提供独立的变量存储,避免线程间的共享和竞争。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种用于金融交易场景的数据处理方法、介质及电子设备。
为实现上述目的,在本申请的第一方面提供了一种用于金融交易场景的数据处理方法,所述方法包括:
初始化环形缓冲区;
使用ThreadLocal进行线程本地存储;
在生产者线程中,通过ThreadLocal获取线程本地事件对象,并将交易数据写入线程本地事件对象;
获取环形缓冲区下一个可用的序列号,通过获取的序列号,从环形缓冲区中获取对应的事件对象;
将线程本地事件对象中的数据写入环形缓冲区中的事件对象;
通过环形缓冲区发布事件,通知消费者有新的事件可处理;
消费者线程从环形缓冲区中获取事件,使用消费者线程的序列号来标识需要处理的事件,并通过ThreadLocal获取消费者线程本地的处理状态对象;
使用线程本地的处理状态对象处理从环形缓冲区中获取交易数据;
在处理交易数据后,更新线程本地的处理状态对象。
可选的,所述初始化环形缓冲区包括:
根据交易系统的预期并发量和数据处理需求选择缓冲区;
选择等待策略以平衡系统延迟和CPU使用率;
创建事件工厂,事件工厂用于创建环形缓冲区中的事件对象;
初始化Disruptor框架,通过Disruptor框架创建和管理环形缓冲区;
配置事件处理器,事件处理器用于处理从环形缓冲区中读取的事件。
可选的,,所述使用ThreadLocal进行线程本地存储包括:
确定需要ThreadLocal存储的对象;
创建ThreadLocal变量,为每个需要线程本地存储的对象创建ThreadLocal变量;
初始化ThreadLocal变量,在系统初始化过程中,为每个线程初始化ThreadLocal变量;
在线程中获取ThreadLocal对象,在处理交易数据时,通过ThreadLocal变量获取线程本地存储的对象;
在生产者线程中,将交易数据写入ThreadLocal存储的交易事件对象;
在消费者线程中,通过ThreadLocal变量获取处理状态对象。
可选的,所述存储的对象包括交易事件对象和处理状态对象,交易事件对象包括交易ID和交易价格,处理状态对象包括交易处理的中间状态和交易处理的结果。
可选的,在处理交易数据后,还会根据处理结果来执行日志记录操作或者通知其他系统。
可选的,所述环形缓冲区通过Compare-And-Swap机制实现无锁的序列号获取和事件发布。
可选的,环形缓冲区支持多生产者和多消费者模式,通过同步机制,多个生产者可以同时发布事件,多个消费者可以同时处理事件。
可选的,通过无锁设计和预分配内存,事件对象在环形缓冲区中预先分配,以确保在高并发环境下数据的一致性和处理的准确性。
在本申请的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,采用了第一方面中任一项所述的方法。
在本申请的第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,所述处理器加载并执行计算机程序时,采用了第一方面中任一项所述的方法。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明结合使用环形缓冲区和ThreadLocal,提供了一种高效、低延迟、线程安全的金融交易系统数据处理方法,显著提高了处理性能,满足了金融系统高并发、高吞吐量、低延迟的严格要求,具有广泛的应用前景和市场价值。
附图说明
图1是本申请实施例提供的一种用于金融交易场景的数据处理方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本实施例提供一种用于金融交易场景的数据处理方法,包括:
S1、初始化环形缓冲区。
在金融交易场景中,初始化环形缓冲区(下文用RingBuffer替代)是关键步骤之一,确保系统能够高效处理高并发交易请求。详细步骤如下:
S101、确定缓冲区大小。
缓冲区大小是RingBuffer的核心参数,直接影响系统的吞吐量和性能。根据交易系统的预期并发量和数据处理需求,选择合适的缓冲区大小。例如,设置缓冲区大小为1024或2048,以确保在高并发环境下有足够的缓冲空间。
S102、选择等待策略。
等待策略决定了消费者在等待生产者发布新数据时的行为。常见的等待策略包括:
BlockingWaitStrategy:使用锁和条件变量,适用于对延迟要求不高的场景。
YieldingWaitStrategy:消费者线程会不断让出CPU,适用于低延迟和高吞吐量的场景。
BusySpinWaitStrategy:消费者线程忙等待,适用于极低延迟的场景,但会消耗更多CPU资源。
选择合适的等待策略以平衡系统延迟和CPU使用率。
S103、创建事件工厂。
事件工厂用于创建RingBuffer中的事件对象。金融交易场景中的事件对象通常包含交易ID、价格等信息。
S104、初始化Disruptor框架。
Disruptor框架是实现RingBuffer的核心工具。通过Disruptor框架,可以方便地创建和管理RingBuffer,以及生产者和消费者线程。
S105、配置事件处理器。
事件处理器用于处理从RingBuffer中读取的事件。根据交易系统的需求,可以配置单个或多个事件处理器来处理交易数据。
S2、使用ThreadLocal进行线程本地存储。
在金融交易场景中,为了避免线程间的数据共享和竞争,我们使用ThreadLocal为每个线程提供独立的变量存储。详细步骤如下:
S201、确定需要ThreadLocal存储的对象。
在金融交易系统中,确定哪些数据或对象需要在线程本地存储,以避免线程间的数据共享和竞争。通常,这些对象包括:
交易事件对象(TradeEvent):包括交易ID、交易价格等信息。
处理状态对象(ProcessingState):包括交易处理的中间状态和交易处理的结果等。
S202、创建ThreadLocal变量。
为每个需要线程本地存储的对象创建ThreadLocal变量。这些变量在每个线程中独立存在,避免了线程间的数据竞争。
S203、初始化ThreadLocal变量。
在系统初始化过程中,为每个线程初始化ThreadLocal变量。使用ThreadLocal的withInitial方法,为每个线程分配独立的对象实例。
S204、在线程中获取ThreadLocal对象。
在处理交易数据时,通过ThreadLocal变量获取线程本地存储的对象。这些对象仅在线程内部使用,避免了线程间的数据共享。
S205、将数据写入ThreadLocal对象。
在生产者线程中,将交易数据写入ThreadLocal存储的交易事件对象。这样每个生产者线程都能独立处理自己的数据,不会与其他线程发生冲突。
S206、处理数据并更新ThreadLocal状态。
在消费者线程中,通过ThreadLocal变量获取处理状态对象。使用该对象处理从RingBuffer获取的交易数据,并在处理完成后更新处理状态。
S207、释放ThreadLocal对象。
在某些情况下,在线程执行完毕后,需要手动清理ThreadLocal对象,以防止内存泄漏。这可以通过调用ThreadLocal.remove()方法来实现。
S3、事件生产
S301、获取线程本地事件对象。
在生产者线程中,通过ThreadLocal获取线程本地的事件对象。这样可以确保每个线程都有独立的事件对象,避免线程间的数据共享和竞争。
S302、写入交易数据。
将交易数据(如交易ID和价格)写入线程本地的事件对象。这一步操作是线程本地的,不涉及线程间的同步问题。
S303、获取RingBuffer的下一个序列号。
使用RingBuffer的`next()`方法获取下一个可用的序列号。这是一个无锁的操作,通过CAS(Compare-And-Swap)机制保证线程安全。
S304、获取RingBuffer中的事件对象。
通过获取的序列号,从RingBuffer中获取对应的事件对象。RingBuffer预先分配内存,确保获取的事件对象是已分配的,无需额外的内存分配操作。
S305、将数据写入RingBuffer中的事件对象。
将线程本地事件对象中的数据写入RingBuffer中的事件对象。这一步是将数据从ThreadLocal事件对象复制到RingBuffer中。
S306、发布事件。
使用RingBuffer的publish(sequence)方法发布事件,通知消费者有新的事件可处理。这也是一个无锁操作,通过CAS机制保证线程安全。
S4、事件处理。
S401、从RingBuffer获取事件。
消费者线程从RingBuffer中获取事件,使用消费者线程的序列号来标识需要处理的事件。RingBuffer确保事件按照生产者发布的顺序被消费者读取。
S402、获取线程本地处理状态。
通过ThreadLocal获取消费者线程本地的处理状态对象(如
`ProcessingState`)。每个消费者线程都有独立的处理状态对象,避免了线程间的数据共享和竞争。
S403、处理交易数据。
使用线程本地的处理状态对象处理从RingBuffer中获取的交易数据。处理逻辑可以根据具体需求进行定制,如计算、存储、过滤等操作。
S404、更新处理状态。
在处理交易数据后,更新线程本地的处理状态对象。这确保了处理状态的独立性和线程安全性。
S405、执行后续操作。
在处理交易数据后,还会根据处理结果执行一些后续操作,如日志记录、通知其他系统等。这些操作也在本地完成,确保不影响其他线程的执行。
本实施例在多线程同步中使用CAS机制保证线程安全,RingBuffer通过CAS(Compare-And-Swap)机制实现无锁的序列号获取和事件发布,确保生产者和消费者之间的线程安全。这种机制减少了锁竞争,提高了系统性能。
RingBuffer的设计保证了事件的有序处理,消费者按照生产者发布的顺序处理事件,确保数据一致性和处理的准确性。
RingBuffer支持多生产者和多消费者模式。通过高效的同步机制,多个生产者可以同时发布事件,多个消费者可以同时处理事件,适应高并发环境下的需求。通过无锁设计和预分配内存,RingBuffer避免了数据一致性问题。事件对象在RingBuffer中预先分配,确保在高并发环境下数据的一致性和处理的准确性。通过减少锁竞争和上下文切换,使用CAS机制和ThreadLocal存储,本发明显著优化了系统性能,提高了金融交易系统的吞吐量和响应速度。
本实施例在金融交易场景中,结合使用RingBuffer和ThreadLocal,以提升单机处理性能,具有以下显著优点:
高吞吐量:无锁设计:RingBuffer采用无锁设计,通过CAS
(Compare-And-Swap)机制实现数据的生产和消费,减少了锁竞争和上下文切换,提高了系统的吞吐量。预分配内存:事件对象在RingBuffer中预先分配,避免了运行时的频繁内存分配和垃圾回收,提高了系统的整体性能。
低延迟:线程本地存储:使用ThreadLocal为每个线程提供独立的存储空间,避免了线程间的数据共享和竞争,显著降低了数据处理的延迟。高效等待策略:通过选择合适的等待策略(如BusySpinWaitStrategy或YieldingWaitStrategy),进一步降低了事件处理的延迟,满足了金融交易系统对低延迟的严格要求。
线程安全:独立的线程本地变量:ThreadLocal变量确保每个线程有独立的事件对象和处理状态,避免了线程间的数据竞争,提高了系统的线程安全性。有序事件处理:RingBuffer确保事件按照生产者发布的顺序被消费者读取和处理,保证了数据的一致性和处理的准确性。
易扩展性:支持多生产者多消费者:RingBuffer支持多生产者和多消费者模式,通过高效的同步机制,多个生产者可以同时发布事件,多个消费者可以同时处理事件,适应不同规模的交易系统需求。
灵活的配置:根据系统的具体需求,可以灵活配置RingBuffer的大小和等待策略,满足不同负载和性能要求。
资源高效利用:减少上下文切换:无锁设计和高效的等待策略减少了线程间的上下文切换,降低了系统开销,提高了CPU资源的利用率。
优化内存使用:ThreadLocal和预分配内存机制减少了垃圾回收的频率,优化了内存使用,提高了系统的稳定性和性能。
适应性强:应对高并发场景:本发明特别适用于金融交易系统中的高并发数据处理场景,能够高效处理大量并发交易请求,保证系统的高可用性和可靠性。
广泛应用:除了金融交易场景,本发明的方法和系统也适用于其他需要高性能数据处理的领域,如实时数据分析、在线广告竞价、物联网数据处理等。
通过结合使用RingBuffer和ThreadLocal,本实施例提供了一种高效、低延迟、线程安全的金融交易系统数据处理方法。显著提高了单机处理性能,满足了高并发、高吞吐量、低延迟的严格要求,具有广泛的应用前景和市场价值。
此外,需要说明的是:本申请实施例还提供了还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,执行了上述实施例所述的方法。
此外,需要说明的是:本申请实施例还提供了还提供一种电子设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,所述处理器加载并执行计算机程序时,执行了上述实施例所述的方法。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种用于金融交易场景的数据处理方法,其特征在于,所述方法包括:
初始化环形缓冲区;
使用ThreadLocal进行线程本地存储;
在生产者线程中,通过ThreadLocal获取线程本地事件对象,并将交易数据写入线程本地事件对象;
获取环形缓冲区下一个可用的序列号,通过获取的序列号,从环形缓冲区中获取对应的事件对象;
将线程本地事件对象中的数据写入环形缓冲区中的事件对象;
通过环形缓冲区发布事件,通知消费者有新的事件可处理;
消费者线程从环形缓冲区中获取事件,使用消费者线程的序列号来标识需要处理的事件,并通过ThreadLocal获取消费者线程本地的处理状态对象;
使用线程本地的处理状态对象处理从环形缓冲区中获取交易数据;
在处理交易数据后,更新线程本地的处理状态对象。
2.如权利要求1所述的一种用于金融交易场景的数据处理方法,其特征在于,所述初始化环形缓冲区包括:
根据交易系统的预期并发量和数据处理需求选择缓冲区;
选择等待策略以平衡系统延迟和CPU使用率;
创建事件工厂,事件工厂用于创建环形缓冲区中的事件对象;
初始化Disruptor框架,通过Disruptor框架创建和管理环形缓冲区;
配置事件处理器,事件处理器用于处理从环形缓冲区中读取的事件。
3.如权利要求1所述的一种用于金融交易场景的数据处理方法,其特征在于,所述使用ThreadLocal进行线程本地存储包括:
确定需要ThreadLocal存储的对象;
创建ThreadLocal变量,为每个需要线程本地存储的对象创建ThreadLocal变量;
初始化ThreadLocal变量,在系统初始化过程中,为每个线程初始化ThreadLocal变量;
在线程中获取ThreadLocal对象,在处理交易数据时,通过ThreadLocal变量获取线程本地存储的对象;
在生产者线程中,将交易数据写入ThreadLocal存储的交易事件对象;
在消费者线程中,通过ThreadLocal变量获取处理状态对象。
4.如权利要求3所述的一种用于金融交易场景的数据处理方法,其特征在于,所述存储的对象包括交易事件对象和处理状态对象,交易事件对象包括交易ID和交易价格,处理状态对象包括交易处理的中间状态和交易处理的结果。
5.如权利要求1所述的一种用于金融交易场景的数据处理方法,其特征在于,在处理交易数据后,还会根据处理结果来执行日志记录操作或者通知其他系统。
6.如权利要求1所述的一种用于金融交易场景的数据处理方法,其特征在于,所述环形缓冲区通过Compare-And-Swap机制实现无锁的序列号获取和事件发布。
7.如权利要求1所述的一种用于金融交易场景的数据处理方法,其特征在于,环形缓冲区支持多生产者和多消费者模式,通过同步机制,多个生产者可以同时发布事件,多个消费者可以同时处理事件。
8.如权利要求1所述的一种用于金融交易场景的数据处理方法,其特征在于,通过无锁设计和预分配内存,事件对象在环形缓冲区中预先分配,以确保在高并发环境下数据的一致性和处理的准确性。
9.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1-8中任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述处理器加载并执行计算机程序时,采用了权利要求1-8中任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410915504.XA CN118819899A (zh) | 2024-07-09 | 2024-07-09 | 一种用于金融交易场景的数据处理方法、介质及电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410915504.XA CN118819899A (zh) | 2024-07-09 | 2024-07-09 | 一种用于金融交易场景的数据处理方法、介质及电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118819899A true CN118819899A (zh) | 2024-10-22 |
Family
ID=93068019
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410915504.XA Pending CN118819899A (zh) | 2024-07-09 | 2024-07-09 | 一种用于金融交易场景的数据处理方法、介质及电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118819899A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121056424A (zh) * | 2025-10-31 | 2025-12-02 | 广州致远电子股份有限公司 | Can帧数据传输方法、装置、设备及存储介质 |
-
2024
- 2024-07-09 CN CN202410915504.XA patent/CN118819899A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121056424A (zh) * | 2025-10-31 | 2025-12-02 | 广州致远电子股份有限公司 | Can帧数据传输方法、装置、设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9250979B2 (en) | Asynchronous grace-period primitives for user-space applications | |
| US7962923B2 (en) | System and method for generating a lock-free dual queue | |
| CN101763289B (zh) | 一种基于共享内存的消息传递方法 | |
| US20080201561A1 (en) | Multi-threaded parallel processor methods and apparatus | |
| US8806168B2 (en) | Producer-consumer data transfer using piecewise circular queue | |
| US11468001B1 (en) | Processing-in-memory concurrent processing system and method | |
| JP4568292B2 (ja) | キャッシュライン・ポーリングを実行する方法、装置、プログラム及び情報処理システム | |
| JP6260303B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
| US20240036919A1 (en) | Efficient task allocation | |
| CN101510162B (zh) | 一种基于延时策略的软件事务内存的实现方法 | |
| CN111052094B (zh) | 使用c状态和睿频加速提高用户空间的自旋锁效率 | |
| CN106250348A (zh) | 一种基于gpu访存特性的异构多核架构缓存管理方法 | |
| CN117501254A (zh) | 使用近存储器计算为复杂操作提供原子性 | |
| CN112764904A (zh) | 基于多任务系统中防止低优先级任务饿死的方法 | |
| US20050066149A1 (en) | Method and system for multithreaded processing using errands | |
| CN112732416A (zh) | 有效消除数据访问延迟的并行数据处理方法及并行处理器 | |
| US8869172B2 (en) | Method and system method and system for exception-less system calls for event driven programs | |
| EP2284703B1 (en) | Scheduling of tasks in a parallel computer system according to defined policies | |
| CN118819899A (zh) | 一种用于金融交易场景的数据处理方法、介质及电子设备 | |
| US11481250B2 (en) | Cooperative workgroup scheduling and context prefetching based on predicted modification of signal values | |
| WO2025200123A1 (zh) | 缓存管理方法、缓存管理装置、处理器和电子装置 | |
| CN114610494A (zh) | 资源分配方法、电子设备及计算机可读存储介质 | |
| US7661115B2 (en) | Method, apparatus and program storage device for preserving locked pages in memory when in user mode | |
| US20120137300A1 (en) | Information Processor and Information Processing Method | |
| Souto et al. | Improving concurrency and memory usage in distributed operating systems for lightweight manycores via cooperative time-sharing lightweight tasks |
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 |