Implementing Parallel and Distributed Systems [electronic resource]

The book examines practices that underly the development of the vast majority of parallel and distributed systems particularly IoT, Grid/Cloud Computing, and supercomputers. Computer architecture, operating systems, and parallel programming techniques as well as models for many-core processors, supe...

Full description

Saved in:
Bibliographic Details
Online Access: Full Text (via Taylor & Francis)
Main Author: Poshtkohi, Alireza
Other Authors: Ghaznavi-Ghoushchi, M. B.
Format: Electronic eBook
Language:English
Published: Milton : Auerbach Publishers, Incorporated, 2023.
Subjects:
Table of Contents:
  • Cover
  • Half Title
  • Title Page
  • Copyright Page
  • Dedication
  • Table of Contents
  • Preface
  • Acknowledgement
  • Authors
  • Chapter 1: Introduction
  • 1.1 Introduction
  • 1.2 History of Computing
  • 1.2.1 Analogue Computers
  • 1.2.2 Digital Computers: Modern Hardware Advances in Computer Architectures
  • 1.3 A Brief Introduction to Parallel and Distributed Systems
  • 1.4 Conclusion
  • Notes
  • Reference
  • Chapter 2: IoT and Distributed Systems
  • 2.1 Introduction
  • 2.2 CPS and IoT
  • 2.3 Internet of Things (IoT)
  • 2.4 Distributed Systems and Distributed Computing via IoT
  • Reference
  • Chapter 3: Advanced Operating System Concepts in Distributed Systems Design
  • 3.1 Introduction
  • 3.2 An Introduction to Modern Operating Systems
  • 3.2.1 Process Management
  • 3.2.2 Memory Management
  • 3.2.3 Storage Management (SM)
  • 3.2.4 Userspace and Kernel Space
  • 3.3 Memory Hierarchy Models
  • 3.3.1 Main Memory
  • 3.4 A Brief Review on Modern OS Kernels
  • 3.4.1 Microkernel Operating System
  • 3.4.2 Monolithic Operating System
  • 3.4.3 Hybrid Operating System
  • 3.4.4 Exokernel Operating System
  • 3.4.5 Object-Oriented Operating System (O3S)
  • 3.4.6 Language-Based Operating System (LOS)
  • 3.4.7 System Calls to Request Linux and Windows OS Services
  • 3.4.8 System Calls in the Linux Operating System
  • 3.4.9 Costs Due to the Mode Switch of System Calls
  • 3.4.10 Costs Due to the Footprints of System Calls
  • 3.4.11 Effect of System Calls on the Userspace IPC
  • 3.4.12 Critical Overheads due to Frequent Copies
  • 3.4.13 System Calls in the Windows Operating System
  • 3.4.14 Timeline of Operating System Evolution
  • Chapter 4: Parallelism for the Many-Core Era: Hardware and Software Perspectives
  • 4.1 Introduction
  • 4.2 Exploiting Instruction-Level Parallelism (ILP) by Hardware and Software Approaches
  • 4.2.1 Superscalar Processors
  • 4.2.2 The Downside of Instruction-Level Parallelism and Power Consumption Problem
  • 4.3 Thread-Level Parallelism (TLP) and Multi-Processor and Multi-Core Parallelism
  • 4.3.1 Introduction
  • 4.3.2 Thread-Level Parallelism
  • 4.3.3 Multi-Processor Parallelism
  • 4.3.4 Multi-Core Parallelism
  • 4.4 Heterogenous Computing on Many Cores
  • 4.5 Latest Optimal Approaches in Synchronisation
  • 4.5.1 Deadlock
  • 4.5.2 Race Condition
  • 4.5.3 Priority Inversion
  • 4.5.4 Starvation
  • 4.5.5 Livelock
  • 4.5.6 Convoying
  • 4.6 Installation Steps of the Integrated Development Environment (IDE) Code::Blocks on Unix-Like Operating Systems Such as Linux
  • References
  • Chapter 5: Parallelisation for the Many- Core Era: A Programming Perspective
  • 5.1 Introduction
  • 5.2 Building Cross-Platform Concurrent Systems Utilising Multi-Threaded Programming on Top of the Parvicursor.NET Framework for Distributed Systems
  • 5.2.1 Introduction
  • 5.2.2 Thread Creation and Management in the Parvicursor.NET Framework