CN113238715B - 智能文件系统、及其配置方法、智能辅助计算设备和介质 - Google Patents
智能文件系统、及其配置方法、智能辅助计算设备和介质 Download PDFInfo
- Publication number
- CN113238715B CN113238715B CN202110620833.8A CN202110620833A CN113238715B CN 113238715 B CN113238715 B CN 113238715B CN 202110620833 A CN202110620833 A CN 202110620833A CN 113238715 B CN113238715 B CN 113238715B
- Authority
- CN
- China
- Prior art keywords
- intelligent
- data
- file
- file system
- chip
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供的一种智能文件系统、及其配置方法、智能辅助计算设备和介质,通过获取智能辅助计算设备中分区情况,对一或多个分区建立逻辑模型结构;构建逻辑模型结构与智能芯片的物理结构之间的映射关系,以供将存算一体智能辅助计算设备映射为文件系统,为应用程序提供通用访问接口,以及将操作系统对文件系统的调用转化为对智能芯片的访问和控制。本申请将具有类似存储接口的智能辅助计算设备从逻辑上映射为文件系统,解析出已构建的神经网络,不仅能够避免升级新的异构计算架构导致的大量导入成本,同时还能充分利用存算一体智能辅助计算设备的非易失特性;不仅方便了神经网络在不同设备间的移动和共享,也降低了神经网络应用对软件环境的需求。
Description
技术领域
本发明涉及人工智能和操作系统技术领域,特别是涉及一种智能文件系统、及其配置方法、智能辅助计算设备和介质。
背景技术
人工智能技术近年来的迅速发展,大量智能计算产品的涌现,计算系统已经必须面对智能计算如何与传统计算融合的问题。由于智能计算主要解决神经网络的高效计算问题,无法像处理器那样承担通用计算的任务,因而智能计算芯片或设备在传统计算系统中通常充当计算加速器的角色。
纳米技术进入半导体产业后,相变存储技术为代表的阻变功能器件的出现为智能计算的实现提供了一种新的思路,阻变器件的非线性电阻可用来代表神经网络中的权值,利用欧姆定律实现乘加模拟计算,真正的实现了计算与存储的融合,正因为这种权值在存算一体器件上的表达是非易失的,即使系统下电,这个状态也不会丢失,因此这种融合事实上已经使得传统计算系统中的计算/内存/外存三种设备分别承担的功能融合在一个器件上。当我们试图在现有的计算系统中增加存算一体设备时,尽管我们能够根据智能计算的性能为其设计各种接口连接在现有系统成熟的总线上,使得从硬件上主机处理器能够实现对智能设备的访问和控制,但是在软件系统中难以为存算一体设备建立统一的模型。
在常见的操作系统中,新的硬件首先需要确定其类型,因为不同类型的硬件会匹配为不同的模型融入操作系统,实现与其它模型的硬件良好的交互,操作系统为不同类型的硬件设备设计了完全不同的运行逻辑,处理器、内存与外存之间的界限清晰而不可逾越,面对存算一体技术的智能设备,如何有机地融入现有操作系统中,对于智能技术能够在多种应用场景中顺利推广是十分重要的。
目前研究开发人员主流看法是将智能计算看做对通用计算的辅助加速设备,可以作为IO总线上的一个加速卡来看待,在交互更为密切的场景,将其看做另一种计算设备,与多种通用计算设备组成异构计算,共享所有的存储资源。针对异构计算,近几年兴起了多种总线标准,以应对这类复杂情况,如GenZ,CXL,NVLINK,OpenCAPI,CCIX等。这种方案虽然能够保证智能设备在计算上与处理器良好协同,在内存数据上能够共享,却忽略了智能设备本身的存算一体和非易失特性,不可避免的仍然陷入数据访问瓶颈中。
为了能够完整的发挥存算一体设备计算存储融合的特性,不能把存算一体设备简单的等同于类似TPU的智能计算加速设备,需要考虑更适合的融入方式。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种智能文件系统、及其配置方法、智能辅助计算设备和介质,以解决现有技术中至少一个问题。
为实现上述目的及其他相关目的,本申请提供一种智能文件系统的配置方法,应用于具有存储接口且搭载有存算一体的智能芯片的智能辅助计算设备,该智能芯片具有数据缓冲区和智能单元;所述配置方法包括:获取智能辅助计算设备中分区情况,对一或多个分区建立逻辑模型结构;构建所述逻辑模型结构与智能芯片的物理结构之间的映射关系,以供将存算一体智能辅助计算设备映射为文件系统,为应用程序提供通用访问接口,以及将操作系统对文件系统的调用转化为对智能芯片的访问和控制。
于本申请的一实施例中,所建立的逻辑模型结构包括一或多个数据块,用于访问智能芯片中至少包括芯片信息、数据缓冲区、及智能单元的可访问数据;其中,同一所述智能辅助计算设备可分配的所有数据块的结构相同;所述数据块至少包括:超级数据块、输入数据块、输出数据块、文件数据块、及空闲数据块中任意一中或多种组合;各所述数据块具有连接矩阵数据和权值矩阵数据,并可直接映射到智能辅助计算设备的智能单元;各所述数据块被写入数据时,可改变智能单元的信号接入引出方式和进行人工智能辅助计算时所使用的权值。
于本申请的一实施例中,所述配置方法包括:从智能辅助计算设备中获取分区信息、以及智能单元的数量和排列情况,并向操作系统汇报资源数量信息;其中,解析智能单元中的连接矩阵数据,以获得智能单元的划分和神经网络的构建情况,并以此构建iNode信息提供给操作系统。
于本申请的一实施例中,所述映射关系包括以下任意一种或多种组合:所述智能芯片的芯片信息映射为所述逻辑模型结构中的超级数据块;所述智能芯片的输入数据缓冲区映射为所述逻辑模型结构中的输入数据块;所述智能芯片的输出数据缓冲区映射为所述逻辑模型结构中的输出数据块;所述智能芯片的智能单元映射为所述逻辑模型结构中的文件数据块;所述智能芯片的空闲智能单元映射为所述逻辑模型结构中的空闲数据块;所述智能芯片的神经网络映射为所述逻辑模型结构中的文件。
于本申请的一实施例中,所述配置方法包括:将有连接关系的智能单元划分为一组,每一组智能单元构成一个神经网络;在一个分区中可以支持多个神经网络,每个神经网络虚拟为一个文件;将网络内每个智能单元内的数据则映射为数据块;同时将该网络系统连接的输入信号通道对应的输入数据缓冲区映射到文件虚拟的输入数据块地址,将网络系统连接的输出信号通道对应的输出数据缓冲区映射到文件虚拟的输出数据块地址。
于本申请的一实施例中,所述配置方法包括以下任意一种或多种:在接收到格式化分区调用时,将所有智能单元的连接信息清零,并断开所有智能单元之间的连接,释放对所有输入信号和输出信号通道的占用;同时将所有智能单元内的权值矩阵清零,以使所有的智能单元都处于空闲可分配状态;在接收到读写调用时,将读写操作转换为对智能单元内数据的读写,以实现对当前智能算法的获取和修改;在接收到创建文件的调用时,寻找一能够获取输入信号通道和输出信号通道资源的空闲智能单元,写入默认连接信息接入输入信号,将空闲智能单元分配给新创建的文件。
于本申请的一实施例中,所述配置方法包括以下任意一种或多种:在写入数据的过程中,若文件指针超出当前所有已加入的智能单元容量总和,则寻找一个最近邻的空闲智能单元加入当前文件,并将数据写入该空闲智能单元;在写入数据的过程中,若写入目标地址为虚拟输入数据块地址,则将该操作转换为对相应的输入数据缓冲区的写入;在写入数据的过程中,若写入目标地址为虚拟输出数据块地址,则将操作转换为相对应的输出数据缓冲区的写入。
于本申请的一实施例中,所述配置方法包括:当对输入数据缓冲区的写入操作表征向神经网络发送输入数据时,则启动神经网络计算,依据当前神经网络的网络结构和权值阵列,完成预测计算,并将计算结果更新在输出数据缓冲区中供应用程序读取;和/或,当对输入数据缓冲区的写入操作表征训练操作时,若支持在线学习,则启动训练计算,以输入数据缓冲区内的数据为输入,以输出数据缓冲区内的数据为标签,进行有监督学习,并据以修正权值阵列。
于本申请的一实施例中,所述配置方法包括:当所述操作系统为Linux内核时,通过VFS模块管理和调用所有的文件系统,并调用register_filesystem函数向Linux内核注册一种新的文件系统以形成智能文件系统;在mount过程中为Linux内核提供一系列回调函数,以供操作系统接收到应用程序访问文件系统时,由VFS模块调用,通过所述回调函数的修改以实现智能文件系统的相应功能或配置。
为实现上述目的及其他相关目的,本申请提供一种智能文件系统,应用于具有存储接口且搭载有存算一体的智能芯片的智能辅助计算设备,该智能芯片具有数据缓冲区和智能单元;所述智能文件系统包括:获取模块,用于获取智能辅助计算设备中分区情况,对一或多个分区建立逻辑模型结构;处理模块,用于构建所述逻辑模型结构与智能芯片的物理结构之间的映射关系,以供将存算一体智能辅助计算设备映射为文件系统,为应用程序提供通用访问接口,以及将操作系统对文件系统的调用转化为对智能芯片的访问和控制。
为实现上述目的及其他相关目的,本申请提供一种智能辅助计算设备,包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如上所述的配置方法;其中,所述智能辅助计算设备具有存储接口且搭载有存算一体的智能芯片,该智能芯片具有数据缓冲区和智能单元。
为实现上述目的及其他相关目的,本申请提供一种计算机可读存储介质,存储有计算机指令,所述计算机指令被运行时执行如上所述的配置方法。
综上所述,本申请的一种智能文件系统、及其配置方法、智能辅助计算设备和介质,通过获取智能辅助计算设备中分区情况,对一或多个分区建立逻辑模型结构;构建所述逻辑模型结构与智能芯片的物理结构之间的映射关系,以供将存算一体智能辅助计算设备映射为文件系统,为应用程序提供通用访问接口,以及将操作系统对文件系统的调用转化为对智能芯片的访问和控制。
具有以下有益效果:
将具有类似存储接口的智能辅助计算设备从逻辑上映射为文件系统,为应用程序提供通用访问接口,不仅能够避免升级新的异构计算架构导致的大量市场导入成本,同时还能充分利用存算一体智能辅助计算设备的非易失特性。所偶配置的智能文件系统能够从存算一体智能辅助计算设备中获取资源信息,解析出已构建的神经网络,映射为智能文件,通过操作系统中的文件系统机制,为应用程序提供AI计算辅助功能;一方面方便了神经网络在不同设备间的移动和共享,另一方面也降低了神经网络应用对软件环境的需求,在物联网前端和边缘设备进行AI功能升级改造过程中显著降低了市场导入难度,有利于AIoT技术的迅速推广。
附图说明
图1显示为本申请于一实施例中的智能文件系统的配置方法的流程示意图。
图2显示为本申请于一实施例中的智能文件系统文件的逻辑结构与智能辅助计算设备中的物理结构之间的映射关系的模型示意图。
图3显示为本申请于一实施例中的智能文件系统的模块示意图。
图4显示为本申请于一实施例中的智能辅助计算设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,虽然图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,但其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在通篇说明书中,当说某部分与另一部分“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种部分“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素,排除在外,而是意味着可以还包括其它构成要素。
其中提到的第一、第二及第三等术语是为了说明多样的部分、成分、区域、层及/或段而使用的,但并非限定于此。这些术语只用于把某部分、成分、区域、层或段区别于其它部分、成分、区域、层或段。因此,以下叙述的第一部分、成分、区域、层或段在不超出本申请范围的范围内,可以言及到第二部分、成分、区域、层或段。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
在操作系统中,相比其它模块来说,文件系统是最为灵活的一个部分,最能够应对多样化的设备特性,而且因为其在操作系统中的设定,本身属于对非易失外存数据的管理,但与进程管理,内存管理模块关系也非常密切,更方便的是,具体的文件系统是可拆卸的模块,文件系统的改造几乎对内核没有任何影响,非常容易完成市场导入,而这一点对于物联网前端设备更为重要,因为物联网前端设备多采用嵌入式系统,对操作系统内核的裁剪、改造和对特定版本的依赖使得操作系统更新会变得十分困难。
为解决上述问题,本申请希望能够通过创新模式文件系统的设计,实现智能设备在不损失其高度融合的特点的情况下,以最低导入代价有效地融入现有计算系统,尽早实现大量应用推广。
为此本申请提出一种面向存算一体智能辅助计算芯片的智能文件系统的配置方法,该智能文件系统能够从存算一体智能辅助计算设备中获取资源信息,解析出已构建的神经网络,该智能文件系统主要将具有类似存储接口的智能辅助计算设备从逻辑上映射为文件系统,通过操作系统中的文件系统机制,为应用程序提供AI计算辅助功能,以及为应用程序提供通用访问接口,不仅能够避免升级新的异构计算架构导致的大量市场导入成本,同时还能充分利用存算一体智能辅助计算设备的非易失特性。
一般文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NANDFlash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
而本申请的智能文件系统与文件系统不同,最主要的区别是:现有的文件系统没有能够支持计算的,无论是操作系统自带的,还是学术文章中写过的,各种新的文件系统更多的是解决不同应用场景和需求下数据访问效率问题,也就是说,现有文件系统的访问接口只支持存储设备的读写访问,没有计算指令的发送和计算结果的获取通道。
本专利所描述的智能文件系统,是以操作系统能够接受的文件系统的形式,将智能芯片的计算阵列和权值存储资源映射为存储资源,将命令和结果的传输通道复用到存储访问接口通道,将智能辅助计算设备的枚举嵌入存储设备枚举中,从而将一个智能存算一体设备伪装成了一个存储设备,这样在前端或边缘设备希望升级改造,增加AI计算功能时,应用程序仅需要稍加改造,不必为不同操作系统或内核寻找驱动程序,不必安装AI相关的框架平台,不必增加新的API函数接口,仅仅通过已有的POSIX文件访问接口,就能够实现新的功能,降低了AI进入前端设备的引入成本。
事实上,Intel就出了一款“神经计算棒”(Neural Compute Stick),他们的理念仍然是计算加速的设备,需要安装一系列驱动和支持软件包才能够使用,对于神经网络开发者来说这个设备非常方便,提升了神经网络的训练速度,但是对于边缘和前端设备来说,对设备的软件改造代价太大,而且很多场景下,设备使用的都是剪裁过的操作系统,很难让所有的驱动和支持软件包都能加入并且正常工作,而文件系统则几乎是操作系统必备的模块,且增加文件系统的代价非常小。
如图1所示,展示为本申请一实施例中的智能文件系统的配置方法的流程示意图。如图所示,所述方法包括:
步骤S101:获取智能辅助计算设备中分区情况,对一或多个分区建立逻辑模型结构。
于多个实施例中,所述智能文件系统的配置方法应用于具有存储接口且搭载有存算一体的智能芯片的智能辅助计算设备,该智能芯片具有数据缓冲区和智能单元。
于本申请一实施例中,所建立的逻辑模型结构包括一或多个数据块,用于访问智能芯片中至少包括芯片信息、数据缓冲区、及智能单元的可访问数据。
具体来说,存算一体智能辅助计算的智能芯片内至少包括三种类型的可访问数据:
芯片信息,从0地址开始的一段数据或逻辑块号从0开始的数据块,按照文件系统可解析的数据结构存储了这个智能芯片内的资源配置情况及访问的地址映射情况;
数据缓冲区,分为输入数据缓冲区和输出数据缓冲区,在智能芯片训练和预测时作为输入输出数据的缓冲;
智能单元,实现人工神经网络计算加速的主要功能,每个智能单元可以通过配置连接数据来更改智能单元之间及智能单元和缓冲区之间的数据传输路径,通过配置权值矩阵数据来更改神经网络计算的权值。
通常一个完整的神经网络片段包括数据输入数据缓冲区,一系列相互连接的智能单元和输出数据缓冲区,通过对多个智能单元配置不同的连接方式可以建立不同结构的人工神经网络,根据神经网络的复杂程度可以消耗不同的智能单元数量,若智能单元资源充足,一个芯片可以同时建立多个神经网络,分别有各自的输入数据缓冲区、智能单元和输出数据缓冲区。
于本申请一实施例中,同一所述智能辅助计算设备可分配的所有数据块的结构相同;所述数据块至少包括:超级数据块、输入数据块、输出数据块、文件数据块、及空闲数据块中任意一中或多种组合。
各所述数据块具有连接矩阵数据和权值矩阵数据,并可直接映射到智能辅助计算设备的智能单元。
各所述数据块被写入数据时,可改变智能单元的信号接入引出方式和进行人工智能辅助计算时所使用的权值。
于本申请一实施例中,所述配置方法包括:从智能辅助计算设备中获取分区信息、以及智能单元的数量和排列情况,并向操作系统汇报资源数量信息;。
具体来说,解析智能单元中的连接矩阵数据,以获得智能单元的划分和神经网络的构建情况,并以此构建iNode信息提供给操作系统。
步骤S102:构建所述逻辑模型结构与智能芯片的物理结构之间的映射关系,以供将存算一体智能辅助计算设备映射为文件系统,为应用程序提供通用访问接口,以及将操作系统对文件系统的调用转化为对智能芯片的访问和控制。
如图2所示,展示为本申请一实施例中智能文件系统文件的逻辑结构与智能辅助计算设备中的物理结构之间的映射关系的模型示意图。
本申请的智能文件系统将具有类似存储接口的智能辅助计算设备从逻辑上映射为文件系统,为应用程序提供通用访问接口,不仅能够避免升级新的异构计算架构导致的大量市场导入成本,同时还能充分利用存算一体智能辅助计算设备的非易失特性。
图2中下方为一个存算一体智能辅助计算设备中一个智能芯片的物理结构的示意图,其中,该示意图忽略了内部计算和传输部分的设计,仅仅展示了主机能够通过该芯片类似存储总线接口进行访问的数据块和缓冲区。这些数据块和缓冲区被统一编址,其地址映射情况可以从该芯片起始数据块所保存的芯片信息中获得。
图2中上方为智能文件系统对一个分区建立的逻辑模型结构,在操作系统看来,所访问的是一个存储的分区,分区中可以有多个文件,能够用通用的文件访问方式对文件的数据进行访问,而智能文件系统能够将操作系统对文件系统的调用转化为对智能辅助计算设备中的智能芯片的访问和控制。这种转化过程基于文件逻辑模型与智能芯片资源之间的映射方式,介绍如下:
每个格式化过的逻辑分区都会有一个超级块(Super block),操作系统可以从超级块中分辨这个分区的一些粗略信息,以及文件系统类型。对于具有类似存储接口的智能辅助计算设备,其控制器在系统总线枚举和操作系统初期读取时,会引导系统以智能文件系统的方式访问设备。智能文件系统能够基于对智能芯片内的芯片信息解析结果,附加一些更详细的分区信息,提供给操作系统。
智能芯片中配置的一套神经网络会被文件系统解析为一个独立的智能文件,与普通的文件相同,智能文件能够通过移动文件指针进行数据读写访问,其内容根据偏移量从0增大排列,至少可分为三段,第一段为输入数据块,映射到智能芯片对应神经网络的输入数据缓冲区,第二段为输出数据块,映射到智能芯片对应神经网络的输出数据缓冲区,第三段为文件数据块,每一个数据块对应智能芯片中的一个物理的智能单元,文件数据块具有相同的结构,包含连接数据和权值矩阵数据,与智能单元内的数据对应。
没有配置连接信息的数据块,在芯片中对应的智能单元没有与其它单元有数据交互,成为空闲单元,而在文件系统中则被标记为空闲数据块。
于本申请一实施例中,所述映射关系包括以下任意一种或多种组合:
1)所述智能芯片的芯片信息映射为所述逻辑模型结构中的超级数据块;
2)所述智能芯片的输入数据缓冲区映射为所述逻辑模型结构中的输入数据块;
3)所述智能芯片的输出数据缓冲区映射为所述逻辑模型结构中的输出数据块;
4)所述智能芯片的智能单元映射为所述逻辑模型结构中的文件数据块;
5)所述智能芯片的空闲智能单元映射为所述逻辑模型结构中的空闲数据块;
6)所述智能芯片的神经网络映射为所述逻辑模型结构中的文件。
于本申请一实施例中,所述配置方法包括:将有连接关系的智能单元划分为一组,每一组智能单元构成一个神经网络;在一个分区中可以支持多个神经网络,每个神经网络虚拟为一个文件;将网络内每个智能单元内的数据则映射为数据块;同时将该网络系统连接的输入信号通道对应的输入数据缓冲区映射到文件虚拟的输入数据块地址,将网络系统连接的输出信号通道对应的输出数据缓冲区映射到文件虚拟的输出数据块地址。
于本申请一实施例中,所述配置方法包括以下任意一种或多种:
A、在接收到格式化分区调用时,将所有智能单元的连接信息清零,并断开所有智能单元之间的连接,释放对所有输入信号和输出信号通道的占用;同时将所有智能单元内的权值矩阵清零,以使所有的智能单元都处于空闲可分配状态;
B、在接收到读写调用时,将读写操作转换为对智能单元内数据的读写,以实现对当前智能算法的获取和修改;
C、在接收到创建文件的调用时,寻找一能够获取输入信号通道和输出信号通道资源的空闲智能单元,写入默认连接信息接入输入信号,将空闲智能单元分配给新创建的文件。
其中,文件的长度为包含虚拟的数据块的初始长度加一个智能单元的数据容量。
于本申请一实施例中,所述配置方法包括以下任意一种或多种:
A、在写入数据的过程中,若文件指针超出当前所有已加入的智能单元容量总和,则寻找一个最近邻的空闲智能单元加入当前文件,并将数据写入该空闲智能单元;
B、在写入数据的过程中,若写入目标地址为虚拟输入数据块地址,则将该操作转换为对相应的输入数据缓冲区的写入;
其中,当对输入数据缓冲区的写入操作表征向神经网络发送输入数据时,则启动神经网络计算,依据当前神经网络的网络结构和权值阵列,完成预测计算,并将计算结果更新在输出数据缓冲区中供应用程序读取。
于本申请一实施例中,对输入缓冲区的写入相当于向神经网络发送输入数据,因为对输入数据缓冲区的写入操作可能引发智能辅助计算设备的预测计算,所以存算一体智能设备的硬件会启动一次神经网络计算,按照当前的网络结构和权值阵列,完成预测计算,计算结果将存储在输出数据缓冲区中,供主机的应用程序读取。
这就是利用文件系统标准的写入操作,启动计算任务,避免了增加新的API函数接口,减少对嵌入式系统软件环境和编程规范的改造,降低市场导入难度。
C、在写入数据的过程中,若写入目标地址为虚拟输出数据块地址,则将操作转换为相对应的输出数据缓冲区的写入。
其中,当对输出数据缓冲区的写入操作表征训练操作时,若支持在线学习,则启动训练计算,以输入数据缓冲区内的数据为输入,以输出数据缓冲区内的数据为标签,进行有监督学习,并据以修正权值阵列。
于本申请一实施例中,同样的,对输出数据缓冲区的写入代表训练操作,存算一体智能设备硬件如果支持设备内自主在线学习,因为对输出数据缓冲区的写入操作可能引发智能辅助计算设备的学习计算,所以会启动一次训练计算,以输入数据缓冲区内的数据为输入,以输出数据缓冲区内的数据为标签,进行一次有监督学习,修正权值阵列;而对于没有自主学习能力的设备,输出数据缓冲区为只读属性,不支持写入。
这也是利用文件系统的标准写入操作,启动训练计算任务的一种方式,也是本申请期望表达的一个关键创新点。
需要说明的是,在本申请的文件系统中,有两种方式改变权值阵列,一个是直接向权值阵列所映射的地址写入,这是离线训练通常的做法,另一种就是本申请上面提到的,先写输入缓冲区,再写输出缓冲区,由芯片完成在线训练和权值更新。
于本申请一实施例中,所述配置方法包括:
当所述操作系统为Linux内核时,通过VFS模块管理和调用所有的文件系统,并调用register_filesystem函数向Linux内核注册一种新的文件系统以形成智能文件系统。
在mount过程中为Linux内核提供一系列回调函数,以供操作系统接收到应用程序访问文件系统时,由VFS模块调用,通过所述回调函数的修改以实现智能文件系统的相应功能或配置。
为进一步理解本申请所述方法,以linux操作系统为例,一种智能文件系统的配置方法说明如下:
Linux操作系统内核通过VFS模块来管理和调用所有的文件系统,智能文件系统可以通过调用register_filesystem函数向内核注册一种新的文件系统,并在mount过程中为内核提供一系列回调函数,供操作系统接收到应用程序访问文件系统时,由VFS调用。通过这些回调函数的修改实现智能文件系统的所有功能。
这里VFS(virtual File System)的作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统,即为各类文件系统提供了一个统一的操作界面和应用编程接口。VFS是一个可以让open()、read()、write()等系统调用不用关心底层的存储介质和文件系统类型就可以工作的粘合层;mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了。在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。
其中关键的回调函数修改方法描述如下。
1)修改注册文件系统时提供的mount回调函数。调用时从存算一体智能辅助计算设备中获取分区信息,初始化super_block结构,将存算一体智能单元内的权值矩阵数据块映射为数据块资源,将数据块的大小和数量填入super_block中;解析存算一体连接矩阵数据,按照连接关系将单元分组,并将同组数据块按照连接顺序从逻辑上映射为一个文件,并建立内存中该文件的inode结构。完成后,应用程序可以通过系统API函数访问文件系统挂载路径,如果有已经建立的神经网络,则可以在该路径下看到神经网络文件,可供访问。
2)修改super_block->s_op.alloc_inode回调函数。调用时,选择一个空闲的智能单元,修改该单元的连接矩阵,建立该单元与数据输入端的连接,并为该单元建立一个内存inode结构,提供给VFS。完成后,系统将看到挂载路径中增加了一个神经网络文件,它拥有一个智能单元的空数据块。
3)修改super_block->s_op.destroy_inode回调函数。调用时,遍历指定inode所关联的一组互相连接的智能单元,复位连接矩阵为无连接状态,复位权值阵列为初始状态,从而释放智能单元资源,被系统识别为空闲数据块。
4)修改inode->i_fop.read回调函数。
调用时,检查函数传入的偏移量参数,判断该偏移量的位置;
若在该神经网络的数据输出缓冲区,则判断是否存在正在进行的神经网络预测计算,若存在则阻塞等待计算完成,或返回忙错误,若不存在正在进行的计算,则将输出缓冲区的数据填入回调函数传入的读缓冲区并返回;
若在智能单元数据区,则根据偏移量计算出对应智能单元,将该智能单元的权值阵列数据区填入回调函数传入的度缓冲区并返回;
若访问其它区域则返回空数据或错误信息。
5)修改inode->i_fop.write回调函数。
调用时,检查函数传入的偏移量参数,判断该偏移量的位置;
若在该神经网络的数据输入缓冲区,则将传入的写缓冲区数据复制到输入缓冲区,若输入缓冲区全部通过写操作更新,则启动神经网络预测计算,计算结果将存入数据输出缓冲区;
若在该神经网络的数据输出缓冲区,则将传入的写缓冲区数据复制到输出缓冲区,若输出缓冲区全部通过写操作更新,则启动一次在线学习计算,完成学习计算后,神经网络内所有智能单元的权值阵列将自主更新;
若在智能单元数据区,则根据偏移量计算出对应智能单元,将该智能单元的权值阵列更新为回调函数传入的写缓冲区中的数据;
若超出智能单元数据区,则寻找一个空闲的智能单元,修改该智能单元的连接矩阵,将该智能单元连接到神经网络上,并将写缓冲区的数据更新到该智能单元的权值阵列区;
若访问其它区域则返回空数据或错误信息。
6)对其它回调函数进行一些必要的修改以保证文件系统自洽并正常运行。
综上所述,本申请提供的一种智能文件系统的配置方法,所配置的智能文件系统能够从存算一体智能辅助计算设备中获取资源信息,解析出已构建的神经网络,映射为智能文件,通过操作系统中的文件系统机制,为应用程序提供AI计算辅助功能。
其中,神经网络的预测功能,可通过对智能文件的读取操作来实现,对神经网络的网络结构和权值阵列的更新,可通过操作系统发出的文件创建和写入等指令来实现,从而一方面方便了神经网络在不同设备间的移动和共享,另一方面也降低了神经网络应用对软件环境的需求,在物联网前端和边缘设备进行AI功能升级改造过程中显著降低了市场导入难度,有利于AIoT技术的迅速推广。
整体来说,本申请所述的文件系统,希望能够以最小的系统软硬件改造代价,解决物联网终端设备中的处理器与AI芯片的协同计算问题。
本申请的技术手段是通过设计新的文件系统,将基于AI芯片的智能计算设备伪装成存储设备,利用系统对存储设备的管理架构,实现智能设备的配置和存储资源管理,通过传统的文件系统访问接口实现智能计算指令下发与结果读取功能,从而避免了前端设备进行智能升级时增加的软硬件改造工作。
还需说明的是,本申请与现有采用相变存储等信道存储技术不同之处在于:现有设备中,使用相变存储是为了能够同时提供低延迟随机访问和非易失量大特性;而本申请中,智能芯片利用相变存储器件的可记忆电阻的特性,通过组成模拟信号电路,利用欧姆定律实现乘加计算加速,本身并不是用来作为常规存储器使用。
本申请取得的技术效果为:应用程序开发者可以在原有系统内核,不增加新的函数接口的情况下,通过安装新的文件系统,并仅采用传统的文件访问操作,实现新的AI智能设备的使用,从而为设备增加智能化功能。
如图3所示,展示为本申请于一实施例中的智能文件系统的模块示意图。所述智能文件系统300应用于具有存储接口且搭载有存算一体的智能芯片的智能辅助计算设备,该智能芯片具有数据缓冲区和智能单元。如图所示,所述智能文件系统300包括:
获取模块301,用于获取智能辅助计算设备中分区情况,对一或多个分区建立逻辑模型结构;
处理模块302,用于构建所述逻辑模型结构与智能芯片的物理结构之间的映射关系,以供将存算一体智能辅助计算设备映射为文件系统,为应用程序提供通用访问接口,以及将操作系统对文件系统的调用转化为对智能芯片的访问和控制。
需要说明的是,上述系统各模块/单元之间的信息交互、执行过程等内容,由于与本申请所述方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
还需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块302可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上处理模块302的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
如图4所示,展示为本申请于一实施例中的智能辅助计算设备的结构示意图。如图所示,所述智能辅助计算设备400包括:存储器401、及处理器402;所述存储器401用于存储计算机指令;所述处理器402运行计算机指令实现如图1所述的方法;其中,所述智能辅助计算设备400具有存储接口且搭载有存算一体的智能芯片403,该智能芯片具有数据缓冲区和智能单元。
在一些实施例中,所述智能辅助计算设备400中的所述存储器401的数量均可以是一或多个,所述处理器402的数量均可以是一或多个,而图4中均以一个为例。
于本申请一实施例中,所述智能辅助计算设备400中的处理器402会按照如图1所述的步骤,将一个或多个以应用程序的进程对应的指令加载到存储器401中,并由处理器402来运行存储在存储器402中的应用程序,从而实现如图1所述的方法。
所述存储器401可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。所述存储器401存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
所述处理器402可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在一些具体的应用中,所述智能辅助计算设备400的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清除说明起见,在图4中将各种总线都成为总线系统。
于本申请的一实施例中,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图1所述的方法。
在任何可能的技术细节结合层面,本申请可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
综上所述,本申请提供的一种智能文件系统、及其配置方法、智能辅助计算设备和介质,通过获取智能辅助计算设备中分区情况,对一或多个分区建立逻辑模型结构;构建所述逻辑模型结构与智能芯片的物理结构之间的映射关系,以供将存算一体智能辅助计算设备映射为文件系统,为应用程序提供通用访问接口,以及将操作系统对文件系统的调用转化为对智能芯片的访问和控制。
本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包含通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (12)
1.一种智能文件系统的配置方法,其特征在于,应用于具有存储接口且搭载有存算一体的智能芯片的智能辅助计算设备,该智能芯片具有数据缓冲区和智能单元;所述配置方法包括:
获取智能辅助计算设备中分区情况,对一或多个分区建立逻辑模型结构;
构建所述逻辑模型结构与智能芯片的物理结构之间的映射关系,以供将存算一体智能辅助计算设备映射为文件系统,为应用程序提供通用访问接口,以及将操作系统对文件系统的调用转化为对智能芯片的访问和控制。
2.根据权利要求1所述的配置方法,其特征在于,所建立的逻辑模型结构包括一或多个数据块,用于访问智能芯片中至少包括芯片信息、数据缓冲区、及智能单元的可访问数据;
其中,同一所述智能辅助计算设备可分配的所有数据块的结构相同;所述数据块至少包括:超级数据块、输入数据块、输出数据块、文件数据块、及空闲数据块中任意一种或多种组合;
各所述数据块具有连接矩阵数据和权值矩阵数据,并可直接映射到智能辅助计算设备的智能单元;
各所述数据块被写入数据时,可改变智能单元的信号接入引出方式和进行人工智能辅助计算时所使用的权值。
3.根据权利要求2所述的配置方法,其特征在于,所述配置方法包括:
从智能辅助计算设备中获取分区信息、以及智能单元的数量和排列情况,并向操作系统汇报资源数量信息;
其中,解析智能单元中的连接矩阵数据,以获得智能单元的划分和神经网络的构建情况,并以此构建iNode信息提供给操作系统。
4.根据权利要求2所述的配置方法,其特征在于,所述映射关系包括以下任意一种或多种组合:
所述智能芯片的芯片信息映射为所述逻辑模型结构中的超级数据块;
所述智能芯片的输入数据缓冲区映射为所述逻辑模型结构中的输入数据块;
所述智能芯片的输出数据缓冲区映射为所述逻辑模型结构中的输出数据块;
所述智能芯片的智能单元映射为所述逻辑模型结构中的文件数据块;
所述智能芯片的空闲智能单元映射为所述逻辑模型结构中的空闲数据块;
所述智能芯片的神经网络映射为所述逻辑模型结构中的文件。
5.根据权利要求4所述的配置方法,其特征在于,所述配置方法包括:
将有连接关系的智能单元划分为一组,每一组智能单元构成一个神经网络;在一个分区中可以支持多个神经网络,每个神经网络虚拟为一个文件;
将网络内每个智能单元内的数据则映射为数据块;同时将该网络系统连接的输入信号通道对应的输入数据缓冲区映射到文件虚拟的输入数据块地址,将网络系统连接的输出信号通道对应的输出数据缓冲区映射到文件虚拟的输出数据块地址。
6.根据权利要求2所述的配置方法,其特征在于,所述配置方法包括以下任意一种或多种:
在接收到格式化分区调用时,将所有智能单元的连接信息清零,并断开所有智能单元之间的连接,释放对所有输入信号和输出信号通道的占用;同时将所有智能单元内的权值矩阵清零,以使所有的智能单元都处于空闲可分配状态;
在接收到读写调用时,将读写操作转换为对智能单元内数据的读写,以实现对当前智能算法的获取和修改;
在接收到创建文件的调用时,寻找一能够获取输入信号通道和输出信号通道资源的空闲智能单元,写入默认连接信息接入输入信号,将空闲智能单元分配给新创建的文件。
7.根据权利要求2所述的配置方法,其特征在于,所述配置方法包括以下任意一种或多种:
在写入数据的过程中,若文件指针超出当前所有已加入的智能单元容量总和,则寻找一个最近邻的空闲智能单元加入当前文件,并将数据写入该空闲智能单元;
在写入数据的过程中,若写入目标地址为虚拟输入数据块地址,则将该操作转换为对相应的输入数据缓冲区的写入;
在写入数据的过程中,若写入目标地址为虚拟输出数据块地址,则将操作转换为相对应的输出数据缓冲区的写入。
8.根据权利要求7所述的配置方法,其特征在于,所述配置方法包括:
当对输入数据缓冲区的写入操作表征向神经网络发送输入数据时,则启动神经网络计算,依据当前神经网络的网络结构和权值阵列,完成预测计算,并将计算结果更新在输出数据缓冲区中供应用程序读取;
和/或,
当对输出数据缓冲区的写入操作表征训练操作时,若支持在线学习,则启动训练计算,以输入数据缓冲区内的数据为输入,以输出数据缓冲区内的数据为标签,进行有监督学习,并据以修正权值阵列。
9.根据权利要求1所述的配置方法,其特征在于,所述配置方法包括:
当所述操作系统为Linux内核时,通过VFS模块管理和调用所有的文件系统,并调用register_filesystem函数向Linux内核注册一种新的文件系统以形成智能文件系统;
在mount过程中为Linux内核提供一系列回调函数,以供操作系统接收到应用程序访问文件系统时,由VFS模块调用,通过所述回调函数的修改以实现智能文件系统的相应功能或配置。
10.一种智能文件系统,用于其特征在于,应用于具有存储接口且搭载有存算一体的智能芯片的智能辅助计算设备,该智能芯片具有数据缓冲区和智能单元;所述智能文件系统包括:
获取模块,用于获取智能辅助计算设备中分区情况,对一或多个分区建立逻辑模型结构;
处理模块,用于构建所述逻辑模型结构与智能芯片的物理结构之间的映射关系,以供将存算一体智能辅助计算设备映射为文件系统,为应用程序提供通用访问接口,以及将操作系统对文件系统的调用转化为对智能芯片的访问和控制。
11.一种智能辅助计算设备,其特征在于,包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如权利要求1至9中任意一项所述的配置方法;
其中,所述智能辅助计算设备具有存储接口且搭载有存算一体的智能芯片,该智能芯片具有数据缓冲区和智能单元。
12.一种计算机可读存储介质,其特征在于,存储有计算机指令,所述计算机指令被运行时执行如权利要求1至9中任一项所述的配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110620833.8A CN113238715B (zh) | 2021-06-03 | 2021-06-03 | 智能文件系统、及其配置方法、智能辅助计算设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110620833.8A CN113238715B (zh) | 2021-06-03 | 2021-06-03 | 智能文件系统、及其配置方法、智能辅助计算设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113238715A CN113238715A (zh) | 2021-08-10 |
CN113238715B true CN113238715B (zh) | 2022-08-30 |
Family
ID=77136659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110620833.8A Active CN113238715B (zh) | 2021-06-03 | 2021-06-03 | 智能文件系统、及其配置方法、智能辅助计算设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238715B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978899B (zh) * | 2022-05-11 | 2024-04-16 | 业成光电(深圳)有限公司 | AIoT设备更新方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195966A (zh) * | 2010-03-03 | 2011-09-21 | 卡西斯国际私人有限公司 | 用于实现和应用安全处理器棒的方法 |
WO2020133317A1 (zh) * | 2018-12-29 | 2020-07-02 | 华为技术有限公司 | 计算资源分配技术及神经网络系统 |
CN111382847A (zh) * | 2018-12-27 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN112149816A (zh) * | 2020-11-25 | 2020-12-29 | 之江实验室 | 支持深度神经网络推理加速的异构存算融合系统及方法 |
CN112465108A (zh) * | 2020-11-11 | 2021-03-09 | 上海交通大学 | 一种面向存算一体平台的神经网络编译方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9460110B2 (en) * | 2011-09-21 | 2016-10-04 | Kevin Mark Klughart | File system extension system and method |
GB2574372B (en) * | 2018-05-21 | 2021-08-11 | Imagination Tech Ltd | Implementing Traditional Computer Vision Algorithms As Neural Networks |
-
2021
- 2021-06-03 CN CN202110620833.8A patent/CN113238715B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195966A (zh) * | 2010-03-03 | 2011-09-21 | 卡西斯国际私人有限公司 | 用于实现和应用安全处理器棒的方法 |
CN111382847A (zh) * | 2018-12-27 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
WO2020133317A1 (zh) * | 2018-12-29 | 2020-07-02 | 华为技术有限公司 | 计算资源分配技术及神经网络系统 |
CN112465108A (zh) * | 2020-11-11 | 2021-03-09 | 上海交通大学 | 一种面向存算一体平台的神经网络编译方法 |
CN112149816A (zh) * | 2020-11-25 | 2020-12-29 | 之江实验室 | 支持深度神经网络推理加速的异构存算融合系统及方法 |
Non-Patent Citations (2)
Title |
---|
Sentence-Level Classification Using Parallel Fuzzy Deep Learning Classifier;Fatima Es-Sabery;《IEEE》;20210122;全文 * |
面向新型非易失存储的文件系统研究综述;徐远超;《计算机应用研究》;20210125;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113238715A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812627B2 (en) | System and method for installation and management of cloud-independent multi-tenant applications | |
US20150128150A1 (en) | Data processing method and information processing apparatus | |
US9098292B1 (en) | Automatic generation of an optimized arrangement for a model and optimized code based on the model | |
CN111198868A (zh) | 一种智能分库实时数据迁移方法和装置 | |
US9672047B1 (en) | Systems and methods for accessing a bootable partition on a serial peripheral interface device | |
Ganelin et al. | Spark: Big data cluster computing in production | |
CN113238715B (zh) | 智能文件系统、及其配置方法、智能辅助计算设备和介质 | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及系统 | |
US11500822B2 (en) | Virtualized append-only interface | |
US20220292390A1 (en) | Uniform artificial intelligence model conversion | |
US10565202B2 (en) | Data write/import performance in a database through distributed memory | |
CN107113231A (zh) | 将基于图形的计算卸载到后端设备 | |
US11200203B1 (en) | Accessing files stored in a firmware volume from a pre-boot application | |
CN115048060B (zh) | 一种存储管理方法、装置、电子设备及存储介质 | |
US11080050B2 (en) | Class data loading acceleration | |
CN109388505B (zh) | 一种基于Android的异步多任务顺序加载方法 | |
US20160335331A1 (en) | System and method for providing climate data analytics as a service | |
US20220365709A1 (en) | Computational storage for logical volumes that span physical devices | |
US20220035649A1 (en) | Event notification support for nested virtual machines | |
US11907176B2 (en) | Container-based virtualization for testing database system | |
US11507402B2 (en) | Virtualized append-only storage device | |
WO2023185570A1 (en) | Storage driver for managing multiple layer file system on cloud | |
US20230153155A1 (en) | On-demand co-processing resources for quantum computing | |
US11954510B2 (en) | Native-image in-memory cache for containerized ahead-of-time applications | |
US11977957B2 (en) | Quantum computing program compilation using cached compiled quantum circuit files |
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 |