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:

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.