WO2022099569A1 - Procédé de chargement dynamique de programme de traitement d'application pour système d'exploitation d'ordinateur semblable au cerveau - Google Patents

Procédé de chargement dynamique de programme de traitement d'application pour système d'exploitation d'ordinateur semblable au cerveau Download PDF

Info

Publication number
WO2022099569A1
WO2022099569A1 PCT/CN2020/128499 CN2020128499W WO2022099569A1 WO 2022099569 A1 WO2022099569 A1 WO 2022099569A1 CN 2020128499 W CN2020128499 W CN 2020128499W WO 2022099569 A1 WO2022099569 A1 WO 2022099569A1
Authority
WO
WIPO (PCT)
Prior art keywords
brain
processing program
binary code
application processing
application
Prior art date
Application number
PCT/CN2020/128499
Other languages
English (en)
Chinese (zh)
Inventor
吕攀
程书意
杨国青
李红
邓水光
潘纲
Original Assignee
浙江大学
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 浙江大学 filed Critical 浙江大学
Publication of WO2022099569A1 publication Critical patent/WO2022099569A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit

Definitions

  • the invention belongs to the technical field of novel computers, in particular to a method for dynamically loading an application processing program of a brain-like computer operating system.
  • Brain-like computing chips based on spiking neural networks directly implement some biological neural networks in hardware. meta-model, and the data transmission between neurons is similar to the pulse between biological neurons. Brain-like computers composed of brain-like computers can simulate part of the behavior of the brain by running spiking neural networks due to their natural advantages in architecture and implementation, and have low power consumption and high computing performance.
  • brain-like computers will generate a large amount of result data, such as membrane voltage, calculation results and other data after completing the calculation task. If the data generated by the brain-like computer is stored directly or returned to the user through the network without any processing, it will cause a large delay in the system.
  • the delay is mainly reflected in two aspects: one is the delay caused by multiple memory copies of the data, and the other is the delay caused by the network transmission of the data.
  • the calculation results are also different in structure. Therefore, there is an urgent need for a dynamic loading method, which can be used according to different spiking neural networks when the brain-like computer generates the result data.
  • the model type dynamically loads different application handlers to realize the structuring of the data required by the user, thereby improving the overall performance of the system.
  • the existing dynamic loading methods are relatively complex, such as the kprobe method provided by the Linux system, which can dynamically insert code into the kernel without recompiling the kernel.
  • the kprobe method is not suitable for pure bare-metal software systems for two reasons: first, the kprobe method needs to establish a symbol table; second, the kprobe method has poor performance, mainly because of its interrupt-based method, which needs to save the context.
  • Another example is the hot patch technology, which is mainly used for online repair and online update of the code. Hot patching technology also needs to establish symbol table information, which is not suitable for brain-like computer operating system.
  • the brain-like computer operating system is a static operating system, a simple solution is needed to realize the dynamic loading of the application processing program of the brain-like computer.
  • the brain-like computer has high processing frequency of calculation results and short single time, and the general processing time is millisecond level, a low performance overhead is required to realize the dynamic loading of application processing programs.
  • the present invention provides a method for dynamically loading an application processing program of a brain-like computer operating system, which can solve the problem that the brain-like computer system generates a large delay due to the large amount of data generated by the brain-like computer system, and enhances the brain-like computer system. overall processing performance.
  • a method for dynamically loading an application processing program of a brain-like computer operating system comprising the following steps:
  • the formal parameters of the application processing program include the storage location and length of the processed data, and the storage location and length of the processed data;
  • the configuration information includes the user ID, the spiking neural network model ID, and the application handler ID;
  • Extract the binary code of the application handler and transmit the binary code and configuration information of the application handler to the brain-like computer.
  • the application processing program is used to process the result data of the spiking neural network model of the brain-like computer, and is written by the user, so the configuration information of the application processing program includes the user ID.
  • the application processing program corresponds to at least one data processing method and corresponds to the spiking neural network model.
  • the data processing method includes filtering or extracting the data required by the user from the result data.
  • the formal parameters of the application processing program should be consistent with the formal parameters passed in by the binary code that executes the application processing program.
  • copying the binary code to the corresponding memory according to the configuration information includes:
  • a structure member variable is obtained according to the application handler identifier in the configuration information and the spiking neural network model structure, and the structure member variable is used to store the binary code of the application handler.
  • the binary code of the application handler into the structure member variable it further includes:
  • the binary code of the default application handler is used to completely copy the resulting data generated by the brain-like computer.
  • the binary code for executing the application processing program includes:
  • the brain-like computer When the brain-like computer generates the result data, it executes the binary code of the application handler in the form of a callback function;
  • the formal parameters passed in by the callback function indicate the storage location and length of the processed data, and the storage location and length of the processed data.
  • the beneficial effects of the present invention at least include:
  • the method for dynamically loading the application processing program of the brain-like computer operating system provided by the present invention, when the brain-like computer generates data, the binary code of the application processing program downloaded by the upper computer through the network is called in the form of a callback function, so that the operating system can dynamically
  • the call handler code allows different spiking neural network models to implement different result data processing methods, which can efficiently return the key data required by users, significantly reduce the amount of data, and avoid a large amount of data copying in memory and network transmission.
  • the delay brought by the time can enhance the overall performance of the brain-like computing system.
  • FIG. 1 is a schematic flowchart of a method for dynamically loading an application processing program of a brain-like computer operating system according to an embodiment of the present invention
  • FIG. 2 is a specific implementation flowchart of a method for dynamically loading an application processing program of a brain-like computer operating system according to an embodiment of the present invention.
  • this embodiment provides a method for dynamically loading application processing programs of the brain-like computer operating system, as shown in FIG. 1 , including: The following steps are: obtaining the binary code and configuration information of the application processing program; copying the binary code into the corresponding memory according to the configuration information; when the brain-like computer generates result data, execute the binary code of the application processing program.
  • the method for dynamically loading the application processing program of the brain-like computer operating system when the brain-like computer generates data, the operating system calls the remotely downloaded application processing program binary code in the form of a callback function, which provides different impulse neural network models.
  • Data processing method and return the key result data required by the user, reducing the delay caused by data storage and transmission.
  • FIG. 2 is a specific implementation flowchart of a method for dynamically loading an application processing program of a brain-like computer operating system provided by an embodiment. Specifically include:
  • Step 1 write application handler and configuration information.
  • the formal parameters of the application processing program indicate the location and length of the processed data storage, the location and length of the processed data storage.
  • the formal parameters of the application handler should be consistent with the parameters passed in by the binary code that executes the application handler.
  • the configuration information contains some key feature information, including user identification, spiking neural network model identification and application handler identification.
  • Step 2 compile the application handler.
  • the readelf-s target file command reads the length of the application handler and the offset of the application handler in the text segment;
  • the readelf-S target file command reads the first address of the text segment in the target file.
  • the binary code of the application processing program can be extracted according to the first address of the text segment in the target file, the length of the application processing program and the offset of the application processing program in the text segment.
  • Step 3 the binary code and configuration information of the application processing program are transmitted to the brain-like computer through the network.
  • the network transmission method adopts the tcp protocol.
  • Step 4 extract the binary code of the application handler.
  • Step 5 the brain-like computer finds the spiking neural network model structure according to the spiking neural network model identifier in the configuration information.
  • Step 6 the brain-like computer finds the structure member variables of the spiking neural network model according to the application processing program identifier in the configuration information.
  • Step 7 Assign the binary code of the application processing program to the member variable of the spiking neural network model structure.
  • Step 8 When the brain-like computer generates the result data, it calls the binary code of the application processing program from the member variables of the spiking neural network model structure in the form of a callback function and executes it.
  • the application processing program binary code downloaded by the upper computer through the network is called in the form of a callback function, so that the operating system can dynamically call the application processing program binary code.
  • the processing program code implements different data processing methods for different spiking neural network models, which can efficiently return the key data required by the user, reducing the amount of data, thereby avoiding the copying of a large amount of data in memory and network transmission. time delay.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Molecular Biology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

L'invention concerne un procédé de chargement dynamique de programme de traitement d'application pour un système d'exploitation d'ordinateur semblable au cerveau, comprenant les étapes suivantes : obtention d'un code binaire et d'informations de configuration d'un programme de traitement d'application ; copie du code binaire dans une mémoire correspondante selon les informations de configuration ; et lorsqu'un ordinateur semblable au cerveau génère des données de résultat, exécution du code binaire du programme de traitement d'application. Le procédé de chargement dynamique de programme de traitement d'application peut résoudre le problème du long retard du système informatique semblable au cerveau dû au fait que l'ordinateur semblable au cerveau génère une grande quantité de données, et améliorer les performances de traitement globales du système informatique semblable au cerveau.
PCT/CN2020/128499 2020-11-12 2020-11-13 Procédé de chargement dynamique de programme de traitement d'application pour système d'exploitation d'ordinateur semblable au cerveau WO2022099569A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011264115.3 2020-11-12
CN202011264115.3A CN112269606B (zh) 2020-11-12 2020-11-12 一种类脑计算机操作系统的应用处理程序动态加载方法

Publications (1)

Publication Number Publication Date
WO2022099569A1 true WO2022099569A1 (fr) 2022-05-19

Family

ID=74340041

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/128499 WO2022099569A1 (fr) 2020-11-12 2020-11-13 Procédé de chargement dynamique de programme de traitement d'application pour système d'exploitation d'ordinateur semblable au cerveau

