CN103995689A - 一种实现信息接收后分发的流水线并行计算的方法 - Google Patents
一种实现信息接收后分发的流水线并行计算的方法 Download PDFInfo
- Publication number
- CN103995689A CN103995689A CN201310051251.8A CN201310051251A CN103995689A CN 103995689 A CN103995689 A CN 103995689A CN 201310051251 A CN201310051251 A CN 201310051251A CN 103995689 A CN103995689 A CN 103995689A
- Authority
- CN
- China
- Prior art keywords
- information
- processing
- parallel computing
- distribution
- processing unit
- 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
Landscapes
- Multi Processors (AREA)
Abstract
本发明公开了一种实现信息接收后分发的流水线并行计算的方法,该方法包括下列步骤:a)输入的海量待处理信息经过无锁缓存队列处理;b)处理后的信息经本单元内的单元处理逻辑器读取;c)读取完毕后的信息分发至下一个同样需要该信息的处理单元,类似的可根据信息处理需要,在此“接收后分发”链中安排若干个处理单元;d)最终处理完的信息被销毁。本发明避免了对原始信息的拷贝与销毁时的加锁串行,很好的解决了信息需要被大量处理程序同时处理的要求,实现高效并行。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种实现信息接收后分发的流水线并行计算的方法。
背景技术
在现在这个信息爆炸的时代,大量的海量数据处理软件与平台涌现。传统的集中式和客户/服务器数据库系统的能力不足以支持海量数据库的查询和海量事务的处理,难以适应迅速增长的应用要求,同样我们也在进行海量数据处理平台的研发过程中,遇到了大量的挑战。在为多家大型电信运营商提供信令分析的服务过程中,要求我们需要在极短的时间内,依据信令中蕴藏的信息,同时统计与分析客户所关心的大量KPI(关键绩效指标)。其中为了充分利用现有多核、多线程的主机并行性能。在同一份信息将要被多个处理程序处理的情况下,采用流水线思路,使得多个处理程序在不对原始信息进行拷贝与不进行加锁的处理平台上,实现高性能的并行处理。
当前并行信息分发技术,要么采用复制后分别并行处理的思路,其将充分利用多核主机的处理能力,使多个处理程序能在物理CPU(中央处理器)上进行相互不干扰的并行处理;要么采用带计数器的共享指针进行待处理海量信息共享,模拟独立复制并行处理效果。在信息被最后一个处理程序处理完毕后,负责将其删除。
以上现有技术存在以下缺点:
1、对于独立复制后的并行处理技术的使用,经测试发现对大量信息的复制本身将会带来极大的性能开销。在具体的信令分析与统计项目中,一般复制数量超过5份之后其将成为处理平台的瓶颈;
2、共享指针进行并行处理,由于信息在最后一个处理程序完成处理后对其进行删除,若此时有两个处理程序同时完成,则需要对共享指针的计数器进行加锁状态下的竞竟,而加锁竞争则是妨碍实现处理并行的重要原因。
发明内容
针对上述缺点,本发明提供一种实现信息接收后分发的流水线并行计算的方法。该技术实现方案可以避免对原始信息的拷贝与销毁时的加锁串行,很好的解决信息需要被大量处理程序同时处理的要求,实现高效并行。
为达到上述目的,本发明采用如下技术方案:
一种实现信息接收后分发的流水线并行计算的方法,包括下列步骤:a) 输入的海量待处理信息经过无锁缓存队列处理;b) 处理后的信息经本单元内的单元处理逻辑器读取;c)读取完毕后的信息分发至下一个同样需要该信息的处理单元,类似的可根据信息处理需要,在此“接收后分发”链中安排若干个处理单元;d) 最终处理完的信息被销毁。
本发明的一种实现信息接收后分发的流水线并行计算的方法,其处理单元是具备独立作业能力的线程或线程组。
本发明的一种实现信息接收后分发的流水线并行计算的方法,其每个处理单元由一个无锁的缓存队列和单元处理逻辑构成。
本发明的一种实现信息接收后分发的流水线并行计算的方法,其处理单元间吞吐率存在固有差异的,使用拆分策略实现并行平衡。
本发明的一种实现信息接收后分发的流水线并行计算的方法,其拆分策略为若业务无合并要求的进行纯随机拆分;若业务有合并要求的,按业务关键字进行hash取模拆分。
与现有技术相比,本发明的有益效果是将在处理程序无加锁情况下,在同一进程空间中、在物理线程数范围内,增加处理单元程序时,系统总体处理能力具有良好的线性增长特性。对于存在吞吐率差异的处理单元,使用拆分机制可以很好的避免流水线中瓶颈出现。若使用不同进程空间或在不同主机上,本发明将非常容易实现大数据处理追求的MPP(海量并行处理)模式。
附图说明
图1是信息单元处理输出流程图。
图2是本发明的处理流程逻辑结构图。
具体实施方式
下面通过具体实施例对本发明作进一步说明。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
数据业务分析通过基于本发明的平台程序,可承载大量业务处理单元程序,进行海量实时处理。在大规模部署,进行信息固定时间窗口分组统计的情况下,经由以下步骤:a) 输入的海量待处理信息经过无锁缓存队列处理;b) 处理后的信息经本单元内的单元处理逻辑器读取;c)读取完毕后的信息分发至下一个同样需要该信息的处理单元,类似的可根据信息处理需要,在此“接收后分发”链中安排若干个处理单元;d) 最终处理完的信息被销毁。
对于确实存在处理单元吞吐率差异较大的情况,采用处理单元拆分的方式避免在流水线中出现瓶颈。如:存在某一处理单元吞吐率为5k/s,其它处理单元为10k/s。那么由于瓶颈的原因,流水线总体吞吐率为5k/s。调优处理可以将该处理单元拆分为两个处理单元,且每个只接收一半的流量,之后再将完整的流量分发给后续的处理单元。这样两个5k/s的处理单元,就可以取得10k/s的总体吞吐率。
在普通的x64构架下,平均涉及5个维度、5个指标的计算处理吞吐量将不低于2万笔/秒,极限处理速度不高于20万笔/秒,且具有良好的性能线性增长率。
在16物理线程的双核四U超线程CPU在Linux SUSE 11下,12个处理线程之内,对性能的平均增长率,每线程不低于80%。即1线程吞吐率为20k/s,则12线程吞吐率为12*20*80%=192k/s。
Claims (5)
1.一种实现信息接收后分发的流水线并行计算的方法,其特征在于,包括下列步骤:a) 输入的海量待处理信息经过无锁缓存队列处理;b) 处理后的信息经本单元内的单元处理逻辑器读取;c)读取完毕后的信息分发至下一个同样需要该信息的处理单元,类似的可根据信息处理需要,在此“接收后分发”链中安排若干个处理单元;d) 最终处理完的信息被销毁。
2.根据权利要求1所述的一种实现信息接收后分发的流水线并行计算的方法,其特征在于,所述处理单元是具备独立作业能力的线程或线程组。
3.根据权利要求2所述的一种实现信息接收后分发的流水线并行计算的方法,其特征在于,所述每个处理单元由一个无锁的缓存队列和单元处理逻辑构成。
4.根据权利要求1所述的一种实现信息接收后分发的流水线并行计算的方法,其特征在于,所述处理单元间吞吐率存在固有差异的,使用拆分策略实现并行平衡。
5.根据权利要求4所述的一种实现信息接收后分发的流水线并行计算的方法,其特征在于,所述拆分策略为若业务无合并要求的进行纯随机拆分;若业务有合并要求的,按业务关键字进行hash取模拆分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310051251.8A CN103995689A (zh) | 2013-02-16 | 2013-02-16 | 一种实现信息接收后分发的流水线并行计算的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310051251.8A CN103995689A (zh) | 2013-02-16 | 2013-02-16 | 一种实现信息接收后分发的流水线并行计算的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103995689A true CN103995689A (zh) | 2014-08-20 |
Family
ID=51309867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310051251.8A Pending CN103995689A (zh) | 2013-02-16 | 2013-02-16 | 一种实现信息接收后分发的流水线并行计算的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103995689A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120159103A1 (en) * | 2010-12-21 | 2012-06-21 | Microsoft Corporation | System and method for providing stealth memory |
CN102681890A (zh) * | 2012-04-28 | 2012-09-19 | 中国科学技术大学 | 一种应用于线程级推测并行的限制性值传递方法和装置 |
CN102761489A (zh) * | 2012-07-17 | 2012-10-31 | 中国科学技术大学苏州研究院 | 基于流水线模式的数据包零拷贝的核间通信方法 |
-
2013
- 2013-02-16 CN CN201310051251.8A patent/CN103995689A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120159103A1 (en) * | 2010-12-21 | 2012-06-21 | Microsoft Corporation | System and method for providing stealth memory |
CN102681890A (zh) * | 2012-04-28 | 2012-09-19 | 中国科学技术大学 | 一种应用于线程级推测并行的限制性值传递方法和装置 |
CN102761489A (zh) * | 2012-07-17 | 2012-10-31 | 中国科学技术大学苏州研究院 | 基于流水线模式的数据包零拷贝的核间通信方法 |
Non-Patent Citations (1)
Title |
---|
悟时: "一种高校无锁内存队列的实现", 《搜索技术博客》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134636B (zh) | 模型训练方法、服务器和计算机可读存储介质 | |
McCreadie et al. | Scalable distributed event detection for twitter | |
US11876642B2 (en) | Collective communication system and methods | |
US8463928B2 (en) | Efficient multiple filter packet statistics generation | |
CN105407356B (zh) | 高速实时jpeg2000解码方法 | |
CN111131304A (zh) | 面向云平台大规模虚拟机细粒度异常行为检测方法和系统 | |
CN107102964A (zh) | 一种利用高速率连接器进行gpu集群拓展的方法 | |
CN102314336A (zh) | 一种数据处理方法和系统 | |
Lv et al. | Fault diagnosis based on subsystem structures of data center network BCube | |
CN107085579A (zh) | 一种数据采集分发方法及装置 | |
CN107423336A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN105530157B (zh) | Afdx网络交换机多个虚拟链路共享信用的架构及方法 | |
Yang et al. | K-Means Method for Grouping in Hybrid MapReduce Cluster. | |
CN116226139B (zh) | 一种适用大规模海洋数据的分布式存储和处理方法及系统 | |
CN103995689A (zh) | 一种实现信息接收后分发的流水线并行计算的方法 | |
CN106294429A (zh) | 重复数据识别方法和装置 | |
CN106791932A (zh) | 分布式转码系统、方法及其装置 | |
CN107491359A (zh) | 一种分布式海量实时数据流灾难恢复系统及方法 | |
Ghose et al. | Foreword (special issue of cluster computing on divisible load scheduling) | |
EP4274128A1 (en) | Communication method and apparatus, and system, storage medium and computer program product | |
CN113051323A (zh) | 一种水环境大数据交换方法 | |
CN115756308A (zh) | 一种云数据迁移的优化方法及系统 | |
CN111984202A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
Kleinheksel et al. | Scaling Distributed All-Pairs Algorithms: Manage Computation and Limit Data Replication with Quorums | |
Weipeng et al. | Research on improved method of storage and query of large-scale remote sensing images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140820 |