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...
Saved in:
Online Access: |
Full Text (via Taylor & Francis) |
---|---|
Main Author: | |
Other Authors: | |
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