MEMORY MANAGEMENT FOR SPARSE MATRIX MULTIPLICATION

    公开(公告)号:US20180275909A1

    公开(公告)日:2018-09-27

    申请号:US15470377

    申请日:2017-03-27

    CPC classification number: G06F17/16 G06F7/00 G06F12/00 H03M7/00

    Abstract: Techniques related to memory management for sparse matrix multiplication are disclosed. Computing device(s) may perform a method for multiplying a row of a first sparse matrix with a second sparse matrix to generate a product matrix row. A compressed representation of the second sparse matrix is stored in main memory. The compressed representation comprises a values array that stores non-zero value(s). Tile(s) corresponding to row(s) of second sparse matrix are loaded into scratchpad memory. The tile(s) comprise set(s) of non-zero value(s) of the values array. A particular partition of an uncompressed representation of the product matrix row is generated in the scratchpad memory. The particular partition corresponds to a partition of the second sparse matrix comprising non-zero value(s) included in the tile(s). When a particular tile is determined to comprise non-zero value(s) that are required to generate the particular partition, the particular tile is loaded into the scratchpad memory.

    Database tuple-encoding-aware data partitioning in a direct memory access engine

    公开(公告)号:US10061832B2

    公开(公告)日:2018-08-28

    申请号:US15362688

    申请日:2016-11-28

    Abstract: Techniques provide for hardware accelerated data movement between main memory and an on-chip data movement system that comprises multiple core processors that operate on the tabular data. The tabular data is moved to or from the scratch pad memories of the core processors. While the data is in-flight, the data may be manipulated by data manipulation operations. The data movement system includes multiple data movement engines, each dedicated to moving and transforming tabular data from main memory data to a subset of the core processors. Each data movement engine is coupled to an internal memory that stores data (e.g. a bit vector) that dictates how data manipulation operations are performed on tabular data moved from a main memory to the memories of a core processor, or to and from other memories. The internal memory of each data movement engine is private to the data movement engine. Tabular data is efficiently copied between internal memories of the data movement system via a copy ring that is coupled to the internal memories of the data movement system and/or is coupled to a data movement engine. Also, a data movement engine internally broadcasts data to other data movement engines, which then transfer the data to respective core processors. Partitioning may also be performed by the hardware of the data movement system. Techniques are used to partition data “in flight”. The data movement system also generates a column of row identifiers (RIDs). A row identifier is a number treated as identifying a row or element's position within a column. Row identifiers each identifying a row in column are also generated.

    ESTIMATING A COST OF PERFORMING DATABASE OPERATIONS USING VECTORIZED INSTRUCTIONS
    44.
    发明申请
    ESTIMATING A COST OF PERFORMING DATABASE OPERATIONS USING VECTORIZED INSTRUCTIONS 有权
    使用演示说明估算执行数据库操作的成本

    公开(公告)号:US20150039853A1

    公开(公告)日:2015-02-05

    申请号:US13956357

    申请日:2013-08-01

    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, it is determined whether to perform a database operation using one or more vectorized instructions or without using any vectorized instructions. This determination may comprise estimating a first cost of performing the database operation using one or more vectorized instructions and estimating a second cost of performing the database operation without using any vectorized instructions. Multiple factors that may be used to determine which approach to follow, such as the number of data elements that may fit into a SIMD register, a number of vectorized instructions in the vectorized approach, a number of data movement instructions that involve moving data from a SIMD register to a non-SIMD register and/or vice versa, a size of a cache, and a projected size of a hash table.

    Abstract translation: 提供了使用向量化指令执行数据库操作的技术。 在一种技术中,确定是使用一个或多个矢量化指令执行数据库操作还是不使用任何矢量化指令。 该确定可以包括使用一个或多个向量化指令估计执行数据库操作的第一成本,并且估计在不使用任何向量化指令的情况下执行数据库操作的第二成本。 可以用于确定哪种方法的多个因素,诸如可以适合于SIMD寄存器的数据元素的数量,向量化方法中的多个向量化指令,涉及从 SIMD向非SIMD寄存器寄存器和/或反之亦然,高速缓存的大小以及散列表的投影大小。

    Massively Parallel And In-Memory Execution Of Grouping And Aggregation In a Heterogeneous System
    45.
    发明申请
    Massively Parallel And In-Memory Execution Of Grouping And Aggregation In a Heterogeneous System 审中-公开
    在非均匀系统中进行大规模并行和内存中的分组和聚合执行

    公开(公告)号:US20140280298A1

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

    申请号:US13831122

    申请日:2013-03-14

    CPC classification number: G06F17/30489 G06F17/30483

    Abstract: A system and method for processing a group and aggregate query on a relation are disclosed. A database system determines whether assistance of a heterogeneous system (HS) of compute nodes is beneficial in performing the query. Assuming that the relation has been partitioned and loaded into the HS, the database system determines, in a compile phase, whether the HS has the functional capabilities to assist, and whether the cost and benefit favor performing the operation with the assistance of the HS. If the cost and benefit favor using the assistance of the HS, then the system enters the execution phase. The database system starts, in the execution phase, an optimal number of parallel processes to produce and consume the results from the compute nodes of the HS. After any needed transaction consistency checks, the results of the query are returned by the database system.

    Abstract translation: 公开了一种用于处理关系的组和聚合查询的系统和方法。 数据库系统确定计算节点的异构系统(HS)的协助是否有利于执行查询。 假设该关系已经被划分并加载到HS中,数据库系统在编译阶段确定HS是否具有协助的功能能力,以及成本和利益是否有利于在HS的协助下执行操作。 如果成本和收益有利于使用HS的协助,则系统进入执行阶段。 数据库系统在执行阶段启动最佳数量的并行进程,以产生和消耗来自HS的计算节点的结果。 在任何所需的事务一致性检查之后,查询的结果由数据库系统返回。

    Technique For Skipping Irrelevant Portions Of Documents During Streaming XPath Evaluation
    46.
    发明申请
    Technique For Skipping Irrelevant Portions Of Documents During Streaming XPath Evaluation 审中-公开
    在XPath评估过程中跳过不相关部分文档的技术

    公开(公告)号:US20140215311A1

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

    申请号:US14231491

    申请日:2014-03-31

    CPC classification number: G06F17/2247 G06F17/22 G06F17/30929

    Abstract: A method and apparatus are described for summarizing a document. For each node in the document that satisfies a marking criteria, a start and end mark pair is stored in a summary in document order. The start mark specifies a location in the document where the node starts, and the end mark specifies a location in the document where the node ends. When evaluating a query for a hierarchical path, the document is streamed into memory until the mark of a tag matches a start mark in the summary. If that tag does not fit within the path, then streaming of the document may resume at the end mark, thereby skipping the node during streaming evaluation. Translation information may be used to indicate a logical position relative to the marks in the summary when the document is modified.

    Abstract translation: 描述用于总结文档的方法和装置。 对于满足标记条件的文档中的每个节点,开始和结束标记对将以文档顺序存储在摘要中。 开始标记指定文档中节点启动的位置,结束标记指定节点结束的文档中的位置。 当评估分层路径的查询时,文档将流式传输到内存中,直到标记的标记与摘要中的起始标记相匹配。 如果该标签不适合路径,则可以在结束标记处恢复文档的流传输,从而在流评估期间跳过该节点。 当文档被修改时,翻译信息可以用于指示在摘要中相对于标记的逻辑位置。

    Efficient File Access In A Large Repository Using A Two-Level Cache
    47.
    发明申请
    Efficient File Access In A Large Repository Using A Two-Level Cache 审中-公开
    使用两级缓存的大型存储库中的高效文件访问

    公开(公告)号:US20130097175A1

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

    申请号:US13692014

    申请日:2012-12-03

    CPC classification number: G06F17/30097 G06F12/0811 G06F12/084 G06F17/30929

    Abstract: A two-level cache to facilitate resolving resource path expressions for a hierarchy of resources is described, which includes a system-wide shared cache and a session-level cache. The shared cache is organized as a hierarchy of hash tables that mirrors the structure of a repository hierarchy. A particular hash table in a shared cache includes information for the child resources of a particular resource. A database management system that manages a shared cache may control the amount of memory used by the cache by implementing a replacement policy for the cache based on one or more characteristics of the resources in the repository. The session-level cache is a single level cache in which information for target resources of resolved path expressions may be tracked. In the session-level cache, the resource information is associated with the entire path expression of the associated resource.

    Abstract translation: 描述了用于促进解决资源层级的资源路径表达式的两级缓存,其包括系统范围共享高速缓存和会话级缓存。 共享缓存被组织为映射存储库层次结构的散列表的层次结构。 共享缓存中的特定哈希表包括特定资源的子资源的信息。 管理共享高速缓存的数据库管理系统可以基于存储库中的资源的一个或多个特性来实现对高速缓存的替换策略来控制高速缓存所使用的存储器量。 会话级缓存是单级缓存,其中可以跟踪解析的路径表达式的目标资源的信息。 在会话级缓存中,资源信息与相关资源的整个路径表达式相关联。

    ADAPTIVE SAMPLING FOR IMBALANCE MITIGATION AND DATASET SIZE REDUCTION IN MACHINE LEARNING

    公开(公告)号:US20200342265A1

    公开(公告)日:2020-10-29

    申请号:US16718164

    申请日:2019-12-17

    Abstract: According to an embodiment, a method includes generating a first dataset sample from a dataset, calculating a first validation score for the first dataset sample and a machine learning model, and determining whether a difference in validation score between the first validation score and a second validation score satisfies a first criteria. If the difference in validation score does not satisfy the first criteria, the method includes generating a second dataset sample from the dataset. If the difference in validation score does satisfy the first criteria, the method includes updating a convergence value and determining whether the updated convergence value satisfies a second criteria. If the updated convergence value satisfies the second criteria, the method includes returning the first dataset sample. If the updated convergence value does not satisfy the second criteria, the method includes generating the second dataset sample from the dataset.

    USING HYPERPARAMETER PREDICTORS TO IMPROVE ACCURACY OF AUTOMATIC MACHINE LEARNING MODEL SELECTION

    公开(公告)号:US20200334569A1

    公开(公告)日:2020-10-22

    申请号:US16388830

    申请日:2019-04-18

    Abstract: Techniques are provided for selection of machine learning algorithms based on performance predictions by using hyperparameter predictors. In an embodiment, for each mini-machine learning model (MML model) of a plurality of MML models, a respective hyperparameter predictor set that predicts a respective set of hyperparameter settings for a first data set is trained. Each MML model represents a respective reference machine learning model (RML model) of a plurality of RML models. A first plurality of data set samples is generated from the first data set. A first plurality of first meta-feature sets is generated, each first meta-feature set describing a respective first data set sample of said first plurality. A respective target set of hyperparameter settings are generated for said each MML model using a hypertuning algorithm. The first plurality of first meta-feature sets and the respective target set of hyperparameter settings are used to train the respective hyperparameter predictor set. Each hyperparameter predictor set is used during training and inference to improve the accuracy of automatically selecting a RML model per data set.

    AUTOMATED WINDOW BASED FEATURE GENERATION FOR TIME-SERIES FORECASTING AND ANOMALY DETECTION

    公开(公告)号:US20200097810A1

    公开(公告)日:2020-03-26

    申请号:US16140841

    申请日:2018-09-25

    Abstract: Techniques are described herein for automatically generating statistical features describing trends in time-series data that may then become inputs to machine learning models. The framework involves a set of algorithms for selecting a number and size of window based statistical features to use as input features, evaluating them during a series of training phases with a machine learning model using training, test and validation time series data. The training and evaluation phases provide particular values for a number and a size of window based statistical features that yield best scores in terms of prediction accuracy. The particular values are then used with input time series data to generate an augmented time-series data to input to the trained machine learning model for obtaining predictions regarding the time series as well as identified anomalies in the input time series data.

Patent Agency Ranking