the neural tissue simulator: how to specify and scale … · develop a simulator capable of testing...

52
© 2012 IBM Corporation IBM Research Division March 2012 The Neural Tissue Simulator: How to specify and scale an arbitrary number of compartment variables over an arbitrary number of compartments Presentation to NeuroML workshop Convergence in Computational Neuroscience 2012 James Kozloski, Research Staff Member IBM T. J. Watson Research Center, Yorktown Heights, NY [email protected], ibm.co/kozloski

Upload: truonglien

Post on 19-Aug-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

© 2012 IBM Corporation

IBM Research Division

March 2012

The Neural Tissue Simulator: How to specify and scale an arbitrary number of compartment variables over an arbitrary number of compartments

Presentation to NeuroML workshopConvergence in Computational Neuroscience 2012

James Kozloski, Research Staff Member

IBM T. J. Watson Research Center, Yorktown Heights, NY

[email protected], ibm.co/kozloski

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation2

tinyurl.com/neuraltissuesim

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation3

Neural Tissue Simulator: Goals

� Develop a simulator capable of testing mappings to

various machine architectures

– Parallel, Multithreaded

� Support for high level, abstract model definitions

and simulation specifications

– Model Graphs

� Extensible simulator, able to map arbitrary, domain

level models directly to a variety of data

arrangements and computational implementations

– Code Generation

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation4

Overview

� Model Graph Simulator

– Model Definition

– Graph Specification

� Scaling

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation5

Neural Tissue Simulator Workflow

NVM

Circular

Buffers

SciencePaper.pdf

Structure Files

.swc

NeuroMorpho.org

Tissue File

Synapse

Params

Channel

Params

Cpt Var

Params

Contact

Params

Tissue Functor

Model Graph

Simulator

(LENS)

Contact

Detection

Neuron

Growth

Growth

Params

Channel/Synapse

Kinetics

Databases

GSL

Files

C++

Models

MDL

Files

C++ Compiler

Microcircuitry

Databases

Machine

Topology

Spec

Volume

Mapper

Neural Tissue

Simulation

Channel and

Synapse State

Compartment

Variable StateCheckpoint/

Restore

System

Triggers

Reduced

Data View

Visualization

Reverse

Correlation

Analysis Validation

Tissue Physiology

DatabasesRequest

for Data

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation6

Model Graph Simulator: Infrastructure

Model

2

InitParm

InParm

Model

1

InitParm

Graph Specification:

Grid TissueGrid TissueGrid TissueGrid Tissue{{{{

Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Layer(branchesLayer(branchesLayer(branchesLayer(branches, , , , HodgkinHuxleyBranchHodgkinHuxleyBranchHodgkinHuxleyBranchHodgkinHuxleyBranch, , , , tissueFunctor("LayouttissueFunctor("LayouttissueFunctor("LayouttissueFunctor("Layout",",",",

<<<<nodekindnodekindnodekindnodekind="Branches">), <="Branches">), <="Branches">), <="Branches">), <nodekindnodekindnodekindnodekind="Branches">,="Branches">,="Branches">,="Branches">,tissueGMtissueGMtissueGMtissueGM););););

............}}}}

m1

m2

m1

mnmn

m3m2

m3

Model Definition/

Graph Specification

Languages

Graphical View/

Partitioning

Model

Types

Model

Type 2

Model

Type 1

m1

mn

m3m2

Model

