cascade icon indicating copy to clipboard operation
cascade copied to clipboard

[FEATURE]

Open Moh9774 opened this issue 4 months ago • 3 comments

Hello,

I have a question regarding the possibility of parallelizing ESA by altering the number of parallel collisional timesteps, denoted as "n_par_ct". To explore this possibility, I adjusted the "n_par_ct" values from 1 to 8. However, the outcomes were unexpected:

With n_par_ct= 1, the elapsed time was 1330.11 seconds, projecting to approximately 89.97 hours to simulate 20 years. For n_par_ct= 2, it reduced to 1136.46 seconds, or around 76.87 hours for the 20-year simulation. Increasing to n_par_ct= 3, the time slightly improved to 1121.81 seconds, equivalent to 75.88 hours. At n_par_ct= 4, the duration increased again to 1290.32 seconds, or 87.28 hours. With n_par_ct= 5, it further rose to 1434.44 seconds, translating to 97.02 hours. At n_par_ct= 6, the time was 1235.26 seconds, or 83.55 hours. For n_par_ct= 7, it was slightly less at 1228.97 seconds, approximately 83.13 hours. Finally, at n_par_ct= 8, the time was 1254.69 seconds, or 84.87 hours. I was anticipating that increasing the number of n_par_ct would lead to decreased simulation times. Has anyone else experienced similar results, or could someone provide guidance on this matter? Your insights would be greatly appreciated.

Moh9774 avatar Feb 21 '24 09:02 Moh9774

@Moh9774 in order to understand better, we would need to know the specifics of the setup of your simulation (e.g., how many objects, how big, etc.).

In any case, the first thing you should try to understand is whether cascade is already making an optimal use of the multiple cores on your system. E.g., you could try to run the top or htop tools while the simulation is running and observe if all cores are being used to their fullest. If that is already the case, it is unlikely that tweaking n_par_ct will lead to noticeable speedups.

bluescarni avatar Feb 21 '24 12:02 bluescarni

Hello,

Thank you for your advice. Following your suggestion, I monitored the system resources using top and I noticed that only one core is actively working during the simulation (99-100% cpu usage), which suggests that parallelization is not being used.

This observation was found by adjusting the n_par_ct values from 1 to 8. The specifics of my simulation setup, in response to your inquiry, are as follows:

Implemented Example: Simulation of 20 years in LEO, focusing on collision tracking (example was found on github webpage).

Given this, I'm interested to know if the parallelization works for your current development enviroment,

if so, would mean it is a specific problem of our environment (we installed cascade as shown in the github page) or we are missing some important parameters to distribute the workload across cores.

Thank you once again for your support.

Moh9774 avatar Mar 14 '24 14:03 Moh9774

Why can't I install this package using conda

chu1995 avatar Apr 29 '24 07:04 chu1995