Pool of IOServer Processes.

In applications with hundreds of Drivers, all resources needed to execute IOServer processes for each Driver may consume operating system’s capacity. In these cases, it may be necessary to enable a Pool of IOServer Processes on Properties tab of a Domain configuration.

When this Pool is enabled, each IOServer process can execute more than one Driver, then saving operating system’s resources and thus allowing an application to execute thousands of Drivers.

Only Drivers supporting the creation of new dynamic instances (Drivers compiled with IOKit version 2.0.6 or later) can be used in this Pool. If a Driver without support is added to this Pool, it is not executed, that is, it fails. For these cases, configure IODriver’s DisableIOServerPool property to True, so that it executes outside this Pool, in an exclusive IOServer process.

On the Properties tab of a Domain configuration, users can control the maximum number of IOServer processes in this Pool, as well as the maximum number of Drivers that execute on each IOServer.

Behavior options for a Pool of IOServer Processes

DRIVERS PER PROCESS MAXIMUM NUMBER OF PROCESSES POOL’S BEHAVIOR
0 M As application Drivers are activated, an IOServer process is created for each Driver, up to the maximum number M. After that, every new Driver activated is added to Pool’s IODriver that contains less Drivers
N 0 As application Drivers are activated, E3 adds them to a Pool’s IOServer process that has not reached the maximum number N of Drivers executing in it. If all Pool processes reached their maximum limit, then a new IOServer is added to that Pool
N M As application Drivers are activated, E3 adds them to a Pool’s IOServer process that has not reached the maximum number N of Drivers executing in it. If all Pool processesreached their maximum limit, this behavior then depends on the number of processes in that Pool, and if the number of Pool processes is less than the maximum M, then a new process is added to that Pool. Otherwise, a Driver is added to the process with less Drivers executing. NOTE: In this mode, the maximum number of Drivers per process (N) can be surpassed in case the total number of application Drivers exceeds N * M

NOTES:

  • When grouping Drivers in the same IOServer process, the isolation among these Drivers is lost. This way, if one of these Drivers fails, that IOServer is then closed and all Drivers executing in that IOServer must be restarted.
  • There is a limit on the number of Drivers that can execute in an IOServer process. This limit depends on several variables, such as operating system in use, amount of memory, threads, and resources that each specific Driver is using. Usually, users are not supposed to add more than 100 Drivers in a single IOServer, because that may exceed operating system’s limits.
Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Leave a Reply

Your email address will not be published.Required fields are marked *