Systems, Man & Cybernetics - January 2016 - 20

Supplementary
Part I: Sample Code for the Demonstration of Function Templates Conversion (continued)
overheads, especially with data input from system to device

Underlying SDKs

(force). However, this slight overhead has minimal effect on

SPH Scenarios
Position Update Force Update

Native SDK (OHTK)

the overall system performance and is easily compensated
for by the advantage of much easier implementation and

102s (980 Hz)

103s (971 Hz)

Native SDK (Novint SDK) 104s (962 Hz)
SPH
Framework (CHAI3D)
107s (935 Hz)
Proposed
MPH Framework
108s (926 Hz)

104s (962 Hz)

program portability through generic haptic frameworks. It is

108s (926 Hz)

MPH framework are very similar, which means the proposed

also notable that the overhead in CHAI3D and the proposed
framework does not add extra overhead over the original

108s (926 Hz)

CHAI3D framework.
We then compare the update rates with MPH systems.

Figure S1. a performance comparison of native

haptic SDKs, the SPH framework (CHaI3D), and
the proposed mPH framework under single HIP
scenarios. this comparison is to test the backward
compatibility of the proposed framework and see
if it has added unnecessary runtime overheads
when running simpler scenarios.

Since previous works are based only on SPH systems, we have
devised comparable configurations for each underlying
runtime to ensure fairness.
For native SDKs, such as OHTK and Novint SDK, we
set up multiple device instances concurrently running
on the test machine. When the multiple devices are
homogeneous (e.g., two Phantom Omnis), the device

We first compare the update rates under traditional

instances can be running as multithreads within a system

SPH setups. This is the original configuration of systems

process; when the devices are heterogeneous (e.g.,

like OHTK and CHAI3D, and the aim here is to see if the

a Phantom Omni and a Novint Falcon), each device

proposed MPH framework has added unnecessary

instance needs to run in a separate process and

runtime overheads when running simpler scenarios. We

communicate through interprocess communication. For

have tested both Phantom Omni and Novint Falcon, and

SPH frameworks such as CHAI3D, we set up multiple SPH

the results are as shown in Figure S1.

instances running in multithreads within the CHAI3D main

We can see from Figure S1 that the universal device

process. For the proposed framework, we set up a single

handling wrapping layer within CHAI3D and the proposed

MPH instance interacting with the data throughput in a

framework has indeed slightly increased the data throughout

multithreaded process.

Underlying SDKs

Case 1: MPH Setup as SPH Compositions
Homogeneous Setup
(OHTK)

Heterogeneous Setup
(OHTK + Novint SDK)

Position Update

Force Update

Position Update

Force Update

Native Haptic SDK

103s (971 Hz)

104s (962 Hz)

136s (735 Hz)

136s (735 Hz)

SPH Framework (CHAI3D)

110s (909 Hz)

109s (917 Hz)

107s (935 Hz)

109s (917 Hz)

Proposed MPH Framework

109s (917 Hz)

110s (909 Hz)

109s (917 Hz)

112s (893 Hz)

Case 2: Heterogeneous MPH Setup (Force Dimension + Customized Controller)
Underlying SDKs

Position Update

Force Update

I/O
Throughput

Inter-HIP
Transmission

I/O
Throughput

Inter-HIP
Transmission

N/A

N/A

N/A

N/A

SPH Framework (CHAI3D)

121s (826 Hz)

117s (855 Hz)

127s (787 Hz)

115s (870 Hz)

Proposed PH Framework

114s (877 Hz)

110s (909 Hz)

115s (870 Hz)

110s (909 Hz)

Native Haptic SDK

Figure S2. a performance comparison of native haptic SDKs, the SPH framework (CHaI3D), and the

proposed mPH framework under mPH scenarios. both homogeneous and heterogeneous setups have
been tested for the two case scenarios discussed previously. For case 2, both I/O throughput and inter-HIP
transmission have been compared to identify the cause of the increased runtime overheads.

20

IEEE SyStEmS, man, & CybErnEtICS magazInE Janu ar y 2016



Table of Contents for the Digital Edition of Systems, Man & Cybernetics - January 2016

Systems, Man & Cybernetics - January 2016 - Cover1
Systems, Man & Cybernetics - January 2016 - Cover2
Systems, Man & Cybernetics - January 2016 - 1
Systems, Man & Cybernetics - January 2016 - 2
Systems, Man & Cybernetics - January 2016 - 3
Systems, Man & Cybernetics - January 2016 - 4
Systems, Man & Cybernetics - January 2016 - 5
Systems, Man & Cybernetics - January 2016 - 6
Systems, Man & Cybernetics - January 2016 - 7
Systems, Man & Cybernetics - January 2016 - 8
Systems, Man & Cybernetics - January 2016 - 9
Systems, Man & Cybernetics - January 2016 - 10
Systems, Man & Cybernetics - January 2016 - 11
Systems, Man & Cybernetics - January 2016 - 12
Systems, Man & Cybernetics - January 2016 - 13
Systems, Man & Cybernetics - January 2016 - 14
Systems, Man & Cybernetics - January 2016 - 15
Systems, Man & Cybernetics - January 2016 - 16
Systems, Man & Cybernetics - January 2016 - 17
Systems, Man & Cybernetics - January 2016 - 18
Systems, Man & Cybernetics - January 2016 - 19
Systems, Man & Cybernetics - January 2016 - 20
Systems, Man & Cybernetics - January 2016 - 21
Systems, Man & Cybernetics - January 2016 - 22
Systems, Man & Cybernetics - January 2016 - 23
Systems, Man & Cybernetics - January 2016 - 24
Systems, Man & Cybernetics - January 2016 - 25
Systems, Man & Cybernetics - January 2016 - 26
Systems, Man & Cybernetics - January 2016 - 27
Systems, Man & Cybernetics - January 2016 - 28
Systems, Man & Cybernetics - January 2016 - 29
Systems, Man & Cybernetics - January 2016 - 30
Systems, Man & Cybernetics - January 2016 - 31
Systems, Man & Cybernetics - January 2016 - 32
Systems, Man & Cybernetics - January 2016 - 33
Systems, Man & Cybernetics - January 2016 - 34
Systems, Man & Cybernetics - January 2016 - 35
Systems, Man & Cybernetics - January 2016 - 36
Systems, Man & Cybernetics - January 2016 - 37
Systems, Man & Cybernetics - January 2016 - 38
Systems, Man & Cybernetics - January 2016 - 39
Systems, Man & Cybernetics - January 2016 - 40
Systems, Man & Cybernetics - January 2016 - 41
Systems, Man & Cybernetics - January 2016 - 42
Systems, Man & Cybernetics - January 2016 - 43
Systems, Man & Cybernetics - January 2016 - 44
Systems, Man & Cybernetics - January 2016 - Cover3
Systems, Man & Cybernetics - January 2016 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/smc_202110
https://www.nxtbook.com/nxtbooks/ieee/smc_202107
https://www.nxtbook.com/nxtbooks/ieee/smc_202104
https://www.nxtbook.com/nxtbooks/ieee/smc_202101
https://www.nxtbook.com/nxtbooks/ieee/smc_202010
https://www.nxtbook.com/nxtbooks/ieee/smc_202007
https://www.nxtbook.com/nxtbooks/ieee/smc_202004
https://www.nxtbook.com/nxtbooks/ieee/smc_202001
https://www.nxtbook.com/nxtbooks/ieee/smc_201910
https://www.nxtbook.com/nxtbooks/ieee/smc_201907
https://www.nxtbook.com/nxtbooks/ieee/smc_201904
https://www.nxtbook.com/nxtbooks/ieee/smc_201901
https://www.nxtbook.com/nxtbooks/ieee/smc_201810
https://www.nxtbook.com/nxtbooks/ieee/smc_201807
https://www.nxtbook.com/nxtbooks/ieee/smc_201804
https://www.nxtbook.com/nxtbooks/ieee/smc_201801
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_1017
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0717
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0417
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0117
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_1016
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0716
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0416
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0116
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_1015
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0715
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0415
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0115
https://www.nxtbookmedia.com