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


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


      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.




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


              • Created: