CN111338577A - 一种存储系统的多核心线程迁移方法、系统及相关组件 - Google Patents

一种存储系统的多核心线程迁移方法、系统及相关组件 Download PDF

Info

Publication number
CN111338577A
CN111338577A CN202010108900.3A CN202010108900A CN111338577A CN 111338577 A CN111338577 A CN 111338577A CN 202010108900 A CN202010108900 A CN 202010108900A CN 111338577 A CN111338577 A CN 111338577A
Authority
CN
China
Prior art keywords
thread
queue
processing
switching request
core
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
Application number
CN202010108900.3A
Other languages
English (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010108900.3A priority Critical patent/CN111338577A/zh
Publication of CN111338577A publication Critical patent/CN111338577A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种存储系统的多核心线程迁移方法,应用于IO处理模块,多核心线程迁移方法包括:获取线程切换请求;标记线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程;创建新的IO队列,并在线程切换请求对应的目标CPU核心创建新的IO处理线程。本申请通过标记线程切换请求、在原核心中销毁对应的IO队列和IO处理线程、并在目标CPU核心重新创建IO队列和IO处理线程,实现了线程在多核心之间的快速切换,从而实现了队列的自由扩展和线程的自由扩展,实现多CPU核心之间的负载均衡。相应的,本申请还公开了一种存储系统的多核心线程迁移系统、装置及可读存储介质。

Description

一种存储系统的多核心线程迁移方法、系统及相关组件
技术领域
本发明涉及存储系统管理领域,特别涉及一种存储系统的多核心线程迁移方法、系统及相关组件。
背景技术
在大数据、云计算的潮流下,数据存储的重要性日益凸显。目前来看,全闪产品是存储系统发展的必然趋势。随着SSD(Solid State Disk,固态硬盘)技术的飞速发展,SSD的性能飙升,底层闪存带宽越来越宽,介质访问延时越来越低,系统性能瓶颈已经由硬件转移到上层软件。如何利用有限的CPU资源最大限度的发挥存储性能成为各厂商争相研究的课题之一。具体的,存储系统中各模块之间使用队列进行IO处理,如何能够实现队列的自由扩展和线程的自由扩展,这是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种存储系统的多核心线程迁移方法、系统、装置及可读存储介质,以便实现存储系统中队列和线程的自由扩展。
其具体方案如下:
一种存储系统的多核心线程迁移方法,应用于IO处理模块,所述多核心线程迁移方法包括:
获取线程切换请求;
标记所述线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程;
创建新的IO队列,并在所述线程切换请求对应的目标CPU核心创建新的IO处理线程。
优选的,所述标记所述线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程的过程,具体包括:
标记所述线程切换请求对应的IO处理线程及IO队列,以提示上层模块该IO队列不可用;
等待所述上层模块处理完该IO队列的所有流程后,将该IO队列置位为不可用;
等待该IO处理线程处理完该IO队列的所有数据后,销毁该IO队列并注销该IO处理线程。
优选的,所述标记所述线程切换请求对应的IO处理线程及IO队列的过程,具体包括:
通过线程管理单元,标记所述线程切换请求对应的IO处理线程及IO队列。
优选的,所述等待该IO处理线程处理完该IO队列的所有数据后,销毁该IO队列并注销该IO处理线程的过程,具体包括:
等待该IO处理线程处理完该IO队列的所有数据后,通过该IO处理线程销毁该IO队列并注销该IO处理线程。
优选的,所述获取线程切换请求的过程,具体包括:
获取资源管理模块的线程切换请求。
优选的,所述线程切换请求包括所述目标CPU核心。
相应的,本申请公开了一种存储系统的多核心线程迁移系统,应用于IO处理模块,包括:
获取单元,用于获取线程切换请求;
销毁单元,用于标记所述线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程;
创建单元,用于创建新的IO队列,并在所述线程切换请求对应的目标CPU核心创建新的IO处理线程。
相应的,本发明公开了一种存储系统的多核心线程迁移装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述存储系统的多核心线程迁移方法的步骤。
相应的,本发明公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述存储系统的多核心线程迁移方法的步骤。
本申请公开了一种存储系统的多核心线程迁移方法,应用于IO处理模块,所述多核心线程迁移方法包括:获取线程切换请求;标记所述线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程;创建新的IO队列,并在所述线程切换请求对应的目标CPU核心创建新的IO处理线程。本申请通过标记线程切换请求、在原核心中销毁对应的IO队列和IO处理线程、并在目标CPU核心重新创建IO队列和IO处理线程,实现了线程在多核心之间的快速切换,从而实现了队列的自由扩展和线程的自由扩展,实现多CPU核心之间的负载均衡,提高存储系统中有限的CPU资源的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种存储系统的多核心线程迁移方法的步骤流程图;
图2为本发明实施例中具体的多核心线程迁移方法的子步骤流程图;
图3为本发明实施例中一种存储系统的管理示意分布图;
图4位本发明实施例中一种存储系统的多核心线程迁移系统的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着SSD技术的飞速发展,SSD的性能飙升,底层闪存带宽越来越宽,介质访问延时越来越低,系统性能瓶颈已经由硬件转移到上层软件。本申请实现了线程在多核心之间的快速切换,从而实现了队列的自由扩展和线程的自由扩展,实现多CPU核心之间的负载均衡,提高存储系统中有限的CPU资源的利用率。
本发明实施例公开了一种存储系统的多核心线程迁移方法,应用于IO处理模块,参见图1所示,多核心线程迁移方法包括:
S1:获取线程切换请求;
具体的,该步骤通常通过资源管理模块实现,也即步骤S1具体为:
获取资源管理模块的线程切换请求。
其中,线程切换请求包括目标CPU核心和待切换线程的ID。当然,线程切换请求中包括与线程切换相关的信息,除了目标CPU核心的地址信息与待切换线程的ID外,还可以通过其他形式的信息来体现线程切换的关键对象和目标位置。而这里的目标CPU核心,既可以是与原核处于同一处理器的不同CPU核心,也可以是处于不同处理器中的CPU核心。
S2:标记线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程;
进一步的,步骤S2中标记线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程的过程,参见图2所示,具体包括:
S21:标记线程切换请求对应的IO处理线程及IO队列,以提示上层模块该IO队列不可用;
S22:等待上层模块处理完该IO队列的所有流程后,将该IO队列置位为不可用;
S23:等待该IO处理线程处理完该IO队列的所有数据后,销毁该IO队列并注销该IO处理线程。
具体的,步骤S21标记线程切换请求对应的IO处理线程及IO队列的过程,具体包括:
通过线程管理单元,标记线程切换请求对应的IO处理线程及IO队列。
其中,步骤S23等待该IO处理线程处理完该IO队列的所有数据后,销毁该IO队列并注销该IO处理线程的过程,具体包括:
等待该IO处理线程处理完该IO队列的所有数据后,通过该IO处理线程销毁该IO队列并注销该IO处理线程。
可以理解的是,步骤S2主要由IO处理模块中的线程管理单元完成,如图3所示的存储系统的管理示意分布图,线程管理单元对应每个CPU核。
S3:创建新的IO队列,并在线程切换请求对应的目标CPU核心创建新的IO处理线程。
可以理解的是,本实施例中的IO队列和IO处理线程一一对应,利用线程管理单元设置独立的有效性标记,也即标记IO处理线程和IO队列,通过对每个有效性标记置位,即可了解IO队列或IO处理线程的是否有效可用,是否需要在线程处理结束后注销。
本申请通过标记线程切换请求、在原核心中销毁对应的IO队列和IO处理线程、并在目标CPU核心重新创建IO队列和IO处理线程,实现了线程在多核心之间的快速切换,从而实现了队列的自由扩展和线程的自由扩展,实现多CPU核心之间的负载均衡,提高存储系统中有限的CPU资源的利用率。
相应的,本申请实施例公开了一种存储系统的多核心线程迁移系统,应用于IO处理模块,参见图4所示,包括:
获取单元1,用于获取线程切换请求;
销毁单元2,用于标记线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程;
创建单元3,用于创建新的IO队列,并在线程切换请求对应的目标CPU核心创建新的IO处理线程。
在一些具体的实施例中,销毁单元2具体用于:
标记线程切换请求对应的IO处理线程及IO队列,以提示上层模块该IO队列不可用;
等待上层模块处理完该IO队列的所有流程后,将该IO队列置位为不可用;
等待该IO处理线程处理完该IO队列的所有数据后,销毁该IO队列并注销该IO处理线程。
在一些具体的实施例中,销毁单元2执行标记线程切换请求对应的IO处理线程及IO队列的过程,具体包括:
通过线程管理单元,标记线程切换请求对应的IO处理线程及IO队列。
在一些具体的实施例中,销毁单元2执行等待该IO处理线程处理完该IO队列的所有数据后,销毁该IO队列并注销该IO处理线程的过程,具体包括:
等待该IO处理线程处理完该IO队列的所有数据后,通过该IO处理线程销毁该IO队列并注销该IO处理线程。
在一些具体的实施例中,获取单元1具体用于:
获取资源管理模块的线程切换请求。
在一些具体的实施例中,线程切换请求包括目标CPU核心。
本申请通过标记线程切换请求、在原核心中销毁对应的IO队列和IO处理线程、并在目标CPU核心重新创建IO队列和IO处理线程,实现了线程在多核心之间的快速切换,从而实现了队列的自由扩展和线程的自由扩展,实现多CPU核心之间的负载均衡,提高存储系统中有限的CPU资源的利用率。
相应的,本发明实施例公开了一种存储系统的多核心线程迁移装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述存储系统的多核心线程迁移方法的步骤。
其中,所述存储系统的多核心线程迁移方法的内容可以参照上文实施例中相关描述,此处不再赘述。
其中,本实施例具有与上文实施例中存储系统的多核心线程迁移方法相同的有益效果,此处不再赘述。
相应的,本发明实施例公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述存储系统的多核心线程迁移方法的步骤。
其中,所述存储系统的多核心线程迁移方法的内容可以参照上文实施例中相关描述,此处不再赘述。
其中,本实施例具有与上文实施例中存储系统的多核心线程迁移方法相同的有益效果,此处不再赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种存储系统的多核心线程迁移方法、系统、装置及可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种存储系统的多核心线程迁移方法,其特征在于,应用于IO处理模块,所述多核心线程迁移方法包括:
获取线程切换请求;
标记所述线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程;
创建新的IO队列,并在所述线程切换请求对应的目标CPU核心创建新的IO处理线程。
2.根据权利要求1所述多核心线程迁移方法,其特征在于,所述标记所述线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程的过程,具体包括:
标记所述线程切换请求对应的IO处理线程及IO队列,以提示上层模块该IO队列不可用;
等待所述上层模块处理完该IO队列的所有流程后,将该IO队列置位为不可用;
等待该IO处理线程处理完该IO队列的所有数据后,销毁该IO队列并注销该IO处理线程。
3.根据权利要求2所述多核心线程迁移方法,其特征在于,所述标记所述线程切换请求对应的IO处理线程及IO队列的过程,具体包括:
通过线程管理单元,标记所述线程切换请求对应的IO处理线程及IO队列。
4.根据权利要求3所述多核心线程迁移方法,其特征在于,所述等待该IO处理线程处理完该IO队列的所有数据后,销毁该IO队列并注销该IO处理线程的过程,具体包括:
等待该IO处理线程处理完该IO队列的所有数据后,通过该IO处理线程销毁该IO队列并注销该IO处理线程。
5.根据权利要求1至4任一项所述多核心线程迁移方法,其特征在于,所述获取线程切换请求的过程,具体包括:
获取资源管理模块的线程切换请求。
6.根据权利要求5所述多核心线程迁移方法,其特征在于,
所述线程切换请求包括所述目标CPU核心。
7.一种存储系统的多核心线程迁移系统,其特征在于,应用于IO处理模块,包括:
获取单元,用于获取线程切换请求;
销毁单元,用于标记所述线程切换请求对应的IO处理线程及IO队列,以销毁该IO队列并注销该IO处理线程;
创建单元,用于创建新的IO队列,并在所述线程切换请求对应的目标CPU核心创建新的IO处理线程。
8.一种存储系统的多核心线程迁移装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述存储系统的多核心线程迁移方法的步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述存储系统的多核心线程迁移方法的步骤。
CN202010108900.3A 2020-02-21 2020-02-21 一种存储系统的多核心线程迁移方法、系统及相关组件 Pending CN111338577A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010108900.3A CN111338577A (zh) 2020-02-21 2020-02-21 一种存储系统的多核心线程迁移方法、系统及相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010108900.3A CN111338577A (zh) 2020-02-21 2020-02-21 一种存储系统的多核心线程迁移方法、系统及相关组件

Publications (1)

Publication Number Publication Date
CN111338577A true CN111338577A (zh) 2020-06-26

Family

ID=71181904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010108900.3A Pending CN111338577A (zh) 2020-02-21 2020-02-21 一种存储系统的多核心线程迁移方法、系统及相关组件

Country Status (1)

Country Link
CN (1) CN111338577A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022052580A1 (zh) * 2020-09-10 2022-03-17 苏州浪潮智能科技有限公司 一种基于bmc监控交换机的方法、系统、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504618A (zh) * 2009-02-26 2009-08-12 浙江大学 面向多核处理器的实时线程迁移方法
CN105404555A (zh) * 2015-12-29 2016-03-16 重庆安碧捷科技股份有限公司 医疗多线程共享资源分配处理方法及系统
CN107450978A (zh) * 2016-05-31 2017-12-08 北京京东尚科信息技术有限公司 分布式系统的线程管理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504618A (zh) * 2009-02-26 2009-08-12 浙江大学 面向多核处理器的实时线程迁移方法
CN105404555A (zh) * 2015-12-29 2016-03-16 重庆安碧捷科技股份有限公司 医疗多线程共享资源分配处理方法及系统
CN107450978A (zh) * 2016-05-31 2017-12-08 北京京东尚科信息技术有限公司 分布式系统的线程管理方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022052580A1 (zh) * 2020-09-10 2022-03-17 苏州浪潮智能科技有限公司 一种基于bmc监控交换机的方法、系统、设备及介质
US11706086B1 (en) 2020-09-10 2023-07-18 Inspur Suzhou Intelligent Technology Co., Ltd. Method and system for monitoring switch on basis of BMC, and device and medium

Similar Documents

Publication Publication Date Title
US11159411B2 (en) Distributed testing service
US11226847B2 (en) Implementing an application manifest in a node-specific manner using an intent-based orchestrator
CA3000422C (en) Workflow service using state transfer
CN110865888A (zh) 一种资源加载方法、装置、服务器及存储介质
CN113918101B (zh) 一种写数据高速缓存的方法、系统、设备和存储介质
US20120254885A1 (en) Running a plurality of instances of an application
US9417973B2 (en) Apparatus and method for fault recovery
US9836516B2 (en) Parallel scanners for log based replication
CN110971700B (zh) 分布式锁的实现方法及装置
CN113032099B (zh) 云计算节点、文件管理方法及装置
CN115185880B (zh) 一种数据存储方法及装置
CN104104705B (zh) 分布式存储系统的接入方法和设备
US9424114B2 (en) Input/output (I/O) processing via a page fault doorbell mechanism
CN110879742A (zh) 虚拟机异步创建内部快照方法、装置及存储介质
CN111831411B (zh) 任务处理方法、装置、存储介质及电子设备
CN115794317A (zh) 一种基于虚拟机的处理方法、装置、设备及介质
WO2022135160A1 (zh) 缓存空间的释放方法、释放系统、电子设备及存储介质
CN111338577A (zh) 一种存储系统的多核心线程迁移方法、系统及相关组件
CN113535087A (zh) 数据迁移过程中的数据处理方法、服务器及存储系统
KR101535792B1 (ko) 운영체제 구성 장치 및 방법
CN116594734A (zh) 容器迁移方法、装置、存储介质及电子设备
CN108062224B (zh) 基于文件句柄的数据读写方法、装置及计算设备
CN109542401B (zh) 一种Web开发方法、装置、存储介质及处理器
CN112948118B (zh) 边缘计算方法、平台、计算机设备和可读存储介质
CN111143418B (zh) 一种数据库读取数据方法、装置、设备及存储介质

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200626

RJ01 Rejection of invention patent application after publication