DTK server
description:
The DIVERSE Toolkit (DTK) server is a single process server that runs
on the SGI Onyx and optional remote systems that provides an interface
to data from the hardware devices that are connected via a serial line
and manages client connections to local and remote DTK shared memory.
DTK DSO services provided by this DTK server are:
- MOOG Motion Base Control: running at ~70HZ
- Joystick and Button data: running at ~60HZ
- is900 tracker data: running at ~70HZ
- Remote shared memory: interrupt driven
CPU usage:
~10%
Cycle rate:
is not well defined. It's interrupt driven and multimodal.
Interface:
the server executable file name is dtk-server
all the other programs in the simulator link to the DTK client C++ API library
in order to use services of this server program.
Status:
done
Primary contact/author:
Lance Arsenault
See http://thor.sv.vt.edu/DTK/ for
details on what a DTK server is in general. All other programs in the
simulator are clients to this server. All other programs (clients)
start communication with this server by using a known Internet TCP
port via the DTK C++ API (application programming interface). The DTK
server then tells the clients about faster IPC (interprocess
communication) methods like UNIX domain UDP sockets and a shared
memory mapped arena file. This is all done "under the covers" in the
DTK API. When any of the processes are initialized and running in
steady state the primary method of IPC between all processes is by
reading and writing to the many segments of this DTK shared memory
arena. All of the shared memory that is used in this simulator is
gotten from this DTK shared memory arena, except for some shared
memory associated with the Render Program.
The DTK server also implements a form or out-of-kernel distributed
shared memory which we call remote shared memory, so that most
programs in the simulator may be integrated into the simulator while
running on a remote IP networked computer without any additional
coding.