Optimized memory configuration deployed on executing code
    1.
    发明授权
    Optimized memory configuration deployed on executing code 有权
    在执行代码时部署了优化的内存配置

    公开(公告)号:US08656134B2

    公开(公告)日:2014-02-18

    申请号:US13671836

    申请日:2012-11-08

    CPC classification number: G06F9/44557 G06F8/443

    Abstract: A configurable memory allocation and management system may generate a configuration file with memory settings that may be deployed at runtime. An execution environment may capture a memory allocation boundary, look up the boundary in a configuration file, and apply the settings when the settings are available. When the settings are not available, a default set of settings may be used. The execution environment may deploy the optimized settings without modifying the executing code.

    Abstract translation: 可配置的内存分配和管理系统可以生成具有可以在运行时部署的存储器设置的配置文件。 执行环境可能捕获内存分配边界,查找配置文件中的边界,并在设置可用时应用设置。 当设置不可用时,可以使用默认设置。 执行环境可以部署优化的设置,而无需修改执行代码。

    Offline Optimization of Computer Software
    2.
    发明申请
    Offline Optimization of Computer Software 审中-公开
    计算机软件的离线优化

    公开(公告)号:US20130085882A1

    公开(公告)日:2013-04-04

    申请号:US13622338

    申请日:2012-09-18

    CPC classification number: G06Q30/0601 G06F8/60 G06F9/44505 G06Q30/0621

    Abstract: An offline optimization for computer software may involve creating optimized parameters or components for a software product, and charging customers for the optimization service. The software product may be distributed under one licensing regime and the optimization components may be distributed under a second licensing regime. In some embodiments, a low cost or no-cost monitoring system may be provided, which may interface with a remote service that optimizes the software product for its current workload. A user may pay for the remote optimization service through a subscription, pay-per-use, pay-for-performance, or other payment models.

    Abstract translation: 计算机软件的离线优化可能涉及为软件产品创建优化的参数或组件,并为客户收取优化服务。 软件产品可以分发在一个授权制度下,并且优化组件可以在第二许可制度下分发。 在一些实施例中,可以提供低成本或无成本的监控系统,其可与与其当前工作负载优化软件产品的远程服务接口。 用户可以通过订阅,按使用付费,付费表现或其他支付模式来支付远程优化服务。

    Optimized Memory Configuration Deployed Prior to Execution
    3.
    发明申请
    Optimized Memory Configuration Deployed Prior to Execution 有权
    在执行之前部署优化的内存配置

    公开(公告)号:US20130074093A1

    公开(公告)日:2013-03-21

    申请号:US13671841

    申请日:2012-11-08

    Abstract: A configurable memory allocation and management system may generate a configuration file with memory settings that may be deployed prior to runtime. A compiler or other pre-execution system may detect a memory allocation boundary and decorate the code. During execution, the decorated code may be used to look up memory allocation and management settings from a database or to deploy optimized settings that may be embedded in the decorations.

    Abstract translation: 可配置的内存分配和管理系统可以生成具有可以在运行时之前部署的存储器设置的配置文件。 编译器或其他预执行系统可以检测内存分配边界并装饰代码。 在执行期间,装饰的代码可用于从数据库中查找内存分配和管理设置,或者部署可嵌入装饰中的优化设置。

    Memoization from offline analysis
    4.
    发明授权
    Memoization from offline analysis 有权
    离线分析记录

    公开(公告)号:US08789030B2

    公开(公告)日:2014-07-22

    申请号:US13622342

    申请日:2012-09-18

    CPC classification number: G06F8/443 G06F11/3414 G06F11/3428 G06F2201/865

    Abstract: Memoization may be deployed using a configuration file or database that identifies functions to memorize, and in some cases, includes input and result values for those functions. The configuration file or database may be created by profiling target code and offline or otherwise separate analysis of the profiling results. The configuration file may be used by an execution environment to identify which functions to memorize during execution. The offline or separate analysis of the profiling results may enable more sophisticated analysis than could otherwise be performed in parallel with executing the target code, including historical analysis of multiple instances of the target code and sophisticated cost/benefit analysis.

    Abstract translation: 可以使用识别要记忆的功能的配置文件或数据库部署备忘,并且在某些情况下,还包括这些功能的输入和结果值。 配置文件或数据库可以通过对目标代码进行分析和脱机创建,或另外分析分析结果的分析。 执行环境可以使用配置文件来识别在执行期间要记住哪些功能。 分析结果的离线或单独分析可以实现比执行目标代码并行执行的更复杂的分析,包括目标代码的多个实例的历史分析和复杂的成本/效益分析。

    Input vector analysis for memoization estimation
    5.
    发明授权
    Input vector analysis for memoization estimation 有权
    记忆估计的输入向量分析

    公开(公告)号:US08752021B2

    公开(公告)日:2014-06-10

    申请号:US13671822

    申请日:2012-11-08

    Abstract: A function's purity may be estimated by comparing a new input vector to previously analyzed input vectors. When a new input vector is within a confidence boundary, the new input vector may be treated as a known vector, even when that vector has not been evaluated. The input vector may reflect the input parameters passed to a function, and the function may be analyzed to determine whether to memoize with the input vector. The function may be a function that behaves as a pure function in some circumstances and with some input vectors, but not with others. By memoizing the function when possible, the function may be executed much faster, thereby improving performance.

    Abstract translation: 可以通过将新的输入向量与先前分析的输入向量进行比较来估计函数的纯度。 当新的输入向量在置信边界内时,新的输入向量可以被视为已知向量,即使当该向量尚未被评估时。 输入向量可以反映传递给函数的输入参数,并且可以分析该函数以确定是否使用输入向量进行记忆。 该函数可以是在某些情况下表现为纯函数的函数,也可以是一些输入向量,但与其他输入向量无关。 通过在可能的情况下记录功能,可以执行更快的功能,从而提高性能。

    Memoization configuration file consumed at compile time
    6.
    发明授权
    Memoization configuration file consumed at compile time 有权
    Memoization配置文件在编译时消耗

    公开(公告)号:US08656378B2

    公开(公告)日:2014-02-18

    申请号:US13671816

    申请日:2012-11-08

    CPC classification number: G06F8/4441 G06F8/443 G06F11/3612 G06F11/3636

    Abstract: Memoization may be deployed using a configuration file or database that identifies functions to memorize, and in some cases, includes input and result values for those functions. At compile time, functions defined in the configuration file may be captured and memoized. During compilation or other pre-execution analysis, the executable code may be modified or otherwise decorated to include memoization code. The memoization code may store results from a function during the first execution, then merely look up the results when the function may be called again. The memoized value may be stored in the configuration file or in another data store. In some embodiments, the modified executable code may operate in conjunction with an execution environment, where the execution environment may optionally perform the memoization.

    Abstract translation: 可以使用识别要记忆的功能的配置文件或数据库部署备忘,并且在某些情况下,还包括这些功能的输入和结果值。 在编译时,配置文件中定义的功能可以被捕获和记忆。 在编译或其他预执行分析期间,可执行代码可以被修改或以其他方式装饰以包括记忆代码。 记忆代码可以在第一次执行期间存储来自功能的结果,然后仅在再次调用该功能时查找结果。 记忆值可以存储在配置文件或其他数据存储中。 在一些实施例中,修改的可执行代码可以与执行环境一起操作,其中执行环境可以可选地执行记忆。

    Runtime Settings Derived from Relationships Identified in Tracer Data
    7.
    发明申请
    Runtime Settings Derived from Relationships Identified in Tracer Data 审中-公开
    由跟踪器数据中识别的关系导出的运行时设置

    公开(公告)号:US20130219372A1

    公开(公告)日:2013-08-22

    申请号:US13853809

    申请日:2013-03-29

    Abstract: An analysis system may perform network analysis on data gathered from an executing application. The analysis system may identify relationships between code elements and use tracer data to quantify and classify various code elements. In some cases, the analysis system may operate with only data gathered while tracing an application, while other cases may combine static analysis data with tracing data. The network analysis may identify groups of related code elements through cluster analysis, as well as identify bottlenecks from one to many and many to one relationships. The analysis system may generate visualizations showing the interconnections or relationships within the executing code, along with highlighted elements that may be limiting performance.

    Abstract translation: 分析系统可以对从执行应用收集的数据执行网络分析。 分析系统可以识别代码元素之间的关系,并使用跟踪器数据来量化和分类各种代码元素。 在某些情况下,分析系统只能在跟踪应用程序时收集的数据进行操作,而其他情况可能会将静态分析数据与跟踪数据相结合。 网络分析可以通过聚类分析来识别相关代码元素的组,并且识别从一个到多个和多个到一个关系的瓶颈。 分析系统可以产生显示执行代码内的互连或关系的可视化,以及可能限制性能的突出显示的元素。

    Relationships Derived from Trace Data
    8.
    发明申请
    Relationships Derived from Trace Data 有权
    跟踪数据的关系

    公开(公告)号:US20130219057A1

    公开(公告)日:2013-08-22

    申请号:US13853816

    申请日:2013-03-29

    Abstract: An analysis system may perform network analysis on data gathered from an executing application. The analysis system may identify relationships between code elements and use tracer data to quantify and classify various code elements. In some cases, the analysis system may operate with only data gathered while tracing an application, while other cases may combine static analysis data with tracing data. The network analysis may identify groups of related code elements through cluster analysis, as well as identify bottlenecks from one to many and many to one relationships. The analysis system may generate visualizations showing the interconnections or relationships within the executing code, along with highlighted elements that may be limiting performance.

    Abstract translation: 分析系统可以对从执行应用收集的数据执行网络分析。 分析系统可以识别代码元素之间的关系,并使用跟踪器数据来量化和分类各种代码元素。 在某些情况下,分析系统只能在跟踪应用程序时收集的数据进行操作,而其他情况可能会将静态分析数据与跟踪数据相结合。 网络分析可以通过聚类分析来识别相关代码元素的组,并且识别从一个到多个和多个到一个关系的瓶颈。 分析系统可以产生显示执行代码内的互连或关系的可视化,以及可能限制性能的突出显示的元素。

    Determination of Function Purity for Memoization
    9.
    发明申请
    Determination of Function Purity for Memoization 有权
    记忆功能纯度的确定

    公开(公告)号:US20130067445A1

    公开(公告)日:2013-03-14

    申请号:US13671819

    申请日:2012-11-08

    CPC classification number: G06F8/4441 G06F8/433

    Abstract: The purity of a function may be determined after examining the performance history of a function and analyzing the conditions under which the function behaves as pure. In some cases, a function may be classified as pure when any side effects are de minimis or are otherwise considered trivial. A control flow graph may also be traversed to identify conditions in which a side effect may occur as well as to classify the side effects as trivial or non-trivial. The function purity may be used to identify functions for memoization. In some embodiments, the purity analysis may be performed by a remote server and communicated to a client device, where the client device may memoize the function.

    Abstract translation: 功能的纯度可以在检查功能的性能历史并分析其功能如纯粹的条件之后确定。 在某些情况下,当任何副作用是微不足道的或者被视为微不足道时,功能可以分类为纯。 也可以遍历控制流程图以识别可能发生副作用的条件以及将副作用分类为微不足道或不平凡的。 功能纯度可用于识别记忆功能。 在一些实施例中,纯度分析可以由远程服务器执行并传送到客户端设备,其中客户端设备可以记录该功能。

    Control flow graph application configuration
    10.
    发明授权
    Control flow graph application configuration 有权
    控制流程图应用配置

    公开(公告)号:US09286042B2

    公开(公告)日:2016-03-15

    申请号:US13921625

    申请日:2013-06-19

    CPC classification number: G06F8/433 G06F9/44505

    Abstract: An operating system may be configured using a control flow graph that defines relationships between each executable module. The operating system may be configured by analyzing an application and identifying the operating system modules called from the application, then building a control flow graph for the configuration. The operating system may be deployed to a server or other computer containing only those components identified in the control flow graph. Such a lightweight deployment may be used on a large scale for datacenter servers as well as for small scale deployments on sensors and other devices with little processing power.

    Abstract translation: 可以使用定义每个可执行模块之间的关系的控制流程图来配置操作系统。 可以通过分析应用程序并识别从应用程序调用的操作系统模块,然后构建用于配置的控制流程图来配置操作系统。 操作系统可以部署到仅包含在控制流程图中标识的组件的服务器或其他计算机。 这种轻量级的部署可以大规模地用于数据中心服务器,以及在传感器和其他具有很少处理能力的设备上的小规模部署。

Patent Agency Ranking