Type 3Model Definition:

Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, DistalVoltageProducerDistalVoltageProducerDistalVoltageProducerDistalVoltageProducer, ... , ... , ... , ... NaConcentrationProducerNaConcentrationProducerNaConcentrationProducerNaConcentrationProducer, , , , KConcentrationProducerKConcentrationProducerKConcentrationProducerKConcentrationProducer {{{{

double [] radius;double [] radius;double [] radius;double [] radius;double [] length;double [] length;double [] length;double [] length;double [] V;double [] V;double [] V;double [] V;intintintint size; // number of compartmentssize; // number of compartmentssize; // number of compartmentssize; // number of compartmentsConnection (Connection (Connection (Connection (PSet.identifierPSet.identifierPSet.identifierPSet.identifier=="channels") Expects=="channels") Expects=="channels") Expects=="channels") Expects

CurrentArrayProducerCurrentArrayProducerCurrentArrayProducerCurrentArrayProducer {{{{CurrentArrayProducer.currentArrayCurrentArrayProducer.currentArrayCurrentArrayProducer.currentArrayCurrentArrayProducer.currentArray >> >> >> >> channelCurrents.currentschannelCurrents.currentschannelCurrents.currentschannelCurrents.currents;;;;

}}}}............

}}}}

INTERFACES

Communication

Phase 1

Phase 2

MPI_alltoallv

PROXIES

Phase 1Volume (0,1)

Volume (0,0) Volume (1,0)

Volume (1,1)

Phase

Boundary

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation7

Model Graph Simulator: Infrastructure

Model

2

InitParm

InParm

Model

1

InitParm

Graph Specification:

Grid TissueGrid TissueGrid TissueGrid Tissue{{{{

Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Layer(branchesLayer(branchesLayer(branchesLayer(branches, , , , HodgkinHuxleyBranchHodgkinHuxleyBranchHodgkinHuxleyBranchHodgkinHuxleyBranch, , , , tissueFunctor("LayouttissueFunctor("LayouttissueFunctor("LayouttissueFunctor("Layout",",",",

<<<<nodekindnodekindnodekindnodekind="Branches">), <="Branches">), <="Branches">), <="Branches">), <nodekindnodekindnodekindnodekind="Branches">,="Branches">,="Branches">,="Branches">,tissueGMtissueGMtissueGMtissueGM););););

............}}}}

m1

m2

m1

mnmn

m3m2

m3

Model Definition/

Graph Specification

Languages

Graphical View/

Partitioning

Model

Types

Model

Type 2

Model

Type 1

m1

mn

m3m2

Model

Type 3Model Definition:

Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, DistalVoltageProducerDistalVoltageProducerDistalVoltageProducerDistalVoltageProducer, ... , ... , ... , ... NaConcentrationProducerNaConcentrationProducerNaConcentrationProducerNaConcentrationProducer, , , , KConcentrationProducerKConcentrationProducerKConcentrationProducerKConcentrationProducer {{{{

double [] radius;double [] radius;double [] radius;double [] radius;double [] length;double [] length;double [] length;double [] length;double [] V;double [] V;double [] V;double [] V;intintintint size; // number of compartmentssize; // number of compartmentssize; // number of compartmentssize; // number of compartmentsConnection (Connection (Connection (Connection (PSet.identifierPSet.identifierPSet.identifierPSet.identifier=="channels") Expects=="channels") Expects=="channels") Expects=="channels") Expects

CurrentArrayProducerCurrentArrayProducerCurrentArrayProducerCurrentArrayProducer {{{{CurrentArrayProducer.currentArrayCurrentArrayProducer.currentArrayCurrentArrayProducer.currentArrayCurrentArrayProducer.currentArray >> >> >> >> channelCurrents.currentschannelCurrents.currentschannelCurrents.currentschannelCurrents.currents;;;;

}}}}............

}}}}

INTERFACES

Communication

Phase 1

Phase 2

MPI_alltoallv

PROXIES

Phase 1Volume (0,1)

Volume (0,0) Volume (1,0)

Volume (1,1)

Phase

Boundary

Architectural Overview

• Language for expressing model state, computational phases,

communicated state, and model interfaces (MDL)

• Language for composing arbitrary parameterized graphs (GSL)

• Automatic partitioning into work units for multi-threaded execution (SMP)

• Dynamically constructed, simulation-specific MPI collective

communication for multi-process execution of computational phases (MPP)

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation8

Model Definition: Interfaces

Node NaChannel Implements ConductanceArrayProducer, ReversalPotentialProducer{double [] m;double [] h;double [] g;double [] gbar;double []* V;

Connection Pre Node (PSet.identifier=="compartment") Expects VoltageArrayProducer{VoltageArrayProducer.voltageArray >> V;

}

Connection Pre Node (PSet.identifier=="IC") Expects NaConcentrationProducer {NaConcentrationProducer.Na >> Shared.Na_IC;

}

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation9

Model Definition: Phases

InitPhases = { initialize };RuntimePhases = { run1, run2, run3, run4, run5, run6 };

NodeType HHJunction { predictState->run1,correctState->run6 };

NodeType HHBranch { forwardEliminateCO0->run2,forwardEliminateCO1->run3,backSubstituteCO1->run4,backSubstituteCO0->run5 };

Time Step

����

Multiphase Algorithm

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation10

Phase 1

Phase 2

MPI_alltoallv

PROXIES

Phase

Boundary

COMM VIEW

marshall

demarshall

DRAM 1

DRAM 2

MESSAGE

Phase

Boundary

STORE VIEW

marshall

DRAM 1

NVM 1

MESSAGE itr 4

MESSAGE itr 3

MESSAGE itr 2

MESSAGE itr 1

demarshall

DRAM 1

MESSAGE itr 2

Phase 1

STORES

PROXIES

STORES

KEY

volume, model

type, variable,

timesteps

Phase

BoundaryMESSAGE itr 4

KV Insert KV Retrieve

Data Movement: Marshalling and Demarshalling

SIMULATION APPROACH:

• Distribute tissue points

weighted by computational

complexity

• Scale out tissue simulation

across all three dimensions

• Maintain realistic neuron

and synapse densities at

each scale

Minicolumn

20 Neurons

25×25×500 µm

Column

8,000 Neurons

20×20 Minicolumns

500×500×500 µm

Tissue

1,024,000 Neurons

8×4×4 Columns

4×2×2 mm

1,861 ± 8207,626,124Connexons

550,553 ±

169,0642,255,068,948

GABAA

Synapses

1,998,772 ±

720,1558,186,972,360

AMPA

Synapses

80,716 ± 7,440330,613,914KDR Channels

80,716 ± 7,440330,613,914Na Channels

264,475 ± 7,5821,083,289,600Compartments

51,012 ± 4,026208,947,659Junctions

84,100 ± 7,406344,474,059Branches

N/A1,024,000,Neurons

Processor

BalanceNumber

Simulation

Element

Graph Specification: Tissue Composition

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation12

Graph Specification: Contact Detection

Points/Neuron

Co

lum

n P

artitio

nin

g

I/O

Neuron

Slicing

T=300

AnalysisTissue

Revision

Contact

Detction

MPI_alltoall

MPI_alltoallw

Global

Tabulation

MPI_allgather

MPI_allgatherv

Column

Specification

Local

Tabulation

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation13

Graph Specification: Contact Detection

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation14

Graph Specification: Contact Detection

PERFORMANCE

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation15

Graph Specification: Contact Detection

• New algorithm optimized to run multithreaded on

Blue Gene/P’s 4-core compute nodes

• 25.5 billion contacts in 2.5 hours

• 4,096 nodes of Blue Gene/P

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation16

Contact Count:

(106,319) :

E-type

M-type

Contact Category:

( [E-type & M-type], [E-type & M-type] )

12

cAD bAD dAD cFS bFS dFS cST bST dST cIS bIS IBS rBS tBS cAL dAL bAL cNA bNA dNA

L2PC

L3PC

L4PCL4SP

L4SSL5CSPC

L5CHPC

L6CTPC

L6CCPCL6CSPC

HC

CRC

MCBTC

DBC

BP

NGC

LBCNBC

SBCChC

1.layer

2.m-type

3.e-type

4.branch type

5.branch order

6.segment index within branch

7.branch index within neuron

8.neuron index within class8 byte segment key

� Each segment

describes itself

� Segment key is

compressed for efficient

communication

� With key, a segment can

be identified, and its

neuron data accessed

Graph Specification: Components Identities

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation17

Graph View: Synapses and Channels

HH

Voltage

Na

Channel

Voltage A

rray

IC N

a C

onc

Conduct

Arr

ay

Rev P

ot

Arr

ay

AMPA

Receptor

Conduct

Arr

ay

Rev P

ot

Arr

ay

Connexon

Curr

ent

T

[Na+]

[K+]

EC

Medium

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation18

Graph View: Synapses and Channels

HH

Voltage

Na

Channel

Voltage A

rray

IC N

a C

onc

Conduct

Arr

ay

Rev P

ot

Arr

ay

AMPA

Receptor

Connexon

Conducta

nce

Rev P

ote

ntial

Curr

entHH

Voltage

Voltage

Connexon

Voltage

IC N

a C

onc

Voltage A

rray

Synapses Channels

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation19

Next Steps: Inferior Olive

� Clear data constraints available for

single cell electrophysiological model

� Oscillations generated by intrinsic

interplay between membrane currents

� Subthreshold oscillations are not

driven by spike input, but instead

constrain and drive spike output

T. Bal and D. McCormick, “Synchronized oscillations in the Inferior Olive are controlled by the

hyperpolarization-activated cation current Ih”, J. Neurophysiol. 77:3145-3156, 1997.

ComputationComputationSystemsSystems

BrainBrain

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation20

Modeling Calcium Dynamics in IO neurons

InitPhases = { initialize };RuntimePhases = { run1, run2, run3, run4, run5, run6 };

NodeType HHVoltageJunction { predictState->run1,correctState->run6 };

NodeType HHVoltage { forwardEliminateCO0->run2,forwardEliminateCO1->run3,backSubstituteCO1->run4,backSubstituteCO0->run5 };

NodeType CaConcentration { forwardEliminateCO0->run2,forwardEliminateCO1->run3,backSubstituteCO1->run4,backSubstituteCO0->run5 };

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation21

Graph View: Hybrid Voltage Solver

HH

Voltage

Junction

Voltage

Voltage

HH

Voltage

Voltage

Voltage

HH

Voltage

Voltage V

oltage

HH

Voltage

Fwd Solutio

n

BwdSolutio

n

HH

Voltage

Fw

d Solution

Bw

dSolution

HH

Voltage

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation22

Ca2+

Concentration

Fwd Solutio

n

BwdSolutio

n

Ca 2+

Concentration

Fw

d Solution

Bw

dSolution

Ca2+

Concentra

tion

Graph View: Hybrid Calcium Solver

Ca2+

Concentration

Junction

[Ca

2+]

Ca 2+

Concentration

[Ca2+ ]

[Ca2+ ]

Ca2+

Concentra

tion

[Ca 2+] [C

a 2+]

[Ca

2+]

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation23

HH

Voltage

Na

Channel

Voltage A

rray

IC N

a C

onc

Conduct

Arr

ay

Rev P

ot

Arr

ay

AMPA

Receptor

Connexon

Conducta

nce

Rev P

ote

ntial

Curr

entHH

Voltage

Voltage

Connexon

Voltage

IC N

a C

onc

Voltage A

rray

KCa

Channel

Conduct

Arr

ay

Rev P

ot

Arr

ay

NMDA

Receptor

Connexon

Ca C

onduct

Ca R

ev P

ots

Voltage

Connexon

IC C

a C

onc

[Ca

2+]

[Ca

2+] A

rray

Ca F

lux

Ca2+

ConcentrationCa2+

Concentration

[Ca

2+] A

rray

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation24

SIMULATED “MINICOLUMN”

SIMULATED “MINICOLUMN” DEVELOPMENTIn collaboration with Mike Pitman, Protein Science & Molecular Dynamics

475

450

425

400

375

350

325

300

275

250

225

200

175

150

125

100

75

50

25

0

Layer 2/3

Layer 4

Layer 5depth(µm)

NBC

PCPC

PC

PC

PC

SSC

SSC

SBC

SSC

LBC

SSC

PC

PC

PC

PC

PC

LBC

SBC

NBC

SIMULATED “MINICOLUMN”

475

450

425

400

375

350

325

300

275

250

225

200

175

150

125

100

75

50

25

0

Layer 2/3

Layer 4

Layer 5depth(µm)

PC*PC*

PC*

PC*

PC*

SSC*

SSC*

SBC*

SSC*

LBC*

SSC*

PC*

PC*

PC*

PC*

PC*

LBC*

SBC*

NBC*

NBC*

SIMULATED “MINICOLUMN” DEVELOPMENT

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation28

Graph Specification: Compartment Variables

COMPARTMENT_VARIABLE_TARGETS 4

BRANCHTYPE

0 Voltage, Calcium

1 Voltage

2 Voltage, Calcium

3 Voltage, Calcium

COMPARTMENT_VARIABLE_COSTS 2

Voltage 1.0

Calcium 0.95

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation29

Graph Specification: Channels

CHANNEL_TARGETS 4

BRANCHTYPE

0 Na [Voltage] KDR [Voltage] Cah [Voltage, Calcium] KCa [Voltage, Calcium]

1 Na [Voltage] KDR [Voltage]

2 Cah [Voltage, Calcium] KCa [Voltage, Calcium]

3 Cah [Voltage, Calcium] KCa [Voltage, Calcium]

CHANNEL_COSTS 4

Na 0.414243

KDR 0.254051

Cah 0.414243

KCa 0.359252

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation30

Graph Specification: Synapses

ELECTRICAL_SYNAPSE_TARGETS 2BRANCHTYPE ETYPEBRANCHTYPE ETYPE1 0 1 0 AxAxGap [Voltage] 0.0012 1 2 1 DenDenGap [Voltage] 0.001

ELECTRICAL_SYNAPSE_COSTS 2AxAxGap 0.005309DenDenGap 0.005309

CHEMICAL_SYNAPSE_TARGETS 6BRANCHTYPE ETYPEBRANCHTYPE ETYPE1 1 2 0 GABAA [Voltage] [Voltage] 0.16671 1 2 1 GABAA [Voltage] [Voltage] 0.16671 1 3 0 GABAA [Voltage] [Voltage] 0.16671 0 2 0 AMPA [Voltage] [Voltage] 1.01 0 2 1 AMPA [Voltage] [Voltage] 1.01 0 3 0 AMPA [Voltage] [Voltage] 1.0 NMDA [Voltage] [Voltage, Calcium] 1.0

CHEMICAL_SYNAPSE_COSTS 2AMPA 0.296407GABAA 0.149978

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation31

44,352,919GABAA

137,338Connexons

10,004Synapses/Neuron

115,647,522AMPA

16,000Neurons

44,352,919GABAA

137,338Connexons

10,004Synapses/Neuron

115,647,522AMPA

16,000Neurons

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation32

Neural Tissue Simulator Workflow

NVM

Circular

Buffers

SciencePaper.pdf

Structure Files

.swc

NeuroMorpho.org

Tissue File

Synapse

Params

Channel

Params

Cpt Var

Params

Contact

Params

Tissue Functor

Model Graph

Simulator

(LENS)

Contact

Detection

Neuron

Growth

Growth

Params

Channel/Synapse

Kinetics

Databases

GSL

Files

C++

Models

MDL

Files

C++ Compiler

Microcircuitry

Databases

Machine

Topology

Spec

Volume

Mapper

Neural Tissue

Simulation

Channel and

Synapse State

Compartment

Variable StateCheckpoint/

Restore

System

Triggers

Reduced

Data View

Visualization

Reverse

Correlation

Analysis Validation

Tissue Physiology

DatabasesRequest

for Data

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation33

Neural Tissue Simulation: Scaling

The question of axonsS

M. Lévesque, S. Gagnon, A. Parent, and M. Deschênes, “Axonal Arborizations of

Corticostriatal and Corticothalamic Fibers Arising from the Second Somatosensory

Area in the Rat

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation34

Neural Tissue Simulation: Scaling

“Sprocessors act like neurons and connections between processors act as axonsS”

H. Markram. The Blue Brain Project. Nat Rev Neurosci, 7(2):153–160, Feb 2006.

The question of axonsS

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation35

Scalability

=

Traub et al., J Neurophysiol 93: 2194 2232, 2005

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation36

Neural Tissue Simulation: Scaling

� Failures of action potential propagation can occur at certain points

along an axon, introducing uncertainty surrounding the signaling role

of action potentials transmitted through otherwise reliable axons [1]

� Electrical synapses between axons can initiate action potentials

without first depolarizing the axon initial segment [2]

� Action potentials may be generated by a mechanism that depends

on the length of the axon (e.g., bursts of action potentials of a

particular duration may be generated when a calcium spike from the

cell body depolarizes an axon of a particular length [1])

The question of axonsS

[1] A. Mathy, S. S. N. Ho, J. T. Davie, I. C. Duguid, B. A. Clark, and M. Husser. Encoding of oscillations by axonal bursts in inferior olive

neurons. Neuron, 62(3):388–399, May 2009.

[2] D. Schmitz, S. Schuchmann, A. Fisahn, A. Draguhn, E. H. Buhl, E. Petrasch-Parwez, R. Dermietzel, U. Heinemann, and R. D.

Traub. Axo-axonal coupling. a novel mechanism for ultrafast neuronal communication. Neuron, 31(5):831–840, Sep 2001.

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation37

Neural Tissue Simulation: Network Bandwidth

BLUE GENE/PBISECTIONBANDWIDTH:1.7-3.8 TB/s

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation38

Neural Tissue Simulation

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation39

Neural Tissue Simulation

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation40

Model Graph Simulator: Tissue Volume Decomposition

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation41

Previous Numerical Approaches

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation42

Our Numerical Approach- John Wagner, Manager IBM Research Australia /Computational Biology Co-laboratory

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation43

Graph View: Implicit Junction Solver

HH

Voltage

Fwd Solutio

n

BwdSolutio

n

HH

Voltage

Fw

d Solution

Bw

dSolution

HH

Voltage

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation44

Update Iflux Update

Branch Vm

Branches/Junctions

Forward

Solve:

Branch

Order N

Forward

Solve:

Branch

Order 1

Backward

Solve:

Branch

Order 1

Backward

Solve:

Branch

Order N

Branch-Based, Implicit Junction Algorithm:

Phase Decomposition

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation45

Graph View: Explicit Junction Solver

HH

Voltage

HH

Voltage

Junction

Voltage

Voltage

HH

Voltage

Voltage

Voltage

HH

Voltage

Voltage V

oltage

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation46

Update Iflux Predict/Correct

Junction Vm

Update

Branch Vm

Branches/Junctions

Branch-Based, Explicit Junction Algorithm:Phase Decomposition

Rempe and Chopp, 2006

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation47

Graph View: Hybrid Solver

HH

Voltage

Junction

Voltage

Voltage

HH

Voltage

Voltage

Voltage

HH

Voltage

Voltage V

oltage

HH

Voltage

Fwd Solutio

n

BwdSolutio

n

HH

Voltage

Fw

d Solution

Bw

dSolution

HH

Voltage

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation48

Numerics Scaling

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation49

Thread Scaling

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation50

Synapse Scaling

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation51

•106 neurons

•109 compartments

•1010 synapses

Weak Scaling

IBM Research Division

March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation52

Acknowledgments

� John Wagner

IBM Research Collaboratory for Life Sciences-Melbourne

Victorian Life Sciences Computation Initiative

The University of Melbourne

� Charles Peck

Manager, Biometaphorical Computing Research

Research Staff Member, Computational Biology