Skip to content

Replicaset update #243

Description

@rpereira-dev

Following this morning F2F discussions:

  • Update replicaset interface from
int aml_replicaset_hwloc_create(
    struct aml_replicaset **out,
    const size_t size,
    const hwloc_obj_type_t initiator_type,
    const enum hwloc_distances_kind_e kind
);

to

int aml_replicaset_hwloc_create(
    struct aml_replicaset **out,
    const size_t size,
    const enum aml_distance_kind_e kind
);

The aml_replicaset_hwloc_local_replica remains unchanged, it always assumed the replicaset was on a core object type

  • Use hwloc's memattr instead of distances interfaces, for several reasons:
    • distances currently only supports latency
    • memattr can create lists in the form: [(numa node x0, cpuset c0, distance d0), ...]

From AML perspective, implement aml_replicaset_hwloc_create as:

  • sort the list by distance
  • iterate through it to find a union of numa node that covers all cpus
  • replicate memory on each numa node

and implement aml_replicaset_hwloc_local_replica as

  • get current cpuset
  • go through the list of replicate
  • return the first replicate that matches the current cpuset

WIP https://github.com/anlsys/aml/tree/update-replicaset

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions