--
You received this message because you are subscribed to the Google Groups "Shiny - Web Framework for R" group.
To unsubscribe from this group and stop receiving emails from it, send an email to shiny-discus...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
To unsubscribe from this group and stop receiving emails from it, send an email to shiny-discuss+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
To unsubscribe from this group and stop receiving emails from it, send an email to shiny-discus...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
To unsubscribe from this group and stop receiving emails from it, send an email to shiny-discuss+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
To unsubscribe from this group and stop receiving emails from it, send an email to shiny-discuss+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Thursday, March 13, 2014 2:29 AM
Thanks! I feel much clear now. So, if my server has four cores, then I don't need to buy the 100 concurrents Shiny-server Pro, the 10-concurrents is enough. And for Open source version Shiny-server, can we use parallel packages to overtake its shortcoming? Suppose we have a task need 40 seconds on 4-core CUP, if we run parallel algorithm, then we need only 10 seconds (maybe a little more). If 10 users are using the application at same time, the first one take around 10 seconds, the second one need 20 seconds, and the last one take around 100 seconds, right? But for the commercial version, using the non-parallel algorithm, the first four users will need 40 seconds, and the last 2 users will need to wait 120 seconds, if use the parallel version algorithm, all of them will need 100 seconds to get their result, am I right?
On Wednesday, March 12, 2014 9:06:49 PM UTC+1, Jeff Allen wrote:
--
You received this message because you are subscribed to a topic in the Google Groups "Shiny - Web Framework for R" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/shiny-discuss/E75Yv-kKG3w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to shiny-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Wednesday, March 12, 2014 3:06 PM
That sounds right, but just to be clear...
Shiny Server Open Source
You can only run one process per application, and R processes are single-threaded, meaning they can only do one thing at a time. So if an R operation takes 50 seconds, and you have multiple users hit your application at the same time, the first one will wait 50 seconds for their analysis to complete, the second one will wait 100 seconds (50s for the original user's computation + 50s for their own). So the last user would be waiting 500 seconds.
Shiny Server Pro
Shiny Server Pro is able to run multiple processes per application. So it can use all the cores available on your server. If you configured Shiny Server Pro to run one process per connection, and you had 10 people hit your application at once, Shiny Server Pro would spawn 10 different process, one for each user. If you had 10 cores on your server, these would all run in separate cores and each user would have their results in 50 seconds.
However, if you were running on a machine that only had one processor, then these 10 processes would all be fighting for resources. So yes, I would expect that it would take ~500 seconds for all the computation to finish. Or with two cores, it would take about 250s. Pro does allow you to control how many processes you want to spawn for any given application, so I would recommend that you aim not to spawn too many more active processes than you have cores.
Jeff
On Wednesday, March 12, 2014 2:53:39 PM UTC-5, Huidong TIAN wrote:
--
You received this message because you are subscribed to a topic in the Google Groups "Shiny - Web Framework for R" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/shiny-discuss/E75Yv-kKG3w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to shiny-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Wednesday, March 12, 2014 2:53 PM
If a shiny application conducts some kinds of model fitting, which generally will take 50 seconds to finish (CPU runs 100%) and a commercial version of Shiny-server has 10-concurrents. Now 10 users request the shiny-server at same time, will each user need 500 seconds to get the result? What if the server has 2 CPUs? will each user need 250 seconds to get the result?
On Wednesday, March 12, 2014 4:01:18 PM UTC+1, Jeff Allen wrote:
--
You received this message because you are subscribed to a topic in the Google Groups "Shiny - Web Framework for R" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/shiny-discuss/E75Yv-kKG3w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to shiny-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Wednesday, March 12, 2014 10:01 AM
Sort of. Modern CPUs will interweave processes that are both fighting for attention. So if you ran two intensive R processes on a single-CPU machine, they would both just run at ~50% performance but they would run simultaneously.Jeff
On Wednesday, March 12, 2014 9:58:38 AM UTC-5, Huidong TIAN wrote:
--
You received this message because you are subscribed to a topic in the Google Groups "Shiny - Web Framework for R" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/shiny-discuss/E75Yv-kKG3w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to shiny-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Wednesday, March 12, 2014 9:58 AM
Best!