Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move heap ownership info from chunk to pagemap #4371

Merged
merged 4 commits into from
Aug 8, 2023

Commits on Jul 22, 2023

  1. Move heap ownership info from chunk to pagemap

    Prior to this commit, the chunk kept track of the heap ownership
    info in the `chunk->actor` field. This worked but was not ideal
    as noted in the `ponyint_heap_owner` function that this is a case
    of false sharing where the chunk owner needs the chunk but
    all other actors only need the chunk owner only. This led to lots
    of pointer chasing as the pagemap was used to retrieve the chunk
    pointerand then the chunk had to be loaded to retrieve the owning
    actor pointer.
    
    This commit removes the `chunk->actor` field further slimming down
    both the `small_chunk` and `large_chunk` so both now fit within
    32 bytes (on 64 bit architectures). The chunk ownership information
    is now kept in the lowest level of the pagemap next to the chunk
    information. This removes the previous pointer chasing because
    the chunk owning actor pointer is retrieved at the same time as the
    chunk pointer without needing to load the chunk itself. This is a
    fairly standard tradeoff of memory for performance where we're now
    storing more data in the pagemap to minimize pointer chasing. The
    expectation is that this will have a net positive impact on
    performance but no benchmarks have been run to validate this
    assumption.
    dipinhora committed Jul 22, 2023
    Configuration menu
    Copy the full SHA
    5617e55 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2023

  1. Add release notes

    dipinhora committed Jul 27, 2023
    Configuration menu
    Copy the full SHA
    d1ae054 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    889df0a View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2023

  1. Configuration menu
    Copy the full SHA
    d6a0946 View commit details
    Browse the repository at this point in the history