EVA ICS replication between v3 and v4

The new-generation EVA ICS v4 “internal alpha” is going to be released in May 2022. The “internal alpha” version will be available to our Enterprise customers only and will have very limited support of hardware equipment / logic, plus no replication between v4 and v4 nodes yet. However, it will be able to fully host UI apps and replicate data from v3 secondaries.

The goal is to:

  • test v4 core in production
  • replace heavy-loaded v3 SFA controllers
EVA ICS v3 to v4 replication

If you are the existing customer and want to try EVA ICS v4 internal alpha, please read the conditions:

v3-v4

Threads in EVA ICS

EVA ICS doesn’t use thread pools in core, number of threads is always fixed (except LM PLC macros), grows together with node configuration, and should be controlled by system administrator/integrator. Majority threads “sleep” until they get an event and don’t produce additional load.

After controller start, core launches several system threads (garbage collectors etc.), plus threads for each item:

  • Two update threads (update scheduler + update processor) per each unit, sensor and lvar
  • One action thread per each unit
  • Two update threads for PHI module, if loaded with update=X parameter
  • One notification queue thread for each notifier
  • One thread for UC UDP API, one thread for UC SNMP trap handler (if enabled).
  • LM PLC launches a single thread which handles queue for scheduled macro exections. After the execution, each macro has its own thread, number of threads for macros isn’t limited by PLC.
  • Also, each LM PLC logic cycle has own thread as well
  • If MQTT transport is used for API calls between nodes – one thread per API call (max lifetime = server.timeout)
Continue reading “Threads in EVA ICS”