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

feat!: run simulations sequentially #149

Merged
merged 27 commits into from
May 24, 2024
Merged

Conversation

crowecawcaw
Copy link
Contributor

What was the problem/requirement? (What/Why)

The submitter previously always rendered each frame as a task, and tasks would be distributed to different Deadline Cloud workers. But some node types like simulations must be run sequentially - each frame depends on the previous one.

What was the solution? (How)

Introduce a new sequential rendering strategy where all frames are rendered inside a single Deadline Cloud task which ensures they are sequentially on a single worker.

Specific changes include:

  • adding logic to detect simulation nodes
  • updating the runData schema to support sending frame ranges instead of single frames

What is the impact of this change?

Simulations are run efficiently.

How was this change tested?

I submitted a hip file with simulations and regular rendering. The simulations resulted in single tasks and the renders resulted in 1 task per frame.

Was this change documented?

No, but it needs to be.

Is this a breaking change?

No. Changing the runData schema could have been a breaking change, but I took care to ensure the old frame parameter is still handled correctly.


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@crowecawcaw crowecawcaw requested a review from a team as a code owner May 14, 2024 16:00
@crowecawcaw crowecawcaw force-pushed the sim branch 2 times, most recently from 5144b3b to 37e2347 Compare May 17, 2024 15:18
@crowecawcaw crowecawcaw changed the title fix: run simulations sequentially feat!: run simulations sequentially May 17, 2024
@epmog
Copy link
Contributor

epmog commented May 17, 2024

Regardless of if openjd-adaptor-runtime keeps the interface version, we can delay the decision by bumping it regardless.

epmog
epmog previously approved these changes May 17, 2024
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
crowecawcaw and others added 5 commits May 22, 2024 16:23
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Joel Wong <127782171+joel-wong-aws@users.noreply.github.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
…ing (aws-deadline#154)

Signed-off-by: Joel Wong <127782171+joel-wong-aws@users.noreply.github.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: client-software-ci <129794699+client-software-ci@users.noreply.github.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
joel-wong-aws
joel-wong-aws previously approved these changes May 23, 2024
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
joel-wong-aws
joel-wong-aws previously approved these changes May 23, 2024
try:
connected_node = rop_steps[-1]
except IndexError:
return []
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: it would be better to raise an exception here (otherwise an exception will be raised down the chain), but based on the current code, this statement is actually unreachable, so not blocking

crowecawcaw and others added 2 commits May 24, 2024 08:29
…ni/submitter.py

Co-authored-by: Morgan Epp <60796713+epmog@users.noreply.github.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Signed-off-by: Stephen Crowe <crowest@amazon.com>
Copy link

Quality Gate Passed Quality Gate passed

Issues
1 New issue
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

Copy link
Contributor

@epmog epmog left a comment

Choose a reason for hiding this comment

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

Thanks for this Stephen, looks great!

@crowecawcaw crowecawcaw merged commit 084553c into aws-deadline:mainline May 24, 2024
16 checks passed
@crowecawcaw crowecawcaw deleted the sim branch May 24, 2024 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants