OpenTS features and extensions


T-applications' runtime allows you to run T-applications fault-tolerantly. That is, when T-application runs in parallel and if some of the worker processes are killed, then the whole application is not destroyed and all application's processes are remain up and running.

For the fault-tolerant run mode OpenTS uses TCP/IP data transfer instead of MPI. TCP/IP transport layer facilitates execution in distributed computing and meta-cluster (cluster of clusters) environments and wide-area networks, where fault-tolerance is the most valuable feature.

In order to run T-application in fault-tolerant mode you have to create and run the following command file:


set DMPI=chrys 4

mpiexec -n 4 fib.exe

One process (with zero rank) is served as dispatcher, the others are workers. Worker processes connect to the dispatcher via TCP sockets, and receive and run compute tasks.

Distributed computation can be organized the following way:
  1. Suppose we have two desktop computers having the Internet connection. One of these is chosen to be a dedicated server (a master). The application (fib.exe) and the following command file should exist on both computers:

    set DMPI_MASTER=[dedicated server's IP or hostname]

    set DMPI=chrys 4

    mpiexec -n 2 fib.exe

  2. Each command file must be executed (almost) simultaneously on each host.
  3. The result program output is then displayed on master host.

Native support for multi-core and SMP hardware

OpenTS has SMP (Symmetric MultiProcessing) plug-in embedded that allows T-applications to run efficiently on multi-core and SMP hardware. When activated, that plug-in function as follows: when application is started, plug-in spawns as many worker threads as there are CPU cores in system. SMP plug-in also implements atomic operations to allow safe and mutually exclusive memory access.

To enable SMP mode you need to specify '-tct enableSMP' as additional command-line argument when running T-application.

Visualization of T-applications run

In order to speed-up T-applications development cycle, a comprehensive visualization tool was implemented. The tool provides a GUI for visual representation and analysis of key parameters of the T++ runtime. More detailed description of this feature and downloads can be found on this page.