We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32
Distributed systems-BCA
2/21/2022 Distributed System_DN_NC_unit1 1
Distributed system • A distributed system is the collection of independent computers that appears to its user as a single coherent system • A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. • This definition(first one) has several important aspects. The first one is that a distributed system consists of components (i.e., computers) that are autonomous. A second aspect is that users (be they people or programs) think they are dealing with a single system. This means that one way or the other the autonomous components need to collaborate. 2/21/2022 Distributed System_DN_NC_unit1 2 2/21/2022 Distributed System_DN_NC_unit1 3 Characteristic of distributed system • One important characteristic is that differences between the various computers and the ways in which they communicate are mostly hidden from users. The same holds for the internal organization of the distributed system. • Another important characteristic is that users and applications can interact with a distributed system in a consistent and uniform way, regardless of where and when interaction takes place • distributed systems should also be relatively easy to expand or scale. • A distributed system will normally be continuously available, although perhaps some parts may be temporarily out of order. • Users and applications should not notice that parts are being replaced or fixed, or that new parts are added to serve more users or applications.
Making resource accessible • The main goal of a distributed system is to make it easy for the users (and applications) to access remote resources, and to share them in a controlled and efficient way. • E.g. printers, computers, storage facilities, data, files. • There are many reasons for wanting to share resources. One obvious reason is that of economics. For example, it is cheaper to let a printer be shared by several users in a smaJl office than having to buy and maintain a separate printer for each user.
2/21/2022 Distributed System_DN_NC_unit1 7
Distributed transparency • An important goal of a distributed system is to hide the fact that its processes and resources are physically distributed across multiple computers. • A distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent.
2/21/2022 Distributed System_DN_NC_unit1 8
Distributed transparency • Following are the different types of distributed transparency
2/21/2022 Distributed System_DN_NC_unit1 9
openness • Openness is concerned with extensions and improvements of distributed systems. • Detailed interfaces of components need to be published. • New components have to be integrated with existing components. • Differences in data representation of interface types on different processors(of different vendors) have to be resolved
2/21/2022 Distributed System_DN_NC_unit1 10
Scalability • Scalability of a system can be measured along at least three different dimensions (Neuman, 1994). • First ,a system can be scalable with respect to its size, meaning that we can easily add more users and resources to the system. • Second, a geographically scalable system is one in which the users and resources may lie far apart. • Third, a system can be administratively scalable, meaning that it can still be easy to manage even if it spans many independent administrative organizations.
2/21/2022 Distributed System_DN_NC_unit1 11
Pitfalls /false assumptions/ 8 fallacies of distributed systems • Peter Deutsch, at Sun Microsystems, formulated these mistakes as the following false assumptions that everyone makes when developing a distributed application for the first time:
• The fallacies of the distributed computing are set of common but
false assumptions made by programmer while developing the distributed system.
2/21/2022 Distributed System_DN_NC_unit1 12
Fallacies… 1. The network is reliable. • Network is not reliable as it may have packet loss, failure. .
2. The network is secure.
Network is never secure as it encounters various threats. appropriate methods, security protocols, should be taken to secure network , infrastructure and protocols
2/21/2022 Distributed System_DN_NC_unit1 13
Fallacies…. • 3. The network is homogeneous. • Network is not homogenous as it consists of different configurations and protocols. • Proprietary protocols are hard to integrate • Standard protocols and technologies are widely accepted such as XML. • 4. The topology does not change. • No single topology can define the system as it is the combinations of different topology such as star , bus , ring topology.
2/21/2022 Distributed System_DN_NC_unit1 14
Fallacies…. • 5. Latency is zero. • Latency-the time it takes for data to pass from one point on a network to another. • Latency increases LAN (negligible) to WAN (high) • 6. Bandwidth is infinite. • Bandwidth-amount of data that can be transferred from one point to another within a network in a specific amount of time • Bandwidth limits the size of the information send from one node to another.
2/21/2022 Distributed System_DN_NC_unit1 15
Fallacies… • 7. Transport cost is zero. • Transport cost is not zero. • The cost of setting and running network is not free. • Cost →routers, leasing bandwidth, • 8. There is one administrator. • Administrators can be different including database, network, and so on and • depending on the ability of the administrator, the number of administrator can increase.
2/21/2022 Distributed System_DN_NC_unit1 16
Types of distributed systems • Distributed computing system • Cluster computing system • Grid computing system • Cloud computing • Distributed information system • Distributed pervasive system
2/21/2022 Distributed System_DN_NC_unit1 18
Cluster computing system Cluster computing is a type of computing in which several nodes are made to run as a single entity All nodes on the system may set to run the same application simultaneously. It’s a configuration in which computers (processing elements) are set to work together to perform tasks.
2/21/2022 Distributed System_DN_NC_unit1 19
Cluster computing… • Cluster computing systems became popular when the price/performance ratio of personal computers and workstations improved. • At a certain point, it became financially and technically attractive to build a supercomputer using off-the-shelf technology by simply hooking up a collection of relatively simple computers in a high-speed network. • In virtually all cases, cluster computing is used for parallel programming in which a single (compute intensive) program is run in parallel on multiple machines.
2/21/2022 Distributed System_DN_NC_unit1 20
Cluster computing….
2/21/2022 Distributed System_DN_NC_unit1 21
• Each cluster consists of a collection of compute nodes that are controlled and accessed by means of a single master node. • The master typically handles the allocation of nodes to a particular parallel program, maintains a batch queue of submitted jobs, and provides an interface for the users of the system. • As such, the master actually runs the middleware needed for the execution of programs and management of the cluster, while the compute nodes often need nothing else but a standard operating system.
2/21/2022 Distributed System_DN_NC_unit1 22
Grid (vs cluster) computing • A characteristic feature of cluster computing is its homogeneity. • In most cases, the computers in a cluster are largely the same, they all have the same operating system, and are all connected through the same network. • In contrast, grid computing systems have a high degree of heterogeneity: no assumptions are made concerning hardware, operating systems, networks, administrative domains, security policies, etc.
2/21/2022 Distributed System_DN_NC_unit1 23
Cluster vs grid computing
Cluster computing Grid computing
• Nodes must be homogeneous i.e. they should • Nodes may have different Operating systems have same type of hardware and operating and hardwares. Machines can be system homogeneous or heterogeneous. • Computers in a grid contribute their unused processing resources to the grid computing • Computers in a cluster are dedicated to the network. same work and perform no other task. • Computers are located close to each other. • Computers may be located at a huge distance from one another. • Scheduling is controlled by a central server. • It may have servers, but mostly each node behaves independently. • Whole system functions as a single system. • Every node is autonomous, and anyone can opt out anytime.
2/21/2022 Distributed System_DN_NC_unit1 29
2/21/2022 Distributed System_DN_NC_unit1 30 Distributed information system • Clients could send a request to the server for executing a specific operation, after which a response would be sent back. • Integration at the lowest level would allow clients to wrap a number of requests, possibly for different servers, into a single larger request and have it executed as a distributed transaction. • The key idea was that all, or none of the requests would be executed. • As applications became more sophisticated and were gradually separated into independent components (notably distinguishing database components from processing components), it became clear that integration should also take place by letting applications communicate directly with each other. This has now led to a huge industry that concentrates on enterprise application integration (EAl). 2/21/2022 Distributed System_DN_NC_unit1 31 Distributed Information Systems Transaction Processing Systems • Provide a highly structured client-server approach for database applications • Transactions are the communication model • Obey the ACID properties: • Atomic: all or nothing. Each transaction either happen completely, or not at all. And if it happens It happens in a single indivisible, instantaneous action. • Consistent: invariants are preserved. Transaction does not violate system invariants • Isolated (serializable) concurrent transactions do not interfere with each other • Durable: committed operations can’t be undone
Chapter 2 --->Types of Distributed System 32
Distributed Information Systems Enterprise Application Integration (EAI) • Less structured than transaction-based systems • EA components communicate directly • Enterprise applications are things like HR data, inventory programs, … • May use different OSs, different DBs but need to interoperate sometimes.
• Communication mechanisms to support this include
CORBA, Remote Procedure Call (RPC) and Remote Method Invocation (RMI)
Chapter 2 --->Types of Distributed System 33
Distributed Information Systems Enterprise Application Integration
Figure: Middleware as a communication facilitator in enterprise application integration.
Chapter 2 --->Types of Distributed System 34
Distributed pervasive system • The distributed systems we have been discussing so far are largely characterized by their stability: nodes are fixed and have a more or less permanent and high-quality connection to a network. • However, matters have become very different with the introduction of mobile and embedded computing devices. • We are now confronted with distributed systems in which instability is the default behavior. The devices in these, what we refer to as distributed pervasive systems, are often characterized by being small, battery-powered, mobile, and having only a wireless connection, although not all these characteristics apply to all devices.
2/21/2022 Distributed System_DN_NC_unit1 35
• An important feature of pervasive system is the general lack of human administrative control. • At best, devices can be configured by their owners, but otherwise they need to automatically discover their environment and "nestle in" as best as possible.
2/21/2022 Distributed System_DN_NC_unit1 36
• This nestling in has been made more precise by Grimm et al. (2004) by formulating the following three requirements for • pervasive applications: • 1. Embrace contextual changes. • 2. Encourage ad hoc composition. • 3. Recognize sharing as the default.
2/21/2022 Distributed System_DN_NC_unit1 37
Assignment 1. What is distributed system? Explain characteristic of distributed system. 2. Explain design goals of distributed system. 3. Explain 8 pitfall/fallacies that everyone makes while designing a distributed system. 4. Explain types of distributed system. 5. Differentiate between cluster, grid and cloud computing.