Distributed Systems Lecture Notes 2024/2025 PDF

Document Details

ClearedCarnelian5798

Uploaded by ClearedCarnelian5798

Technical University of Košice

2024

Martin Tomášek

Tags

distributed systems computer science lecture notes distributed computing

Summary

These lecture notes discuss distributed systems, covering topics like basic concepts, motivation, and types of systems. The notes are from the Technical University of Košice for the 2024-2025 academic year. The primary keywords are distributed systems and computer science.

Full Transcript

DISTRIBUTED SYSTEMS Basic Concepts Lecture #1 doc. Ing. Martin Tomášek, PhD. Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice 2024/2025...

DISTRIBUTED SYSTEMS Basic Concepts Lecture #1 doc. Ing. Martin Tomášek, PhD. Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice 2024/2025 1 DISTRIBUTED SYSTEMS Overview Decentralization and distribution Distributed systems perspectives Design goals Types of distributed systems Lecture #1: Basic Concepts 3 DISTRIBUTED SYSTEMS Motivation for distributed systems Computer networks (LAN, WAN) Portable/mobile computers, smartphones Embedded systems … It is difficult to think of computer systems that are not networked Lecture #1: Basic Concepts 4 2 DISTRIBUTED SYSTEMS Decentralized vs. distributed (1) How computers became connected to each other in the first place? Integrative view – need to connect existing computers Expansive view – existing computers require extensions Decentralized system Networked computer system in which processes and resources are necessarily spread across multiple computers Blockchain, controlling systems, federative learning, … Distributed system Networked computer system in which processes and resources are sufficiently spread across multiple computers Scalable (cloud) services, content delivery networks, NAS, … Lecture #1: Basic Concepts 5 DISTRIBUTED SYSTEMS Decentralized vs. distributed (2) Centralized solutions are generally much simpler Both decentralization and distribution are complex tasks Unknown dependencies, partial failures, highly dynamic (increasing complexity), vulnerability Decentralization is never a goal, it is a property of a system How to do it efficiently and correctly? Distribution is a goal to sufficiently spread a system In principle, less spreading, the better Lecture #1: Basic Concepts 6 3 DISTRIBUTED SYSTEMS Distributed system perspectives Architecture What are common organizations, what are common styles? Process Understanding the different forms of processes that occur in distributed systems Communication Facilities that distributed systems provide to exchange data between processes Coordination Processes coordinate things e.g. global clock, mutual access, etc. Naming Resolving a name to the access point of the named entity Consistency and replication The trade-offs between consistency, replication, and performance Fault tolerance Masking failures and their recovery Security How to ensure authorized access to resources and understand the role of security in the previous perspectives Lecture #1: Basic Concepts 7 DISTRIBUTED SYSTEMS Design goals Resource sharing Transparency Openness Dependability Security Scalability Lecture #1: Basic Concepts 8 4 DISTRIBUTED SYSTEMS Resource sharing Access remote resources Share local resources Lecture #1: Basic Concepts 9 DISTRIBUTED SYSTEMS Transparency Hiding physical distribution of resources Types of transparency Access, location, relocation, migration, replication, concurrency, failure Degree of transparency Performance and comprehensibility must be considered Lecture #1: Basic Concepts 10 5 DISTRIBUTED SYSTEMS Types of transparency Access Hide differences in data representation and how an object is accessed Location Hide where an object is located Relocation Hide that an object may be moved to another location while in use Migration Hide that an object may move to another location Replication Hide that an object is replicated Concurrency Hide that an object may be shared by several independent users Failure Hide the failure and recovery of an object Lecture #1: Basic Concepts 11 DISTRIBUTED SYSTEMS Openness Offers services according to standard rules that describe the syntax and semantics of those services Interface Definition Language (IDL) – formal syntax, informal semantics Proper specifications are complete and neutral Interoperability – different components can cooperate Portability – reusability in different distributed systems Extensibility must be supported and easy Separating policy from mechanisms Dynamical configuration of components by users Lecture #1: Basic Concepts 12 6 DISTRIBUTED SYSTEMS Dependability Availability Measurement of whether a system is ready to be used immediately Reliability Measurement of whether a system can run continuously without failure Safety Measurement of how safe failures are Maintainability Measurement of how easy it is to repair a system Lecture #1: Basic Concepts 13 DISTRIBUTED SYSTEMS Security Authentication Authorization Using cryptography to establish secure channel Lecture #1: Basic Concepts 14 7 DISTRIBUTED SYSTEMS Scalability System must adapt to increasing number of requests Dimensions of scalability Size scalability Geographical scalability Administrative scalability Scaling techniques Scaling up (vertical) vs. scaling out (horizontal) Hiding communication latencies (asynchronous communication) Partitioning and distribution Replication and caching Scalability limitations Centralized services Centralized data Centralized algorithms Lecture #1: Basic Concepts 15 DISTRIBUTED SYSTEMS Typical mistakes of the design The network is reliable The network is secure The network is homogeneous The topology does not change Latency is zero Bandwidth is infinite Transport cost is zero There is one administrator Lecture #1: Basic Concepts 16 8 DISTRIBUTED SYSTEMS High performance distributed computing Cluster Simple computers grouped to a “supercomputer” in a high-speed network Grid Collaboration of resources from different organizations (virtual organization) Cloud Pool of virtualized resources accessible via web services (IaaS, PaaS, SaaS) Lecture #1: Basic Concepts 17 DISTRIBUTED SYSTEMS Distributed information systems Distributed transaction processes Operations observe ACID properties Definition of communication primitives for transaction Nested transactions and transaction-processing monitor Enterprise Application Integration (EAI) Service oriented Architecture (SOA) Enterprise Service Bus (ESB) Lecture #1: Basic Concepts 18 9 DISTRIBUTED SYSTEMS Pervasive systems Internet of Things (IoT) Ubiquitous computing systems Distribution, interaction, context awareness, autonomy, intelligence Mobile computing systems Various devices, location of a device change MANET, mobile edge computing, mobile cloud computing Sensor networks Thousands of small sensing devices Lecture #1: Basic Concepts 19 10

Use Quizgecko on...
Browser
Browser