Skip to content
This repository was archived by the owner on Mar 31, 2023. It is now read-only.

Conversation

@zzxgzgz
Copy link
Contributor

@zzxgzgz zzxgzgz commented Jan 22, 2022

What this PR does:

  • Improved ACA's job scheduling ablity by replacing its thread pool with marl.

Development/testing is still ongoing, new findings/test results will be posted when available.

zzxgzgz and others added 30 commits October 11, 2021 23:21
…essage_callback full capacity of receiving packets
@zzxgzgz zzxgzgz requested review from cj-chung and lfu-ps January 22, 2022 00:09
@zzxgzgz zzxgzgz added the enhancement New feature or request label Jan 22, 2022
@zzxgzgz zzxgzgz linked an issue Jan 22, 2022 that may be closed by this pull request
// Create a marl scheduler using all the logical processors available to the process.
// Bind this scheduler to the main thread so we can call marl::schedule()
marl::Scheduler::Config cfg_bind_hw_cores;
cfg_bind_hw_cores.setWorkerThreadCount(thread_pools_size * 2);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I made the worker thread count to be thread_pool_size * 2, instead of a fixed number.

@xieus xieus added this to the Version 1.0.2022.01.30 milestone Jan 26, 2022
@lfu-ps lfu-ps changed the title [DO NOT MERGE] Better job scheduling for ACA ACA task framework refactoring Jan 27, 2022
Copy link
Contributor

@lfu-ps lfu-ps left a comment

Choose a reason for hiding this comment

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

LGTM

@lfu-ps lfu-ps merged commit 3bb4ee3 into futurewei-cloud:master Jan 27, 2022
If you intent to store it somewhere, it is advised to make a copy of it.
*/
ACA_On_Demand_Engine::get_instance().parse_packet(in_port, pin.packet);
// ACA_On_Demand_Engine::get_instance().parse_packet(in_port, pin.packet);
Copy link
Contributor

Choose a reason for hiding this comment

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

@zzxgzgz Any specific reason that the on demand engine is disabled here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@zzxgzgz Any specific reason that the on demand engine is disabled here?

This code path is not active now. The parse_packet will now be called in of_controller.cpp, inside of the message_callback function, when there is a packet_in.

Copy link
Contributor

Choose a reason for hiding this comment

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

@xieus @zzxgzgz Solved in #277 , please wait for the CI/CD passing and review. Thanks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Improvement] Refactor state computation/orchestration layer

3 participants