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

Memory Usage Issues with Local Development Mode Using Docker for FEDn #610

Closed
1 of 4 tasks
kamalparsapu opened this issue May 20, 2024 · 7 comments
Closed
1 of 4 tasks

Comments

@kamalparsapu
Copy link

kamalparsapu commented May 20, 2024

with tags like this :Severity

  • Critical/Blocker (select if the issue makes the application unusable or causes serious data loss)
  • High (select if the issue affects a major feature and there is no workaround or the available workaround is very complex)
  • Medium (select if the issue affects a minor feature or affects a major feature but has an easy enough workaround to not cause any major inconvenience)
  • Low (select if the issue doesn't significantly affect the user experience, like minor visual bugs)

Describe the bug
I am experiencing significant memory usage issues when deploying the Local Development Mode for FEDn using Docker and Docker Compose. Running the API server, combiner, and two clients consumes a considerable amount of memory. Adding a third client spikes the memory usage significantly, requiring an additional 18GB and exhausting my system's memory capacity. In contrast, FEDn Studio does not exhibit the same scalability issues.

Environment:

  • Ubuntu 20.04
  • Docker 20.10.7

Reproduction Steps
steps to reproduce the behavior:

  1. Install FEDn and generate package.tgz and seed.tgz files.
  2. Start the pseudo-distributed FEDn network using the following command:

docker compose
-f ../../docker-compose.yaml
-f docker-compose.override.yaml
up
3 .Upload the package and seed model to the FEDn controller using the APIClient in Python:
from fedn import APIClient
client = APIClient(host="localhost", port=8092)
client.set_active_package("package.tgz", helper="numpyhelper")
client.set_active_model("seed.npz")
client.start_session()
Expected behavior
Expected behavior
I expected the memory usage to be consistent and manageable across different numbers of clients, similar to how FEDn Studio handles it without significant increases in memory consumption.

Screenshots
Image in slide 1 of Untitled Presentation
image

Contact Details
Please contact me at parsapu.raj@mantratec.com if you need any further details regarding this issue.

@Wrede
Copy link
Member

Wrede commented May 20, 2024

Thanks for reporting the issue. Are you using the mnist-pytorch example without any modifications to the Dockerfile?
Because the image size should be similar to this:

image

@kamalparsapu
Copy link
Author

kamalparsapu commented May 20, 2024 via email

@Wrede
Copy link
Member

Wrede commented May 20, 2024

It was simply a question if you have made any modifications, not an indication that you need to modify anything. I'm trying to figure out why you have so large images. Can you please run "ls -shl" at the root of your cloned fedn repository? And paste the output here.

@kamalparsapu
Copy link
Author

kamalparsapu commented May 20, 2024 via email

@Wrede
Copy link
Member

Wrede commented May 20, 2024

I can't see the image unfortunately. Can you tried to attach it again?

@kamalparsapu
Copy link
Author

kamalparsapu commented May 20, 2024 via email

@Wrede
Copy link
Member

Wrede commented May 31, 2024

fixed in #613

@Wrede Wrede closed this as completed May 31, 2024
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

2 participants