Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DYN-7117 Node Cluster Placement and Performance SPIKE #15384

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

QilongTang
Copy link
Contributor

@QilongTang QilongTang commented Jul 11, 2024

Purpose

What I am doing in the PR:
With each double click on port, instead of regular Node AutoComplete, place triple nodes (a normal cluster size) and apply node preview states (a new node states other than Freeze/Warning/Error/Info/Dummy). Nodes in this state does not participate graph execution but can be displaced in canvas. In this example, they are three python nodes connected as a mock cluster.

With each double click on port, place a single node and freeze it, it would take ~10ms
image

With each double click on port, place triple nodes apply node preview state
It takes about 30ms to place nodes and put them into preview node state, it would take another 10ms if you want to make additional preview state rendering to connector
PlaceClusterMock2

In a larger scaled graph, the time could increase to 40~50ms but it would still be quite smooth
PlaceClusterMock3

The performance increase per cluster size is liner from my testing, also compared between what nodes included in cluster. But when I increase the cluster size to 10 and continue to create and then delete these nodes (which would be very close to what actually happens underneath the customer experience), my Dynamo session becomes slower and slower, after like 10 times. I suspect because of some kind of memory leak. With cluster getting actually placed in canvas and rotated for customer to pick, I think this is actually very likely to be a blocker for them especially when the cluster size is larger.
image

TODO:

  • Locate and duplicate freeze node style for node preview state style
  • Preview node style should not affect upstream or downstream nodes (applied when placed in canvas after ML service results)
  • Preview nodes should be removed when workspace is closed or saved

Declarations

Check these if you believe they are true

  • The codebase is in a better state after this PR
  • Is documented according to the standards
  • The level of testing this PR includes is appropriate
  • User facing strings, if any, are extracted into *.resx files
  • All tests pass using the self-service CI.
  • Snapshot of UI changes, if any.
  • Changes to the API follow Semantic Versioning and are documented in the API Changes document.
  • This PR modifies some build requirements and the readme is updated
  • This PR contains no files larger than 50 MB

Release Notes

(FILL ME IN) Brief description of the fix / enhancement. Use N/A to indicate that the changes in this pull request do not apply to Release Notes. Mandatory section

Reviewers

(FILL ME IN) Reviewer 1 (If possible, assign the Reviewer for the PR)

(FILL ME IN, optional) Any additional notes to reviewers or testers.

FYIs

(FILL ME IN, Optional) Names of anyone else you wish to be notified of

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-7117

Copy link

github-actions bot commented Jul 11, 2024

UI Smoke Tests

Test: success. 11 passed, 0 failed.
TestComplete Test Result
Workflow Run: UI Smoke Tests
Check: UI Smoke Tests - net8.0

@QilongTang QilongTang added the WIP label Jul 15, 2024
@QilongTang QilongTang added this to the 3.4 milestone Jul 26, 2024
@QilongTang QilongTang added the DNM Do not merge. For PRs. label Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DNM Do not merge. For PRs. WIP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant