> > > On 14 Dec 2016, at 23:29, Vitor Medina Cruz <vitormc...@gmail.com> > wrote: > > > > Pharo don't have non-blocking I/O? > It certainly does at the networking level, but some native code interfaces > might not act so nice.
Humm, I asked because those times I experimented slow I/O processing and the image seems to freeze. There are some situations where not even a cntrl+. can interrupt the work that is freezing it. As I understand, I/O can be interleaved with other work, but not in all cases because of some native code that keeps the thread blocked, is that correct? For hi CPU usage procedures, if it do not explicitly yield execution, then the image will be blocked until the end of it's execution, right? Also, to take advantage of multiple cores one must use multiple images or use the CPP library that Dimitris talked about? Is that another way to spem OS Threads or process inside an image? On Wed, Dec 14, 2016 at 8:51 PM, Sven Van Caekenberghe <s...@stfx.eu> wrote: > > > On 14 Dec 2016, at 23:29, Vitor Medina Cruz <vitormc...@gmail.com> > wrote: > > > > Pharo don't have non-blocking I/O? > > It certainly does at the networking level, but some native code interfaces > might not act so nice. > > > On Wed, Dec 14, 2016 at 6:59 PM, Ramon Leon <ramon.l...@allresnet.com> > wrote: > > On 12/14/2016 12:09 PM, Esteban A. Maringolo wrote: > > Can you extend on suspending the UI process? I never did that. > > > > I feed my images a start script on the command line > > > > pharo-vm-nox \ > > -vm-sound-null -vm-display-null \ > > /var/pharo/app.image \ > > /var/pharo/startScript > > > > startScript containing one line (among others) like so... > > > > Project uiProcess suspend. > > > > I'm on an older Pharo, but I presume the newer ones are the same or > similar. No sense in wasting CPU on a UI in a headless image > > > > Won't the idle use add up? > > > > Sure eventually, but you don't run more than a 2 or so per core so > that'll never be a problem. You shouldn't be running 5 images on a single > core, let alone more. > > > > In my case I served up to 20 concurrent users (out of ~100 total) with > > only 5 images. Plus another two images for the REST API. In a dual > > core server. > > > > That's barely a server, most laptops these days have more cores. Rent a > virtual server with a dozen or more cores, then you can run a few images > per core without the idle mattering at all and run 2 dozen images in total > per 12 core server. > > > > Scale by adding cores and ram allowing you to run more images per box; > or scale by running more boxes, ultimately, you need to spread out the load > across many many cores. > > > > -- > > Ramon Leon > > > > > > > > >