Skip to content

Add 'voting' type of clustering for Enterprise Profile #4

Description

@abower-amd

The clustering feature which gives a score to remote clock sources based on their time offsets currently has one implementation, the 'discriminator' mode. The 'discriminator' mode filters out sources which are significantly off from a source which is trusted to provide a good time, even if it is not provided to a very high accuracy, e.g. NTP.

Where there are three or more high quality (e.g. PTP or PPS) sources available then a preferable form of clustering may be a 'voting' algorithm allowing the sources which diverge significantly from the majority of sources to be filtered out.

The task here is to add a 'voting' type of clustering which can be configured to this end. As with the discriminator, which is binary, there is likely to be some quantization needed in this determination so that the other selection criteria continue to be used effectively.

Implementation of this feature would improve the 'Enterprise Profile' offering in sfptpd.

The clustering calculation is currently performed on behalf of the sync instances by a callback in sfptpd_engine.c and defined in the global configuration sfptpd_general_config.c. It is possible that a future change will simplify these mechanics to avoid the callback and determine the score solely in the engine but this should not affect the implementation of this proposed enhancement.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions