-
Notifications
You must be signed in to change notification settings - Fork 6
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
How can I monitor what is being passed out to the workers ? #40
Comments
If you set See also ?future.options - there's a built-in mechanism protecting that too large objects are exported. |
Thank you, I've run the following example
the data_list list is > 500 M I realise hat my understanding of what happens is weak and that might be the issue, I thought that in this case processes would be forked hence memory used by the master need not copying, and that objects modified on the worker would trigger a copy. If that was true I do not know why each worker would need to received the whole list. |
For my understanding of your understand: What is the intent of: foreach(i = 1:10) %dopar% matrix(rnorm(9e6), 1000) -> data_list Why you create |
Hello, lol sorry no this is not essential at all I just find it is convenient and clear.
|
No worries, I just wanted to rule out the slight possibility that you were not expecting
First, it all depends on how each future/parallel backend is implemented. But a good rule of thumb is that they are all implemented to export as little as possible needed. As far as I recall, all backends should report what they export in For For $ ls -l .future/20191111_100803-Xyfozb/batchtools_2090193201/exports/
total 20
-rw-r--r-- 1 hb hb 14286 Nov 11 10:08 IZKU4.rds
-rw-r--r-- 1 hb hb 81 Nov 11 10:08 MFZGO4Y.rds
|
FWIW, since argument |
Thank you for you comment, I now regularly use |
No worries. Hopefully, if we can get a working framework for hook functions implemented (futureverse/future#172), it will open up doors for interacting with futures in many ways, including tidy reporting of globals being exported, e.g. in the terminal or via a fancy HTML dashboard. |
Hello,
I am working with a list of big objects (around 100M per element)
When using
foreach
I doI can see that the workers are taking a long time to start doing stuff, and I fear this is because too much stuff is passed to them (I know because using doMC I get log statements as they happen on the workers).
How can I monitor exactly what is passed to the workers ?
Ideally I'd like to pass all functions but only a handful of objects.
The text was updated successfully, but these errors were encountered: