CN114330698A - 一种类脑计算机操作系统的神经模型存储系统及方法 - Google Patents

一种类脑计算机操作系统的神经模型存储系统及方法 Download PDF

Info

Publication number
CN114330698A
CN114330698A CN202210249465.5A CN202210249465A CN114330698A CN 114330698 A CN114330698 A CN 114330698A CN 202210249465 A CN202210249465 A CN 202210249465A CN 114330698 A CN114330698 A CN 114330698A
Authority
CN
China
Prior art keywords
node
computing
model
brain
neural
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.)
Granted
Application number
CN202210249465.5A
Other languages
English (en)
Other versions
CN114330698B (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.)
Zhejiang University ZJU
Zhejiang Lab
Original Assignee
Zhejiang University ZJU
Zhejiang Lab
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 Zhejiang University ZJU, Zhejiang Lab filed Critical Zhejiang University ZJU
Priority to CN202210249465.5A priority Critical patent/CN114330698B/zh
Publication of CN114330698A publication Critical patent/CN114330698A/zh
Application granted granted Critical
Publication of CN114330698B publication Critical patent/CN114330698B/zh
Priority to PCT/CN2023/080669 priority patent/WO2023174163A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种类脑计算机操作系统的神经模型存储系统及方法,将神经模型保存在三个计算节点上,节点的选择根据节点的空闲核心数量、可用存储空间、故障次数及每次故障的时间,动态计算权重来确定;神经模型的读取实现同节点读取和跨计算节点读取;非主控节点故障的恢复;主控节点故障的恢复;整机重启或故障的恢复。本发明实现了神经模型在类脑计算机上的多节点冗余存储、跨节点读取、存储节点的动态选择、节点故障后的自我修复,提升了神经模型存储的可靠性、神经模型读取的便利性,以及类脑计算机整体的运行效率与稳定性。

Description

一种类脑计算机操作系统的神经模型存储系统及方法
技术领域
本发明涉及类脑计算机操作系统技术领域,尤其是涉及一种类脑计算机操作系统的神经模型存储系统及方法。
背景技术
传统的冯诺伊曼体系结构计算机,在发展上已经日趋成熟。随着半导体工业的发展,半导体集成电路的制程已经由过去的微米级别,发展到现在的5纳米级别,即将接近物理极限。论文“The chips are down for Moore’s law”和“Fundamental Limits toMoore's Law”,都已经预测了摩尔定律即将失效,传统的计算机架构,难以在性能、功耗等方面,继续保持高速增长。
在这样的背景下,类脑计算机及其操作系统,在学术界和工业界得到了越来越多的关注。类脑计算机是由多个类脑计算节点采用水平扩展的方式构建而成的分布式系统,通过模拟大脑神经网络连接的方式实现并行运算,可运行超大规模脉冲神经网络。每个计算节点包含若干个类脑计算芯片,以及一定容量的存储介质。类脑计算机操作系统统一管理计算资源和存储资源。
在类脑计算机上,用户以文件的形式上传神经网络模型,操作系统对模型文件进行集中管理,并通过通信协议,将神经网络模型部署到类脑芯片。由于大量的计算节点相互连接,操作系统需要管理大规模的存储资源,且类脑计算机需要支持多个大规模神经网络模型的同时运行,每个神经网络模型都有至少一个模型文件需要存储在类脑计算机中。大规模的节点、大量的神经网络模型,为神经模型在类脑计算机上的存储带来了极大的挑战。
公开号为的CN104408091B中国专利提出了一种分布式文件系统,该文件系统能将文件分散存储在多个服务器上。每个服务器都能存储和读取分布式文件系统中的所有文件。该专利通过LSM- Tree数据结构、key-value数据库和缓存,提升了文件读写的性能,但需要占用较多的CPU和内存资源。
根据以上专利,目前分布式存储相关发明,主要针对的是多台服务器上文件的存储,服务器一般拥有充足的CPU、内存、存储资源,且服务器节点数量较小。而类脑计算机拥有节点规模大、单个节点存储与内存资源有限等特点,现有的技术并不能满足神经网络模型存储的需求。所以需要为类脑计算机操作系统设计专门的神经模型存储方法。
发明内容
为解决现有技术的不足,实现神经模型在类脑计算机上保存与读取,并根据节点权重动态选择存储节点,同时提供了神经模型的跨节点访问与冗余机制,实现神经模型在节点间的读取,以及系统故障后的自我修复,本发明采用如下的技术方案:
一种类脑计算机操作系统的神经模型存储系统,包括主控节点、备用主控节点和计算节点;
所述主控节点,用于维护整个类脑计算机的资源,包括神经模型与计算节点之间的关系及各计算节点的信息,通过构建权重,选择计算节点,综合考虑计算节点的空闲核心数量、计算节点故障次数及每次故障时间,并受计算节点可用存储空间的约束;
所述备用主控节点,用于主控节点的冗余备份;
所述计算节点,包括一组用于部署神经模型的类脑芯片,类脑芯片包括一组作为计算资源管理基本单元的核心,用于保存以模型文件形式存储的神经模型和执行计算任务,主控节点维护各计算节点剩余核心的数目。
进一步地,所述类脑芯片为二维网格结构,每个网格代表一个核心,基于类脑芯片资源的二维分布特性,类脑操作系统以核心作为资源管理基本单位,将类脑计算硬件资源抽象为统一的地址空间,即将类脑计算机中的所有计算节点上、所有芯片中的核心,抽象为一个大的二维网格。
一种类脑计算机操作系统的神经模型存储系统的存储方法,神经模型的保存包括如下步骤:
步骤S1:选择存储神经模型的计算节点,为了减少因为节点故障导致神经任务中断的次数,实现提升类脑计算机系统整体的运行效率和稳定性的目标,计算节点的选择,通过构建权重,综合考虑计算节点的空闲核心数量、计算节点故障次数及每次故障时间,并受计算节点可用存储空间的约束;
步骤S2:主控节点发送神经模型到计算节点,并维护神经模型与计算节点之间的关系;
步骤S3:主控节点备份神经模型与计算节点之间的关系至备用主控节点;
步骤S4:计算节点完成神经模型的部署。
步骤S1中,计算节点剩余核心越多,越会被优先选中;计算节点故障次数越少,越会被优先选中;计算节点近期故障与先前故障时间差越大,越会被优先选中;主控节点维护各个计算节点的剩余存储空间,对于剩余存储空间小于模型文件大小的计算节点,不参与存储模型文件的计算节点的选举;
步骤S2中,主控节点将文件通过通信协议发送到存储模型文件的计算节点,计算节点接收并反馈主控节点,主控节点通过反馈,记录模型文件与存储模型文件的计算节点的对应关系,形成神经模型索引表并进行维护;所述索引表包含模型文件信息,模型文件信息包括文件名、文件唯一ID,文件大小、文件校验码,以及存储文件的计算节点,通过文件名和/或文件ID,查找到文件的其他信息;存储神经模型索引表的数据结构,根据类脑计算机的计算节点数量,以及神经模型的数量决定;
步骤S3中,主控节点同步神经模型索引表至备用主控节点;神经模型索引表仅在主控节点和备份主控节点各存储一份,不在其他节点存储,这样既避免了索引表存储在所有节点带来的开销,也避免了索引表存储在单一节点,导致单点故障整个系统不可用,在可靠性和复杂程度上做到了平衡;
步骤S4中,将模型文件存储到计算节点,用户进行部署模型操作,从存储模型文件的计算节点中读取模型文件,获取神经模型具体内容,发送给计算节点的类脑芯片,对类脑芯片中的核心进行配置。
进一步地,所述步骤S1中,神经模型的保存包括如下步骤:
步骤S1.1:查找第一个计算节点;
步骤S1.2:获取计算节点剩余空间,当剩余空间满足模型文件存储要求时,获取计算节点的剩余核心数量、故障次数及每次故障时间,并根据核心数量、故障次数及每次故障时间计算权重;当剩余空间不满足模型文件存储要求时,直接进入步骤S1.3;
步骤S1.3:判断下一个计算节点是否存在,若存在,则查找下一个计算节点并返回步骤S1.2;若不存在,则将模型文件发送给权重最大的三个计算节点。
进一步地,所述主控节点对各剩余存储空间满足要求的计算节点,按照如下公式进行权重计算:
Figure 3674DEST_PATH_IMAGE001
式中nodeWeight示计算节点权重值,K c 表示剩余芯片资源数量的影响参数,chipResNum表示剩余芯片资源数量,i表示计算节点第i次故障,n表示节点故障总次数,t now 表示当前时间,t i 表示第i次节点故障的时间,K s 表示节点故障次数的影响参数,其中K c K s 是调节参数,需要根据类脑计算机的计算节点规模等,做适当的调试和调整,为了容忍存储模型文件的节点的一定故障情况,选择权重最大的三个计算节点,用于存储模型文件。
神经模型的读取,是将神经模型部署在模型文件所存储的计算节点上,计算节点直接读取本计算节点的模型文件进行部署,避免跨节点获取文件,带来模型传输上的开销,在读取模型文件时,对模型文件进行校验,当读取不到模型文件和/或校验失败的节点时,向主控节点发送消息,查找其他存储该模型文件的计算节点,并向存储该模型文件的计算节点发送消息,取回神经模型。读取不到模型文件和/或校验失败的节点包括:文件损坏、节点故障、当前节点被替换为新节点等情况、模型迁移到其他节点等情况,此时就会出现无法获取本节点存储的模型文件,以及模型文件校验失败等情况。
非主控节点故障的恢复,系统包括一组热备份计算节点,当有计算节点故障时,启动新的计算节点,替换原故障节点所在的抽象出的资源的坐标,接替故障计算节点继续运行,新的计算节点通过通信协议与主控节点通信,查找经神经模型与计算节点之间的关系,即神经模型索引表,查找到计算节点所需的模型文件,并从存储该模型文件的计算节点获取模型文件,将神经模型的内容存放在新的计算节点的内存中,并将神经模型发送给计算节点的类脑芯片,对类脑芯片进行配置部署。如果单个节点故障,恢复后的新节点持续稳定运行,新节点还会将所需的模型文件同步到自身,并保存在存储设备中。后续读取默认文件时,直接从本节点读取即可,无需从其他节点获取,避免了节点间通信带来的开销。并保证了模型文件在系统中至少存储三份,进一步提升了系统的健壮性。
主控节点故障的恢复,主控节点保存有神经模型索引表等重要数据,一旦神经模型索引表故障,会导致神经模型无法存储和跨节点读取,进而导致神经任务无法正常运行,将神经模型与计算节点之间的关系,即神经模型索引表,同时存储于主控节点和备用主控节点,两个节点的神经模型索引表互为备份,当主控节点故障后,备用主控节点成为新的主控节点,接替旧的主控节点继续工作,从而保证神经网络存储功能继续可用,为了避免新的主控节点故障,类脑操作系统选举出一个新的备用主控节点,新的主控节点将神经模型与计算节点之间的关系,即神经模型索引表,发送到新的备用主控节点,保证系统在受到多重节点故障后,仍能继续工作。
整机重启或故障后的恢复,由于主控节点、备用主控节点保存了神经模型索引表等重要信息,如果遇到整机断电、异常重启等情况,主控节点和备用主控节点上神经模型索引表都不可用,就要进行神经模型索引表的恢复,将本计算节点实际存储的神经模型与计算节点之间的关系,即神经网络索引等信息保存在存储设备上,而不是保存完整的神经模型索引表,当类脑计算机整机异常恢复时,各个计算节点向主控节点发送自身的神经模型与计算节点之间的关系,即神经网络索引等信息,主控节点进行汇总,形成全局的神经模型与计算节点之间的关系,即神经网络索引。相较于主控节点将神经模型索引表同时保存在RAM和存储设备上,避免了存在频繁的模型文件添加与删除时,神经模型索引表反复变化,导致存储设备反复读写,降低存储设备寿命。相较于将神经模型索引表保存在所有节点上,避免了将索引表保存多份,占用较多存储资源,同时节点间的同步降低效率。
本发明的优势和有益效果在于:
本发明根据类脑计算机拥有大规模分布式计算节点的特点,提出了一种类脑计算机操作系统的神经模型存储系统及方法,提升了神经模型存储的可靠性和神经模型读取的便利性。同时本发明中动态调整计算节点权重,优选计算节点的方式,能够减少因为节点故障导致神经任务中断的次数,提升了类脑计算机系统整体的运行效率和稳定性。
附图说明
图1为本发明实施例的系统分布式架构图。
图2为本发明实施例中神经模型保存的流程图。
图3为本发明实施例中选择存储神经模型节点流程图。
图4为本发明实施例中神经模型所有内容的存储示意图。
图5为本发明实施例中神经模型保存时序图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如图1所示,一种类脑计算机操作系统的神经模型存储系统,包括主控节点Master、备用主控节点Shadow、计算节点Slave,主控节点Master用于维护整个类脑计算机的资源,包括神经模型与计算节点之间的关系及各计算节点的信息,通过构建权重,选择计算节点,综合考虑计算节点的空闲核心数量、计算节点故障次数及每次故障时间,并受计算节点可用存储空间的约束;备用主控节点Shadow用于主控节点Master的冗余备份,计算节点Slave包括一组用于部署神经模型的类脑芯片,类脑芯片包括一组作为计算资源管理基本单元的核心,用于保存以模型文件形式存储的神经模型和执行计算任务,主控节点维护各计算节点剩余核心的数目。
本发明将类脑计算机操作系统的神经模型存储方法分为五个部分进行分类管理,具体分类如下:
第一部分:神经模型的保存;
第二部分:神经模型的读取;
第三部分:非主控节点故障的恢复;
第四部分:主控节点Master故障的恢复;
第五部分:整机重启或故障的恢复。
第一部分神经模型的保存,如图2、图3所示,具体步骤如下:
步骤S1:选择存储神经模型的计算节点,计算节点的选择,通过构建权重,综合考虑计算节点的空闲核心数量、计算节点故障次数及每次故障时间,并受计算节点可用存储空间的约束。
计算节点剩余核心越多,越会被优先选中;计算节点故障次数越少,越会被优先选中;计算节点近期故障与先前故障时间差越大,越会被优先选中;主控节点维护各个计算节点的剩余存储空间,对于剩余存储空间小于模型文件大小的计算节点,不参与存储模型文件的计算节点的选举。包括如下步骤:
步骤S1.1:查找第一个计算节点;
步骤S1.2:获取计算节点剩余空间,当剩余空间满足模型文件存储要求时,获取计算节点的剩余核心数量、故障次数及每次故障时间,并根据核心数量、故障次数及每次故障时间计算权重;当剩余空间不满足模型文件存储要求时,直接进入步骤S1.3;
步骤S1.3:判断下一个计算节点是否存在,若存在,则查找下一个计算节点并返回步骤S1.2;若不存在,则将模型文件发送给权重最大的三个计算节点。
具体地,神经模型以文件的形式存储,下文简称为“模型文件”。为了容忍存储模型文件的节点的一定故障情况,模型文件将存储在三个节点上,提供一定的冗余备份功能。主控节点Master收到用户上传的模型文件,通过一定的策略选择三个节点用来存储,并维护神经模型与存储模型文件的节点之间的关系。为了减少因为节点故障导致神经任务中断的次数,实现提升类脑计算机系统整体的运行效率和稳定性的目标,节点的选择综合考虑计算节点的空闲核心数量、节点故障次数及每次故障的时间,并受到可用存储空间的约束,具体策略如下:
由于神经模型需要部署到类脑芯片上,每个计算节点管理固定数目的类脑芯片,类脑芯片中包含一定数量的核心。类脑操作系统以核心作为计算资源管理基本单位。主控节点Master维护各个节点剩余核心的数目。选择模型文件存储的节点时,节点剩余核心越多,越会被优先选中。
主控节点Master同时维护了各个计算节点的故障次数,以及每次故障的时间。其中,计算节点的重启、文件读取失败、内存校验错误、通信超时等情况,均属于计算节点故障。节点故障次数越少,越会被优先选中。同时需要考虑节点故障的时间,近期的节点故障,比时间久远的节点故障,对节点选择带来的影响更大。
同时,主控节点Master还会维护各个计算节点Salve的剩余存储空间。对于剩余存储空间小于模型文件大小的节点,不参与存储模型文件节点的选举。
综合上述条件,主控节点对各个剩余存储空间满足要求的计算节点,按照如下公式进行权重计算:
Figure 717552DEST_PATH_IMAGE002
式中nodeWeight表示计算节点权重值,K c 表示剩余芯片资源数量的影响参数,chipResNum表示剩余芯片资源数量,i 表示计算节点第i 次故障,n 表示节点故障总次数,t now 表示当前时间,t i 表示第i 次节点故障的时间,K s 表示节点故障次数的影响参数,其中K c K s 是调节参数,需要根据类脑计算机的计算节点规模等,做适当的调试和调整,为了容忍存储模型文件的节点的一定故障情况,选择权重最大的三个计算节点,用于存储模型文件。
步骤S2:主控节点发送神经模型到计算节点,并维护神经模型与计算节点之间的关系。
主控节点将模型文件通过通信协议发送到存储模型文件的计算节点,计算节点接收并反馈主控节点,主控节点通过反馈,记录模型文件与存储模型文件的计算节点的对应关系,形成神经模型索引表并进行维护。
具体地,在步骤S1中选择好存储模型文件的节点后,主控节点Master将模型文件通过通信协议发送到存储模型文件的计算节点,计算节点收到模型文件后,给主控节点回复消息,主控节点收到所有回复之后,记录模型文件与存储模型文件的节点的对应关系,形成神经模型索引表。
神经模型索引表中包含文件名、文件唯一ID,文件大小、文件校验码,以及存储文件的计算节点等信息。可通过文件名或文件ID,查找到文件的其他信息。存储神经模型索引表的数据结构可根据类脑计算机的计算节点数量,以及神经模型的数量决定。
步骤S3:主控节点备份神经模型与计算节点之间的关系至备用主控节点。
主控节点同步神经模型索引表至备用主控节点。
具体地,神经模型索引表仅在主控节点Master和备份主控节点Shadow各存储一份,不在其他节点存储,这样既避免了索引表存储在所有节点带来的开销,也避免了索引表存储在单一节点,导致单点故障整个系统不可用,在可靠性和复杂程度上做到了平衡。
步骤S4:计算节点完成神经模型的部署。
将模型文件存储到计算节点,用户进行部署模型操作,从存储模型文件的计算节点中读取模型文件,获取神经模型具体内容,发送给计算节点的类脑芯片,对类脑芯片中的核心进行配置。
具体地,在上述步骤完成之后,将模型文件存储到计算节点,用户可以进行部署模型操作。从存储模型文件的节点中读取模型文件,获取神经模型具体内容,发送给类脑芯片,对芯片中的核心进行配置。
经历步骤S3和步骤S4之后,神经模型存储的全部内容如图4所示。
神经模型保存的时序图如图5所示。
下面以一个模型的存储与部署为例,来详细描述一下神经模型存储的完整过程。
当前系统中,除了主控节点和备用主控节点,还存在六个计算节点S1、S2、S3、S4、S5、S6。六个节点的芯片资源、存储空间如表1所示:
表1:节点芯片资源及存储空间表
Figure 28447DEST_PATH_IMAGE003
用户上传大小为100MB模型文件到主控节点,主控节点收到后,根据模型文件的大小,查找到满足存储空间需求的节点S1、S2、S3、S4、S6。
查询节点计算资源表与故障记录,通过上述步骤S1中的公式,计算S1、S2、S3、S4、 S6节点的权重。影响参数
Figure 223324DEST_PATH_IMAGE004
Figure 834434DEST_PATH_IMAGE005
通过实际调试得到,在此例中分别为0.0012和73。如果当前 时间为2021年3月13日14:00(202103131400),经过计算得出这5个节点的权重值分别是 8.39、8.40、5.24、4.80、1.20。
根据上述结果,权重最高的三个节点依次是S2、S1、S3。按照上述步骤S2、步骤S3将模型文件发送至这三个节点,并将模型文件相关信息、以及存储模型文件的节点信息记录在神经模型索引表中。
第二部分神经模型的读取,是将神经模型部署在模型文件所存储的计算节点上,计算节点直接读取本计算节点的模型文件进行部署,避免跨节点获取文件,带来模型传输上的开销,在读取模型文件时,对模型文件进行校验,当读取不到模型文件和/或校验失败的节点时,向主控节点发送消息,查找其他存储该模型文件的计算节点,并向存储该模型文件的计算节点发送消息,取回神经模型。
具体地,神经模型部署在模型文件所存储的节点上,这样可以直接读取本节点的模型文件进行部署,避免跨节点获取文件,带来模型传输上的开销。
在读取模型文件时,会对模型文件进行校验,如果出现文件损坏、节点故障、当前节点被替换为新节点等情况、模型迁移到其他节点等情况,就会出现无法获取本节点存储的模型文件,以及模型文件校验失败等情况。此时,读取不到模型、或者校验失败的节点,会向master节点发送消息,查找其他存储该模型的节点,然后向存储该模型的节点发送消息,取回神经模型。
第三部分非主控节点master故障的恢复,系统包括一组热备份计算节点,当有计算节点故障时,启动新的计算节点,替换原故障节点所在的抽象出的资源的坐标,接替故障计算节点继续运行,新的计算节点通过通信协议与主控节点通信,查找经神经模型与计算节点之间的关系,即神经模型索引表,查找到计算节点所需的模型文件,并从存储该模型文件的计算节点获取模型文件,将神经模型的内容存放在新的计算节点的内存中,并将神经模型发送给计算节点的类脑芯片,对类脑芯片进行配置部署。
具体地,对于非主控节点master故障的恢复。设备上存在一定数量的热备份节点,某个节点故障后,新的节点启动后,替换原来故障节点所在的抽象出来的资源的坐标,接替故障节点继续运行。新的节点还会通过通信协议与主控节点master通信,查找神经模型索引表,查找到节点所需的模型文件,并从存储该模型文件的节点获取模型文件,将神经模型内容存放在新节点的内存中。并将神经模型发送给类脑芯片,对芯片进行配置部署。
上述操作的前提,是类脑计算机中存在多个节点,每个节点上有多个芯片,芯片由x*y的二维网格结构组成,每个网格代表一个核心。基于芯片资源的二维分布特性,类脑操作系统以核心作为资源管理基本单位,将类脑计算硬件资源抽象为统一的地址空间,即将类脑计算机中的所有节点上,所有芯片中的核心抽象为一个大的二维网格。
如果单个节点故障,恢复后的新节点持续稳定运行,新节点还会将所需的模型文件同步到自身,并保存在存储设备中。后续读取默认文件时,直接从本节点读取即可,无需从其他节点获取,避免了节点间通信带来的开销。并保证了模型文件在系统中至少存储三份,进一步提升了系统的健壮性。
第四部分主控节点master故障的恢复,主控节点保存有神经模型索引表等重要数据,一旦神经模型索引表故障,会导致神经模型无法存储和跨节点读取,进而导致神经任务无法正常运行,将神经模型与计算节点之间的关系,即神经模型索引表,同时存储于主控节点和备用主控节点,两个节点的神经模型索引表互为备份,当主控节点故障后,备用主控节点成为新的主控节点,接替旧的主控节点继续工作,从而保证神经网络存储功能继续可用,为了避免新的主控节点故障,类脑操作系统选举出一个新的备用主控节点,新的主控节点将神经模型与计算节点之间的关系,即神经模型索引表,发送到新的备用主控节点,保证系统在受到多重节点故障后,仍能继续工作。
第五部分整机重启或故障后的恢复,由于主控节点、备用主控节点保存了神经模型索引表等重要信息,如果遇到整机断电、异常重启等情况,主控节点和备用主控节点上神经模型索引表都不可用,就要进行神经模型索引表的恢复,将本计算节点实际存储的神经模型与计算节点之间的关系,即神经网络索引等信息保存在存储设备上,而不是保存完整的神经模型索引表,当类脑计算机整机异常恢复时,各个计算节点向主控节点发送自身的神经模型与计算节点之间的关系,即神经网络索引等信息,主控节点进行汇总,形成全局的神经模型与计算节点之间的关系,即神经网络索引。相较于主控节点将神经模型索引表同时保存在RAM和存储设备上,避免了存在频繁的模型文件添加与删除时,神经模型索引表反复变化,导致存储设备反复读写,降低存储设备寿命。相较于将神经模型索引表保存在所有节点上,避免了将索引表保存多份,占用较多存储资源,同时节点间的同步降低效率。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

