CN114341806A - 用于软件模块开发的系统 - Google Patents

用于软件模块开发的系统 Download PDF

Info

Publication number
CN114341806A
CN114341806A CN202080028324.XA CN202080028324A CN114341806A CN 114341806 A CN114341806 A CN 114341806A CN 202080028324 A CN202080028324 A CN 202080028324A CN 114341806 A CN114341806 A CN 114341806A
Authority
CN
China
Prior art keywords
software module
configuration file
software
process agent
instances
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
CN202080028324.XA
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.)
Seweslaw Canada Ltd
Original Assignee
Seweslaw Canada 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 Seweslaw Canada Ltd filed Critical Seweslaw Canada Ltd
Publication of CN114341806A publication Critical patent/CN114341806A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

用于软件模块开发的系统和方法。配置文件和进程代理模块结合计算机系统协同操作,以预配置一个或更多个执行环境以实施开发中的用户软件模块的一个或更多个实例。配置文件包含限定执行环境的限制和能力以及软件模块所需的参数的硬件和软件配置。进程代理启动执行环境并确保在执行环境中执行的软件模块可以访问配置文件中设置的资源。一旦软件模块的执行完成,性能结果就会被传递给进程代理进行核对和分析。然后可以使用这些结果来确定软件模块的哪次实施进行得最好。

Description

