Memory allocation in multi-core processors

    公开(公告)号:US10901639B2

    公开(公告)日:2021-01-26

    申请号:US15428035

    申请日:2017-02-08

    Applicant: SAP SE

    Abstract: A system for allocating memory (e.g., heap) in multi-core processors is provided. In some implementations, the system performs operations comprising receiving, at a shared cache having a plurality of segments, a first data allocation including a plurality of data blocks, and allocating at least a first and second data block from the first allocation. First and second segments in the shared cache can each comprise a plurality of data slots (e.g., of equal length). Allocating the first and second data blocks can include storing the first data block in a data slot of the first segment and storing the second data block in a data slot of the second segment. The plurality of data slots which do not contain data may contain padding, and/or the data slots to which the first and second data blocks are allocated are not adjacent. Related systems, methods, and articles of manufacture are also described.

    Big Block Allocation of Persistent Main Memory

    公开(公告)号:US20180357000A1

    公开(公告)日:2018-12-13

    申请号:US15621640

    申请日:2017-06-13

    Applicant: SAP SE

    CPC classification number: G06F3/0626 G06F3/0631 G06F3/068

    Abstract: Disclosed herein are system, method, and computer program product embodiments for of big block allocation of persistent main memory. An embodiment operates by receiving an allocation request for memory of a requested size. A free memory block, that exceeds the requested size by a remainder and is available for allocation, is determined. A size of the free memory block is updated to indicate that the size of the free memory block is equal to the remainder size. A new block of the requested size is inserted with an indication that the new block is allocated. A memory address corresponding to the new block is returned.

    Hybrid heap memory management
    33.
    发明授权

    公开(公告)号:US10073872B2

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

    申请号:US14849041

    申请日:2015-09-09

    Applicant: SAP SE

    CPC classification number: G06F16/22 G06F12/023 G06F2212/1024 G06F2212/1044

    Abstract: A database memory manager determines a size class for each of a plurality of memory allocation requests. The memory manager then, based on the determined size classes, assigns which of a plurality of sub-allocators forming part of a plurality of memory pools should handle each memory allocation request. The sub-allocators assignments are based on predefined size ranges for each size class. The corresponding assigned sub-allocators then identify locations within the memory for each memory allocation request. The corresponding assigned sub-allocators next handle the memory allocation requests to allocate memory at the identified locations such that one of the sub-allocators utilizes both thread local storage and core-striped memory management.

    Database Memory Management in a High Availability Database System Using Limits

    公开(公告)号:US20180246911A1

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

    申请号:US15444403

    申请日:2017-02-28

    Applicant: SAP SE

    CPC classification number: G06F16/21

    Abstract: Receiving a statement including requests for database operations in a secondary database system storing data replicated from a primary database system by replaying transaction output generated by the primary database system; responsive to receiving the statement, requesting an allocation of memory from the secondary database system to support the requested database operations; generating an aggregated statement memory consumption value based on the amount of memory consumed by all statements executing in the secondary database system that are not associated with replaying the transaction logs; determining that the requested allocation of memory in addition to the aggregated statement memory consumption value exceeds a total statement execution memory limit indicating a total amount of memory that may be allocated to all database operations associated with statement execution in a secondary database system, and denying the requested allocation of memory. Related apparatus, systems, techniques and articles are also described.

    Memory allocation and recovery strategies for byte-addressable non-volatile RAM (NVRAM)

    公开(公告)号:US10019331B2

    公开(公告)日:2018-07-10

    申请号:US14973447

    申请日:2015-12-17

    Applicant: SAP SE

    CPC classification number: G06F11/2094 G06F11/00 G06F2201/805

    Abstract: Disclosed herein are innovations in memory management and data recovery for systems that operate using storage class memory (SCM), such as non-volatile RAM (NVRAM). The disclosed innovations have particular application to production database systems, where reducing database downtime in the event of a system crash is highly desirable. Embodiments of the disclosed technology can address a variety of problems that exist during a system crash. For example, embodiments of the disclosed technology can be used to address the loss of the physical memory mapping and/or the loss of the CPU cache that typically occurs in the event of a system crash. Furthermore, embodiments of the disclosed technology can be used to prevent data inconsistency and/or memory leak problems that may arise in the event of a system crash.

    MULTI-LEVEL MEMORY MAPPING
    36.
    发明申请

    公开(公告)号:US20180150392A1

    公开(公告)日:2018-05-31

    申请号:US15363516

    申请日:2016-11-29

    Applicant: SAP SE

    CPC classification number: G06F12/0292 G06F2212/1016

    Abstract: A system for memory allocation and deallocation with a multi-level memory map is provided. In some implementations, the system performs operations comprising allocating a memory map for addressing a plurality of memory locations in a heap, the memory map comprising a root node, one or more second-level nodes, and a plurality of third-level nodes. The plurality of third-level nodes can comprise third entries for pointing to the memory locations and/or the one or more second-level nodes can comprise a plurality of second entries corresponding to the plurality of third-level nodes. The operations can further include determining a location to store data within the heap and/or tracking the location by placing a pointer within a third-level node of the plurality of third-level nodes and incrementing a counter corresponding to the third-level node. Related systems, methods, and articles of manufacture are also described.

    MEMORY ALLOCATION IN MULTI-CORE PROCESSORS
    37.
    发明申请

    公开(公告)号:US20180150222A1

    公开(公告)日:2018-05-31

    申请号:US15428035

    申请日:2017-02-08

    Applicant: SAP SE

    Abstract: A system for allocating memory (e.g., heap) in multi-core processors is provided. In some implementations, the system performs operations comprising receiving, at a shared cache having a plurality of segments, a first data allocation including a plurality of data blocks, and allocating at least a first and second data block from the first allocation. First and second segments in the shared cache can each comprise a plurality of data slots (e.g., of equal length). Allocating the first and second data blocks can include storing the first data block in a data slot of the first segment and storing the second data block in a data slot of the second segment. The plurality of data slots which do not contain data may contain padding, and/or the data slots to which the first and second data blocks are allocated are not adjacent. Related systems, methods, and articles of manufacture are also described.

    MEMORY ALLOCATION AND RECOVERY STRATEGIES FOR BYTE-ADDRESSABLE NON-VOLATILE RAM (NVRAM)
    39.
    发明申请
    MEMORY ALLOCATION AND RECOVERY STRATEGIES FOR BYTE-ADDRESSABLE NON-VOLATILE RAM (NVRAM) 有权
    用于字节可寻址非易失性RAM(NVRAM)的内存分配和恢复策略

    公开(公告)号:US20160371162A1

    公开(公告)日:2016-12-22

    申请号:US14973447

    申请日:2015-12-17

    Applicant: SAP SE

    CPC classification number: G06F11/2094 G06F11/00 G06F2201/805

    Abstract: Disclosed herein are innovations in memory management and data recovery for systems that operate using storage class memory (SCM), such as non-volatile RAM (NVRAM). The disclosed innovations have particular application to production database systems, where reducing database downtime in the event of a system crash is highly desirable. Embodiments of the disclosed technology can address a variety of problems that exist during a system crash. For example, embodiments of the disclosed technology can be used to address the loss of the physical memory mapping and/or the loss of the CPU cache that typically occurs in the event of a system crash. Furthermore, embodiments of the disclosed technology can be used to prevent data inconsistency and/or memory leak problems that may arise in the event of a system crash.

    Abstract translation: 这里公开了对使用诸如非易失性RAM(NVRAM)的存储类存储器(SCM)进行操作的系统的存储器管理和数据恢复的创新。 所公开的创新特别适用于生产数据库系统,其中在系统崩溃的情况下减少数据库停机时间是非常需要的。 所公开的技术的实施例可以解决系统崩溃期间存在的各种问题。 例如,所公开的技术的实施例可以用于解决通常在系统崩溃的情况下发生的物理存储器映射的丢失和/或CPU高速缓存的丢失。 此外,所公开的技术的实施例可以用于防止在系统崩溃的情况下可能出现的数据不一致和/或内存泄漏问题。

    METHOD AND APPARATUS FOR MAKING CHANGES TO A QUANTITY FOR A TIME INTERVAL WITHIN A TIME SERIES
    40.
    发明申请
    METHOD AND APPARATUS FOR MAKING CHANGES TO A QUANTITY FOR A TIME INTERVAL WITHIN A TIME SERIES 审中-公开
    一个时间序列间隔时间变化的方法和装置

    公开(公告)号:US20160063432A1

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

    申请号:US14859006

    申请日:2015-09-18

    Applicant: SAP SE

    CPC classification number: G06Q10/087 G06F9/466

    Abstract: A method is described that involves providing a persisted quantity for a time series time interval to a first transaction, then, providing the same persisted quantity to a second transaction that operates in parallel with the first transaction. The second transaction is not permitted to change the persisted quantity. The method also involves replacing the persisted quantity with a second persisted quantity within the time series. The second persisted quantity is determined by the first transaction. The method also involves writing a persisted quantity change for the time series time interval. The persisted quantity change is determined by the second transaction.

    Abstract translation: 描述了一种方法,其涉及为第一事务提供时间序列时间间隔的持久数量,然后向与第一事务并行操作的第二事务提供相同的持久数量。 第二个交易不允许更改持续的数量。 该方法还包括在时间序列内用第二个持续量替换持续数量。 第二个持续数量由第一个交易决定。 该方法还涉及为时间序列时间间隔写入持久数量变化。 持续的数量变化由第二次交易决定。

Patent Agency Ranking