Claims (10)

1.一种类脑计算机操作系统的神经模型存储系统,包括主控节点、备用主控节点和计算节点,其特征在于:
所述主控节点,用于维护整个类脑计算机的资源,包括神经模型与计算节点之间的关系及各计算节点的信息,通过构建权重,选择计算节点,综合考虑计算节点的空闲核心数量、计算节点故障次数及故障时间,并受计算节点可用存储空间的约束;
所述备用主控节点,用于主控节点的冗余备份;
所述计算节点,包括一组用于部署神经模型的类脑芯片,类脑芯片包括一组作为计算资源管理基本单元的核心,用于保存以模型文件形式存储的神经模型和执行计算任务,主控节点维护各计算节点剩余核心的数目。
2.根据权利要求1所述的一种类脑计算机操作系统的神经模型存储系统,其特征在于所述类脑芯片为二维网格结构,每个网格代表一个核心,基于类脑芯片资源的二维分布特性,类脑操作系统以核心作为资源管理基本单位,将类脑计算硬件资源抽象为统一的地址空间。
3.一种根据权利要求1所述的类脑计算机操作系统的神经模型存储系统的存储方法,其特征在于所述神经模型的保存包括如下步骤:
步骤S1:选择存储神经模型的计算节点,计算节点的选择,通过构建权重,综合考虑计算节点的空闲核心数量、计算节点故障次数及故障时间,并受计算节点可用存储空间的约束;
步骤S2:主控节点发送神经模型到计算节点,并维护神经模型与计算节点之间的关系;
步骤S3:主控节点备份神经模型与计算节点之间的关系至备用主控节点;
步骤S4:计算节点完成神经模型的部署。
4.根据权利要求3所述的类脑计算机操作系统的神经模型存储系统的存储方法,其特征在于:
所述步骤S1中,计算节点剩余核心越多,越会被优先选中;计算节点故障次数越少,越会被优先选中;计算节点近期故障与先前故障时间差越大,越会被优先选中;主控节点维护各个计算节点的剩余存储空间,对于剩余存储空间小于模型文件大小的计算节点,不参与存储模型文件的计算节点的选举;
所述步骤S2中,主控节点将文件通过通信协议发送到存储模型文件的计算节点,计算节点接收并反馈主控节点,主控节点通过反馈,记录模型文件与存储模型文件的计算节点的对应关系,形成神经模型索引表并进行维护;
所述步骤S3中,主控节点同步神经模型索引表至备用主控节点;
所述步骤S4中,将模型文件存储到计算节点,进行部署模型,从存储模型文件的计算节点中读取模型文件,获取神经模型具体内容,发送给计算节点的类脑芯片,对类脑芯片中的核心进行配置。
5.根据权利要求3或4所述的类脑计算机操作系统的神经模型存储系统的存储方法,其特征在于所述步骤S1中,神经模型的保存包括如下步骤:
步骤S1.1:查找第一个计算节点;
步骤S1.2:获取计算节点剩余空间,当剩余空间满足模型文件存储要求时,获取计算节点的剩余核心数量、故障次数及故障时间,并根据核心数量、故障次数及故障时间计算权重;当剩余空间不满足模型文件存储要求时,直接进入步骤S1.3;
步骤S1.3:判断下一个计算节点是否存在,若存在,则查找下一个计算节点并返回步骤S1.2;若不存在,则将模型文件发送给权重最大的计算节点。
6.根据权利要求5所述的类脑计算机操作系统的神经模型存储系统的存储方法,其特征在于所述主控节点对各剩余存储空间满足要求的计算节点,按照如下公式进行权重计算:
Figure DEST_PATH_IMAGE001
式中nodeWeight示计算节点权重值,K c 表示剩余芯片资源数量的影响参数,chipResNum表示剩余芯片资源数量,i表示计算节点第i次故障,n表示节点故障总次数,t now 表示当前时间,t i 表示第i次节点故障的时间,K s 表示节点故障次数的影响参数,其中K c K s 是调节参数,选择权重最大的计算节点,用于存储模型文件。
7.一种根据权利要求1所述的类脑计算机操作系统的神经模型存储系统的存储方法,其特征在于所述神经模型的读取,是将神经模型部署在模型文件所存储的计算节点上,计算节点直接读取本计算节点的模型文件进行部署,在读取模型文件时,对模型文件进行校验,当读取不到模型文件和/或校验失败的节点时,向主控节点发送消息,查找其他存储该模型文件的计算节点,并向存储该模型文件的计算节点发送消息,取回神经模型。
8.一种根据权利要求2所述的类脑计算机操作系统的神经模型存储系统的存储方法,其特征在于非主控节点故障的恢复,系统包括一组热备份计算节点,当有计算节点故障时,启动新的计算节点,替换原故障节点所在的抽象出的资源的坐标,接替故障计算节点继续运行,新的计算节点通过通信协议与主控节点通信,查找经神经模型与计算节点之间的关系,查找到计算节点所需的模型文件,并从存储该模型文件的计算节点获取模型文件,将神经模型的内容存放在新的计算节点的内存中,并将神经模型发送给计算节点的类脑芯片,对类脑芯片进行配置部署。
9.一种根据权利要求1所述的类脑计算机操作系统的神经模型存储系统的存储方法,其特征在于主控节点故障的恢复,将神经模型与计算节点之间的关系,同时存储于主控节点和备用主控节点,互为备份,当主控节点故障后,备用主控节点成为新的主控节点,接替旧的主控节点继续工作,类脑操作系统选举出一个新的备用主控节点,新的主控节点将神经模型与计算节点之间的关系发送到新的备用主控节点。
10.一种根据权利要求1所述的类脑计算机操作系统的神经模型存储系统的存储方法,其特征在于整机重启或故障后的恢复,将本计算节点实际存储的神经模型与计算节点之间的关系信息保存在存储设备上,当类脑计算机整机异常恢复时,各个计算节点向主控节点发送自身的神经模型与计算节点之间的关系信息,主控节点进行汇总,形成全局的神经模型与计算节点之间的关系。
CN202210249465.5A 2022-03-15 2022-03-15 一种类脑计算机操作系统的神经模型存储系统及方法 Active CN114330698B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210249465.5A CN114330698B (zh) 2022-03-15 2022-03-15 一种类脑计算机操作系统的神经模型存储系统及方法
PCT/CN2023/080669 WO2023174163A1 (zh) 2022-03-15 2023-03-10 类脑计算机操作系统的神经模型存储系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210249465.5A CN114330698B (zh) 2022-03-15 2022-03-15 一种类脑计算机操作系统的神经模型存储系统及方法

Publications (2)

Publication Number Publication Date
CN114330698A true CN114330698A (zh) 2022-04-12
CN114330698B CN114330698B (zh) 2022-08-05

Family

ID=81033189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210249465.5A Active CN114330698B (zh) 2022-03-15 2022-03-15 一种类脑计算机操作系统的神经模型存储系统及方法

Country Status (2)

Country Link
CN (1) CN114330698B (zh)
WO (1) WO2023174163A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023174163A1 (zh) * 2022-03-15 2023-09-21 之江实验室 类脑计算机操作系统的神经模型存储系统及方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110054853A1 (en) * 2009-08-31 2011-03-03 International Business Machines Corporation Recovering the structure of sparse markov networks from high-dimensional data
CN104809501A (zh) * 2014-01-24 2015-07-29 清华大学 一种基于类脑协处理器的计算机系统
CN109978142A (zh) * 2019-03-29 2019-07-05 腾讯科技(深圳)有限公司 神经网络模型的压缩方法和装置
CN111082949A (zh) * 2019-10-29 2020-04-28 广东工业大学 一种类脑计算机中脉冲数据包高效传输方法
CN112270407A (zh) * 2020-11-11 2021-01-26 浙江大学 支持亿级神经元的类脑计算机
CN112436957A (zh) * 2020-11-03 2021-03-02 深圳市永达电子信息股份有限公司 基于云计算的pdrr网络安全保障模型并行实现系统
CN112446462A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 目标神经网络模型的生成方法和装置
CN112561042A (zh) * 2021-03-01 2021-03-26 浙江大学 一种类脑计算机操作系统的神经模型映射方法
CN112561043A (zh) * 2021-03-01 2021-03-26 浙江大学 一种类脑计算机操作系统的神经模型拆分方法
CN113225359A (zh) * 2021-07-12 2021-08-06 深圳市永达电子信息股份有限公司 一种基于类脑计算的安全流量分析系统
CN113791913A (zh) * 2021-11-16 2021-12-14 浙江大学 一种类脑计算机操作系统的任务迁移方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018018451A (ja) * 2016-07-29 2018-02-01 富士通株式会社 機械学習方法、機械学習プログラム及び情報処理装置
CN109086134A (zh) * 2018-07-19 2018-12-25 郑州云海信息技术有限公司 一种深度学习作业的运行方法和装置
CN108958892A (zh) * 2018-08-14 2018-12-07 郑州云海信息技术有限公司 一种创建用于深度学习作业的容器的方法和装置
CN110490316B (zh) * 2019-08-21 2023-01-06 腾讯科技(深圳)有限公司 基于神经网络模型训练系统的训练处理方法、训练系统
CN113449842B (zh) * 2020-03-27 2024-09-27 华为技术有限公司 一种分布式自动微分方法及相关装置
CN114330698B (zh) * 2022-03-15 2022-08-05 之江实验室 一种类脑计算机操作系统的神经模型存储系统及方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110054853A1 (en) * 2009-08-31 2011-03-03 International Business Machines Corporation Recovering the structure of sparse markov networks from high-dimensional data
CN104809501A (zh) * 2014-01-24 2015-07-29 清华大学 一种基于类脑协处理器的计算机系统
CN109978142A (zh) * 2019-03-29 2019-07-05 腾讯科技(深圳)有限公司 神经网络模型的压缩方法和装置
CN112446462A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 目标神经网络模型的生成方法和装置
CN111082949A (zh) * 2019-10-29 2020-04-28 广东工业大学 一种类脑计算机中脉冲数据包高效传输方法
CN112436957A (zh) * 2020-11-03 2021-03-02 深圳市永达电子信息股份有限公司 基于云计算的pdrr网络安全保障模型并行实现系统
CN112270407A (zh) * 2020-11-11 2021-01-26 浙江大学 支持亿级神经元的类脑计算机
CN112561042A (zh) * 2021-03-01 2021-03-26 浙江大学 一种类脑计算机操作系统的神经模型映射方法
CN112561043A (zh) * 2021-03-01 2021-03-26 浙江大学 一种类脑计算机操作系统的神经模型拆分方法
CN113225359A (zh) * 2021-07-12 2021-08-06 深圳市永达电子信息股份有限公司 一种基于类脑计算的安全流量分析系统
CN113791913A (zh) * 2021-11-16 2021-12-14 浙江大学 一种类脑计算机操作系统的任务迁移方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DUYGU KUZUM 等: "Nanoelectronic Programmable Synapses Based on Phase Change Materials for Brain-Inspired Computing", 《NANO LETTERS》 *
杨双鸣 等: "大规模类脑计算系统BiCoSS:架构、实现及应用", 《自动化学报》 *
王秀青 等: "基于脉冲神经网络的类脑计算", 《北京工业大学学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023174163A1 (zh) * 2022-03-15 2023-09-21 之江实验室 类脑计算机操作系统的神经模型存储系统及方法

