Ein effizientes Verfahren zur Berechnung der Potentiale in kortikalen neuronalen Kolumnen.

Ähnliche Dokumente
Dynamische Systeme in der Biologie: Beispiel Neurobiologie

C1/4 - Modellierung und Simulation von Neuronen

1 Bau von Nervenzellen

Intra- und extrazelluläre Ionenkonzentrationen

Neuronale Signalverarbeitung

Unterschied zwischen aktiver und passiver Signalleitung:

Übung 6 Vorlesung Bio-Engineering Sommersemester Nervenzellen: Kapitel 4. 1

postsynaptische Potentiale graduierte Potentiale

Einige Grundbegriffe der Elektrostatik. Elementarladung: e = C

Prof. Dr. Stefan Schuster Lehrstuhl für Tierphysiologie

Das Ruhemembranpotential eines Neurons

Modelle zur Beschreibung von Schwellwertphänomenen in Nervenmembranen Fitzhugh-Nagumo-Gleichungen

Erregungsübertragung an Synapsen. 1. Einleitung. 2. Schnelle synaptische Erregung. Biopsychologie WiSe Erregungsübertragung an Synapsen

Vorlesung Einführung in die Biopsychologie. Kapitel 4: Nervenleitung und synaptische Übertragung

Chemisches Potential und Nernstgleichung Carsten Stick


Mischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw.

Theory Swiss German (Liechtenstein) Lies die Anweisungen in dem separaten Umschlag, bevor Du mit dieser Aufgabe beginnst.

BMT301. Grundlagen der Medizinischen Messtechnik. Ergänzende Folien EF2. Prof. Dr. rer. nat. Dr. rer. med. Daniel J. Strauss

BK07_Vorlesung Physiologie. 05. November 2012

Seminarvortrag: Visual Cortex

1. Grundlagen. 2. Signalleitungs-Qualität. 3. Signalleitungs-Geschwindigkeit

Ferienkurs - Experimentalphysik 2 - Übungsblatt - Lösungen

Einfache Modelle der Neurodynamik.

2. Elektrostatik und Ströme

Reizleitung in Nervenzellen. Nervenzelle unter einem Rasterelektronenmikroskop

Mathematische Grundlagen

Aufbau und Beschreibung Neuronaler Netzwerke

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

9. Vorlesung Wintersemester

1 Debye-Abschirmung. 1.1 Grundlagen. Φ = q r exp ( r/λ D), λ D =

Zulassungstest zur Physik II für Chemiker

1 Lineare Gleichungssysteme und Matrizen

6.2.6 Ohmsches Gesetz ******

Nanostrukturphysik II Michael Penth

Dynamische Systeme in der Biologie: Beispiel Neurobiologie

Dierentialgleichungen 2. Ordnung

Universität Trier. Fachbereich IV. Wintersemester 2004/2005. Wavelets made easy. Kapitel 2 Mehrdimensionale Wavelets und Anwendungen

Hamilton-Systeme. J. Struckmeier

Übertragung zwischen einzelnen Nervenzellen: Synapsen

abiweb NEUROBIOLOGIE 17. März 2015 Webinar zur Abiturvorbereitung

3 Systeme linearer Gleichungen

Experimentalphysik 2

In der Membran sind Ionenkanäle eingebaut leiten Ionen sehr schnell (10 9 Ionen / s)

Passive und aktive elektrische Membraneigenschaften

TP2: Elektrodynamik WS Arbeitsblatt 10 21/ Dipole und Multipole in stationären Feldern

Einleitung: Der Versuchstag befasst sich mit der Simulation von Aktionspotentialen mittels des Hodgkin-Huxley- Modells.

Lineare Algebra und Numerische Mathematik D-BAUG. Winter 2013 Prof. H.-R. Künsch. , a R. det(a) = 0 a = 1.

Gewöhnliche Dierentialgleichungen

Pr[X t+1 = k] = Pr[X t+1 = k X t = i] Pr[X t = i], also. (q t+1 ) k = p ik (q t ) i, bzw. in Matrixschreibweise. q t+1 = q t P.

Lösbarkeit linearer Gleichungssysteme

D-MAVT Lineare Algebra I HS 2017 Prof. Dr. N. Hungerbühler. Lösungen Serie 14: Ferienserie

Übung zur Numerik linearer und nichtlinearer Parameterschätzprobleme A. Franke-Börner, M. Helm

Spezielle Matrixformen

Physiologische Grundlagen. Inhalt

a) Bestimmen Sie rechnerisch die Koordinaten und die Art der Extrempunkte von G. Betrachtet wird die Gleichung

Technische Universität München Zentrum Mathematik. Übungsblatt 7

Seminar Gewöhnliche Differentialgleichungen

Erregbarkeit von Zellen. Ein Vortrag von Anne Rath

Ferienkurs Sommersemester 2011

3 Modellierung von Neuronen I

Kapitel 15 Lineare Gleichungssysteme

9 Lineare Gleichungssysteme

M 3. Informationsübermittlung im Körper. D i e N e r v e n z e l l e a l s B a s i s e i n h e i t. im Überblick

3 Matrizenrechnung. 3. November

NaCl. Die Originallinolschnitte, gedruckt von Marc Berger im V.E.B. Schwarzdruck Berlin, liegen als separate Auflage in Form einer Graphikmappe vor.

BK07_Vorlesung Physiologie 29. Oktober 2012

Mathematik für Naturwissenschaftler II SS 2010

Ionenkanäle Ionenpumpen Membranruhepotential. username: tierphys Kennwort: tierphys09

ODE-Solver. Inhalt. Einleitung. grundlegende Algorithmen. weiterführende Algorithmen

Übung 4.1: Dynamische Systeme

Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler

Experimentalphysik 2

Kapitel 14 Lineare Gleichungssysteme

C07 Membranmodell und Signalausbreitung C07

Lineare Gleichungssysteme

Übungsfragen, Neuro 1

Mathematik IT 2 (Lineare Algebra)

Membranen und Potentiale

3.6 Eigenwerte und Eigenvektoren

Vorkurs: Mathematik für Informatiker

u(x, 0) = g(x) : 0 x 1 u(0, t) = u(1, t) = 0 : 0 t T

22. Netzwerke II. 4. Maschenstromanalyse 5. Knotenpotentialanalyse

Das Wichtigste: 3 Grundlagen der Erregungs- und Neurophysiologie. - Erregungsausbreitung -

Peter Walla. Die Hauptstrukturen des Gehirns

Wenn man den Kreis mit Radius 1 um (0, 0) beschreiben möchte, dann ist. (x, y) ; x 2 + y 2 = 1 }

Ein- und Ausschaltvorgang am Kondensator ******

Arbeitsbereich Technische Aspekte Multimodaler Systeme (TAMS) Praktikum der Technischen Informatik T2 2. Kapazität. Wechselspannung. Name:...

Ferienkurs Elektrodynamik - Drehmomente, Maxwellgleichungen, Stetigkeiten, Ohm, Induktion, Lenz

Mischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw.

Computersimulationen in der Astronomie

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

1 Einführung, Terminologie und Einteilung

Institut für Geometrie und Praktische Mathematik

VF-2: 2. Es seien x = 1 3 und y = π Bei der Berechnung von sin(x) sin(y) in M(10, 12, 99, 99) tritt. Auslöschung auf.

37 Gauß-Algorithmus und lineare Gleichungssysteme

Theory Austrian German (Austria) Lies, bitte, bevor du mit der Aufgabe beginnst die allgemeinen Anweisungen im separaten Briefumschlag.

Numerik gewöhnlicher Differentialgleichungen

Transkript:

Ein effizientes Verfahren zur Berechnung der Potentiale in kortikalen neuronalen Kolumnen. Diplomarbeit, Vorgelegt von Alexander Wanner Betreuer: Prof. Dr. Gabriel Wittum Universität Heidelberg Fakultät für Mathematik und Informatik 13. Dezember 2007

Inhaltsverzeichnis 1 Einleitung 1 2 Biologische Grundlagen 3 2.1 Struktur von Nervenzellen....................... 3 2.2 Elektrophysiologische Eigenschaften von Nervenzellen........ 5 2.2.1 Membranpotential....................... 5 2.2.2 Aktionspotential........................ 6 2.2.3 Elektrotonische Signalleitung................. 7 2.3 Die Neokortikale Kolumne....................... 9 3 NeuGen 12 4 Modellierung 15 4.1 Das Neuron als eine Menge von Kabelgleichungen.......... 15 4.1.1 Dimensionslose Kabelgleichung................ 19 4.2 Analytische Lösungen der Kabelgleichung............... 20 4.3 Ionenkanäle vom Hodgkin-Huxley Typ................ 22 4.4 Typen von Synapsen.......................... 23 5 Diskretisierung 26 5.1 Das Multi-Compartment-Modell.................... 26 5.1.1 Aufteilung des Membranstroms................ 28 5.1.2 Komponenten des Membranstroms.............. 28 5.1.3 Aufteilung des kapazitativen Stroms............. 29 5.1.4 Membran-Ionenströme...................... 31 5.2 Zeitliche Diskretisierung........................ 31 i

Inhaltsverzeichnis 5.2.1 Staggered Steps......................... 31 5.2.2 Die Baummatrix........................ 33 5.3 Der Löser................................ 34 6 Die Implementierung 36 6.1 Wahl der Programmiersprache..................... 36 6.2 Definition einer Simulation....................... 36 6.2.1 Definition des Modells..................... 37 6.2.2 Einlesen von Netzen aus NeuGen............... 38 6.3 Der Löser................................ 40 6.4 Parallelisierung............................. 44 6.4.1 Das MPI Programmiermodell................. 44 6.4.2 Parallele Kommunikation.................... 45 7 Untersuchung der numerischen Konvergenz 49 7.1 Analytische Lösung für endliche Kabel................ 49 7.2 Konvergenztests............................. 52 7.2.1 Die Approximation der analytischen Lösung......... 55 8 Simulationen und numerische Resultate 59 8.1 Simulation eines Netzes aus 5000 Neuronen.............. 59 8.2 Laufzeitverhalten und Speicherverbrauch............... 64 9 Zusammenfassung und Ausblick 68 10 Anhang 71 10.1 Elektrophysiologische Parameter der Kolumne............ 71 10.1.1 Ionenkanäle........................... 71 10.1.2 Synapsen............................ 71 10.2 Beispiele für die Definition eines Modells zur Simulation mit NeuSim 72 Abbildungsverzeichnis 77 Tabellenverzeichnis 80 Literaturverzeichnis 81 ii

1 Einleitung Lebewesen begegnen den Anforderungen der sich ändernden Umwelt auf verschiedene Weise. Bei Organismen mit weniger entwickelten Nervensystemen bedeutet Adaption meist Anpassung auf der Ebene der Spezies, Verschiebungen in der Zusammensetzung des Genpools und Mutation. Mit zunehmender Körpermasse von Tieren ist allerdings die Reduktion der Individuenanzahl und der Reproduktionsrate verbunden. Damit wird das Individuum für das Überleben der Spezies wichtiger. Das Nervensystem ist einer der Faktoren, die entscheiden, ob ein Tier lange genug überlebt und sich erfolgreich fortpflanzen kann. Höhere genetische Trägheit der Spezies wird also durch intelligenteres Verhalten kompensiert. Das Gehirn von Säugetieren gehört mit zu den komplexesten Systemen, die wir kennen. Die rasanten Fortschritte der Neurobiologie erfordern deshalb leistungsfähige numerische Werkzeuge, um Modelle zur Informationsverarbeitung von Nervenzellen und neuronalen Netzwerken zu testen und neue Theorien aufzustellen. Ein Aspekt der Komplexität ist die Anzahl der Neuronen, die an der neuronalen Informationsverarbeitung beteiligt sind. Ein Versuch, die Komplexität des neuronalen Netzes auf die Interaktion zwischen einzelnen Neuronen zu reduzieren, sind Single-Compartment-Modelle, die ein Neuron durch eine Art Black-Box repräsentieren. Die Eigenschaften solcher Neurone resultieren nicht aus ihrer Geometrie und Elektrophysiologie, sondern werden vom Experimentator vorgegeben. Es leuchtet ein, dass solche Modelle ihre Grenzen haben, wenn man die beiden anderen Aspekte der Komplexität des neuronalen Verhaltens betrachtet, die ausdifferenzierte und spezialisierte Form der Nervenzellen und die komplexen Eigenschaften der Membran. Die Eigenschaften der Zellmembran hängen von der Vorgeschichte der jeweiligen Zelle ebenso ab wie von der Konzentration von bestimmten Substanzen sowie dem elektrischen Potentialgefälle zwischen dem Inneren der Zellen und dem sie um- 1

1 Einleitung gebenden Medium. Schon sehr kleine Unterschiede in den Ausgangsbedingungen können darüber entscheiden, ob eine Zelle feuert oder nicht. Betrachten wir zusätzlich die komplexe Form von den meisten Nervenzellen, so wird klar, dass die möglichst genaue Approximation der neuronalen Geometrie kritisch für das Verhalten von Neuronen ist. Eine weit verbreitete Methode das Neuron mathematisch zu modellieren ist, es als eine Menge von gekoppelten Kabelabschnitten mit Kabelgleichungen zu beschreiben. Mit Multi-Compartment-Modellen werden dann die räumlichen Diskretisierungen der Kabelgleichungen beschrieben, die numerisch berechnet werden können. Die zeitlichen Diskretisierungen der Kabelgleichungen sind daher Verfahren zur Lösung der gewöhnlichen Differentialgleichungen. Für die Leistungsfähigkeit eines Multi-Compartment-Modells ist es von Bedeutung, dass es leicht vergröbert oder verfeinert werden kann, ohne die Konvergenzordnung des Verfahrens zu beeinflussen. Insbesondere sollte es möglich sein, die Synapsen nicht nur an ganz bestimmten Punkten im Modell zu positionieren. Wir haben uns für das Multi-Compartment-Modell von Lindsay und Rosenberg [8] entschieden, weil es eine höhere Genauigkeit und damit eine höhere Simulationsgeschwindigkeit verspricht als das Standardprogramm NEURON [1]. Der Vorteil kommt dadurch zustande, dass die genaue Position des synaptischen Inputs in die Rechnung einfließt, während das herkömmliche Modell die Synapsen im Zentrum des jeweiligen Compartments lokalisiert. Die Frage der Geschwindigkeit ist sehr wichtig, denn durch die Nichtlinearität der Membraneigenschaften sind an kritischen Stellen sehr kleine Schrittweiten der Zeitdiskretisierung erforderlich. Um die Simulation weiter zu beschleunigen benutzen wir parallele Computer. Das Problem wird hierbei in kleinere Teilprobleme aufgeteilt, die auf jeweils einem Prozessorkern berechnet werden. Ein effizientes paralleles Kommunikationsprotokoll benutzt nichtblockierende Operationen, um den Aufwand für Kommunikation zu reduzieren. Als Anwendung des numerischen Verfahrens, wollen wir hier das Verhalten einer neokortikalen Kolumne der Ratte simulieren, die als Basiseinheit in verschiedenen Ausprägungen in den Gehirnen der meisten Säugetiere vorkommt. Durch die Modellierung und Simulation hoffen wir, Beiträge zum Verständnis des Gehirns zu liefern. 2

2 Biologische Grundlagen In diesem Kapitel stellen wir neurobiologische Grundlagen vor, die zum Verstehen der Signalverarbeitung der Nervenzelle und der neokortikalen Kolumne der Ratte notwendig sind. 2.1 Struktur von Nervenzellen Eine Nervenzelle ist eine Grundeinheit der neuronalen Informationsverarbeitung und hat entsprechend dieser Funktion einen spezifischen Aufbau. Vom Zellkörper, dem Soma, zweigen baumartige Strukturen - Dendriten und Axon - ab (Abbildung 2.1). Synapsen dienen dazu, Signale von einem Neuron zum anderen oder Muskelfasern weiterzuleiten. Meistens leiten sie die Signale vom Axon einer Zelle zu dem Soma oder Dendriten einer anderen Zelle. Abbildung 2.1: Schematischer Aufbau des Neurons Das Innere der Zelle ist mit einer Flüssigkeit, dem Zytoplasma gefüllt, in das verschiedene Organellen eingebettet sind. Gleichzeitig dient das Zytoplasma als Medium für elektrische Ströme innerhalb der Zelle, die aus geladenen Ionen bestehen. Die Zellmembran grenzt das Innere der Nervenzelle vom Außenraum ab. Sie besteht aus einer Doppellipidschicht, in die Kohlenhydrate und Proteine eingebettet sind. Die Zellmembran reguliert den Fluss von Wasser, Ionen und Proteinen in 3

2 Biologische Grundlagen und aus der Nervenzelle. Es gibt verschiedene Typen von Nervenzellen. Ein Unterscheidungsmerkmal ist die Anzahl der Fortsätze, die am Soma beginnen. Unipolare Zellen haben nur einen Somafortsatz, so wie zum Beispiel sensorische Neuronen. Bipolare Zellen, Neuronen mit zwei Somafortsätzen kommen in der Netzhaut des Auges vor. Abbildung 2.2 zeigt die schematische Darstellung verschiedener Polarität. Ein anderes Unterscheidungsmerkmal ist die Myelierung der Axone. Myelin ist eine fettreiche Substanz, die die Axone mancher Neuronen spiralförmig umwickelt. Es dient als zusätzlicher Isolator und ermöglicht eine höhere Signalgeschwindigkeit innerhalb des Axons. Dies trifft insbesondere bei Neuronen auf, deren Ausgabesignal schnell über große Entfernungen geleitet werden soll. So werden verschiedene Bereiche der Großhirnrinde typischerweise über myelierte Axone miteinander verbunden. Eine Möglichkeit der Klassifizierung von Synapsen ist die Einteilung in chemische und elektrische Synapsen. Elektrische Synapsen sind Bereiche in denen Kommunikation zwischen zwei Zellen über direkten Austausch von Ionen über einen sehr dünnen Spalt zwischen den Zellen stattfindet. Chemische Synapsen sind meist unidirektional, die Signalübertragung findet nur in einer Richtung statt. Die Empfänger-Seite wird postsynaptisch genannt, die andere präsynaptisch. Chemische Synapsen bestehen aus dem synaptischen Endkolben, einem Ende des Ax- Abbildung 2.2: Beispiele verschieder Polarität von Neuronen. Von links nach ons der präsynaptischen Zelle, und einem postsynaptischen Bereich der Membran der empfangenden Zelle. Ein Signal rechts: Unipolare, Bipolare, Multipolare wird durch Botenstoffe, so genannte Neurotransmitter, übermittelt. Diese Zellen werden 4

2.2 Elektrophysiologische Eigenschaften von Nervenzellen im Ruhezustand in Bläschen in den synaptischen Endkolben angereichert. Wird ein Signal auf der präsynaptischen Seite ausgelöst, verschmelzen diese Bläschen teilweise mit der Membran des Endkolbens und geben ihren Inhalt nach außen, in den synaptischen Spalt, ab. Die Neurotransmitter docken an Rezeptoren der postsynaptischen Membran an. Sie beeinflussen dadurch direkt die Leitfähigkeit der Ionenkanäle oder lösen sekundäre Reaktionen in der postsynaptischen Zelle aus, die zur Änderung der Durchlässigkeit der Zellmembran für bestimmte Ionentypen führen. 2.2 Elektrophysiologische Eigenschaften von Nervenzellen Eine der wichtigsten Eigenschaften der Membran ist, dass sie ein sehr guter Isolator ist. Man kann sich deshalb einen kleinen Abschnitt der Zellmembran als parallel geschalteten Kondensator und Widerstand vorstellen. Unter normalen Umständen bestehen elektrische Ströme durch die Membran aus von einer Hydrathülle eingeschlossenen Ionen. Diese werden von hochselektiven Ionenkanälen gesteuert. Besteht innerhalb der Zelle ein Potentialunterschied, so ist der spezifische Widerstand des Zytoplasma von Bedeutung. 2.2.1 Membranpotential Die Konzentration von Ionen innerhalb und außerhalb einer Nervenzelle unterscheidet sich teilweise enorm. Für eine bestimmte Ionenart kann eine Gleichung aufgestellt werden, die das so genannte Gleichgewichtspotential für eine bestimmte Temperatur definiert. Es gibt an, wie groß der elektrische Potentialunterschied zwischen dem Inneren der Zelle und dem extrazellulären Medium sein muss, damit sich die Ionenströme, verursacht durch den Potentialunterschied und den Konzentrationsgradienten, gerade aufheben. Das Gleichgewichtspotential E für eine bestimmte Ionenart lässt sich anhand der Nernst-Gleichung bestimmen: E = RT ( ) zf ln [X]a. (2.1) [X] i 5

