Design Goals of Distributed System

3,393 views 16 slides Aug 16, 2022
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

The fundamental concept of Distributed System, Part -2. This is useful for CTEVT Diploma in Computer Engineering Students.


Slide Content

Distributed Computing EG 3113 CT Diploma in Computer Engineering 5 th Semester Unit 3.2 Design Goals of Distributed System Lecture by : Er . Ashish K.C(Khatri)

Design Goals of Distributed System: Resource sharing Openness Transparency Scalability 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 2

1. Resource Sharing The main goal of distributed system is to allow users to access remote resources and to share them in controlled and efficient manner. The resources may be printer, database, data, files and so on. By sharing resources among the users, we can minimize the implementation cost of the system. It is also necessary for easy collaboration and information exchange among the users of the system. Making resource sharing and information exchange easier result in increasing security related problems in the system which must be handled properly and efficiently to protect data from being compromised. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 3

5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 4

2. Openness A distributed system should be open. It must provides services with the standard rule following some protocols defining syntax and semantic of that service. Services are specified through an interface defined in the Interface Definition Language (IDL ). IDL must specify complete description of the service including function name, parameters, return values, possible exceptions and what the service is used for. The interface specification should be complete (All the necessary things required to implement the interface should be specified) and neutral (The structure of the implementation should not be specified ). Open distributed system helps to achieve interoperability (Ability for two implementations to work together relying upon each other’s services) and portability (Ability of an application designed for a distributed system, to execute correctly on other distributed systems with same implementations without any modification to the application ). It also helps in adding of new components or replacing current components without affecting the system. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 5

3. Transparency: Transparency is the ability to hide the fact that the processes and the resources of the distributed system are physically distributed across multiple computers or machines and makes users to realize that it is a single coherent system. Transparency should be considered with other issues like performance. For eg : Let a person wants to print a file from the mobile device. Then it would be great if he/she could print it from a nearby printer than from printer located far from his current position. It is against the location transparency but provides reliable outcome to the system. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 6

Types of Transparency: Access transparency: Clients should be unaware of the distribution of the files. The files could be present on a totally different set of servers which are physically distant apart and a single set of operations should be provided to access these remote as well as the local files. Applications written for the local file should be able to be executed even for the remote files. The examples illustrating this property are the File system in Network File System (NFS), SQL queries, and Navigation of the web 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 7

Location Transparency: Clients should see a uniform file namespace. Files or groups of files may be relocated without changing their pathnames. A location transparent name contains no information about the named object’s physical location. This property is important to support the movement of the resources and the availability of services. The location and access transparencies together are sometimes referred to as Network transparency. The examples are The File system in NFS and the pages of the web. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 8

Concurrency Transparency: Users and Applications should be able to access shared data or objects without interference from each other. This requires very complex mechanisms in a distributed system since there exists true concurrency rather than the simulated concurrency of a central system. The shared objects are accessed simultaneously. The concurrency control and its implementation is a hard task. The examples are NFS, Automatic Teller Machine (ATM) Network. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 9

Replication Transparency: This kind of transparency should be mainly incorporated for the distributed file systems, which replicate the data at two or more sites for more reliability. The client generally should not be aware that a replicated copy of the data exists. The clients should also expect operations to return only one set of values. The examples are Distributed DBMS and Mirroring of Web pages. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 10

Failure Transparency: Enables the concealment of faults, allowing user and application programs to complete their tasks despite the failure of hardware or software components. Fault tolerance is provided by the mechanisms that relate to access transparency. The distributed system is more prone to failures as any of the components may fail which may lead to degraded service or the total absence of that service. As the intricacies are hidden the distinction between a failed and a slow running process is difficult. Examples are Database Management Systems. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 11

Migration Transparency: This transparency allows the user to be unaware of the movement of information or processes within a system without affecting the operations of the users and the applications that are running. This mechanism allows for the load balancing of any particular client, which might be overloaded. The systems that implement this transparency are NFS and Web pages. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 12

Performance Transparency: Allows the system to be reconfigured to improve the performance as the load varies. Scaling Transparency: A system should be able to grow without affecting application algorithms. Graceful growth and evolution is an important requirement for most enterprises. A system should also be capable of scaling down to small environments where required, and be space and/or time-efficient as required. The best-distributed system example implementing this transparency is the World Wide Web. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 13

5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 14

4. Scalability: A distributed system should be scalable with respect to size (Able to add any numbers of users and resources), geography (Users and resources may be in any locations) and administration (Easy management even if there are many independent administrations). 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 15

Difficulties or Threats of Distributed System: Widely varying modes of use: The component parts of systems are subject to wide variations in workload – for example, some web pages are accessed several million times a day. Some parts of a system may be disconnected, or poorly connected some of the time – for example, when mobile computers are included in a system. Some applications have special requirements for high communication bandwidth and low latency – for example, multimedia applications. Wide range of system environments: A distributed system must accommodate heterogeneous hardware, operating systems and networks. The networks may differ widely in performance – wireless networks operate at a fraction of the speed of local networks. Systems of widely differing scales, ranging from tens of computers to millions of computers, must be supported. Internal problems: Non-synchronized clocks, conflicting data updates and many modes of hardware and software failure involving the individual system components. External threats: Attacks on data integrity and secrecy, denial of service attacks. 5/29/2021 Distributed Computing Notes © Er. Ashish K.C(Khatri) 16