Also Published As

Publication number Publication date
CN114330698B (zh) 2022-08-05
WO2023174163A1 (zh) 2023-09-21

Similar Documents

Publication Publication Date Title
CN109729129B (zh) 存储集群系统的配置修改方法、存储集群及计算机系统
CN101729412B (zh) 地理信息服务的分布式层次集群方法和系统
EP3224746B1 (en) System and method for massively parallel processing database
CN109656911A (zh) 分布式并行处理数据库系统及其数据处理方法
US9201747B2 (en) Real time database system
US20100042673A1 (en) System and method for dynamically enabling an application for business continuity
KR20100070968A (ko) 클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법
CN104965850A (zh) 一种基于开源技术的数据库高可用实现方法
CN113987064A (zh) 数据处理方法、系统及设备
JP2020021277A (ja) 情報処理システム、情報処理システムの管理方法及びプログラム
CN114330698B (zh) 一种类脑计算机操作系统的神经模型存储系统及方法
US7657781B1 (en) System and method for providing redundant data load sharing in a distributed network
CN114385755A (zh) 一种分布式存储系统
CN107943615B (zh) 基于分布式集群的数据处理方法与系统
CN113905054A (zh) 基于RDMA的Kudu集群数据同步方法、装置、系统
CN108763312A (zh) 一种基于负载的从数据节点筛选方法
US20230113180A1 (en) Methods and systems for expanding gpu memory footprint based on hybrid-memory
CN113535430B (zh) 应用数据读写分离方法、装置、计算机设备和存储介质
CN115562849A (zh) 一种基于高可用的缓存数据方法及系统
KR101035857B1 (ko) 데이터 관리 방법 및 그 시스템
CN113641763A (zh) 一种分布式时序数据库系统以及电子设备和存储介质
CN112328512A (zh) 一种应用于多控存储系统的缓存同步系统及方法
CN111581221A (zh) 一种分布式多站融合系统信息冗余存储与重构的方法
CN111324513A (zh) 一种人工智能开发平台的监控管理方法及系统
CN111831489A (zh) 一种基于哨兵机制的MySQL故障切换方法及装置

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
GR01 Patent grant
GR01 Patent grant