2 Biologische Grundlagen Dabei ist R die Gaskonstante, T die absolute Temperatur in Kelvin, z die Valenz des Ions und F die Faradaykonstante. [X] a und [X] i sind die Ionenkonzentrationen außerhalb und innerhalb der Membran. Da die Membran kein perfekter Isolator ist, lässt sie auch im Ruhezustand Ionenströme durch. So gennante Ionenpumpen halten aber den Konzentrationsunterschied aufrecht. Dadurch stellt sich ein so genanntes Ruhepotential ein, das sich aus Gleichgewichtspotentialen der verschiedenen Ionenarten zusammensetzt. Wir nennen die Membran hyperpolarisiert, wenn ihr Membranpotential kleiner ist und depolarisiert, wenn es größer als das Ruhepotential ist. Da durch die chemischen Synapsen die Leitfähigkeit der postsynaptischen Membran für bestimmte Ionenarten verändert wird, können wir zwischen exzitatorischen und inhibitorischen Synapsen unterscheiden. Exzitatorische depolarisieren die Membran aus dem Ruhezustand, wärend die inhibitorischen Synapsen sie hyperpolarisieren. 2.2.2 Aktionspotential Ein Aktionspotential ist eine kurzzeitige Abweichung vom Ruhepotential. Es dient in Nervenzellen zur Signalübertragung innerhalb der Zelle. 1952 wurde Alan Lloyd Hodgkin und Andrew Fielding Huxley ([7]) ein Modell aufgestellt, um die Entstehung von Aktionspotentialen im Riesenaxon des Tintenfisches zu erklären. Dieses Modell basiert auf der Dynamik von Ionenkanälen für Natrium (Na + ) und Kalium (K + ). Man stelle sich einen Abschnitt des Axons als ein zylindrisches Stück der Membran vor, die das Zytoplasma umhüllt. In Abbildung 2.3 ist dargestellt, was passiert, wenn die Membran stark genug depolarisiert wird. Wird die Membran an einer Stelle über einen Schwellenwert hinaus depolarisiert, so öffnen sich verstärkt die Na + -Kanäle und lassen Na + -Ionen von außen einfließen, dadurch wird die Membran immer weiter zum Gleichgewichtspotential von Na + depolarisiert. Ist die Depolarisation hoch genug, schließen sich die Natrium-Kanäle. Gleichzeitig öffnen sich Kalium-Kanäle verstärkt und hyperpolarisieren das Membranpotential zum Gleichgewichtspotential von K +. Das nachfolgende Schließen der K + -Kanäle und die Arbeit der Ionenpumpen bewirken, dass sich das Membranpotential wieder an das Ruhepotential annähert. 6

2.2 Elektrophysiologische Eigenschaften von Nervenzellen Abbildung 2.3: Modell eines Aktionspotentials beim Riesenaxon des Tintenfisches. E K, E Na Gleichgewichtspotentiale von Na + und K +, E m Membranpotential. (aus [3], Abb. 4-18) 2.2.3 Elektrotonische Signalleitung Ist ein Membranabschnitt depolarisiert, so sorgt ein axialer Ionenstrom zu den benachbarten Bereichen der Membran dafür, dass auch deren Membranpotential positiver wird und eventuell ein Aktionspotential ausgelöst wird. Diese elektrotonische Leitung wird demnach maßgeblich von der spezifischen elektrischen Leitfähigkeit des Zytoplasma und der spezifischen Membrankapazität beeinflusst. Im Falle eines Membranzylinders ist der axiale elektrische Widerstand R Ax = r AxL πr 2, (2.2) wobei r Ax der spezifische Widerstand des Zytoplasma, L die Länge und r der Radius des Zylinderstückes sind. Der Einfachheit halber nehmen wir an, dass der spezifische axiale Widerstand konstant ist. Eine solche Membran nennen wir passiv. Injiziert man in den zylindrischen Abschnitt Ladungen mit einer bestimmten Stromstärke i, so lässt sich die Ausbreitung der zusätzlichen Ladungsträger anhand des elektrischen Diagramms aus Abbildung 2.4 veranschaulichen. 7

2 Biologische Grundlagen Abbildung 2.4: Elektrotonus (nach [3], Abb. 4-17a) Hier ist c m die Membrankapazität, E i das Gleichgewichtspotential der Membran und r i die axiale Leitfähigkeit der Teilstücke. Legt man einen konstanten positiven elektrischen Strom i an, so steigt die Spannung zwischen Innerem und Äusserem mit der Aufladung der Membran, was durch Kondensatoren modelliert wird. Messen wir den Strom 5mm von der Stelle des angelegten Stroms entfernt, so sehen wir, dass er nur einen Teil von i ausmacht. Ein Teil des Stroms wird unterwegs abgezweigt und fließt in die Kondensatoren und durch die Widerstände. Wenn man nun die Kapazitäten c m erhöht, kommt noch weniger Ladungen bei 5 mm an, und die Spannung steigt an dieser Stelle langsamer. Hier sieht man, dass die Membrankapazität eine entscheidende Rolle bei der Weiterleitung von Signalen in Form von Aktionspotentialen ist, da es dort darum geht, wie schnell das Schwellenpotential erreicht wird. Deshalb sind Axone, die Aktionpotentiale über längere Entfernungen transportieren müssen, wie in Abbildung 2.5 gezeigt, meistens von einer Myelinschicht umhüllt. Diese reduziert die Kapazität der Membran und erlaubt dadurch schnelleres Depolarisieren an den Schnürringen des Axons, Stellen, an denen die Myelinschicht unterbrochen wird. Dort wird das Signal durch das Auslösen des Aktionspotentials verstärkt und springt zum nächs- 8

2.3 Die Neokortikale Kolumne ten Schnürring. Neben der höheren Signalgeschwindigkeit hat die Myelierung den Vorteil des niedrigeren Energieverbrauches, denn die Aktionspotentiale werden nur an den Schnürringen ausgelöst. Abbildung 2.5: Schema einer myelierten Faser (Verhältnis von Dicke und Länge verändert nach [3], Abb. 4-19c). Bei Depolarisation fließt Membranstrom überwiegend in Schnürringen. Das spart Energie bei der Leitungs des Aktionspotentials.Die Depolarisation pflanzt sich besonders schnell zwischen den Schnürringen fort (nach [3], Abb. 4-19c). 2.3 Die Neokortikale Kolumne Der Neokortex ist die oberste und evolutionär jüngste Schicht des Großhirnes der Säugetiere. Er wird in mehrere Schichten (Laminae) unterteilt (L1 - L6), die sich in der Zusammensetzung der in ihnen vorkommenden Zelltypen unterscheiden. 9

2 Biologische Grundlagen Abbildung 2.6: Signalübertragunsstrecke (nach [12], Abb. 1.12). Abbildung 2.7: Ein Schnitt durch den Kortex mit sichtbar gemachten L4Zellen.(nach [9], Abb. 1A). Es wurde eine horizontale Ausdifferenzierung in säulenförmige Gebilde, auch Kolumnen genannt, nachgewiesen. Diese sind eine Basiseinheit der neuronalen Schaltkreise im Neokortex. Die Abbildung 2.7 zeigt einen Querschnitt durch den Neokortex. 10

2.3 Die Neokortikale Kolumne Abbildung 2.8: Somatotopie (nach [12], Abb. 1.13). Bei Ratten entspricht zum Beispiel ein Schnurrbarthaar einer neokortikalen Kolumne des Neokortex [12]. Siehe dazu Abbildungen 2.6 und 2.8. Diese Entsprechung taucht in unterschiedlicher Ausprägung entlang der gesamten Signalstrecke zwischen den Schnurrbarthaaren und dem Neokortex auf, z.b. im Hirnstamm und Thalamus. Diese 1:1 Somatotopie macht Barrel-Kortex zu einem beliebten Studienobjekt für neuronale Verschaltung und Lerneffekte [12]. 11

3 NeuGen Um die Ausgangsdaten für die Simulation der kortikalen Kolumne in Silico zu gewinnen, verwenden wir NeuGen [4], eine Software zum Generieren von künstlichen dreidimensionalen Geometrien von vernetzten Neuronen der kortikalen Kolumne. Anhand vorgegebener Parameter und Generatoren für Zufallszahlen erzeugt Neu- Gen eine künstliche Kolumne. Dabei wurde Wert darauf gelegt, dass die Neuronen- Parameter möglichst direkt aus Versuchsergebnissen übernommen werden können, und die Standardwerte für die implementierten Neuronen mit deren morphologischen Merkmale möglichst genau übereinstimmen. NeuGen erzeugt nicht nur die Geometrie einzelner Neuronen, sondern verschaltet sie auch zu einem neuronalen Netzwerk mittels Synapsen. Diese Synapsen sind Verbindungen zwischen Dendriten und Axonen, die dort erstellt werden, wo deren Abstand zueinander einen bestimmten Schwellenwert unterschreitet. Der thalamische Input wird in Form von so genannten Alpha-Synapsen (dazu siehe Abschnitt 4.4) auf den Dendritenbäumen von L4 - und L5 -Neuronen verteilt. Der Ablauf des Algorithmus zur Generierung von Zellen ist wie folgt. Zuerst verteilt NeuGen die Somata in der Kolumne. Ausgehend von diesen wird ein Hauptstrang des Axons erzeugt, an den weitere Zweige angehängt werden. Die Konstruktion der Dendriten erfolgt auf eine ähnliche Weise, nur dass hier die Konstruktion der Zweige iterativ ausgeführt wird. Das bedeutet, dass für jeden Zweig ein Hauptstrang erzeugt wird, und von dem aus die Konstruktion weiterer Abzweigungen angestoßen wird. 12

Abbildung 3.1: Von NeuGen generierte kortikale Kolumne aus 12 Zellen. Dendriten sind gelb, Soma rot, Axons blau dargestellt. Die graue Wire-Frame- Box zeigt den Umriß der Kolumne. In der Mitte befindet sich die Schicht 4. Die von NeuGen erzeugte Kolumne enthält fünf Neuronenarten mit exzitatorischen Synapsen: L2/3-Pyramidal, L4-Spiny Stellate, L4-Starpyramidal, L5A- Pyramidal und L5B-Pyramidal. Beispiele für diese Zelltypen sind in den Abbildungen 3.2 und 3.3 zu sehen. Die Abbildung 3.1 zeigt eine Beispielkolumne aus 12 Zellen, von denen drei L2/3-Pyramidal, fünf L4-Spiny Stellate, zwei L5A-Pyramidal 13