用于软件模块开发的系统
技术领域
本发明涉及软件开发。更具体地,本发明涉及用于开发软件模块的系统和方法。
背景技术
过去几年,人工智能,更具体地说是机器学习和神经网络的兴趣和发展的激增,致使对用于开发此类技术的系统的需求迅速增长。为此,越来越多的计算机科学家、开发人员和工程师正在突破技术界限,以得到越来越好的系统。然而,这也给这些科学家、工程师和开发人员带来了许多潜在的问题。
在开发软件时,不同的配置在性能方面会产生不同的结果。因此,为了优化正在开发的软件的性能,开发人员需要保持跟踪这些不同的配置,并确保保持提供最佳结果的配置。然而,一些软件可能有几十个甚至数百个配置,并且保持跟踪如此多的参数和设置在最好的情况下也仍是繁重的。同样,运行软件的系统的配置也会影响软件的性能。因此,还需要保持跟踪系统的配置,以确保软件的各种配置都在公平的竞争环境中竞争。同样,这可能成为一项繁重的任务。
应该清楚的是,由于可以使用各种形式的执行环境来执行软件开发,所以上述所有变得更加具有挑战性。为确保正在开发的软件的各种配置都得到正确评估,执行此类软件的执行环境的配置将必须尽可能彼此相同。
在开发神经网络和机器学习系统时,上述问题更加尖锐。此类系统使用的超参数很容易达到数百个,并且确保正在开发的软件系统的每个版本都在相同的执行环境中运行可能在最好的情况下也仍是困难的。不仅如此,所使用的超参数的每次更改都可能产生不同的结果,因此,需要整理、跟踪和管理每个系统的性能,以确保正确的参数设置与正确的性能指标相关联。
因此,需要解决上述问题的系统和/或方法。优选地,这样的方法或系统即使不能克服也可以减轻上述问题,并且还优选地,这样的系统或方法也易于开发人员和/或研究人员使用。
发明内容
本发明提供了用于软件模块开发的系统和方法。配置文件和进程代理模块结合计算机系统协同操作,以预配置(provision,配置、准备、预备、初始化)一个或更多个执行环境以实施开发中的用户软件模块的一个或更多个实例。配置文件包含限定执行环境的限制和能力以及软件模块所需的参数的硬件和软件配置。进程代理启动执行环境并确保在执行环境中执行的软件模块可以访问配置文件中设置的资源。一旦软件模块的执行完成,性能结果就会被传递给进程代理进行核对和分析。然后可以使用这些结果来确定软件模块的哪次实施进行得最好。在一个具体实现方式中,进程代理本身是虚拟机,并管理其他虚拟机/执行环境和其他作业的配置、预配置和启动。
在第一方面,本发明提供了一种用于预配置和启动软件模块的一个或更多个实例的系统,该系统包括:
-配置文件,其详细说明用于实施所述软件模块的至少一个实例的硬件和软件配置;
-进程代理模块,其用于配置至少一个计算机系统以实施所述软件模块的所述至少一个实例,所述进程代理使用所述配置文件来配置所述至少一个计算机系统;
其中
-所述配置文件存储在数据存储装置中,使得所述文件是可检索的,使得所述软件模块的每次实施都使用所述配置文件;
-所述配置文件由标识符唯一标识,所述标识符与所述软件模块唯一相关联。
在第二方面,本发明提供了一种用于启动软件模块的多个实例的系统,该系统包括:
-配置文件,其详细描述用于实施所述软件模块的所述多个实例的配置;
-进程代理模块,其用于配置至少一个计算机系统以实施所述软件模块的所述多个实例,所述进程代理使用所述配置文件来配置所述至少一个计算机系统;
其中
-所述配置文件由标识符唯一标识,所述标识符与所述软件模块唯一相关联。
附图说明
现在将参考以下附图描述本发明的实施方式,其中不同附图中相同的附图标记表示相同的元件并且其中:
图1是示出根据本发明的一个方面的系统中的部件的框图。
具体实施方式
一方面,本发明提供了一种包括配置文件和进程代理模块的系统。这两者合作以解决上述问题。在操作中,配置文件由用户准备并且与用户正在准备/开发的软件模块唯一相关联。配置文件被准备以包括将运行用户软件模块的虚拟机所需的软件和硬件配置。这可能包括:要为虚拟机提供多少RAM(随机存取存储器);要为虚拟机分配/提供多少处理器内核(或多个处理器);有多少GPU专用于该虚拟机;以及,在一些使用多任务环境的实现方式中,要赋予软件模块的进程什么优先级。除此之外,配置文件还可以包括软件模块可能需要的各种参数的范围。例如,软件模块可以是神经网络的实现,照此,神经网络中的各个节点将需要超参数值。配置文件可以包括神经网络中各个节点的各种超参数的范围。
与配置文件协作,进程代理用于基于配置文件的内容进行执行环境的配置。因此,进程代理读取配置文件的内容,并在必要时基于这些内容预配置一个或更多个执行环境。此外,进程代理实际上启动与配置文件唯一相关联的软件模块,并在必要时再次使用配置文件中的参数值用于软件模块的相关部件。应该清楚的是,配置文件还可以包含诸如要执行多少软件模块的试验/测试/实现之类的参数。因此,进程代理采用这些试验参数并预配置必要数量的执行环境以并行地运行必要数量的软件模块实例。例如,如果配置文件指出需要软件模块的五个实例,每个实例都有特定的要使用的参数组,则进程代理将配置并启动五个相同的执行环境,每个环境都将执行带有相关参数的软件模块。
除了上述之外,进程代理还可以接收和核对由被测试和/或开发的软件模块的各种实例产生的任何结果。这包括软件模块的各种配置实例(通过参数)的性能数据。通过这样做,进程代理可以收集、核对和排列(按性能结果)各种结果。因此,进程代理可以确定使用哪些参数为软件模块产生最佳性能配置。然后可以将这些结果和排名呈现给用户,并且如果需要或期望,用户可以重写/修改配置文件,使得优化参数在配置文件中。
为清楚起见,由配置文件和进程代理控制、预配置和启动的执行环境的概念包括在独立于平台的环境上执行的单独资源(例如CPU、RAM、GPU、网络适配器),该环境能够将这些资源暴露给一组用户定义的程序。术语“执行环境”包括诸如虚拟机、进程虚拟机、docker容器以及物理机的完全虚拟化或仿真之类的示例。因此,当进程代理启动执行环境时,这可能包括启动专门预配置的虚拟机、物理机的仿真(预配置有特定资源),或简单地启动预配置有用户程序可用的特定资源的特定软件环境(即软件模块)。
应该清楚的是,配置文件和进程代理的使用还提供了额外的优势。一旦找到了用于软件模块的最佳(或接近最佳)参数并将其输入到配置文件中,就可以将该文件存储在数据存储装置中。每当必须再次执行或实施软件模块时,进程代理可以简单地从数据存储装置中检索配置文件,并使用与已发现最适合软件模块的硬件和软件配置完全相同的硬件和软件配置。同样,已发现为软件模块(现在是配置文件的一部分)提供最佳性能的参数也被使用。这确保在使用软件模块的实现方式时,使用最佳配置。这也确保了,如果研究人员或开发人员需要重新运行软件模块,所使用的版本是产生最佳性能结果的版本。此外,这确保了围绕软件模块的硬件和软件配置的条件与之前实施该软件模块时相同。研究人员/开发人员不再需要仔细记录哪个配置用于哪个实验/版本,因为软件模块的所有版本将在相同的硬件和软件配置上运行。然而,软件模块的配置不必完全基于该软件模块的过去执行历史。配置文件中的配置和参数也可以基于软件模块的具体需要以及该软件模块可以实现的任何模型。
应该注意的是,为了便于识别哪个配置文件与哪个软件模块相关联,配置文件可以与软件模块唯一相关联。这可以通过嵌入在配置文件和软件模块中的唯一识别码来完成。因此,在实施软件模块之前,进程代理可以检查软件模块并搜索数据存储装置以确定是否存在具有相同识别码的配置文件。如果存在这样的配置文件,则检索该配置文件,然后与将运行软件模块的执行环境一起实施或使用其配置和参数。
为确保本发明的系统易于使用,进程代理和配置文件应与软件模块的特性无关。这意味着可以使用TensorFlow、Python、Torch或任何其他合适的系统和/或编程语言来开发/创建软件模块。优选地,配置文件将包含关于用于创建软件模块的系统的类型/风格的指示。然后进程代理可以使用该指示来确保配置文件中的参数适用于该特定系统。同样,进程代理可以使用该指示来确保该系统的必要库和支持资源可用于软件模块。在一个替代方案中,配置文件还可以包含关于软件模块可能需要用于执行/实施的库或其他模块(即,不是标准集的一部分的库或其他模块)的指示。然后进程代理可以使用它来确保这些库或模块可供进程代理启动的各种虚拟机使用和访问。还应该清楚的是,在一个实现方式中,进程代理是基于系统作为整体的功能启动其他虚拟机(或作业或预配置其他形式的执行环境)的虚拟机,如本文所述。或者,进程代理可以是启动虚拟机或预配置执行环境的独立子系统。如本文所述,进程代理(无论是作为虚拟机还是独立子系统或进程)基于配置文件中的内容来监督执行环境的配置、预配置和执行/启动。进程代理可以驻留在/发起在一个服务器/集群中以启动/控制其他服务器/集群上的虚拟机,或者进程代理及其启动的执行环境可能都驻留在同一服务器/集群上。
对于特定于基于神经网络的软件模块的实现方式,配置文件可以包括由神经网络用作超参数的值的范围。然后可以将这些值用作进程代理启动软件模块的多个实例(即神经网络的多个实例,每个实例具有基于配置文件中给定范围的不同超参数集)的基础。在这样做时,进程代理因此致使软件模块的多个并行实例在相同的虚拟机/执行环境上执行。虽然软件模块的这些多个实例可以并行地同时执行,但取决于系统的实现方式,进程代理可以配置各种虚拟机/执行环境以依次或交错并行或同时并行地操作。
在本发明的一个变型中,系统可以基于一个或更多个软件模块的执行历史来确定这些一个或更多个模块的最佳配置,而不管这些模块的配置文件中有什么。在一个实现方式中,如果特定模块的执行足够多(阈值是可配置的变量),则系统将这些执行的数据提供给机器学习模型以确定一个或更多个配置参数的最佳值。然后,将使用那些一个或更多个最佳参数来预配置或配置该特定模块的后续执行。例如,在执行100次软件模块后,配置文件列出了为该进程预配置5个GPU,执行数据被发送到机器学习系统。如果机器学习系统随后(根据执行数据)确定,虽然已经预配置了5个GPU,但特定模块只真正使用了其中的3个GPU,那么该特定模块的后续执行将配置为3个GPU,而不是配置文件中列出的5个GPU。因此,系统可以基于该软件模块的足够数量的执行数据来预测性地确定该软件模块的资源消耗。然后可以使用预测消耗来预配置软件模块的一个或更多个未来执行,目的是优化或减少模块的资源消耗。系统还可以确定执行将需要什么最高级别的最小资源量,使得软件模块不会耗尽资源。
参照图1,示出了根据本发明的一个方面的系统的部件的框图。系统10包括配置文件20和进程代理30。进程代理30与计算机系统40结合操作以基于在配置文件20中列出的配置参数来预配置、配置和启动一个或更多个虚拟机/执行环境50。在启动了各种执行环境之后,可以将配置文件20存储在数据存储装置60中以备后用。当需要重新运行或重新实施软件模块时,进程代理30可以从数据存储装置60中检索配置文件20。
如上所述,可以将已启动的软件模块的性能指标发送到进程代理以进行收集、核对和分析。一旦确定了软件模块的最佳操作参数,无论是通过进程代理对性能指标的分析自动地还是通过用户分析和选择软件模块使用的参数手动地,这些参数都可以然后被包括在存储在数据存储装置中的配置文件中。这确保了软件模块的任何未来执行或实施都将使用现在存储在配置文件中的最佳参数。
综上所述,系统还可以基于收集到的软件模块的执行数据自动确定优选的最佳设置和参数。使用机器学习模型或任何其他合适的数据分析模型,系统分析软件模块的合适数量的执行数据集,并且基于该分析的结果,系统可以预测模块的最佳参数和设置。然后可以根据需要使用这些参数和设置代替配置文件中的参数。如上所述,该能力允许研究人员或用户确保优化软件模块的未来执行并确保使用最少的资源同时确保软件模块不会耗尽资源。
应该清楚,本发明的各个方面可以被实现为整个软件系统中的软件模块。因此,本发明可以采用计算机可执行指令的形式,该计算机可执行指令在被执行时实施具有预定义功能的各种软件模块。
本发明的实施方式可以由以方法步骤的方式编程的计算机处理器或类似设备执行,或者可以由设置有用于执行这些步骤的装置的电子系统执行。类似地,诸如计算机磁盘、CD-ROM、随机存取存储器(RAM)、只读存储器(ROM)或本领域已知的类似计算机软件存储介质之类的电子存储装置可以被编程以执行这些方法步骤。同样,代表这些方法步骤的电子信号也可以通过通信网络传输。
本发明的实施方式可以用任何传统的计算机编程语言来实现。例如,优选实施方式可以用过程编程语言(例如,“C”或“Go”)或面向对象的语言(例如,“C++”、“java”、“PHP”、“PYTHON”或“C#”)实现。本发明的替代实施方式可以实现为预编程的硬件元件、其他相关部件或硬件和软件部件的组合。
实施方式可以实现为与计算机系统一起使用的计算机程序产品。这样的实现方式可以包括一系列计算机指令,这些计算机指令固定在有形介质诸如计算机可读介质(例如,软盘、CD-ROM、ROM或固定磁盘)上或可通过调制解调器或其他接口设备诸如通过介质连接到网络的通信适配器传输到计算机系统。介质可以是有形介质(例如,光通信线路或电通信线路)或使用无线技术(例如,微波、红外线或其他传输技术)实现的介质。该系列计算机指令体现了之前在此描述的全部或部分功能。本领域技术人员应当理解,可以用多种编程语言编写此类计算机指令,以用于许多计算机体系结构或操作系统。此外,此类指令可以存储在任何存储设备中,诸如半导体、磁、光或其他存储设备,并且可以使用任何通信技术诸如光、红外、微波或其他传输技术进行传输。预计这种计算机程序产品可以作为具有随同的印刷或电子文档(例如压缩包装软件)的可移动介质分发,预装有计算机系统(例如,在系统ROM或固定磁盘上),或从网络(例如,互联网或万维网)上的服务器分发。当然,本发明的一些实施方式可以实现为软件(例如,计算机程序产品)和硬件的组合。本发明的其他实施方式可以实现为完全硬件,或实现为完全软件(例如,计算机程序产品)。
理解本发明的人现在可以设想替代结构和实施方式或上述的变型,所有这些都旨在落入如随附权利要求所限定的本发明的范围内。

Claims (18)

1.一种用于预配置和启动软件模块的一个或更多个实例的系统,所述系统包括:
-配置文件,所述配置文件详细说明用于实施所述软件模块的至少一个实例的硬件和软件配置;
-进程代理模块,所述进程代理模块用于配置至少一个计算机系统以实施所述软件模块的所述至少一个实例,所述进程代理使用所述配置文件来配置所述至少一个计算机系统;
其中
-所述配置文件存储在数据存储装置中,使得所述文件是能检索的,使得所述软件模块的每次实施都使用所述配置文件;并且
-所述配置文件由标识符唯一标识,所述标识符与所述软件模块唯一相关联。
2.根据权利要求1所述的系统,其中,所述软件模块实现神经网络。
3.根据权利要求2所述的系统,其中,所述配置文件包含要用作所述神经网络的超参数的值的范围。
4.根据权利要求2所述的系统,其中,所述配置文件使所述进程代理启动所述软件模块的多个实例。
5.根据权利要求4所述的系统,其中,所述软件模块的所述多个实例中的每个实例都使用不同的超参数值组。
6.根据权利要求5所述的系统,其中,所述软件模块的每个实例都产生被发送到所述进程代理的输出。
7.根据权利要求6所述的系统,其中,所述进程代理评估所述软件模块的所述实例的输出,并基于所述软件模块的所述多个实例的所述输出确定用于所述神经网络的最佳超参数组。
8.根据权利要求1所述的系统,其中,所述配置文件包含要用作所述软件模块的参数的值的范围,所述参数是影响所述软件模块的性能的值。
9.根据权利要求8所述的系统,其中,所述配置文件使所述进程代理启动所述软件模块的多个实例。
10.根据权利要求4所述的系统,其中,所述软件模块的所述多个实例中的每个实例都使用不同的参数值组。
11.根据权利要求10所述的系统,其中,所述软件模块的每个实例都产生被发送到所述进程代理的输出。
12.根据权利要求11所述的系统,其中,所述进程代理评估所述软件模块的所述实例的输出,并基于所述软件模块的所述多个实例的所述输出确定所述软件模块的最佳参数组。
13.一种用于启动软件模块的多个实例的系统,所述系统包括:
-配置文件,所述配置文件详细说明用于实施所述软件模块的所述多个实例的配置;
-进程代理模块,所述进程代理模块用于配置至少一个计算机系统以实施所述软件模块的所述多个实例,所述进程代理使用所述配置文件来配置所述至少一个计算机系统;并且
其中
-所述配置文件由标识符唯一标识,所述标识符与所述软件模块唯一相关联。
14.根据权利要求13所述的系统,其中,所述配置文件被存储在数据存储装置中,使得所述文件是能检索的,使得所述软件模块的每次实施都使用所述配置文件。
15.根据权利要求13所述的系统,其中,所述配置文件包含要用作所述软件模块的参数的值的范围,所述参数是影响所述软件模块的性能的值。
16.根据权利要求14所述的系统,其中,所述软件模块的所述多个实例中的每个实例都使用不同的参数值组。
17.根据权利要求13所述的系统,其中,所述软件模块的每个实例都产生被发送到所述进程代理的输出。
18.根据权利要求17所述的系统,其中,所述进程代理评估所述软件模块的所述实例的输出,并基于所述软件模块的所述多个实例的所述输出确定用于所述软件模块的最佳参数组。
CN202080028324.XA 2019-04-12 2020-04-08 用于软件模块开发的系统 Pending CN114341806A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962833193P 2019-04-12 2019-04-12
US62/833,193 2019-04-12
PCT/CA2020/050462 WO2020206536A1 (en) 2019-04-12 2020-04-08 System for software module development

Publications (1)

Publication Number Publication Date
CN114341806A true CN114341806A (zh) 2022-04-12

Family

ID=72750794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080028324.XA Pending CN114341806A (zh) 2019-04-12 2020-04-08 用于软件模块开发的系统

Country Status (8)

Country Link
US (1) US20220043660A1 (zh)
EP (1) EP3953809A4 (zh)
JP (1) JP2022528787A (zh)
KR (1) KR20220113873A (zh)
CN (1) CN114341806A (zh)
AU (1) AU2020256639A1 (zh)
CA (1) CA3136641C (zh)
WO (1) WO2020206536A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490015A (zh) * 2020-11-13 2022-05-13 华为技术有限公司 配置计算模式的方法、装置及计算设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US7194738B2 (en) * 2002-04-09 2007-03-20 Synnex Technology International Corporation Method of creating image files and installing software bundles on target computers
US8001083B1 (en) * 2007-05-09 2011-08-16 Vmware, Inc. Repository including version management
US9015180B1 (en) * 2007-05-09 2015-04-21 Vmware, Inc. Repository including file identification
US9304819B2 (en) * 2007-05-29 2016-04-05 Red Hat, Inc. Virtual deployment
US8171141B1 (en) * 2009-04-02 2012-05-01 Vmware, Inc. Provisioning system including stack manager
US9703550B1 (en) * 2009-09-29 2017-07-11 EMC IP Holding Company LLC Techniques for building code entities
US10296317B2 (en) * 2010-12-20 2019-05-21 Microsoft Technology Licensing, Llc Continuous publication of application to remote computing devices
US8606892B2 (en) * 2011-11-28 2013-12-10 Wyse Technology Inc. Deployment and updating of applications and drivers on a client device using an extensible markup language (XML) configuration file
US9116735B2 (en) * 2012-03-07 2015-08-25 Microsoft Technology Licensing, Llc Offline provisioning of virtual machines
US20130290541A1 (en) * 2012-04-25 2013-10-31 Hitachi ,Ltd. Resource management system and resource managing method
US9183062B2 (en) * 2013-02-25 2015-11-10 International Business Machines Corporation Automated application reconfiguration
US9386079B2 (en) * 2014-06-10 2016-07-05 American Megatrends, Inc. Method and system of virtual desktop infrastructure deployment studio
CN105446705B (zh) * 2014-06-30 2019-06-21 国际商业机器公司 用于确定配置文件的特性的方法和装置
CN105446709B (zh) * 2014-07-29 2019-06-21 阿里巴巴集团控股有限公司 一种Java应用处理方法及装置
US10091055B2 (en) * 2015-02-13 2018-10-02 Amazon Technologies, Inc. Configuration service for configuring instances
EP3418949A4 (en) * 2016-02-17 2019-02-27 Sony Corporation INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING DEVICE
US10503623B2 (en) * 2016-04-29 2019-12-10 Ca, Inc. Monitoring containerized applications
US10152387B1 (en) * 2016-12-23 2018-12-11 EMC IP Holding Company LLC Instant start of virtual machine from archive copy on backup media
US11140035B2 (en) * 2019-12-11 2021-10-05 Oracle International Corporation System and method for automating zero touch provisioning of cloud networks

Also Published As

Publication number Publication date
EP3953809A4 (en) 2023-01-11
CA3136641A1 (en) 2020-10-15
US20220043660A1 (en) 2022-02-10
AU2020256639A1 (en) 2021-12-09
EP3953809A1 (en) 2022-02-16
JP2022528787A (ja) 2022-06-15
WO2020206536A1 (en) 2020-10-15
CA3136641C (en) 2024-03-26
KR20220113873A (ko) 2022-08-17

Similar Documents

Publication Publication Date Title
US10908887B2 (en) Dynamic container deployment with parallel conditional layers
WO2014025585A1 (en) System and method for configuring cloud computing systems
EP2883140A1 (en) System and method for tuning a cloud computing system
Taura et al. Design and implementation of GXP make—A workflow system based on make
CN112106023A (zh) 卸载服务器和卸载程序
US11216752B1 (en) Optimizing machine learning models
CN111160539A (zh) 运行人工神经网络的计算处理图的系统及方法
CN115617364B (zh) Gpu虚拟化部署方法、系统、计算机设备和存储介质
CN112364897A (zh) 分布式训练方法及装置、存储介质及电子设备
US20220043660A1 (en) System for software module development
Kaler et al. Communication-efficient graph neural networks with probabilistic neighborhood expansion analysis and caching
CN107493200B (zh) 一种光盘镜像文件的创建方法、虚拟机部署方法及装置
CN112997146A (zh) 卸载服务器和卸载程序
CN115480785A (zh) 基于容器的服务部署方法、装置和服务器
KR102376527B1 (ko) Dnn 프레임워크를 이용하는 단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법 및 컴퓨터 프로그램
RU2685018C1 (ru) Способ распараллеливания программ в вычислительной системе
Youqin A Comparison between Java and Go for Microservice Development and Cloud Deployment
Gand et al. Fuzzy Container Orchestration for Self-adaptive Edge Architectures
CN117312839A (zh) 模型训练方法、装置、系统及相关设备
Nguyen Machine Learning Model Management using Cloud-Native Technologies for IoT
Yilmaz Scheduling Extensions
CN117608562A (zh) 一种可执行程序生成方法、装置、电子设备及存储介质
CN116341604A (zh) 硬件平台及其构建脑仿真网络的方法及存储介质
EP4315055A1 (en) Managing deployment of an application
CN117707489A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40063580

Country of ref document: HK