Country Status (2)

Country Link
CN (1) CN112269606B (fr)
WO (1) WO2022099569A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115392443B (zh) * 2022-10-27 2023-03-10 之江实验室 类脑计算机操作系统的脉冲神经网络应用表示方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541598A (zh) * 2011-12-26 2012-07-04 深圳联友科技有限公司 一种动态加载组件的方法及系统
US20160092246A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Reverse dependency injection in a system with dynamic code loading
CN109858620A (zh) * 2018-12-29 2019-06-07 北京灵汐科技有限公司 一种类脑计算系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309684A (zh) * 2012-03-07 2013-09-18 腾讯科技(深圳)有限公司 动态加载应用的方法及装置
CN109783157B (zh) * 2018-12-29 2020-11-24 深圳云天励飞技术有限公司 一种算法程序加载的方法及相关装置
CN110909869B (zh) * 2019-11-21 2022-08-23 浙江大学 一种基于脉冲神经网络的类脑计算芯片
CN111325321B (zh) * 2020-02-13 2023-08-29 中国科学院自动化研究所 基于多神经网络融合的类脑计算系统及指令集的执行方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541598A (zh) * 2011-12-26 2012-07-04 深圳联友科技有限公司 一种动态加载组件的方法及系统
US20160092246A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Reverse dependency injection in a system with dynamic code loading
CN109858620A (zh) * 2018-12-29 2019-06-07 北京灵汐科技有限公司 一种类脑计算系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIE JIANQUN: "Research on the Architecture of Large-Scale Neuromorphic Computer", CHINESE MASTER’S DISSERTATIONS - GUANGDONG UNIVERSITY OF TECHNOLOGY, 1 May 2018 (2018-05-01), XP055928935 *

Also Published As

Publication number Publication date
CN112269606A (zh) 2021-01-26
CN112269606B (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
US9851918B2 (en) Copy-on-write by origin host in virtual machine live migration
US8667489B2 (en) Systems and methods for sharing the results of analyses among virtual machines
US10417023B2 (en) GPU simulation method
CN111046072A (zh) 一种数据查询方法、系统、异构计算加速平台及存储介质
WO2021057807A1 (fr) Procédé et appareil de génération de modèle d'apprentissage profond, dispositif et support de stockage
JP4491254B2 (ja) 複製コマンド配布のシステムおよび方法
US20100306766A1 (en) Adding aspects to virtual machine monitors
US20220237057A1 (en) Code consolidation system
CN106021566A (zh) 一种提高单台数据库并发处理能力的方法、装置及系统
US20200342008A1 (en) System for lightweight objects
WO2022099569A1 (fr) Procédé de chargement dynamique de programme de traitement d'application pour système d'exploitation d'ordinateur semblable au cerveau
US20090077563A1 (en) Systems And Methods For Grid Enabling Computer Jobs
WO2024119930A1 (fr) Procédé et appareil de planification, ainsi que dispositif informatique et support de stockage
CN110569105B (zh) 分布式虚拟机自适应内存一致性协议及其设计方法、终端
US10338891B2 (en) Migration between model elements of different types in a modeling environment
US10621163B2 (en) Tracking and reusing function results
US9009731B2 (en) Conversion of lightweight object to a heavyweight object
US20200159641A1 (en) Debugging asynchronous functions
CN108446186B (zh) 从加壳Android应用程序中恢复Dex源文件的方法
Sudsee et al. An improvement of a checkpoint-based distributed testing technique on a big data environment
CN114490834B (zh) 基于Kubernetes更换大数据计算作业数据源的方法及装置
KR102457154B1 (ko) 가속기에서 실행되는 프로그램에 대한 중간표현을 생성하는 방법 및 시스템
CN111796806B (zh) 生成对象的方法、装置、电子设备及可读存储介质
CN110971631B (zh) 访问ceph集群的方法、装置、服务器及介质
US20210397382A1 (en) System and method for optimizing write requests of a write queue

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20961126

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20961126

Country of ref document: EP

Kind code of ref document: A1