Skip to content

Decompose faabric::Message #221

@Shillaker

Description

@Shillaker

The faabric::Message protobuf object is bloated now and has become a dumping ground for lots of context. Having a single message format is very convenient, and necessary because of the breadth of different types of calls we support.

I think we can refactor as follows:

  • Move all Faasm-specific flags into custom serialised contexts held in the BatchRequest::contextData field. This is what we do with OpenMP, and can be applied to all SGX- and Python-related fields on the Message.
  • Move all MPI-related fields into a nested MPI context.
  • Collect all feature flags into a nested flags object (isAsync, isStatusRequest etc.).
  • Move all batch-wide properties onto the BatchRequest, e.g. snapshotKey, appId, masterHost, executesLocally, groupId
  • Create a separate protobuf object for exec-graph data.

Metadata

Metadata

Assignees

No one assigned

    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