3 NeuGen und zwei L5B-Pyramidal sind. Abbildung 3.2: Von NeuGen erzeugte künstliche Neuronen. Von links nach rechts: L2/3 Pyramidal, L4 Spiny Stellate, L4 Starpyramidal. Abbildung 3.3: Von NeuGen erzeugte künstliche Neuronen. L5A Pyramidal und L5B Pyramidal. 14

4 Modellierung In diesem Kapitel entwickeln wir das mathematische Modell für die Signalverarbeitung in Neuronen. Wir modellieren ein Neuron als eine Menge gekoppelter Kabelgleichungen. Geschichtlich wurde die Theorie der Kabelgleichungen zuerst von Weber, [15], auf das Axon angewandt, wobei er nach stationären Lösungen für ein dreidimensionales Kabel fragte. In der Arbeit von Hodgkin et al., [7], wurde dann das erste Modell für das zeit- und potentialabhängige Verhalten des Membranwiderstandes aufgestellt. Wir leiten die Kabelgleichungen her und konstruieren die analytische Lösung für den einfachen Fall eines homogenen passiven Kabels her. Es wird die Modellierung der Ionenkanäle als eine Verallgemeinerung des Hodgkin-Huxley-Modells angegeben. Anschließend zeigen wir, wie wir das zeitliche Verhalten von einfachen chemischen Synapsen modellieren können. 4.1 Das Neuron als eine Menge von Kabelgleichungen Man kann Teile von Neuronen analytisch durch Kabelgleichungen beschreiben, da sie im Vergleich zu ihrer Länge sehr dünn sind. Hier richten wir uns nach der Darstellung des Themas in [14]. Um die Kabelgleichungen herzuleiten, gehen wir von einem zylindrischen intrazellulären Stück der Länge x mit Radius r I aus, das in eine zylindrische extrazelluläre Umgebung mit Radius r A eingebettet ist. Die Abbildung 4.1 zeigt diesen Membranabschnitt. 15

4 Modellierung Abbildung 4.1: Zylindrischer Membranabschnitt. x ist die Länge des Abschnittes, r I und r A Innen- und Außenradius. Seien x und x + x die eindimensionalen Koordinaten auf der Längsachse, die die Endpunkte des Membranabschnittes angeben. Die Radien seien so gering, dass wir im Inneren und im Äußeren V I und V A, elektrische Potentiale bezüglich eines Punktes im Unendlichen, entlang der Längenachse des Zylinders definieren können. Wir bezeichnen mit V I,r und V A,r die Ruhepotentiale im Inneren und Äußeren und definieren V M := V I V A. Wir setzen den Nullpunkt des Potentials auf das äußere Ruhepotential, so dass V A,r = 0 V. Im Ruhezustand fließt durch die Membran netto kein Strom, deshalb definieren wir noch V (t, x) := V I (t, x) V I,r, denn V (t, x) V A (t, x) = V M(t, x) V I,r. Wir definieren elektrischen Strom durch die Membran als positiv, wenn er aus Kationen besteht, die nach Innen wandern. Entsprechend ist der Axialstrom positiv mit zunehmenden x-werten. Nehmen wir an, dass x so klein ist, dass das Membranpotential über die Mantelfläche des entsprechenden Zylinderabschnittes gleich ist. Nun können wir für das zylindrische Membranstück ein elektrisches Schema in der Abbildung 4.1 betrachten. Abbildung 4.1 zeigt das elektrische Schema des Zylinderabschnittes, wobei I I, I A, R I und R A die axialen Stromstärken und Widerstände im Inneren und Äußeren, I IA und I AA die angelegten Stromquellen und I M der Membranstrom bezeichnet. R M und C M sind entsprechend Membranwiderstand und Kapazität. 16

4.1 Das Neuron als eine Menge von Kabelgleichungen Abbildung 4.2: Ersatzschema des Membranzylinders (verändert nach [14], Abb. 4.2). Da die Widerstände ohmsch angenommen werden, gilt R I ( x)i I (t, x) = (V (t, x + x) V (t, x)), (4.1) R A ( x)i A (t, x) = (V A(t, x + x) V A(t, x)). Der axiale elektrische Widerstand im Inneren berechnet sich wie der axiale Widerstand eines homogenen zylindrischen Leiterstücks, also R I = r si x/a I, wobei r si der spezifische Widerstand des Inneren und A I die Querschnittsfläche πr 2 I bezeichnet. Analog gilt R A = r sa x/a A mit A A = π(ra 2 r2 I ). Für den Membranstrom I M erhalten wir I M (t, x + x) = V (t, x + x) V A (t, x + x) + C M ( x) V M(t, x + x). R M ( x) t (4.2) Unter Annahme, dass die Membrandicke δ << r I und der Membranwiderstand über das ganze Stück konstant ist, gilt R M ( x) = r M 2πr I x (4.3) 17

4 Modellierung mit r M als spezifischer Widerstand der Membran in Ohm m 2. Entsprechend lässt sich die Membrankapazität durch die spezifische Membrankapazität ausdrücken: C M ( x) = 2πr I xc m. (4.4) Wir definieren i IA ( x) := I IA ( x)/ x. Nach dem 1. Kirchhoffschen Gesetz gelten folgende Stromerhaltungsgleichungen I I (t, x + x) I I (t, x) = I M (t, x + x) + I IA ( x), (4.5) I A (t, x + x) I A (t, x) = I M (t, x + x) + I AA ( x). Da beide rechte Seiten proportional zu x sind, erhalten wir durch Umformen und Grenzwertbildung x 0 2 I I (t, x) = 2πr I(V (t, x) V A (t, x)) 2πr I c m 1 V M (t, x) + i IA (0), (4.6) r M 2 I A (t, x) = 2πr I(V (t, x) V A (t, x)) + 2πr I c m 1 V M (t, x) + i AA (0). r M Aus den Gleichungen (4.1) folgt durch Umformen, Grenzwertbildung x 0 und nochmaliges Differenzieren nach x Eingesetzt in (4.6) erhalten wir 22 V (t, x) = r si A I 2 I I (t, x) = 22 V (t, x), (4.7) r sa A A 2 I A (t, x) = 22 V A(t, x). r si A I r M [K M ((V (t, x) V A(t, x) + r M c m 1 V M (t, x)) i IA (0)r M ], 22 V (t, x) = r sa A A r M [K M ((V (t, x) V A(t, x) + r M c m 1 V M (t, x)) + i AA (0)r M ] (4.8) mit K M = 2πr I. Nach der Subtraktion der zweiten Gleichung von der ersten und Umformen gilt r M c m 1 V M (t, x) = r M S 22V M [V (t, x) V A(t, x)] (4.9) r ( M rsa i AA (0) r ) sii IA (0) S A A A I 18

4.1 Das Neuron als eine Menge von Kabelgleichungen ( r mit S := K si M A I + r sa A A ). Da der extrazelluläre Raum im Vergleich zum Durchmesser der Zellteile typischerweise sehr viel größer ist, kann angenommen werden, dass das extrazelluläre Medium den Widerstand 0 hat und daher V A (t, x) = 0 gilt. Dies vereinfacht die obige Kabelgleichung zu r M c m 1 V = r M S 22V V + r Mr si i IA (0) SA I. (4.10) 4.1.1 Dimensionslose Kabelgleichung Wir wollen nun eine dimensionslose Form der Kabelgleichung herleiten, die für die analytische Lösung benötigt wird. In (4.10) sind die einzelnen Größen mit Einheiten verbunden: V(t,x) ist die Depolarisation in Volt am Ort x zur Zeit t, x ist die Ortsvariable mit der Einheit Meter, t ist die Zeit in Sekunden, r I ist der Innenradius in Metern, r si ist der spezifische Widerstand des innenzellulären Raumes in Ohm Meter, r M ist der spezifische Membranwiderstand in Ohm Meter, i IA ist die Stromstärkedichte des externen Stroms in Ampere pro Meter. Man kann die Änderung der elektrischen Ladung Q im Abschnitt [x,x+ x) während des Zeitintervalls [t,t+ t) mit i IA (0)(t, x) x t approximieren, so dass i IA (0)(t, x) = Q x t. (4.11) Wir machen die Orts- und Zeitvariablen dimensionslos, indem wir x := x/k x und t := t/k t definieren. Nun definieren wir V ( t, x) := V (t, x), (4.12) Q( t, x) := Q(t, x). Damit gilt 19

4 Modellierung 1 V = V d t t dt = 1 V k t t, (4.13) 2 V = V d x x dx = 1 V k x x, 22 V = 1 2 V kx 2 x, 2 21 Q = 1 Q k x k t x t. Wir können also die Kabelgleichung (4.10) schreiben als r M c m k t V t = r M 2 V Skx 2 x V + r Mr si Q 2 k t k y S x t. (4.14) Mit der Wahl k t = r M c m und k x = r M /S vereinfacht sich die Gleichung zu V t = 2 V x V + Ī, (4.15) 2 Ī = r Mr si Q k x k t S x t. Nun eliminieren wir die Dimension des Membranpotentials, indem wir die Gleichung durch V S teilen. V S sei das konstante Potential, das entsteht, wenn wir an jeder Stelle der Membran von außen einen konstanten Einheitsstrom von Ī = 1 Volt anlegen. V S ist also die Lösung von (4.15) mit V = 0V und t Damit ergibt sich die dimensionslose Form der Kabelgleichung 2 V = 0V. x 2 U t = 2 U x 2 U + J. (4.16) 4.2 Analytische Lösungen der Kabelgleichung Wir benutzen die Greensche Funktion, um die Kabelgleichung für einige einfache Testfälle analytisch zu lösen. Das gegebene Problem ist ein Anfangswertproblem: V t = V xx V + I, t > 0, 0 < x < L, (4.17) V (0, x) = V 0 (x) 20

4.2 Analytische Lösungen der Kabelgleichung mit V 0 Membranpotential zum Zeitpunkt 0. Die Greensche Funktion G(t,x,y) der Gleichung (4.17) ist die Lösung der Gleichung G t = G xx G, t > 0, (4.18) G(0, x, y) = δ(x y). Wir zeigen, dass jedes V aus G konstruiert werden kann per V (t, x) = L 0 G(t, x, y)v 0 (y)dy + L t 0 0 G(t s, x, y)i(s, y)dsdy. (4.19) Wir müssen also zeigen, dass V das Anfangswertproblem (4.17) löst. V erfüllt die Anfangswertbedingung, denn V (0, x) = L 0 G(0, x, y)v 0 (y)dy = L 0 δ(x y)δ(0)v 0 (y)dy = V 0 (x). (4.20) Wir müssen nun zeigen, dass die Differentialgleichung aus (4.17) erfüllt ist. V t (t, x) = Wegen gilt also t t 0 L 0 V t (t, x) = G t (t, x, y)v 0 (y)dy + L 0 t t 0 G(t s, x, y)i(s, y)dsdy. (4.21) G(t s, x, y)i(s, y)ds = (4.22) + + L 0 L t 0 L 0 G(0, x, y)i(t, y) + G t (t, x, y)v 0 (y)dy + 0 L 0 t G(t s, x, y)i(s, y)dsdy = I(t, x) t G t (t, x, y)v 0 (y)dy + L t 0 0 G(t s, x, y)i(s, y)ds t G(0, x, y)i(t, x)dy (4.23) 0 G(t s, x, y)i(s, y)dsdy. t Für die rechte Seite der Kabelgleichung aus (4.17) bekommen wir V xx (t, x) V (t, x) + I(t, x) = I(t, x) (4.24) + + L 0 L t 0 (G xx (t, x, y) G(t, x, y))v 0 (y)dy 0 (G xx (t s, x, y) G(t, x, y))i(s, y)dsdy. Aus (4.18) folgt nun die Erfüllung der Kabelgleichung (4.10) durch V. 21

4 Modellierung 4.3 Ionenkanäle vom Hodgkin-Huxley Typ Was in der bisher entwickelten Kabelgleichung fehlt, ist ein Modell für die aktive Membran, deren Leitfähigkeit mit der Membranpotential variiert. Oben haben wir das Modell von Hodgkin-Huxley, [7], erwähnt, das es erstmal ermöglicht hat, die Ausbreitung des Aktionspotential entlang des Riesenaxons des Tintentenfisches mathematisch zu modellieren. Das Modell funktioniert durch die Interaktion von drei Arten von Leitfähigkeiten der Membran: Leckstrom, K + - und Na + -Ionkanälen. I Membrane = ḡ K n 4 (V V N a) + ḡ Na hm 3 (V V Na ) + g l (V V l ) (4.25) Dabei sind g l, g K und g N a die maximalen Leitfähigkeiten des Leckstroms, K + - und Na + -Ionkanälen. Entsprechend sind V K, V Na und V l die Gleichgewichtspotentiale. n, m und h sind sogennante Gating-Variablen, Funktionen des Membranpotentials und der Zeit. Man kann die Gleichung 4.25 anhand der physikalischen Konstruktion der Ionenkanäle interpretieren. Bei einem K + -Ionenkanal müssen vier Komponenten unabhängig voneinander einen bestimmten Zustand annehmen, damit er offen ist. Die Wahrscheinlichkeit, dass eine Komponente diesen Zustand einnimmt, ist gerade m. Die Zustandsänderung der Gating-Variablen wird durch ein System gewöhnlicher Differentialgleichungen definiert ṅ = α n (1 n) + β n n, (4.26) ṁ = α m (1 m) + β m m, ḣ = α h (1 h) + β h h. Hier sind α und β nichtlineare Funktionen, die die statistischen Änderungsraten der Zustände in Abhängigkeit vom Membranpotential angeben. Sie sind hochgradig nichtlinear. Wir verallgemeinern das Hodgkin-Huxley-Modell. Die Ionenkanäle vom Hodgkin- Huxley Typ, indiziert mit i, erfüllen folgende gleichung für den Membranstrom i ion = i g i m k i i nl i i (V E i ). (4.27) 22

4.4 Typen von Synapsen Hierbei ist g i ist die maximale Leitfähigkeit der i-ten Ionenkanalart und E i deren Gleichgewichtspotential. Die Zustandsfunktionen m i und n i werden durch Differentialgleichungen definiert: m i (t, V ) = a i (V )(1 m i (t, V )) b i (V )m i (t, V ) t (4.28) und n i (t, V ) = c i (V )(1 n i (t, V )) d i (V )n i (t, V ), t (4.29) dabei sind a i, b i, c i, d i in der Regel nichtlineare Funktionen, die die Öffnungs- und Schließungsraten der Ionenkanäle zu gegebenen Membranpotentialen angeben. 4.4 Typen von Synapsen In diesem Kapitel richten wir uns nach der Darstellung aus [2], Seite 180-183, um die Modellierungsprinzipien für chemische Synapsen zu erklären. Wir betrachten nur die chemischen Synapsen und modellieren nur die postsynaptische Seiten explizit, weil wir annehmen, dass die präsynaptische Seite nur durch die Ausschüttung der Neurotransmitter den Einfluss auf den Kommunikationsvorgang nehmen kann. Analog zu den Ionenkanälen beschreiben wir die Wahrscheinlichkeit des Geöffnetseins eines von synaptischen Transmittern abhängigen Ionenkanals durch dp = α(1 P ) βp. (4.30) dt Für gewöhnlich nimmt man β, die Schließungsrate, als konstant an. α dagegen ist abhängig von der Konzentration der Neurotransmitter im synaptischen Spalt. Die Wahrscheinlichkeit, dass ein Molekül des Ionentransmitters an den Rezeptor des Ionenkanals angebunden wird, ist proportional zur Konzentration des Transmitters, [transmitter], so dass α proportional zu [transmitter] k ist. Aus Gründen der Einfachheit nehmen wir weiter an, dass die Transmitterkonzentration sehr schnell einen Maximalwert erreicht und nach einem bestimmten Zeitintervall T auch sehr schnell abgebaut wird. Demnach wird die Transmitterkonzentration durch einen rechteckigen Impuls beschrieben. Sei 0 der Zeitpunkt, zu dem die Ausschüttung der Neurotransmitter beginnt und α sehr viel größer als β, solange die Transmitterkonzentration hoch bleibt und gleich 0 andernfalls. 23

4 Modellierung Der Verlauf von P lässt sich damit in zwei Zeitbereiche einteilen. P (t) = 1 + (P (0) 1)e αt, 0 t T, (4.31) P (t) = P (T )e β(t T ), t > T für den Zustand der postsynaptischen Seite. Dabei ist P (t) der Anteil der geöffneten postsynaptischen Kanäle. Abbildung 4.3: Beispiele für die höhere Flexibilität der Exp2syn Darstellung der postsynaptischen Reaktion gegenüber der Alpha-Synapse. Synapsen, die in der Simulation verwendet werden, sind dieselben, die Neu- Gen generiert. In der Terminologie von NEURON sind es Alpha- und Exp2syn- Synapsen. Beide reagieren auf das Überschreiten eines Schwellwertpotentials auf präsynaptischer Seite mit einem festen zeitabhängigen Verhalten ihrer Leitfähigkeit. Bei Alpha-Synapsen wird der zeitliche Verlauf durch festgelegt. P α (t, τ) = P maxt τ exp(1 t/τ) (4.32) 24

4.4 Typen von Synapsen Exp2syn Synapsen erlauben, wie in der Abbildung 4.4 dargestellt, mehr Freiheit bei der Beschreibung der Steilheit der Leitfähigkeitskurve. Sie werden durch die folgende Gleichung beschrieben P e2s (t, τ 1, τ 2 ) = P max B(exp( t/τ 1 ) exp( t/τ 2 )). (4.33) B sichert die Gleichheit von P max und dem Maximum von P durch ( (τ2 ) τ/τ1 ( ) ) τ/τ2 1 τ2 B :=, (4.34) wobei P e2s (τ ln ( τ1 τ 2 τ 1 ), τ 1, τ 2 ) = P e2s (ln ( τ1 τ 2 τ 1 ) ) τ1 τ 2, τ 1, τ 2 = P max. (4.35) τ 1 τ 2 25

5 Diskretisierung In diesem Kapitel stellen wir die Diskretisierungen zweiter Ordnung der Kabelgleichungen in Ort und Zeit vor. Die Diskretisierung in Ort wird durch das mathematische Multi-Compartment-Modell des Neurons bewerkstelligt. Die Diskretisierung in der Zeit ist eine Form des Crank-Nicolson-Verfahrens, bei dem der Zustandsvektor der Ionenkanäle und das Membranpotential auf zueinander verschobenen Zeitgittern berechnet werden. Kombiniert entsprechen die beiden Diskretisierungen einer einem Verfahren zweiter Ordnung in Ort und Zeit. 5.1 Das Multi-Compartment-Modell Das nichtlineare Verhalten der Membranströme bei Änderungen des Membranpotentials sowie die in der Natur sehr ausdifferenzierte Form der Dendritenbäume deuten darauf hin, dass die Form des Neurons einen entscheidenden Einfluss auf die Art und Weise ausübt, wie es die Informationen verarbeitet. Entsprechende Studien unterstützen diese Hypothese [10], [11], [6]. Daher brauchen wir eine detaillierte Beschreibung der Geometrie in dem numerischen Modell des Neurons. Ein Multi-Compartment-Modell beschreibt ein Neuron als eine Ansammlung von einfachen und homogenen Compartments, die durch die Stromerhaltung nur an angrenzende oder synaptisch verbundene Nachbarn gekoppelt sind. Das Modell, das wir verwenden, wurde 2003 von Lindsay und Rosenberg veröffentlicht, [8]. Im Folgenden beziehen wir uns auf diese Darstellung. Ein Compartment ist demnach ein Kegelstumpf oder Zylinder mit bestimmten statischen und dynamischen Eigenschaften wie in der Abbildung 5.1 abgebildet. 26

5.1 Das Multi-Compartment-Modell Abbildung 5.1: Relevante Eigenschaften eines Compartments. V 1, V 2 sind elektrische Membranpotentiale an den Enden des Compartments, g Ax die spezifische axiale Leitfähigkeit, g m ist die spezifische elektrische Leitfähigkeit der Membran, c m ist die spezifische elektrische Kapazität der Membran, r 1,r 2 sind die Endradien des Compartments, L ist die axiale Länge. Eine Annahme des Modells ist, dass die axiale Leitfähigkeit eines Compartments viel größer ist, als die Leitfähigkeit der Membran. Diese Annahme ist dadurch gerechtfertigt, dass für die Leitfähigkeiten eines homogenen Zylinders mit Radius r in den für die Simulation (empirisch) relevanten Fällen gilt (2πrL)g m (πr 2 /L)g Ax = 2L2 g m rg Ax << 1. Der Axialstrom I 12, verursacht durch Potentialdifferenz, ist dann für ein Compartment durch die Differentialgleichung I 12 = g Ax A(x) V / x gegeben. Dabei ist A(x) = πr(x) 2 die Querschnittsfläche des Compartments an der Position x und r(x) = (1 x/l)r 1 + (x/l)r 2, x [0; L]. Nach dem Lösen dieser Gleichung durch Integration erhalten wir I 12 = πg Axr 1 r 2 (V 2 V 1 ). (5.1) L Die axiale Leitfähigkeit eines Compartments ist also πg Ax r 1 r 2 L 1. 27

5 Diskretisierung Angewandt auf das Membranpotential an einer beliebigen Stelle innerhalb des Compartments erhalten wir V (x) = V 1r 1 (1 x/l) + V 2 r 2 x/l r 1 (1 x/l) + r 2 x/l = V (λ) = V 1r 1 (1 λ) + V 2 r 2 λ r 1 (1 λ) + r 2 λ, λ := x L. (5.2) 5.1.1 Aufteilung des Membranstroms Den Einfluss des verteilten Transmembranstroms berücksichtigen wir insoweit, als dass es gerade die Differenz der Stromstärken in den beiden Enden eines Compartments und dem Axialstrom ausmacht aufgrund der Stromerhaltung. Es gilt also (I 12 (t) + I 2 (t)) (I 12 (t) + I 1 (t)) + L 0 J(x, t)dx = 0. (5.3) Mit I 1, I 2 bezeichnen wir die Stromanteile an den Strömen in den Enden des Compartments, die aus verteilten Transmembranstrom bestehen. J(x, t) ist die Stromstärke des Transmembranstroms am Punkt x zum Zeitpunkt t. Um der Stromerhaltungsgleichung zu genügen, benutzen wir eine Aufteilungsregel für den verteilten Transmembranstrom. Wir definieren, dass sich die Anteile von J(x, t) so verhalten, wie die axialen Leitfähigkeiten der zugehörigen Teilstücke G 1 (λ), G 2 (λ), für die gilt G 1 (λ) = πg Axr 1 r(λ) λl G 2 (λ) = πg Axr 2 r(λ) (1 λ)l. (5.4) Also ist 1 I i (t) = 1 i+1 L 0 G i (t)j(λ, t) dt, i 1, 2. (5.5) G 1 (t) + G 2 (t) Es ist unmittelbar einsichtig, dass diese Regel die Stromerhaltungsgleichung (5.3) erfüllt. 5.1.2 Komponenten des Membranstroms Bezogen auf das Compartment können wir den Membranstrom als die Summe V 2πrc m t dx + 2πrJ ion (V )dx + J syn (V ) + I EX (5.6) 28

5.1 Das Multi-Compartment-Modell beschreiben. Hierbei wird über die Achse des Compartments integriert. c m ist die spezifische Membrankapazität (F/m 2 ), J ion die Stromstärkedichte der verteilten Ionenströme (A/m 2 ), J syn sind die Synapsenströme (A) und I EX sind externe zeitabhängige Ladungsquellen. 5.1.3 Aufteilung des kapazitativen Stroms Nach (5.5) und (5.2) können wir die Anteile der kapazitativen Ströme schreiben als dv 1 1 = 2πr 1 L r 1 dt I cap +2πr 1 L r 2 dv 2 dt 1 0 1 0 (1 λ) 2 c m (λ)dλ (5.7) (1 λ)r 1 + λr 2 λ(1 λ)c m (λ)dλ, (1 λ)r 1 + λr 2 dv 1 2 = 2πr 1 L r 1 dt I cap 2πr 1 L r 2 dv 2 dt 1 0 1 0 λ(1 λ)c m (λ)dλ (1 λ)r 1 + λr 2 λ 2 c m (λ)dλ. (1 λ)r 1 + λr 2 Die zu berechnenden Integrale In 1 := In 2 := In 3 := 1 0 1 0 1 0 (1 λ) 2 c m (λ)dλ (1 λ)r 1 + λr 2, (5.8) λ(1 λ)c m (λ)dλ (1 λ)r 1 + λr 2, λ 2 c m (λ)dλ (1 λ)r 1 + λr 2 29

5 Diskretisierung bilden das Gleichungssystem In 1 + 2In 2 + In 3 = r 1 In 1 + r 2 In 2 = r 1 In 2 + r 2 In 3 = 1 0 1 0 1 0 c m (λ)dλ (1 λ)r 1 + λr 2, (5.9) (1 λ)c m (λ)dλ, λc m (λ)dλ. Unter Annahme von c m (λ) = (1 λ)c m (0) + λc m (1), c 1 := c m (0), c 2 := c m (1)und r 1 r 2 lässt sich das obere Gleichungssystem eindeutig lösen und ergibt damit die Darstellung I cap 1 =2πLr 1 [c 1 ψ(r 1, r 2 ) + c 2 φ(r 1, r 2 ))] dv 1 dt + 2πL [c 1 r 2 φ(r 1, r 2 ) + c 2 r 1 φ(r 2, r 1 )] dv 2 dt, I cap 2 =2πL [c 1 r 2 φ(r 1, r 2 ) + c 2 r 1 φ(r 2, r 1 )] dv 1 dt + 2πLr 2 [c 1 φ(r 2, r 1 ) + c 2 ψ(r 2, r 1 )] dv 2 dt (5.10) mit x φ(x, y) = 6(x y) 3 ψ(x, y) = x 3y φ(x, y). 2(x y) 2 (x 2 5xy 2y 2 + 6xy2 x y log x ) y, (5.11) Im Fall von zylindrischen, kapazitativ homogenen Compartments kann man In 1, In 2, In 3 direkt integrieren und erhält I cap 1 = 2πrLc ( m 6 I cap 2 = 2πrLc m 6 2 dv 1 dt + dv ) 2, (5.12) dt ( ) dv1 dt + 2dV 2. dt 30

5.2 Zeitliche Diskretisierung 5.1.4 Membran-Ionenströme. Analog zu dem beschriebenen Verfahren approximieren wir die spezifische Leitfähigkeit für eine bestimmte Sorte von Ionenstrom durch die Membran durch g(λ, t) = g 1 (t)(1 λ) + g 2 (t)λ mit g 1 (t) := g(0, t), g 2 (t) := g(1, t). Damit gilt für den nichtzylindrischen Fall I ion 1 =2πLr 1 [g 1 ψ(r 1, r 2 ) + g 2 φ(r 1, r 2 ))] (V 1 E) (5.13) + 2πL [g 1 r 2 φ(r 1, r 2 ) + g 2 r 1 φ(r 2, r 1 )] (V 2 E), I ion 2 =2πL [g 1 r 2 φ(r 1, r 2 ) + g 2 r 1 φ(r 2, r 1 )] (V 1 E) + 2πLr 2 [g 1 φ(r 2, r 1 ) + g 2 ψ(r 2, r 1 )] (V 2 E). Für zylindrische Compartments erhalten wir durch Integration ( 3g1 + g 2 1 = 2πrL 12 ( 3g2 + g 1 I ion I ion 2 = 2πrL 5.2 Zeitliche Diskretisierung 12 (V 1 E) + g 1 + g 2 12 ) (V 2 E) ) (V 2 E) + g 1 + g 2 (V 1 E) 12, (5.14) Indem wir die Kabelgleichungen mithilfe des Multi-Compartment-Modells diskretisieren, erhalten wir ein System von gewöhnlichen Differentialgleichungen für alle Enden von Compartments. Dieses können wir mit dem Staggered-Steps-Verfahren numerisch lösen.. 5.2.1 Staggered Steps Wir bezeichnen beide Enden eines Compartments als Knoten. Sind zwei Compartments direkt verbunden, so identifizieren wir die Knoten, die die einander zugewandten Seiten der verbundenen Compartments repräsentieren. An jedem Knoten gilt die Stromerhaltungsgleichung, die insgesamt in Matrixform dargestellt werden kann. Mit der Trapezregel können wir nun ein Verfahren zweiter Ordnung konstruieren, das stabil ist und ohne die iterative Berechnung der Membranpotentiale auskommt. 31

