Concurrent Programming Algorithms Principles and Foundations

Author: Michel Raynal
Publisher: Springer Science & Business Media
ISBN: 9783642320279
Release Date: 2012-12-30
Genre: Computers

This book is devoted to the most difficult part of concurrent programming, namely synchronization concepts, techniques and principles when the cooperating entities are asynchronous, communicate through a shared memory, and may experience failures. Synchronization is no longer a set of tricks but, due to research results in recent decades, it relies today on sane scientific foundations as explained in this book. In this book the author explains synchronization and the implementation of concurrent objects, presenting in a uniform and comprehensive way the major theoretical and practical results of the past 30 years. Among the key features of the book are a new look at lock-based synchronization (mutual exclusion, semaphores, monitors, path expressions); an introduction to the atomicity consistency criterion and its properties and a specific chapter on transactional memory; an introduction to mutex-freedom and associated progress conditions such as obstruction-freedom and wait-freedom; a presentation of Lamport's hierarchy of safe, regular and atomic registers and associated wait-free constructions; a description of numerous wait-free constructions of concurrent objects (queues, stacks, weak counters, snapshot objects, renaming objects, etc.); a presentation of the computability power of concurrent objects including the notions of universal construction, consensus number and the associated Herlihy's hierarchy; and a survey of failure detector-based constructions of consensus objects. The book is suitable for advanced undergraduate students and graduate students in computer science or computer engineering, graduate students in mathematics interested in the foundations of process synchronization, and practitioners and engineers who need to produce correct concurrent software. The reader should have a basic knowledge of algorithms and operating systems.

Nichtsequentielle und Verteilte Programmierung mit Go

Author: Christian Maurer
Publisher: Springer-Verlag
ISBN: 9783658211530
Release Date: 2018-06-29
Genre: Computers

Der Band bietet eine kompakte Einführung in die Nichtsequentielle Programmierung als gemeinsamen Kern von Vorlesungen über Betriebssysteme, Verteilte Systeme, Parallele Algorithmen, Echtzeitprogrammierung und Datenbanktransaktionen. Basiskonzepte zur Synchronisation und Kommunikation nebenläufiger Prozesse werden systematisch dargestellt: Schlösser, Semaphore, Monitore, lokaler und netzweiter Botschaftenaustausch. Die Algorithmen sind in der Programmiersprache Google Go formuliert, mit der viele Synchronisationskonzepte ausgedrückt werden können.

Algorithmen Eine Einf hrung

Author: Thomas H. Cormen
Publisher: Walter de Gruyter GmbH & Co KG
ISBN: 9783110522013
Release Date: 2013-01-01
Genre: Computers

Der "Cormen" bietet eine umfassende und vielseitige Einführung in das moderne Studium von Algorithmen. Es stellt viele Algorithmen Schritt für Schritt vor, behandelt sie detailliert und macht deren Entwurf und deren Analyse allen Leserschichten zugänglich. Sorgfältige Erklärungen zur notwendigen Mathematik helfen, die Analyse der Algorithmen zu verstehen. Den Autoren ist es dabei geglückt, Erklärungen elementar zu halten, ohne auf Tiefe oder mathematische Exaktheit zu verzichten. Jedes der weitgehend eigenständig gestalteten Kapitel stellt einen Algorithmus, eine Entwurfstechnik, ein Anwendungsgebiet oder ein verwandtes Thema vor. Algorithmen werden beschrieben und in Pseudocode entworfen, der für jeden lesbar sein sollte, der schon selbst ein wenig programmiert hat. Zahlreiche Abbildungen verdeutlichen, wie die Algorithmen arbeiten. Ebenfalls angesprochen werden Belange der Implementierung und andere technische Fragen, wobei, da Effizienz als Entwurfskriterium betont wird, die Ausführungen eine sorgfältige Analyse der Laufzeiten der Programme mit ein schließen. Über 1000 Übungen und Problemstellungen und ein umfangreiches Quellen- und Literaturverzeichnis komplettieren das Lehrbuch, dass durch das ganze Studium, aber auch noch danach als mathematisches Nachschlagewerk oder als technisches Handbuch nützlich ist. Für die dritte Auflage wurde das gesamte Buch aktualisiert. Die Änderungen sind vielfältig und umfassen insbesondere neue Kapitel, überarbeiteten Pseudocode, didaktische Verbesserungen und einen lebhafteren Schreibstil. So wurden etwa - neue Kapitel zu van-Emde-Boas-Bäume und mehrfädigen (engl.: multithreaded) Algorithmen aufgenommen, - das Kapitel zu Rekursionsgleichungen überarbeitet, sodass es nunmehr die Teile-und-Beherrsche-Methode besser abdeckt, - die Betrachtungen zu dynamischer Programmierung und Greedy-Algorithmen überarbeitet; Memoisation und der Begriff des Teilproblem-Graphen als eine Möglichkeit, die Laufzeit eines auf dynamischer Programmierung beruhender Algorithmus zu verstehen, werden eingeführt. - 100 neue Übungsaufgaben und 28 neue Problemstellungen ergänzt. Umfangreiches Dozentenmaterial (auf englisch) ist über die Website des US-Verlags verfügbar.

Compiler

Author: Alfred V. Aho
Publisher: Pearson Deutschland GmbH
ISBN: 3827370973
Release Date: 2008
Genre: Compiler


Distributed Computing

Author: Yehuda Afek
Publisher: Springer
ISBN: 9783642415272
Release Date: 2013-10-04
Genre: Computers

This book constitutes the proceedings of the 27th International Symposium on Distributed Computing, DISC 2013, held in Jerusalem, Israel, in October 2013. The 27 full papers presented in this volume were carefully reviewed and selected from 142 submissions; 16 brief announcements are also included. The papers are organized in topical sections named: graph distributed algorithms; topology, leader election, and spanning trees; software transactional memory; shared memory executions; shared memory and storage; gossip and rumor; shared memory tasks and data structures; routing; radio networks and the SINR model; crypto, trust, and influence; and networking.

Stabilization Safety and Security of Distributed Systems

Author: Taisuke Izumi
Publisher: Springer
ISBN: 9783030032326
Release Date: 2018-10-25
Genre: Computers

This book constitutes the refereed proceedings of the 20th International Symposium on Stabilization, Safety, and Security of Distributed Systems, SSS 2018, held in Tokyo, Japan, in November 2018. The 24 revised full papers presented were carefully reviewed and selected from 55 submissions. The papers are organized into three tracks reflecting major trends related to distributed systems: theoretical and practical aspects of stabilizing systems; distributed networks and concurrency; and safety in malicious environments.

Euro Par 2015 Parallel Processing Workshops

Author: Sascha Hunold
Publisher: Springer
ISBN: 9783319273082
Release Date: 2015-12-17
Genre: Computers

This book constitutes the thoroughly refereed post-conference proceedings of 12 workshops held at the 21st International Conference on Parallel and Distributed Computing, Euro-Par 2015, in Vienna, Austria, in August 2015. The 67 revised full papers presented were carefully reviewed and selected from 121 submissions. The volume includes papers from the following workshops: BigDataCloud: 4th Workshop on Big Data Management in Clouds - Euro-EDUPAR: First European Workshop on Parallel and Distributed Computing Education for Undergraduate Students - Hetero Par: 13th International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms - LSDVE: Third Workshop on Large Scale Distributed Virtual Environments - OMHI: 4th International Workshop on On-chip Memory Hierarchies and Interconnects - PADAPS: Third Workshop on Parallel and Distributed Agent-Based Simulations - PELGA: Workshop on Performance Engineering for Large-Scale Graph Analytics - REPPAR: Second International Workshop on Reproducibility in Parallel Computing - Resilience: 8th Workshop on Resiliency in High Performance Computing in Clusters, Clouds, and Grids - ROME: Third Workshop on Runtime and Operating Systems for the Many Core Era - UCHPC: 8th Workshop on UnConventional High Performance Computing - and VHPC: 10th Workshop on Virtualization in High-Performance Cloud Computing.

Programmieren mit Scala

Author: Dean Wampler
Publisher: O'Reilly Germany
ISBN: 9783897216488
Release Date: 2010-10-31
Genre: Computers

Sie ist elegant, schlank, modern und flexibel: Die Rede ist von Scala, der neuen Programmiersprache für die Java Virtual Machine (JVM). Sie vereint die Vorzüge funktionaler und objektorientierter Programmierung, ist typsicherer als Java, lässt sich nahtlos in die Java-Welt integrieren – und eine in Scala entwickelte Anwendung benötigt oft nur einen Bruchteil der Codezeilen ihres Java-Pendants. Kein Wunder, dass immer mehr Firmen, deren große, geschäftskritische Anwendungen auf Java basieren, auf Scala umsteigen, um ihre Produktivität und die Skalierbarkeit ihrer Software zu erhöhen. Das wollen Sie auch? Dann lassen Sie sich von den Scala-Profis Dean Wampler und Alex Payne zeigen, wie es geht. Ihre Werkzeugkiste: Schon bevor Sie loslegen, sind Sie weiter, als Sie denken: Sie können Ihre Java-Programme weiter verwenden, Java-Bibliotheken nutzen, Java von Scala aus aufrufen und Scala von Java aus. Auch Ihre bevorzugten Entwicklungswerkzeuge wie NetBeans, IntelliJ IDEA oder Eclipse stehen Ihnen weiter zur Verfügung, dazu Kommandozeilen-Tools, Plugins für Editoren, Werkzeuge von Drittanbietern – und natürlich Ihre Programmiererfahrung. In Programmieren mit Scala erfahren Sie, wie Sie sich all das zunutze machen. Das Hybridmodell: Die Paradigmen "funktional" und "objektorientiert" sind keine Gegensätze, sondern ergänzen sich unter dem Scala-Dach zu einem sehr produktiven Ganzen. Nutzen Sie die Vorteile funktionaler Programmierung, wann immer sich das anbietet – und seien Sie so frei, auf die guten alten Seiteneffekte zu bauen, wenn Sie das für nötig halten. Futter für die Profis: Skalierbare Nebenläufigkeit mit Aktoren, Aufzucht und Pflege von XML mit Scala, Domainspezifische Sprachen, Tipps zum richtigen Anwendungsdesign – das sind nur ein paar der fortgeschrittenen Themen, in die Sie mit den beiden Autoren eintauchen. Danach sind Sie auch Profi im Programmieren mit Scala.

Rechnerorganisation und Rechnerentwurf

Author: David Patterson
Publisher: Walter de Gruyter GmbH & Co KG
ISBN: 9783110446067
Release Date: 2016-05-24
Genre: Computers

Mit der deutschen Übersetzung zur fünfter Auflage des amerikanischen Klassikers Computer Organization and Design - The Hardware/Software Interface ist das Standardwerk zur Rechnerorganisation wieder auf dem neusten Stand - David A. Patterson und John L. Hennessy gewähren die gewohnten Einblicke in das Zusammenwirken von Hard- und Software, Leistungseinschätzungen und zahlreicher Rechnerkonzepte in einer Tiefe, die zusammen mit klarer Didaktik und einer eher lockeren Sprache den Erfolg dieses weltweit anerkannten Standardwerks begründen. Patterson und Hennessy achten darauf, nicht nur auf das "Wie" der dargestellten Konzepte, sondern auch auf ihr "Warum" einzugehen und zeigen damit Gründe für Veränderungen und neue Entwicklungen auf. Jedes der Kapitel steht für einen deutlich umrissenen Teilbereich der Rechnerorganisation und ist jeweils gleich aufgebaut: Eine Einleitung, gefolgt von immer tiefgreifenderen Grundkonzepten mit steigernder Komplexität. Darauf eine aktuelle Fallstudie, "Fallstricke und Fehlschlüsse", Zusammenfassung und Schlussbetrachtung, historische Perspektiven und Literaturhinweise sowie Aufgaben. In der neuen Auflage sind die Inhalte in den Kapiteln 1-5 an vielen Stellen punktuell verbessert und aktualisiert, mit der Vorstellung neuerer Prozessoren worden, und der Kapitel 6... from Client to Cloud wurde stark überarbeitetUmfangreiches Zusatzmaterial (Werkzeuge mit Tutorien etc.) stehtOnline zur Verfügung.

Moderne Betriebssysteme

Author: Andrew S. Tanenbaum
Publisher: Pearson Deutschland GmbH
ISBN: 3827373425
Release Date: 2009
Genre: Betriebssystem


Formale Modelle der Softwareentwicklung

Author: Stephan Kleuker
Publisher: Springer-Verlag
ISBN: 9783834895950
Release Date: 2009-10-22
Genre: Computers

Software muss funktionieren, um von Kunden akzeptiert zu werden. Doch wie stellt man sicher, dass die Steuerung eines Raumschiffs, eines Herzschrittmachers oder einer Aktienverwaltung korrekt funktioniert? Neben den klassischen Testansätzen spielen für den Korrektheitsnachweis zunehmend formale Modelle eine zentrale Rolle. Ein Modell erlaubt es, ein beliebiges sequenzielles oder verteiltes System zu analysieren und zu simulieren. Dadurch, dass Korrektheitsanforderungen präzise definiert werden, kann man sogar verifizieren, dass die Anforderungen erfüllt sind. Dieses Buch stellt unterschiedliche formale Modelle mit ihren Einsatzmöglichkeiten und Werkzeugen vor. Dabei steht bewusst die Anwendung der Modelle und nicht die Theorie dahinter im Vordergrund.

UML Classroom

Author: Martina Seidl
Publisher: dpunkt.verlag
ISBN: 9783864911750
Release Date: 2012-10-19
Genre: Computers

Dieses Lehrbuch vermittelt die Grundlagen der objektorientierten Modellierung anhand von UML und bietet eine kompakte Einführung in die fünf Diagramme Klassendiagramm, Anwendungsfalldiagramm, Zustandsdiagramm, Sequenzdiagramm und Aktivitätsdiagramm. Diese decken die wesentlichen Konzepte ab, die für die durchgängige objektorientierte Modellierung in einem kompletten Softwareentwicklungsprozess benötigt werden. Besonderer Wert wird auf die Verdeutlichung des Zusammenspiels unterschiedlicher Diagramme gelegt. Die präsentierten Konzepte werden anhand von illustrativen Beispielen erklärt.