DTK server
description:
The DIVERSE Toolkit (DTK) server is a single process server that runs
on the SGI Onyx that provides an interface to data from the hardware
devices that are connected via a serial line and manages client
connections to a DTK shared memory arena.
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:
link to the DTK client C++ API library
Status:
mostly DONE, need joystick hardware to finish, joystick and buttons are ordered
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.