5 Diskretisierung Wir schränken den Ort von Synapsen und externen Strömen auf die Knoten ein. Die Stromerhaltungsgleichung in Matrixform lautet dann CV A dv dt I EXT α G α (V E α ) β G β (V E β ) = 0. (5.15) Hierbei ist V der Vektor der Membranpotentiale an den Knoten, I EXT sind die externen Stromquellen an den Knoten. A dv enthält nach dem Ausmultiplizieren die dt Terme aus (5.11). Analog enthalten die Summenterme mit G β und G α Ausdrücke für die verteilten Ionen- und Synapsenströme. CV repräsentiert die axialen Ströme an jedem Knoten. Gemäß der Annahme sind die I EXT und G α Diagonalmatrizen mit nichtnegativen Diagonalelementen. Ausgehend von der Matrixdarstellung der Stromerhaltungsgleichung für das Multi-Compartment-Modell können wir ein Lösungsverfahren 2. Ordnung vorschlagen. Aus A dv dt = CV I EXT α G α (V E α ) β G β (V E β ) (5.16) können wir das implizite Euler Verfahren konstruieren mit t 2 = t 1 + t AV (t 2 ) = AV (t 1 ) + t(cv (t 2 ) I EXT (t 2 ) (5.17) α β G α (t 2, V (t 2 ))(V (t 2 ) E α ) G β (t 2, V (t 2 )(V (t 2 ) E β )). Dabei sind in unserem Fall G α nicht von V (t 2 ) abhängig, denn die verwendeten Leitfähigkeit-Funktionen sind nicht von den postsynaptischen Neuronen abhängig. Weiter beträgt die Verzögerung zwischen den synaptischen Seiten von Exp2syn- Synapsen > 0,5 ms, wobei die maximale empfohlene Zeitschrittweite 0,05 ms beträgt, so dass keine Abhängigkeit zu V (t 2 ) zu präsynaptischen Neuronen besteht. Wir erhalten ein Verfahren 2. Ordnung für Ionenkanäle vom Hodgkin-Huxley Typ, wenn wir V (t 2 ) mit V (t 2 ) = 2V (t + t/2) V (t 1 ) berechnen, vorausgesetzt, dass V (t + t/2) mit einem Schritt des expliziten Euler erhalten wurde. Dabei taucht allerdings das Problem auf, die Leitfähigkeiten der Ionenkanäle, G β (t + t/2, V (t + t/2)), zu berechnen, da sie von nichtlinearen Funktionen für 32

5.2 Zeitliche Diskretisierung die Schließ- und Öffnungsraten bestimmt werden. Die Werte der Ratenfunktionen können aber durch n(t+ t/2, V (t + t/2)) = n(t t/2, V (t t/2))+ (5.18) ( ) n(t + t/2) + n(t t/2) t α(v (t)) (α(v (t) + β(v (t))) 2 approximiert werden, ohne die Ordnung des Verfahrens zu reduzieren. Wir approximieren also das Membranpotential durch das Potential zum Zeitpunkt t. Die Abbildung 5.2 veranschaulicht den Ablauf und den Informationsfluss des Verfahrens. Abbildung 5.2: Veranschaulichung der Berechnungsschritte und der verwendeten Zwischenergebnisse. 5.2.2 Die Baummatrix Da in jedem Zeitschritt des Verfahrens ein lineares System gelöst werden muss, wollen wir zusätzlich die Baummatrix einführen. Wir werden zeigen, dass sich die Eigenschaften der Baummatrix verwenden lassen, um das Gleichungssystem direkt zu lösen. Betrachten wir zunächst den Knotenbaum, also einen Baum, bei dem die Kanten gerade die Compartments sind. Wir durchlaufen den Baum mit dem Algorithmus für Tiefensuche. Dabei nummerieren wir jeden besuchten und noch nicht nummerierten Knoten beginnend mit 1 durch. Danach kehren wir die Nummerierung um mit i n-i+1, wobei n die Gesamtanzahl der Knoten ist. Nun stellen wir eine 33

5 Diskretisierung Matrix auf, deren Zeilen und Spalten den Knotenindizes entsprechen und jeweils dort eine 1 haben, wo die entsprechenden Knoten identisch oder durch ein Compartment verbunden sind. Sonstige Elemente der Matrix seien 0. Siehe dazu auch Abbildung 5.3. Abbildung 5.3: Das Schema der Generierung von Baummatrizen. 5.3 Der Löser Neuronale Strukturen weisen bei Verzweigungen nur wenige Zweige auf. Per Konstruktion ist eine Baummatrix demnach dünn besetzt und symmetrisch. Die Nummerierung der Knoten ist so ausgelegt, dass ein Verzweigungsknoten einen höheren Index hat, als die direkten Nachbarn, die weiter vom Startknoten des Knotenbaumes entfernt sind. Sei n die Spaltenanzahl der Baummatrix. Dann befindet sich in jeder der ersten n-1 Spalten genau eine 1 unter der Diagonalen. Wir verwenden die Knotenindizierung aus dem oberen Verfahren, um die Matrizen aus (5.18) aufzustellen. Es tauchen Einträge 0 höchstens da auf, wo Knoten durch Segmente verbunden sind, also dort, wo die Baummatrix bereits 1 hat. 34

5.3 Der Löser Die Gleichung (5.18) formen wir um zu M(t 2 )V (t 2 ) = AV (t 1 ) + t( I EXT (t 2 ) + α G α (t 2 )E α + β G β (t 2 )), (5.19) M(t 2 ) := A + t( α G α (t 2 ) + β G β (t 2 ) C). Per Konstruktion sind die Matrizen A, G α und G β strikt diagonaldominant. C ist diagonaldominant. Also ist M ebenfalls strikt diagonaldominant und hat höchstens dort Elemente 0, wo sie auch in der Baummatrix auftreten. Wir können daher die Gauß-Elimination ohne Pivoting anwenden, um das lineare Gleichungssystem (LGS) zu lösen. Offensichtlich werden in jedem Schritt der Gauß-Elimination keine neuen Elemente 0 an Positionen, die bisher 0 waren, erzeugt. Bei neuronalen Multi-Compartment-Modellen handelt es sich meist um Strukturen mit einer konstanten maximalen Rate von Verzweigungen, so dass die Baummatrix dünn besetzt ist. Deshalb können wir das Gleichungssystem in der Praxis in linearer Zeit lösen. Analog zu dem Knotenbaum erhalten wir für ein Netz aus synaptisch verknüpften Neuronen einen Knotenwald, der aus Knotenbäumen besteht. Die entsprechende Matrix ist blockdiagonal, wobei die Blöcke gerade die Baummatrizen einzelner Neuronen sind. Für das gesamte Netz stellen wir daher ein zu 5.19 äquivalentes LGS auf, das wir mit der Gauß-Elimination ohne Pivoting lösen können. 35

6 Die Implementierung In diesem Kapitel zeigen wir, wie wir den Löser für die Diskretisierung implementiert haben. Wir zeigen, wie man eigene Modelle für die Simulation definieren kann, und wie man die von NeuGen erzeugten Netze importiert. Dazu erklären wir die benötigten Datenstrukturen und Vorgehensweisen. Ein besonderes Augenmerk gilt der Behandlung der Berechnung auf parallelen Computern. Für die Kommunikation zwischen den einzelnen Instanzen des Programms wird ein dezentralisiertes Protokoll verwendet, das den Datenaustausch zwischen den Prozessoren auf effiziente Art regelt. 6.1 Wahl der Programmiersprache Wir haben uns für die Programmiersprache C++ entschieden, weil sich diese Sprache einerseits gut für numerische Anwendungen eignet, andererseits aber auch objektorientiertes Programmieren unterstützt und sich, durch zusätzliche Werkzeuge, gut für Erstellung von parallelisierten Programmen eignet. C++ ist bei numerischen Anwendungen beliebt, weil sie durch Inklusion von C Maschinennähe und entsprechende Optimierungsmöglichkeiten bietet. Durch die Unterstützung des objektorientierten Programmierens eignet sie sich aber auch für größere und ausbaufähige Softwarepakete, die spezifische Ansprüche an Wartbarkeit und Wiederverwertbarkeit des Quellcodes stellen. Weitere nützliche Eigenschaften von C++ sind ihre Ausgereiftheit und die Portabilität des Quellcodes. 6.2 Definition einer Simulation Die Simulation wird als C++ Programm erstellt. Innerhalb der Programmdatei definiert man das Modell oder importiert vorgefertigte Modelldaten, setzt den Löser 36

6.2 Definition einer Simulation auf und exportiert gewählte Daten in Form von Dateien. Zum Beispiel kann man das simulierte Modell ins HOC-Format des Programms NEURON exportieren. 6.2.1 Definition des Modells Die Definition der neuronalen Modelle erfolgt in drei Phasen: 1. Definition von Geometrie und elektrophysiologischen Eigenschaften der Nervenzellen. 2. Verknüpfung von einzelnen Modellen durch Synapsen. 3. Verteilen von Input-Synapsen. Das Modell eines Neurons besteht aus Segmenten, den eigentlichen Compartments, und den post- und präsynaptischen Seiten von Synapsen. Im Folgenden nennen wir Compartments auch Segmente. Die Art, wie ein Modell im Quellcode definiert wird, lehnt sich an die Skriptsprache von NEURON, [1], an. Hier ist ein Beispiel, wie ein simples Modell mit passiver Membran in NEURON definiert werden kann: create soma, dendrite soma { nseg = 1 // Anzahl der Compartments diam = 5 // Durchmesser Ra = 123 // Spezifischen axialen Widerstand setzen // Leere die Punktliste pt3dclear() // Setze die Endpunkte des Soma. pt3dadd(0,0,0,diam) pt3dadd(1,0,0,diam) insert pas // Setze passive Membraneigenschaften g_pas =.0001666 // Spezifische Leitfaehigkeit e_pas = 60.0 // Gleichgewichtspotential } dendrite { nseg = 1 37

6 Die Implementierung pt3dclear() pt3dadd(0,0,0,2) pt3dadd(1,0,0,1) } // Verbinde das Ende 0 des Dendriten // mit dem Ende 1 von Soma. connect dendrite(0), soma(1) Jedes Segment wird durch die 3D-Position seiner Endpunkte sowie die beiden Endradien definiert. Dann setzt man die elektrophysiologischen Eigenschaften der Membran und kann optional zusätzliche Ionenkanäle hinzufügen. Synapsen werden in einem separaten Schritt erzeugt, da sie die Indizes der Segmente und die Knoten im Geometriemodell der Neuronen benötigen. Beispiele für die Definition des Modells in NeuSim können im Anhang nachgelesen werden. 6.2.2 Einlesen von Netzen aus NeuGen Zum Einlesen von Netzen, die von NeuGen erzeugt werden, existiert ein Subsystem von Klassen. NeuGen exportiert die Daten in Form von Geometrien einzelner Neurone und Positionsinformationen für Synapsen in ein Unterverzeichnis namens model. Für Alpha-Synapsen werden zusätzlich die Gewichtung sowie die Zeitpunkte der Aktivierung herausgeschrieben. Der NeuronGeometryImporter liest die Geometriedaten neuronenweise ein. Bei jedem Compartment lässt er Instanzen des SegmentObserver die elektrophysiologischen Eigenschaften initiieren. Als Ausgabe generiert der NeuronGeometryImporter für jedes Neuron ein CompiledNeuronModel. Der SynapsesFileReader liest die Datei synapses und reicht die Daten an den DataTargetContainer weiter, der einen oder mehrere SynapsesHandler enthält, die die weiteren Parameter der Synapsen mithilfe der Daten aus CompiledNeuronModel festlegen. Die Abbildung 6.1 veranschaulicht das Zusammenspiel der Klassen als Blockdiagramm. 38

6.2 Definition einer Simulation Abbildung 6.1: Darstellung der Daten-Pipeline zwischen NeuGen und der Simulation. Abbildung 6.2: UML Diagramm der geometrischen Grundklassen. Durch das Implementieren eigener SynapseHandler und SegmentObserver kann 39

6 Die Implementierung man leicht die elektrophysiologischen Parameter des Modells anpassen. Um den Zugriff auf die geometrischen und elektrophysiologischen Eigenschaften eines Neuronen-Modells zu vereinheitlichen, existieren zwei Basisklassen. So liefert NeuronModelInterface Segment-Informationen in Form von Objekten der Klasse Segment. Das SimpleModelSegment besitzt zusätzlich die Möglichkeit Anfangs- und Endpunkte eines Segmentes anzugeben. Abbildung 6.2 zeigt das UML-Klassendiagramm der Klassen, die für die Darstellung und Definition der Geometrie notwendig sind 6.3 Der Löser Wie oben ausgeführt, muss in jedem Zeitschritt das Gleichungssystem M(t 2 )V (t 2 ) = AV (t 1 ) + t( I EXT (t 2 ) + α G α (t 2 )E α + β G β (t 2 )), (6.1) M(t 2 ) = A + t( α G α (t 2 ) + β G β (t 2 ) C). aufgestellt und gelöst werden. Dabei ist M(t 2 ) eine strikt diagonaldominante blockdiagonale Matrix. Damit sind die Lösungen für einzelne Neuronen von den Lösungen anderer Neurone unabhängig. Der lokale Löser für jede Zelle wird durch ein Objekt der Klasse StaggedSolver repräsentiert. Er arbeitet auf einem äquidistanten Zeitgitter. Bei der Konstruktion des Lösers übergibt man ihm eine eindeutige Identifikationsnummer sowie die Zeitschrittweite des Zeitgitters. Mit der Funktion addhht- MembraneMechanism() des Lösers sollte man die Mechanismen der Ionenkanäle, die man vorher bei der Definition des Modell benutzt hat, in den Löser einfügen. Macht man dies nicht, so werden sie bei der Simulation nicht verwendet. Synapsen werden mit addsynapses(), ebenfalls einer Funktion von StaggedSolver, hinzugefügt. Das fertige Compartment-Modell wird mit setmodel() in den Löser geladen. Wenn es das SimpleModel ist, wird es kompiliert, es werden also Knoten erzeugt und durchnummeriert. 40

6.3 Der Löser Abbildung 6.3: UML Diagramm der Klasse StaggedSolver und der referenzierten Klassen der Synapsen und Ionenkanälen von Typ Hodgkin-Huxley. Das Membranpotential setzt man, indem man es als Vektor mit getv() holt. Dieser Vektor enthält Membranpotentiale an allen Knoten des Modells, wobei die Indizes den Knoten-Indizes entsprechen. Das geänderte Membranpotential wird mit setv() in den Löser geladen. Ein Simulationsschritt auf dem Zeitgitter wird mit trace() angestoßen. Innerhalb dieser Funktion wird erst geprüft, ob alle postsynaptischen Seiten aktuell sind, Synapses::upToDate(), also eventuelle Signale von den präsynaptischen Neuronen erhalten haben. Wenn ja, so wird der nächs- 41

6 Die Implementierung te Simulationsschritt durchgeführt. Dabei werden die Stati von Ionenkanälen und Synapsen mit HHTStateCalc::staggedStep() und Synapses::step() berechnet. Am Ende wird die update() Funktion der synaptischen Seiten angestoßen, um die Signale von den präsynaptischen an die postsynaptische Neuronen zu senden. Die Abbildung 6.3 zeigt das UML-Modell der Klassen, auf die StaggedSolver zugreift. Für Matrixoperationen des Lösers wird die Klasse SparseRowMatrix benutzt. Diese ermöglicht das effiziente Speichern von dünn besetzen Matrizen, wie sie im Lösungsverfahren auftauchen. Die Klasse ermöglicht simple Matrixoperationen wie die Addition und Subtraktion, sowie skalare und rechtsseitige Vektormultiplikation. Die interne Struktur der Matrix ist zeilenorientiert. Ein Array von Zeigern verweist auf die Zeilen. Diese werden jeweils als ein Vector der Standard Template Library (STL) von C++ gespeichert. Jedes Element der Matrix wird durch ein Paar (Spaltenindex, Wert) repräsentiert. Die Werte werden innerhalb der Zeilenvektoren nach dem Spaltenindex sortiert gespeichert, so dass die Suchzeit für einen Eintrag in einer gegebenen Spalte maximal logarithmisch in der Zeilengröße ist. Die Abbildung 6.4 zeigt das Speicherformat der Matrixklasse. Abbildung 6.4: Implementation der Matrix Klasse. Da in unserer Anwendung die meisten Compartments sich nicht direkt an Verzweigungen befinden, werden meistens nur zwei Zahlen pro Zeile der beteiligten Matrizen gespeichert. Deswegen ist die Zugriffszeit auf die Matrixelemente hier ungefähr konstant. Ein Vorteil der Speicherung in einem STL-Vektor ist der geringe Speicherverbrauch und die Möglichkeit eine Zeile zu vergrößern, zu verkleinern oder zusätzliche Elemente einzufügen. Ein Nachteil ist, dass eine Änderung der Zeilenstruktur potentiell sehr teuer werden kann. Der Hauptgrund ist, dass es bei der Vergrößerung eines STL-Vectors passieren kann, dass dem STL-Vector ein neuer Speicherbereich 42

6.3 Der Löser für die Daten zugewiesen wird, wenn der alte nicht ausreicht. Anschließend werden die Daten kopiert. Dieses Problem ist für uns nicht gegeben, denn unsere Zeilen sind typischerweise sehr klein (zwei Werte). Um neue Matrizen zu initialisieren empfiehlt es sich daher, die betroffene Zeile extern zu konstruieren und sie dann in die Matrix einzufügen. Dies passt zu den Anforderungen des StaggedSolvers, der bei der Konstruktion von Matrizen den Knotenbaum durchläuft und jeweils nur die Compartments berücksichtigt, die durch den jeweiligen Knoten verbunden sind. Ein Nachteil durch das Array von Zeilenzeigern ist die potentiell erhöhte Anzahl der Cache Misses, weil die Matrixklasse an sich keine zusammenhängende Allokierung der Zeilen erzwingt. In modernen Rechnern werden die oft benutzten Daten aus dem Hauptspeicher im schnelleren aber kleineren Cache-Speicher zwischengelagert, so dass die CPU schneller darauf zugreifen kann. Beim Laden eines kleinen Speicher-Bereiches in das Cache wird vorsorglich auch der umgebende Speicherbereich mitgeladen. Im Extremfall wird also in unserem Fall beim Zugriff auf eine Zeile nur diese eine Zeile in den Cache-Speicher geladen, was Verschwendung von Laufzeit bedeutet. Eine einfache Lösung ist, bei der externen Konstruktion von Zeilen darauf zu achten, dass die Zeilen in einem zusammenhängenden Speicherbereich reserviert werden. 43

6 Die Implementierung 6.4 Parallelisierung Für die Parallelisierung haben wir uns für das Message Passing Interface (MPI) entschieden, weil diese Bibliothek für paralleles Programmieren weit verbreitet, sehr ausgereift ist und ständig weiterentwickelt und gewartet wird. Außerdem hat sie eine gute Anbindung an C/C++. Ein MPI-Knoten ist typischerweise ein Computer in einem Rechnerverbund (Cluster), auf dem unter Zuhilfenahme von MPI ein Teil des Programms ausgeführt wird. Die Kommunikation zwischen den einzelnen MPI-Knoten wird über ein Netzwerk vermittelt. Es existieren auch Mehrprozessorsysteme, bei denen mehrere Hauptprozessoren in einem Computer stecken. Hier wird die Kommunikation über interne Bussysteme des jeweiligen Computers ausgeführt. Sehr weit verbreitet sind Mischformen, Mehrprozessor-Systeme mit Netzwerk Verbindungen zwischen den einzelnen Computern. Die Abbildung 6.5 zeigt ein Beispiel für ein Cluster aus zwei Computern mit je zwei Prozessorkernen. Abbildung 6.5: Schematische Darstellung eines Clusters bestehend aus 2 Computern mit je 2 Prozessoren. 6.4.1 Das MPI Programmiermodell In MPI wird die Kommunikation zwischen Prozessoren, auch Knoten genannt, in Form von Nachrichten abgewickelt. Möchte man Informationen vom MPI-Knoten A zu MPI-Knoten B übermitteln, so sendet A eine Nachricht als Inhalt eines Speicherbereiches an B, indem sie eine Send-Funktion von MPI aufruft. Entsprechend ruft B eine Receive-Funktion mit einem freien Speicherbereich auf, damit das 44

6.4 Parallelisierung MPI die gesendeten Daten dorthin schreibt. Nun gibt es zwei Unterformen solcher Funktionen, nichtblockierende und blockierende. Nichtblockierende Operationen terminieren ohne abzuwarten, ob eine Nachricht beim Empfänger angekommen ist. Blockierende Operationen dagegen warten, bis der Kommunikationsvorgang abgeschlossen ist. 6.4.2 Parallele Kommunikation In der parallelen Version des Programms zur Berechnung der Potentiale werden einzelne Neuronenmodelle auf die einzelnen Rechner (MPI-Knoten) verteilt. Jeder Knoten berechnet in einem Zeitschritt die zugeordneten Neuronen. Die genaue Zuordnung wird in einem Vorverarbeitungsschritt per Python-Skript und Neukompilierung des Programms festgelegt. Dabei wird pro MPI-Knoten ein Objekt der Klasse AddressBook angelegt, eine Tabelle, die den Neuronen-Indizes die MPI- Knoten-Indizes zuordnet. Pro Knoten wird je ein Objekt der Klasse PostOffice angelegt, das die Details der Kommunikation vor StaggedSolver verbirgt, so dass diese für Neuronen transparent ist. Es ist für sie als Klienten von PostOffice völlig egal, welche Neuronen auf welchen Rechnern liegen, und ob das Programm überhaupt parallel oder seriell ausgeführt wird. Sie schicken ihre Daten an andere Neuronen per PostOffice.sendBuffer() oder geben bekannt, dass sie Daten empfangen möchten mit PostOffice.receiveBuffer(). PostOffice benutzt nicht blockierende Funktionen des MPI, Isend() und Irecv(), um die Daten, wenn nötig, per Netzwerk an andere Prozessoren zu schicken oder zu empfangen. Die Abbildung 6.6 stellt beispielhaft die Kommunikation zwischen drei Neuronen dar. 45

6 Die Implementierung Abbildung 6.6: Kommunikationablauf im Falle, dass Neuron1 synaptische Signale an Neuron 2 und Neuron 3 sendet. Sind die Daten auf dem empfangenden MPI-Knoten angekommen, so werden die Neuronen, die diese empfangen möchten, vom PostOffice per notifyreceive() benachrichtigt. Durch diese Organisation und die Verwendung nichtblockierender Funktionen zur Kommunikation müssen Neuronen, die bereits genug Daten für den nächsten Zeitschritt der Simulation erhalten haben, nicht auf die anderen warten. Dadurch ergibt sich eine effizientere CPU-Nutzung. In der ersten Implementierung von PostOffice bewirkte jedes sendbuffer() bzw. receivebuffer() mit dem Ziel bzw. Quelle auf einem anderen Prozessor genau einen Isend() bzw. Irecv() Aufruf. Das Problem dabei ist der Aufwand für die parallele Kommunikation bei Netzen, bei denen es zu einem Neuronen viele präsynaptische Neuronen gibt, von denen viele von ihnen sich auf anderen Prozessoren befinden. Die aktuelle Implementierung von PostOffice fasst die Nachrichten prozessorweise zusammen, so dass sehr viel weniger MPI-Aufrufe und Netzwerkoperationen notwendig sind. Die zentrale Methode von PostOffice ist trytodeliver(). Hier geschieht das Zusammenfassen von Anfragen an andere MPI-Knoten sowie das Testen des Status solcher Anfragen. 46