CN105988873B - 一种优化处理资源的方法及装置 - Google Patents

一种优化处理资源的方法及装置 Download PDF

Info

Publication number
CN105988873B
CN105988873B CN201510058673.7A CN201510058673A CN105988873B CN 105988873 B CN105988873 B CN 105988873B CN 201510058673 A CN201510058673 A CN 201510058673A CN 105988873 B CN105988873 B CN 105988873B
Authority
CN
China
Prior art keywords
data
cpu
thread
division
dedicated cache
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
CN201510058673.7A
Other languages
English (en)
Other versions
CN105988873A (zh
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.)
Shenzhou Yunke (Beijing) Technology Co.,Ltd.
Original Assignee
Shenzhen Science And Technology Co Ltd Digital Cloud Data
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 Shenzhen Science And Technology Co Ltd Digital Cloud Data filed Critical Shenzhen Science And Technology Co Ltd Digital Cloud Data
Priority to CN201510058673.7A priority Critical patent/CN105988873B/zh
Publication of CN105988873A publication Critical patent/CN105988873A/zh
Application granted granted Critical
Publication of CN105988873B publication Critical patent/CN105988873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种优化处理资源的方法及装置,包括:将数据按照磁盘阵列Raid条带进行划分,划分后的数据子集分别分派到不同的CPU进行处理并分派到与之对应的CPU的专用cache中;分别将所述划分后的数据子集绑定到所述与之对应的CPU的线程中异步执行,并将划分后的数据保存到所述CPU的专用cache中。本发明以均衡和减少冲突为原则达成的优化处理资源的方法及装置,具有很高的IOPS吞吐能力,资源使用平衡,不冲突,因为顶层设计清晰,系统具有很好的可靠性和扩展性。

Description

