cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar

Run time-consuming taks in the background

We get frustrated when we find JMP frozen after starting a script that takes a long time. But even in most such situations, only one CPU thread is active. JMP should be able to take advantage of today's multicore processors and keep working even while a heavy script is running.

6 Comments
andersonmj2
Level IV

JMP is definitely multi-thread aware and can utilize multiple CPU cores ... but not all platforms take advantage of this.

 

Here is a list of JMP platforms which are multi-threaded: http://www.jmp.com/support/notes/49/280.html

 

And you can also try compressing the data table which can be a massive memory and execution time saver:  https://community.jmp.com/t5/Discussions/how-to-optimize-the-cpu-memory-usage-in-jmp-on-Windows/td-p...

nao
Level IV
Thanks for your clarification. I definitely love JMP's ability to take advantage of multicore processors in some specific tasks, like showing histograms of multiple columns. I also appreciate JSL's capability of multi-threading enabled via Parallel Assign() function. A little trick that I often use is to start a separate instance of JMP while some time-consuming task is being processed. The issue arises when we fail to predict a time-consuming task in JSL, typically going through a big data table, and find JMP freezing without even showing a progress bar. In such situations, working on a separate JMP instance is helpful, but JMP is not designed to facilitate such multi-instance use and it's typically very confusing and often inefficient as we need to pay a great deal of attention to which instance of JMP is doing what. I can't help missing RStudio, which sends codes to R running in the background and keep accepting commands while whatever time-consuming task is being processed.
nao
Level IV
I routinely compress data. This is very useful when you need to work on a large data table. Here is another trick: when you need to work on a huge dataset but you regularly use only a limited number of columns and there are many minimally (or never) used columns, you can speed up things by detaching less frequently used columns using Subset command/function, creating a shared ID column on both tables, and link them via Virtual Join.
abmayfield
Level VI

I am going to resurrect this topic. I have a 32-GB (RAM) Macbook Pro, and, even if JMP is the only program running that requires more than 100 MB of RAM (i.e., no other RAM-hungry programs), I can't get my Macbook Pro (2019) to allocate more than 2 GB of RAM to JMP. I realize this is likely more a Mac issue than a JMP one, but it seems strange that I have 32 GB of RAM, of which only 1 goes to JMP, and then the analysis hangs for an hour before completion (82 column x 1000 row MDS). Can I not just tell my computer to use everything it's got towards the application in question? I mean, I guess the CPU is at 100% during this MDS analysis, but it's seem weird that the memory allocated to JMP never exceeds 2 GB, despite having 30 GB of unused RAM! The same analysis on my 8 GB RAM Macbook Air takes the same amount of time. Shouldn't, all else being equal, a 32GB RAM computer handle a big job better than an 8 GB RAM computer?

Status changed to: Acknowledged

Hi @nao, thank you for your suggestion! We have captured your request and will take it under consideration.

SamGardner
Staff
Status changed to: Investigating