22
Insite A Generalized Pipeline for In-transit Visualization and Analysis Simon Oehrl 1 , Jan Müller 1 , Ali C. Demiralp 1 , Marcel Krüger 1 , Sebastian Spreizer 2,3 , Benjamin Weyers 3 , Torsten W. Kuhlen 1 Visual Computing Institute, RWTH Aachen University, Germany Albert-Ludwigs-Universität Freiburg, Germany Human-Computer Interaction, University of Trier, Germany This research has received funding from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 785907 (Human Brain Project SGA2). NEST Conference 2020

Insite - RWTH Aachen University

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Insite - RWTH Aachen University

InsiteA Generalized Pipeline for In-transit Visualization and Analysis

Simon Oehrl1, Jan Müller1, Ali C. Demiralp1, Marcel Krüger1, Sebastian Spreizer2,3, Benjamin Weyers3, Torsten W. Kuhlen1

Visual Computing Institute, RWTH Aachen University, Germany Albert-Ludwigs-Universität Freiburg, Germany

Human-Computer Interaction, University of Trier, Germany

This research has received funding from the European Union’s Horizon 2020Framework Programme for Research and Innovation under the Specific GrantAgreement No. 785907 (Human Brain Project SGA2).

NEST Conference 2020

Page 2: Insite - RWTH Aachen University

What’s Insite?

Meta-informationSpike / voltage data

HTTPEndpoint Client

JSON

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 2

Page 3: Insite - RWTH Aachen University

What’s Insite?

ClientNEST Module

Access Node

MetadataStorage

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 3

Page 4: Insite - RWTH Aachen University

API

- Closely developed for visualization needs with focus on ease of use

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 4

Page 5: Insite - RWTH Aachen University

API

- Closely developed for visualization needs with focus on ease of use

Features- Query simulation time

GET /simulation_time_info

{”start”: 1000.0,“end”: 2000.0,“time_step”: 0.1,“current”: 1140.1

}

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 5

Page 6: Insite - RWTH Aachen University

API

- Closely developed for visualization needs with focus on ease of use

Features- Query simulation time- Query neuron IDs

GET /gids

[ 0, 1, …, 10000 ]

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 6

Page 7: Insite - RWTH Aachen University

API

- Closely developed for visualization needs with focus on ease of use

Features- Query simulation time- Query neuron IDs- Query populations

GET /populations

[ 0, 1, 2, 3 ]

GET /population/0/gids

[ 0, 1, …, 2499, 2500]

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 7

Page 8: Insite - RWTH Aachen University

API

- Closely developed for visualization needs with focus on ease of use

Features- Query simulation time- Query neuron IDs- Query populations- Query positions

GET /neuron_properties?gids=1,2

[{”position”: [0.12, 0.57, 0.13]

},{”position”: [0.22, 0.57, 0.13]

}]

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 8

Page 9: Insite - RWTH Aachen University

API

- Closely developed for visualization needs with focus on ease of use

Features- Query simulation time- Query neuron IDs- Query populations- Query positions- Query spikes

GET /spikes?from=1050&to=1070&gids=1,2,3

{“times”: [ 1050.4, 1055.8, 1061.8 ]”gids”: [ 1, 3, 1 ]

}

GET /population/0/spikes

…01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 9

Page 10: Insite - RWTH Aachen University

Large Scale Simulations

GET /spikes?from=100&to=200

{ times = [ 100.3, 101.8, 102.9, ... ], gids = [ 1001, 42, 109, ... ]}

Insite: a generalized pipeline for in situ visualization of neuronal network simulations

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 10

Page 11: Insite - RWTH Aachen University

Simulation Integration

nest.Install("insitemodule")

spike_detector = nest.Create("spike_detector")nest.SetStatus(

spike_detector,[{"record_to": "insite"}])

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 11

Page 12: Insite - RWTH Aachen University

Module Installation

Option 1: Build it yourself- Somewhat cumbersome

Option 2: Use docker-compose

- Clone https://github.com/VRGroupRWTH/insite- Run “docker-compose run …”- The simulation data is accessible via http://localhost:8080- Workflow can be optimized using NEST Server (PR 1415)

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 12

Page 13: Insite - RWTH Aachen University
Page 14: Insite - RWTH Aachen University

Sebastian Spreizer

Page 15: Insite - RWTH Aachen University

In-transit Analysis

In-transit Server

ClientNEST Module

Access Node

HTTP / JSON

Analysis

MPI

MPI

MPI

MetadataStorage

Plugin 1Plugin 2

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 15

Page 16: Insite - RWTH Aachen University

Analysis API (WIP)

Features- Query plugin list

GET /analysis

[{“id”: “mfr”,“short_desc”: “Calculates the

mean firing ratefor all neurons.”

},…

]

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 16

Page 17: Insite - RWTH Aachen University

Analysis API (WIP)

Features- Query plugin list- Query plugin details

GET /analysis/mfr

{“name”: “Mean Firing Rate”,“short_desc”: “Calculates the …”,“long_desc”: “…”“parameters”: [{“name”: “window_size”,“type”: “float”

},…

]}

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 17

Page 18: Insite - RWTH Aachen University

Analysis API (WIP)

Features- Query plugin list- Query plugin details- (De-)Activate plugins

GET /analysis/mfr/activate

{“is_active”: false

}

PUT /analysis/mfr/active?is_active=true

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 18

Page 19: Insite - RWTH Aachen University

Analysis API (WIP)

Features- Query plugin list- Query plugin details- (De-)Activate plugins- Set/get parameters

GET /analysis/mfr/params

{“window_size”: 2

}

PUT /analysis/mfr/params?window_size=3

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 19

Page 20: Insite - RWTH Aachen University

Analysis API (WIP)

Features- Query plugin list- Query plugin details- (De-)Activate plugins- Set/get parameters- Query data

GET /analysis/mfr/data

{“0”: [12.3, 10.1, 10.3],“1”: [4.0, 1.0, 0.1],…

}

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 20

Page 21: Insite - RWTH Aachen University

What’s Next?

- Documentation- Improved data formats

- E.g., Google FlatBuffers

- Steering- POST /pause- POST /resume- …

01.07.20 Insite: A Generalized Pipeline for In-transit Visualization and Analysis 21

Page 22: Insite - RWTH Aachen University

Thank you for your attention!

[email protected]