On 11/5/2018 9:57 AM, Matt Jadud wrote:
On Sun, Nov 4, 2018 at 5:30 PM George Neuner <gneun...@comcast.net
<mailto:gneun...@comcast.net>> wrote:
One .zo per distributed place is just one descriptor per process.
Again insignificant because you have 4K per process.
It's apparent that the code is leaking descriptors somewhere.
Forcing GC may mitigate the problem, but it would be better if you
found the leak.
I've lied.
We'll assume instead that you were simply mistaken <grin>
I am *not* using distributed places. I'm using *dynamic-place*, which
clearly is why I'm running into limits.
Yes. Big difference.
Unless anyone has alternative ideas, I'm going to restructure my code
to use distributed places on the single machine, which will, I think,
give me multicore parallelism and eliminate the file descriptor limit
I'm running up against.
If your issue really was caused by too many code files (yours +
Racket's) eating up descriptors, then yes, switching to distributed
places should alleviate the problem.
Many thanks, again. I locked in my head I was using distributed
places, and was blind to my own code. I've kept the test case I wrote,
below, that let me see clearly what I was doing, as opposed to getting
caught up in all the other things my code was engaged in. I'll leave
it below for posterity's sake, but it doesn't serve a particular role
at this point.
Don't throw it away too quickly.
With a nod to process/thread scheduling: unless you muck with
process/thread groups, by default Linux tries to gang schedule all the
(ready) threads of a process to run simultaneously.
Rather than creating large numbers of processes each having 1 place, you
might want to consider creating fewer processes that have several places
each [essentially a gang of thread pools]. If the places typically do
significant amounts of work, leveraging the gang behavior of the
scheduler *might* increase overall performance of the application as a
whole. [Particularly if the machine is not dedicated to your computing,
and if the admins are not actively preventing you from exploiting this.
YMMV.]
George
--
You received this message because you are subscribed to the Google Groups "Racket
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.