New licensing mode and core limitation

0
0

Hi, i read the new licensing server mode and the limitation of core. How the core limitation impact on multithreaded programming? In modern .NET developmente we use task, async code and parallel for/foreach loop. My question is: if i implement a parallel   for in a WIsej.NET application the max degree of parallelism of for loop is limited by the licensed core?  If yes  i believe this is very bad for application scalability.

  • You must to post comments
0
0

Hi Gabriele,

Wisej.NET Server will use the licensed cores to schedule threads to respond to concurrent requests. Starting with the new server editions on May 1st, 2024, there are no limitations to the number of requests or total sessions. A smaller server under more load that it can handle based on the license will still process everything but it may process more requests on the same core.

In our experience a VM with even 1 core or 2 cores can handle a substantial number or concurrent requests. The main limiting factor is memory.

To put it in perspective, if 100 users are looking at a form and typing there are typically zero concurrent requests. If all 100 click a button or do something that generates a server event at the same time it’s 100 concurrent requests.
We are confident that the switch from the old license terms to the new model will be a benefit moving forward. In case of questions regarding your individual licensing requirements, please reach out to us at sales[a]wisej.com. We’re happy to review the specifics for your application and address any upgrading issues together with you.
Hope this helps!
Thanks
Thomas
  • Gabriele Del Giovine
    Hi Thomas, ok for the unlimited number of requests/session. But my question is about the max degree of parallelism that i can get when i create a parallel.for or a parallel.foreach. Let me explain. In an application the user can perform the process of a list of items. Each item can be processe as a independet task. The process time for each item is 1 second. If i can start multiple tasks and execute them in parallel the total execution time will be reduced. Tipically the parallel task execution can be implemented with Paralle.For or Parallel.ForEach. These object have the ParalleOptions property wich include the MaxDegreeOfParallelis property. This property are the number of thread that will be started for the Parallel.For. I i have 1000 items to process and 10 core avalaibles a MaxDegreeOf Parallelism = 10 create 10 different thread and each thread process 100 items so i can process 10 items in parallel. My question is: with the new core limitation (suppose 1 core) i shall be able to really create real parallel task in parallel.for/paralle.Foeach or i shall be limited to 1 thread (because at give time a core can run 1 thread)?
  • Thomas (ITG)
    Hi Gabriele, we do not limit threads or cores used by the application. Best Thomas
  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.