Nothing is implemented in gunicorn for load balancing, as:
"Gunicorn relies on the operating system to provide all of the load balancing when handling requests." (from: https://docs.gunicorn.org/en/latest/design.html)
This may lead to bad load balancing in some configurations (such as uvicorn workers running sync code), in which case a single worker can consume more requests that it can handle in spite of other idle workers waiting... In this case you should self limit the concurrency/parallelism of the workers.