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

binpacking is not optimal - improvements needed #424

Open
interduo opened this issue Nov 22, 2023 · 6 comments
Open

binpacking is not optimal - improvements needed #424

interduo opened this issue Nov 22, 2023 · 6 comments

Comments

@interduo
Copy link
Collaborator

We got 3 types of clients with different type of utilisation:

  1. radio (many customers, not more than 50M),
  2. fiber (most customers with 1gbps max, not constant utilisation),
  3. fiber-other-isp (few customers with 2gbps max, constant utilisation),

Problem:
I saw longterm CPU stats - one or some times two core are constantly too much pressed (above 75%) during rush hours,
(it's too much because some other customer could get not available his bandwidth) and there are more than 10 cores below 10%.

First idea:
Use total bytes counter (or any other if it's better) from tc command to rebalance circuits between CPU cores.

Second idea:
There should be a flag in shapedDevices.csv for Circuit (if in any row with this circuitID flag is on for whole circuit).
Customers with this flag should be on different cpu core alone.
If there is more circuits with this flag than half of cpu core - just put them together in reseved cpu core.

It's also suggested to separate most busy cores between physical CPU if there are more than one.

What do You think about it @rchac @dtaht @thebracket?

@rchac
Copy link
Member

rchac commented Nov 22, 2023

Just curious - if you turn binpacking off, how much more or less balanced are CPU cores?

@interduo
Copy link
Collaborator Author

I will check that outside "rush hours".

@interduo
Copy link
Collaborator Author

Turning binpacking off generates less balanced cpu cores load. There are more busy cores and more idle cores.

@interduo
Copy link
Collaborator Author

Lately I found that monster: Intel Core i9-14900K whitch has 61K CPUmarks.
It has some performance cores with 6GHz and few cores with less cpu clock speed.
Moreover AMD also said somewhere on the conference that in new ryzens would change design.

Binpacking depending only on past customer network data would be not optimal - so I suggest to also catch cpu stats.

@thebracket
Copy link
Collaborator

thebracket commented Mar 19, 2024 via email

@interduo
Copy link
Collaborator Author

OK - i will wait for 1.5 first release and then update my prod instance.

Nowadays taking "plan size" into account is useless because one company with 250M would generate more load than single customers with 1GBit network connection.

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

No branches or pull requests

3 participants