一种优化处理资源的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种优化处理资源的方法及装置。
背景技术
存储系统的软件框架设计,一般来说有很多种技术,比如:
1.工作线程组
2.线程CPU绑定
3.异步工作队列
4.预分配内存池
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1.只是简单的使用多种流行技术,没有统一的策略指导,没有有机的综合;比如工作线程组,没有对数据进行拆分,则需要处理多线程访问共享数据的带来的问题(资源加锁,造成spin_lock冲突或者mutex线程切换)。这种问题不是处理逻辑引入(比如异步分布式io锁是逻辑引入),而是数据处理方式引入,本可以避免。若不规避这些问题,在要求极高的IOPS条件下,会因为锁冲突、线程切换等原因导致IOPS性能瓶颈。
2.没有从整体上对CPU资源,内存资源做划分,绑定,导致资源使用没有最优化甚至冲突,降低性能。
发明内容
为解决上述技术问题,本发明提出了一种优化处理资源的方法及装置,该方法以访问局部化,资源平均化为原则实现分布式处理框架,提高存储系统IOPS性能。
本发明提供了一种优化处理资源的方法,该方法包括:
将数据按照磁盘阵列Raid条带进行划分,划分后的数据子集分别分派到不同的CPU进行处理并分派到与之对应的CPU的专用cache中;
分别将所述划分后的数据子集绑定到所述与之对应的CPU的线程中异步执行,并将划分后的数据保存到所述CPU的专用cache中。
优选地,所述将数据按照Raid条带进行划分之前还包括:
获取所述数据的Raid条带占用信息。
优选地,所述线程设有与之对应的页内存管理。
优选地,所述线程对保存在之对应的CPU的专用cache中的数据采用无并发的单线程数据处理模式进行数据处理。
优选地,所述方法还包括:
将当前没有进行数据子集绑定的CPU设置为冗余CPU。
相应的,本发明还提出了一种优化处理资源的装置,所述装置包括:
数据拆分模块,用于将数据按照磁盘阵列Raid条带进行划分,划分后的数据子集分别分派到不同的CPU进行处理并分派到与之对应的CPU的专用cache中;
资源绑定模块,用于分别将所述划分后的数据子集绑定到所述与之对应的CPU的线程中异步执行,并将划分后的数据保存到所述CPU的专用cache中。
优选地,所述装置还包括:
获取模块,用于在将数据按照Raid条带进行划分之前,获取所述数据的Raid条带占用信息。
采用本发明提出的一种优化处理资源的方法及装置,通过数据拆分,相当于先对数据做了均衡的Hash,将大数据拆分为小数据分而治之;资源绑定,将多线程并发处理模型简化为单线程数据处理模型;从顶层整体分配所有资源(CPU资源和内存资源),以均衡和减少冲突为原则达成的存储系统,具有很高的IOPS吞吐能力,资源使用平衡,不冲突,因为顶层设计清晰,系统具有很好的可靠性和扩展性。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1为本发明实施例一提出的一种优化处理资源的方法流程图;
图2为本发明实施例中提出的拆分bio的流程图;
图3为本发明实施例二提出的一种优化处理资源的装置模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
存储系统要具有极高的IOPS能力,并且支持双控乃至集群,必须分布式并行处理,降低数据访问冲突、资源占用冲突,将访问局部化,资源平均化。在系统框架设计上,很好的用以上原则融合多种技术的设计框架,才是好的框架。
图1为本发明实施例一提出的一种优化处理资源的方法流程图,如图1所示,该方法包括以下步骤:
S101,将数据按照磁盘阵列Raid条带进行划分,划分后的数据子集分别分派到不同的CPU进行处理并分派到与之对应的CPU的专用cache中;
S102,分别将所述划分后的数据子集绑定到所述与之对应的CPU的线程中异步执行,并将划分后的数据保存到所述CPU的专用cache中。
其中,线程对保存在之对应的CPU的专用cache中的数据采用无并发的单线程数据处理模式进行数据处理。本发明实施例中,线程要处理的数据是自己独有的,所以数据处理模式是单线程,不用考虑并发访问数据。
本发明实施例中,在所述将数据按照Raid条带进行划分之前,本方法还包括:
获取所述数据的Raid条带占用信息。
其中,所述线程设有与之对应的页内存管理,每个Per_CPU work有本地化的页内存管理。
本发明实施例中,所述方法还包括:
将当前没有进行数据子集绑定的CPU设置为冗余CPU,将剩余的CPU核用于系统中其他上层模块。
本发明实现的构架方案如下:
1.数据拆分
将数据按照Raid条带进行划分,分派到不同的CPU核(可扩展到双控制器乃至集群)上去处理(CPU资源),分派到不同的CPU的专用cache即Per_CPU cache中(内存资源)。
数据拆分相当于先对数据做了均衡的Hash,将大数据拆分为小数据分而治之。
2.资源绑定
将拆分后的数据子集(sub_io)分派(绑定)到某个CPU核的Per_CPU work中异步执行,存储到CPU对应的Per_CPU cache中。
这样,每个CPU核的Per_CPU work都有自己局部化的内存资源Per_CPU cache(以及Per_CPU页内存管理);Per_CPU work都是无并发的单线程模型。
资源绑定后自然达成的好的效果是,将多线程并发处理模型简化为单线程数据处理模型。
本发明实施例的具体工作流程,如下:
1.将双控通讯设定到一个真CPU核心上执行;
2.将异步双控范围锁(包括IO锁和条带锁)设定到一个真CPU核心上执行;
3.将cache的IO处理,产生flush io等work设定到一组CPU核心上执行;
外部的IO拆分到双控的每个cache Per_CPU work上执行;flush在每个Per_CPU本地产生;
4.将Raid的IO处理等work设定到一组CPU核心上执行,与cache有M比N的关系;
5.剩余CPU核用于系统中其他上层模块;
6.每个Per_CPU work有本地化的页内存管理。
图2为拆分bio的流程图,具体包括:
初始化task_array、start_pos等信息;获取cache的条带大小;
遍历next_range,将bio拆分为pcpu_bio_task,并初始化,放入局部变量task_array中;
出现错误则根据task_array数组rollback所有pcpu_bio_task;
无错误则将task_array中所有pcpu_bio_task放入对应的pcpu_work中执行。
其中,task_array是任务数组,pcpu_bio_task是每CPU的bio任务,bio是存储系统中专用的数据,保存了一个数据块的访问请求的所有信息。
图3为本发明实施例二提出的一种优化处理资源的装置模块图,如图3所示,该装置包括:
数据拆分模块301,用于将数据按照磁盘阵列Raid条带进行划分,划分后的数据子集分别分派到不同的CPU进行处理并分派到与之对应的CPU的专用cache中;
资源绑定模块302,用于分别将所述划分后的数据子集绑定到所述与之对应的CPU的线程中异步执行,并将划分后的数据保存到所述CPU的专用cache中。
本发明实施例中所述的优化处理资源的装置还包括:
获取模块,用于在将数据按照Raid条带进行划分之前,获取所述数据的Raid条带占用信息。
本发明提出的一种优化处理资源的方法及装置取得了以下有益效果:
1.设计达成的存储系统,具有很高的IOPS吞吐能力;
2.资源使用平衡,不冲突;
3.因为顶层设计清晰,系统具有很好的可靠性和扩展性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (7)

1.一种优化处理资源的方法,其特征在于,所述方法包括:将数据按照磁盘阵列Raid条带进行划分,划分后的数据子集分别分派到不同的CPU进行处理并分派到与之对应的CPU的专用cache中;
分别将所述划分后的数据子集绑定到所述与之对应的CPU的线程中异步执行,并将划分后的数据保存到所述CPU的专用cache中;
其中,所述线程对保存在与之对应的CPU的专用cache中的数据采用无并发的单线程数据处理模式进行数据处理。
2.根据权利要求1所述的方法,其特征在于,所述将数据按照Raid条带进行划分之前还包括:
获取所述数据的Raid条带占用信息。
3.根据权利要求1所述的方法,其特征在于,所述线程设有与之对应的页内存管理。
4.根据权利要求1所述的方法,其特征在于,所述线程对保存在之对应的CPU的专用cache中的数据采用无并发的单线程数据处理模式进行数据处理。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将当前没有进行数据子集绑定的CPU设置为冗余CPU。
6.一种优化处理资源的装置,其特征在于,所述装置包括:数据拆分模块,用于将数据按照磁盘阵列Raid条带进行划分,划分后的数据子集分别分派到不同的CPU进行处理并分派到与之对应的CPU的专用cache中;
资源绑定模块,用于分别将所述划分后的数据子集绑定到所述与之对应的CPU的线程中异步执行,并将划分后的数据保存到所述CPU的专用cache中;
其中,所述线程对保存在与之对应的CPU的专用cache中的数据采用无并发的单线程数据处理模式进行数据处理。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
获取模块,用于在将数据按照Raid条带进行划分之前,获取所述数据的Raid条带占用信息。
CN201510058673.7A 2015-02-04 2015-02-04 一种优化处理资源的方法及装置 Active CN105988873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510058673.7A CN105988873B (zh) 2015-02-04 2015-02-04 一种优化处理资源的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510058673.7A CN105988873B (zh) 2015-02-04 2015-02-04 一种优化处理资源的方法及装置

Publications (2)

Publication Number Publication Date
CN105988873A CN105988873A (zh) 2016-10-05
CN105988873B true CN105988873B (zh) 2019-10-08

Family

ID=57037432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510058673.7A Active CN105988873B (zh) 2015-02-04 2015-02-04 一种优化处理资源的方法及装置

Country Status (1)

Country Link
CN (1) CN105988873B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853218A (zh) * 2010-05-12 2010-10-06 中兴通讯股份有限公司 用于磁盘阵列的读取方法和系统
CN101984400A (zh) * 2010-11-05 2011-03-09 成都市华为赛门铁克科技有限公司 一种raid控制方法、装置及系统
CN102385623A (zh) * 2011-10-25 2012-03-21 曙光信息产业(北京)有限公司 一种分布式文件系统中目录的存取方法
CN103034457A (zh) * 2012-12-18 2013-04-10 武汉市烽视威科技有限公司 多个硬盘组成的存储系统数据存储方法
CN104142872A (zh) * 2014-08-13 2014-11-12 浪潮电子信息产业股份有限公司 一种raid磁盘阵列的快速重建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853218A (zh) * 2010-05-12 2010-10-06 中兴通讯股份有限公司 用于磁盘阵列的读取方法和系统
CN101984400A (zh) * 2010-11-05 2011-03-09 成都市华为赛门铁克科技有限公司 一种raid控制方法、装置及系统
CN102385623A (zh) * 2011-10-25 2012-03-21 曙光信息产业(北京)有限公司 一种分布式文件系统中目录的存取方法
CN103034457A (zh) * 2012-12-18 2013-04-10 武汉市烽视威科技有限公司 多个硬盘组成的存储系统数据存储方法
CN104142872A (zh) * 2014-08-13 2014-11-12 浪潮电子信息产业股份有限公司 一种raid磁盘阵列的快速重建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于RAID5的磁盘阵列Cache的研究与实现";王湘娜等;《计算机工程》;20030331;第29卷(第3期);第1-3、5节 *

Also Published As

Publication number Publication date
CN105988873A (zh) 2016-10-05

Similar Documents

Publication Publication Date Title
US10325343B1 (en) Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
US9141173B2 (en) Thread consolidation in processor cores
CN105893188B (zh) 用于加速磁盘阵列的数据重构的方法和装置
CN101799773B (zh) 并行计算的内存访问方法
CN104598426B (zh) 用于异构多核处理器系统的任务调度方法
CN106502792A (zh) 一种面向不同类型负载的多租户资源优化调度方法
Rahman et al. Homr: A hybrid approach to exploit maximum overlapping in mapreduce over high performance interconnects
CN103744716B (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
CN102231121B (zh) 基于内存映射的大数据文件快速并行提取方法
US20160202931A1 (en) Modular architecture for extreme-scale distributed processing applications
CN106406987A (zh) 一种集群中的任务执行方法及装置
CN102981929A (zh) 磁盘镜像的管理方法和系统
KR101639853B1 (ko) 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 자원들 및 상호접속 구조들의 비집중 할당
CN104021029B (zh) 一种空间信息云计算系统及其实现方法
Gandomi et al. HybSMRP: a hybrid scheduling algorithm in Hadoop MapReduce framework
Ma et al. vLocality: Revisiting data locality for MapReduce in virtualized clouds
CN104572505A (zh) 一种保证海量数据缓存最终一致性的系统及方法
CN108021449A (zh) 一种协程实现方法、终端设备及存储介质
US9069621B2 (en) Submitting operations to a shared resource based on busy-to-success ratios
US10579419B2 (en) Data analysis in storage system
Clemente-Castelló et al. Evaluation of data locality strategies for hybrid cloud bursting of iterative MapReduce
Rathinaraja et al. Dynamic ranking-based MapReduce job scheduler to exploit heterogeneous performance in a virtualized environment
Sontakke et al. Optimization of hadoop mapreduce model in cloud computing environment
CN105988873B (zh) 一种优化处理资源的方法及装置
KR101639854B1 (ko) 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170324

Address after: Nanshan District Guangdong streets, Shenzhen city 518131 Guangdong Province Road No. 8 financial services technology innovation base 1 building 11 floor F3

Applicant after: Shenzhen science and Technology Co., Ltd. digital cloud data

Address before: 100085 Beijing, Haidian District, No. 9 on the ground floor of the digital science and Technology Plaza, 9

Applicant before: Divine Land, Beijing Yun Ke data technologies co., ltd

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220329

Address after: No. 407, floor 4, No. 9, No. 9, shangdijiu street, Haidian District, Beijing 100085

Patentee after: Shenzhou Yunke (Beijing) Technology Co.,Ltd.

Address before: 518131 F3, 11th floor, No. 8 Kefa Road, Yuehai Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen science and Technology Co.,Ltd. digital cloud data