|Notice: Exam Form BE IV/II & BAR V/II (Back) for 2076 Magh|
|Routine: BE IV/II & BAR V/II - 2076 Magh|
|Result: BCE I/II exam held on 2076 Bhadra|
|Result: All (except BCE & BEI) I/II exam held on 2076 Bhadra|
|Notice: Exam Center for Barrier Exam (2076 Poush), 1st Part|
|Electronics and Communication(BEX)|
Introduction to Distributed System
Introduction to Distributed System
- A distributed system is a collection of independent computers at networked locations such that they communicate and interact only through message passing that is viewed as a single coherent system by its users.
- Generally, all the components of the distributed system interact so as to obtain a common goal.
- A computer program running in distributed system is called distributed program.
- Distributed programming is used to write distributed programs.
- It differs from parallel system as each computer in a distributed system has its own memory i.e. distributed memory; but in parallel system, all processors have access to shared memory for information exchange.
Examples of Distributed System
- Internet is the largest collection of interconnected computer networks.
- Program running on the computers interact with each other within the internet by the mechanism of message passing.
- Internet allows users to make use of services like world wide web
- World wide web is an example of distributed system as it contains multiple components under the hood that help browsers to display content but from the user’s view it helps to access the web via a browser such that it looks like a single system.
- Basically, the internet is not a distributed system as it only provides essential communication and connectivity channels to the distributed system but the services provided by the internet are the distributed systems.
Characteristics of Distributed System
- Distributed system allows the programs that share resources to execute concurrently(i.e. At the same time).
- It is a property that enables processes running in different machines to form a common system that is capable of executing codes on multiple machines at the same time.
- Example: A web application is concurrent as it can be used by various users at the same time.
- Concurrency helps to reduce latency and increase throughput as a unit of work can be concurrently done by sub-division.
No Global Clock :
- In other to coordinate to the remote networks it is necessary to synchronize clock in primitive technologies. But as there is no single correct global timing system, it is very difficult to synchronize global clock across all the networks of the system located at different locations.
- The main characteristics of the distributed system is that it does not need any global clock system to coordinate with the network at different locations because the only way of communication is message passing through the network.
Independent Failures :
- The computer system can fail or crash at any time.
- In primitive centralized system, if the server fails then the whole system fails to operate leaving the negative consequences to the end users.
- With distributed system, even one network fails, it does not hamper the overall system. The workload of the failed network can be overcomed by the other networks within the system situated at different locations.
- This provides reliable system to the end users.
Advantages and Disadvantages of Distributed System
Advantages of Distributed System
- All the computer components work independently dividing the main task. This improves performance of the system and reduce latency time.
- Even if one component of the system crashes or fails, the system as a whole does not crash. This improves availability and reliability of the system.
- As load is distributed among the components of the system, it enhances the total computational power of the overall system.
- Computational power can be grown incrementally by adding small components to the system.
- It allows users to share data and resources.
- The workload is distributed among different components or machines.
- Local database administrator have different degree of local autonomy(retains control to some extent).
Disadvantages of Distributed System
- It is very difficult to implement the distributed system making it more costlier than other systems.
- The exchange of information among the components require coordination which creates processing overheads.
- It is difficult to ensure correctness of algorithms generally when some parts of system is down and is being recovered.
- 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 implementational 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.
- 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.
- 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.
- 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 administraions).
Resource Sharing and Web Challenges
- Users of a system always tends to share resources like hardware (printer), data (files) and specific functioning resources (search engines).
- Users want to share data rather than the disks containing the data
- Service manages a collection of related resources and provides the functionality to the users. Eg: A file sharing is initiated by a file service providing read, write and delete operations or functions on the files.
- Services can be invoked from other computers only by communication (message passing in case of distributed system).
- Requests are sent from clients to a server via a message and the server reply to the clients via a message.
- When clients send a request for an operation to a server, it means client invokes an operation upon the server.
- Remote invocation means the complete interaction between a client and a server from request by a client to the response given by the server.
Client vs Server
- Client and server are the process rather than the computer.
- The process which requests an operation is called client and the process that provides the requested service is called server.
- Client is active while server is passive.
- Server runs continuously while clients run until the applications lasts.
- An executing web browser is a client while the web server is a server.
World Wide Web
- It is a system to publish and access services and resources throughout the world with the help of Internet.
- Web browsers should be used to access the world wide web.
- It presents data in the form of web pages.
- Each document or web page contains hyperlinks (references to other documents and resources).
- The web is based on following standard components:
a) HTML : It is a language to specify the contents of the web pages.
b) URL : It identifies the documents and other resources stored on the web.
c) Client Server Architecture : It provides standard rules by which browsers can access to the resources from the web servers.
- URL has two top level components, scheme and scheme-specific-identifier. Eg http://www.egnitenotes.com/all_notes/ Here http is a scheme and remaining part is a scheme-specific-identifier.
- HTTP defines the way in which browsers interacts with the web servers. It is a request and reply protocol with only one resource per request.
- A program run by the web server to generate content for the clients is called common gateway interface (CGI).
- If the resources are deleted or moved, the links to that resource still remains. Such links are called dangling links.
- The response of the web server to the users may be slow.
- The web page is not satisfactory user interface.
- The web of linked metadata resources is called semantic web.
- Proper metadata helps the search engines to search the contents in effective and efficient way.
Grid, Cluster and Cloud System
- Grid systems have high degree of heterogeneity. It means that the computers in the grid system must not be the same with respect to hardware, operating systems, network, security policy, administrative domain and so on.
- The resources from different organization can collaborate via a virtual organization with access rights with all the members of this virtual organization.
Architecture of Grid System
- The basic grid architecture consists of four layers. They are fabric layer, connectivity layer and resource layer, collective layer and application layer as shown in given figure.
- The fabric layer provides interface to local resources at a specific site which can be shared within a virtual organization. It provides functions to query state and capability of resources, and actual resource management.
- The connectivity layer communication protocols to support grid transactions. It supports delegation of rights from authenticated users to programs running on behalf of those users.
- The resource layer manages a single resource with the help of functions provided by connectivity layer and interfaces of fabric layer. It is responsible for access control.
- The collective layer handles access to multiple resources via resource discovery, allocation and scheduling of multiple resources along with data replication.
- The application layer consists of applications that uses the services provided by the grid computing system.
- Cluster system is generally used for parallel programming in which a single program is run in parallel on multiple computers within the system.
- The feature of cluster computing is homogeneity. It means all the computers within the cluster system must have same operating system and must be operated within the same network.
- Cloud computing system is a type of Internet-based computing that provides shared computer processing resources and data to computers and other devices on demand.
- It enables on demand access to a shared pool of configurable computing resources.
- The system can be accessed using a web browser regardless of the location and the devices used.
-by Suraj Awal