1 Lance Arsenault vt.edu Research Assistant Professor Engineering Science and Mechanics
2 My old Job
3
4 D evice I ndependent V irtual E nvironments- R econfigurable, S calable, E xtensible DIVERSE
5 DIVERSE development is project driven:
6 What is DIVERSE? API and programs for interactive graphics CAVE™ to desktop without modification Common interface: HMD, laptop, CAVE displays Remote shared memory Free Commercial Software (GNU LGPL/GPL) SGI IRIX and GNU/Linux
7 DIVERSE is comprised of two components: DIVERSE graphics interface for Performer™ (dgiPf) –3D Interactive Graphics DIVERSE ToolKit (DTK) –access to local and networked devices and data
8 dgiPf: Abstracts hardware I/O devices Abstracts graphic displays Stereo and/or Mono viewing frusta Reconfigures graphic display, no reprogramming
9 Display structure: Simple mono And CAVE At the same time
10 dgiPf uses the DIVERSE ToolKit (DTK) to: Load C++ DSOs, for graphic displays and input devices Access data from input devices, using DTK's local/remote shared memory Allow "hot-swapping" of input devices by loading and unloading DSOs
11 DTK provides: Server- remote/local shared memory hardware drivers Library- uniform interface to services loaded by the server Client programs- commands to server and utilities
12 DTK design: Original purpose- aid “Distributed Virtual Reality” applications Modular approach ties together any combination of hardware devices and software applications Novel remote shared memory Inter-process shared memory becomes Internet shared memory automagically
13 Using DTK remote shared memory: Client/server over IP network Segments connect to all nodes Reliable (TCP) or unreliable (UDP) data transfer Hardware shared by processes on local/remote computers Server loads and unloads services without restart –hot-swapping of devices –automatically data-handling capabilities
14 Typical HPC application: Single program broken into many processes Parallelized by using HPC compiler tools or MPI Runs in predetermined synchronous fashion None of the processes can fail IPC must be reliable All processes must synchronize at predetermined intervals.
15 DTK applications: Many programs execute on many computers Fault-tolerant Requires neither reliable IPC methods nor regular process synchronization Increases performance of each program and the total system Used in real-time, interactive, person-in-the-loop, dynamical systems Example: Crane Ship Simulator in the CAVE at Virginia Tech
16 DTK example- Crane Ship Simulator Cluster of cooperating programs Shared memory containing physical state information Asynchronous interaction with data interpolation Programs simulate real-time physical dynamical models
17 Virginia Tech’s ACITC- home of The University Visualization and Animation Group’s CAVE the ACITC, a center dedicated to to bringing together the campus’ Information Technology resources. CAVE integrated with Moog motion platform
18 VT Visualization and Animation Group Resources: Immersive systems: ImmersaDesk ImmersiveWorkbench HMDs CAVE Desktop systems: SGI Octanes GNU/Linux PCs Trackers: Ascension Polhemus Intersense I/O devices: Pinch Gloves tracked wands tracker styli joysticks sliders, buttons, knobs Motion Base The end