Uploaded image for project: 'GPII - Global Public Inclusive Infrastructure'
  1. GPII - Global Public Inclusive Infrastructure
  2. GPII-4062

Ensure that solutions registry is not loaded per-request

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Pull request
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Solution Registry
    • Labels:
      None

      Description

      Recent performance investigation by JJ - Javier Jaramago Fernández discussed at http://irc-logs.fluidproject.org/%23fluid-work/%23fluid-work.2019-08-06.log has determined that a significant cause of our poor high-concurrency throughput is the memory thrashing caused by loading the solutions registry into memory per-request. This is now a 750K file which results in a 6MB memory footprint. We should ensure that the solutions registry is just loaded once at system startup (similar to the ontology handler's files) and that each request uses the shared instance.
      Since the registry is immutable and stored in a file in the image this is an appropriate strategy for now.
      There will need to be a bit of care in order to ensure we do not corrupt the in-memory image with the various manipulations done by the matchmaker, etc. - one helpful approach might be to call fluid.freezeRecursive() on it for fail-fast safety.

        Attachments

          Activity

            People

            Assignee:
            amb26 Antranig Basman
            Reporter:
            amb26 Antranig Basman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: