Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • autosubmit autosubmit
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 338
    • Issues 338
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 21
    • Merge requests 21
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Earth SciencesEarth Sciences
  • autosubmitautosubmit
  • Issues
  • #1120
Closed
Open
Issue created Aug 22, 2023 by Bruno de Paula Kinoshita@bdepaulaMaintainer

[profiler] Perform simple tests and plot the results with different configurations

cc'ing @pgoitia

This issue is a follow-up to #1051 (closed) and #1108 (closed).

Some suggestions of test scenarios:

  1. A workflow configuration similar to what Dani used to profile memory issues
  2. A workflow configuration with no placeholders, compared to a workflow configuration with lots of placeholders
  3. A workflow configuration with minimal, compared to a workflow configuration with old-style configuration
  4. A workflow configuration with minimal, compared to a workflow configuration with minimal and many CUSTOM_CONFIG's, PRE's, POST's
  5. A workflow configuration with a single minimal file, that contains a lot of extra configuration entries
  6. A workflow configuration with a collection of many (100's, 1000's) of small YAML files.
  7. A workflow configuration with a collection of many (100's, 1000's) of large YAML files.
  8. A workflow configuration with minimal, that includes another YAML file
  9. A workflow configuration with wrappers 9.1. Horizontal 9.2. Vertical 9.3. Hybrid ...

We can create a directory in the code, maybe under test (e.g. test/performance/profiler-tests).

Each test could be a Jupyter notebook (bonus points if using Docker). It must contain a short paragraph containing the analysis of the results, followed by a simple 2-bar chart (matplotlib/notebook?) showing memory consumption side-by-side. We can also filter the top-N entries of the cProfile output (probably N=5 is good enough?).

The tests can be performed locally or on our VM's or MN4. I think it won't make much difference running on MN4, since the Python version and libraries can be replicated locally. IMHO, the only advantage of using MN4 would be if we were measuring I/O.

Edited Aug 22, 2023 by Bruno de Paula Kinoshita
Assignee
Assign to
Time tracking