Distributed Systems (Fach) / Fragekatalog! Part I (Lektion)
In dieser Lektion befinden sich 27 Karteikarten
xD
Diese Lektion wurde von Sogn erstellt.
- Criteria distribution motivation? data, function and load distribution, scalability, decentralization, local properties, remote resource access, parallelization, fault tolerance
- name constituents of distributed systems on HW as well as app level! HW-Level: Physical computer nodes, direct/indirect coupling, transport protocols App-Level: communicating processes, system oriented resources, distributed storage/apps
- Tell when a systems can be considered distributed! if it has Multiple individual and Spatially separated components, Own memory, communicates via messages and cooperates
- What is Middleware? set of general-purpose functionality/services, situated between the operating system and the applications with special support for distributed application components
- Name and describe services! Transaction service: ensure, through the property of atomicity, that either all processing steps involved or none at all are executed. A transaction service is necessary for the control of distributed transactions. Security service authentication, access control: In order to control access to particular system functions, the identity of the user must be checkedfirst. Encryption Product orders must be encrypted with the help of cryptographic proceduresin order to secure them against unwanted access by third parties during transfer over an insecure channel. Directory services: are needed to publish resources (e.g. order services) within a distributed system
- Sketch a simple client server model! Ja
- Name and sketch out 3 different P2P architectures! centralized, decentralized-pure, decentralized-hybrid
- compare centralized and decentralized architectures! Scalability Fault Tolerance Overhead Complexity
- compare on-premise and cloud infrastructure! Scalability Security Complexity Cost Maintenance System access
- What is horizontal/vertical distribution? horizontal distribution: distribution of a single layer across multiple machines vertical: different layers across multiple machines
- What is partitioning/replication and name advantages and disadvantages! partitioning: split up of logic/data ✚Load balancing and parallel processing supported ✚Fault tolerance achievable -Need for synchronization -Maybe issues with consistency o rlimitations on parallalism replication: full copies of logic/data: ✚Partitioning of data per country ✚Scalability supported -Response times could below if customer is far away from home -Performance issues if operations across several partitions are required-Reorganisation of partitions can be expensive
- name and describe different distribution models! Client/Server: client calls, gets result from procedures, server offers, hierarchical Object-Oriented: local/remote objects of arbitrary granularity, Value/reference semantics Component Based: reusing existing components with larger granularity than objects Service Oriented: even higher level of abstraction, services offered/searched for/used
- name and describe different distribution architectures! Two/Three-Tier: Presentation, Application, Data Management Clustering: Replication of multiple servers, load balance, fault tolerance, parallel Cloud: On-demand self-service, broad network access, measured service, resource pooling, rapid elasticity. (Service Models: IaaS, PaaS, SaaS) P2P: decentralized, peers are providers and users
- compare Client/Server to Distributed OO! Processing Model Data acess Data transfer Identity Granularity Placement
- How does RPC work? Instead of accessing remote services by sending and receiving messages, a client invokes services by making a local procedure call. The local procedure hides the details of the network communication.
- Define RPC according to Nelson! RPC (Nelson): continuous transfer of control thread Synchronous transfer control thread and data by means of a procedure call with parameters between programs in separated address spaces via a narrow channel level of programming language separate address spaces coupling via relatively narrow channels call/result
-
- Name basic steps of a RPC! Client local call, stub decodes, RTS sends call packet, RTS receives, S stub decodes, S call, execute, result, stub decodes, RTS sends result packet, RTS receives, C stub decodes, result
- What is marshalling/unmarshalling and why/when is it necessary? Marshalling: Transforming parameter set from internal rep into serialized format Umarshalling: serialized messages into receiver-specific format Necessary because: Heterogenity of internal representation of data
- What relations do RPC interface descriptions and stub components have? IDL creates Interface, Interfaces create stubs, C and S register at Directory Service -> RPC
- What is binding and its purpose? Binding: Coupling Server and Client by resolving address on Client side (exchange of comm params, IP + URI)
- Name and sketch 3 different binding processes and name advantages / disadvantages. Binding Processes: Directory Access: +: Scalability, flexibility -:complex Broadcasting: +: fast -: high overhead due to flooding Direct Access : +: fast, scalability -:static config
- Name RPC error classes and types of errors! RPC error semantics: Maybe At-Least-Once single execution without notification in the case of errorsðonly for “non-important” operations At-Most-Once at least once execution (if no machine crashes happen) + timeout Exactly-Once exactly once execution, masks machine crashes, too Types: message delay/loss Request gets lost -> Client block because no Response Response gets lost -> Client block Server Crash no response, Client is blocked Client Crash Client doesn get Response
- Of which tiers does the Three-Tier Architecture consist of? Presentation Tier Preprocessing Tier Datamanagement Tier
- Difference synchronous and asynchronous Request! synchronous send Request, block until Response asynchronous send Request, or many at once, no need for Response
- Was sind Probleme bei RPC? Kein Support für Multicast/Broadcast Streng synchron -> kein paralleles senden, warten Nicht geeignet für mass data transfer, wegen narrow Channels Transparency Violations, zB. bei globalen Variablen welche dann nicht mehr global sind, pointers (da verschiedene Adressräume)
- Was sind Nachteile für besonders große Verteilte Systeme (lange Ketten) in Bezug auf das CS-Modell? Long Response Time Sofern ein Client über mehrere Server fragen muss, um eine Antwort zu erhalten, kann sich die Wartezeit immens hinauszögern. Availability Es reicht ein Computer welcher nicht ordnungsgemäß, gar nicht oder sehr langsam arbeitet, um die ganze Kette zu stören oder gar zu unterbrechen. Intransparency Selbst wenn der Client nah am Server liegt, sagt dies nichts darüber aus, wie lang die Übertragung dauert, da Server n viel weiter weg sein kann.
- Which three Binding Methiods are there? Direct addressing, e.g. IP address configured directly •As variable in code, in a configurationfile, etc. Broadcast request, e.g. usinga logic name(sub-net) •Discoverserversin a localnetworkorflushtheinternet Directory service •Server registerswithlogicnameandaddress(andattributes) at directoryservice •Client requestsserverwithlogicname(andattributes) •Client getsaddressofserverfromdirectoryservice •Client cancallproceduresusingaddressofserver
