www.wikidata.de-de.nina.az
Die Nebenlaufigkeit mitunter auch Parallelitat englisch concurrency genannt ist in der Informatik die Eigenschaft eines Systems mehrere Aufgaben Berechnungen Anweisungen oder Befehle gleichzeitig ausfuhren zu konnen Es kann sich dabei um vollig unabhangige Anweisungen handeln bis hin zur gemeinsamen Bearbeitung einer Aufgabe Sie konnen dabei auch miteinander interagieren z B um Zwischenergebnisse auszutauschen Beim Philosophenproblem engl Dining Philosophers Problem handelt es sich um ein Fallbeispiel aus dem Bereich der Theoretischen Informatik Dieser Artikel oder Abschnitt bedarf einer grundsatzlichen Uberarbeitung Naheres sollte auf der Diskussionsseite angegeben sein Bitte hilf mit ihn zu verbessern und entferne anschliessend diese Markierung Die Operationen konnen dabei nur scheinbar nebenlaufig parallel beispielsweise im sogenannten Multitasking auf einem Prozessor ausgefuhrt werden oder auch echt nebenlaufig beispielsweise auf einem Mehrkernprozessor oder auf einem Rechnerverbund bestehend aus mehreren getrennten und uber ein Netzwerk verbundenen Computern Die Grenze zum Parallelrechner im eigentlichen Sinne ist bei den Ansatzen zur echten Parallelitat fliessend Nebenlaufige Prozesse konnen u a durch Parallel Random Access Machines Message passing oder Petri Netze beschrieben und analysiert werden Inhaltsverzeichnis 1 Engere Begriffsauffassung 2 Parallelisierbarkeit und Serialisierbarkeit 3 Siehe auch 4 Literatur 5 EinzelnachweiseEngere Begriffsauffassung BearbeitenMitunter wird auch exakter unterschieden zwischen nebenlaufiger Behandlung englisch concurrency und Parallelverarbeitung englisch parallelism Die nebenlaufige Behandlung wird dann vor allem als ein Konzept verstanden reale Vorgange abzubilden das auch sinnvoll ist wenn zur Ausfuhrung nur ein einziger CPU Kern zur Verfugung steht im Gegensatz dazu fokussiert in diesem Begriffsverstandnis die Parallelverarbeitung auf echt gleichzeitige Mehrkern Berechnung meist eines Problems 1 Parallelisierbarkeit und Serialisierbarkeit BearbeitenSind Ablaufschritte so voneinander abhangig dass sie in einer festen Reihenfolge nacheinander ausgefuhrt werden mussen sodass es nicht moglich ist sie nebenlaufig auszufuhren dann sind sie nicht parallelisierbar Mussen Ablaufe echt gleichzeitig stattfinden so dass es absolut keine Moglichkeit gibt sie nacheinander auszufuhren so sind sie nicht serialisierbar Die Parallelisierbarkeit zweier oder mehrerer Abschnitte oder Iterationen eines Ablaufs oder von Ereignissen ist die Beurteilung ob diese nebenlaufig ausgefuhrt berechnet werden konnen ohne zu einem abweichenden Resultat zu fuhren Aktionen konnen nebenlaufig ausgefuhrt werden wenn keine das Resultat des anderen benotigt Wolfgang Schroder Preikschat Vortrag Systemprogrammierung Prozesssynchronisation Nichtsequentialitat 2 Die Programmabschnitte durfen also nicht kausal voneinander abhangen Anders ausgedruckt sind mehrere Transaktionen oder Prozesse Threads genau dann parallelisierbar wenn die parallele verzahnte oder in umgekehrter Reihenfolge stattfindende Ausfuhrung zum selben Resultat fuhrt wie das sequentielle Ausfuhren Sind die Programmabschnitte teilweise voneinander abhangig so mussen sie bezuglich dieser Abhangigkeiten synchronisiert werden was eine Sequentialisierung bzgl dieser Abhangigkeit bewirkt Viele praxisrelevante Probleme besitzen Losungsverfahren die direkt in einen parallelen Algorithmus umgesetzt werden konnen Man sagt in diesem Fall dass das Problem eine naturliche Parallelitat besitzt B Monien J Schulze S Grothklags Parallele Algorithmen 3 Verfahren zur Parallelisierung sind 4 Binarbaummethode list ranking pointer doubling parallel prefix symmetry breaking Gebietszerlegung engl domain decomposition Siehe auch BearbeitenPhilosophenproblem Multitasking Parallele Programmierung Paralleler Algorithmus Race ConditionLiteratur BearbeitenPeter Ziesche Nebenlaufige amp verteilte Programmierung W3L 2004 ISBN 3 937137 04 1 Douglas Schmidt Michael Stal Hans Rohnert Frank Buschmann Pattern orientierte Softwarearchitektur Muster fur nebenlaufige und vernetzte Objekte dpunkt 2002 ISBN 3 89864 142 2 Einzelnachweise Bearbeiten Rob Pike Concurrency Is Not Parallelism Youtube 20 Oktober 2013 Systemprogrammierung Prozesssynchronisation Nichtsequentialitat Wolfgang Schroder Preikschat Lehrstuhl Informatik 4 6 November 2013 Parallele Algorithmen B Monien J Schulze S Grothklags Skriptum Uni Paderborn 2001 mit umfangreichem Literaturverzeichnis Spezialvorlesung Parallele Algorithmen Uni Potsdam Didaktik der Informatik Abgerufen von https de wikipedia org w index php title Nebenlaufigkeit amp oldid 223026835