Your SlideShare is downloading. ×
Distributed computing
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Distributed computing

930
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
930
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
53
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Distributed computing 1 Salunke Rohit R S.R.E.S. College of Engineering Kopargaon-423 603 rohit.salunke3@gmail.com Abstract Over the past two decades, advancements in microelectronic technology have resulted in the availability of fast, inexpensive processors, and advancements in communication technology have resulted in the availability of cost effective and highly efficient computer networks. The net result of the advancements in these two technologies is that the price performance ratio has now changed to favor the use of interconnected multiple processors in place of a single, high-speed processor that is Distributed Systems. Computer architectures consisting of interconnected, multiple processors are basically of two types:Tightly coupled systems and Loosely coupled systems. Tightly coupled systems are referred to as parallel processing systems, and loosely coupled systems are referred to as distributed computing systems, or simply distributed systems. In short, a distributed computing system is basically a collection of processors interconnected by a communication network in which each processor has its own local memory and other peripherals, and the communication between any two processors of the system takes place by message passing over the communication network. For a particular processor, its own resources are local, whereas for other processors these resources are remote.Together, a processor and its resources are usually referred to as a node or site or machine of the distributed computing system. Introduction The word distributed in terms such as "distributed system", "distributed programming", and "distributedalgorithm" originally referred to computer networks where individual computers were physically distributed within some geographical area. The terms are nowadays used in a much wider sense, even referring to autonomous processes that run on the same physical computer and interact with each other by message passing. While there is no single definition of a distributed system, the following defining properties are commonly used: There are several autonomous computational entities, each of which has its own local memory. The entities communicate with each other by message passing. In this article, the computational entities are called computers or nodes.A distributed system may have a common goal, such as solving a large computational problem. Alternatively, each computer may have its own user with individual needs, and the purpose of the distributed system is to coordinate the use of shared resources or provide communication services to the users. Other typical properties of distributed systems include the following:The system has to tolerate failures in individual computers.The structure of the system (network topology, network latency, number of computers) is not known in advance, the system may consist of different kinds of computers and network links, and the system may change during the execution of a distributed program. Each computer has only a limited, incomplete view of the system. Each computer may know only one part of the input. EVOLUTION OF DISTRIBUTED COMPUTING SYSTEM The use of concurrent processes that communicate by message-passing has its roots in operating system architectures studied in the 1960s. The first widespread distributed systems were local- area networks such as Ethernet that was invented in the 1970s. Computer systems are undergoing a revolution. From 1945, when the modem Computer era began, until about 1985, computers were large and expensive. Even minicomputerscost at least tens of thousands of dollars each. As a result, most organizations had only a handful of computers, and for lack of a way to connect them, these operated independentlyfrom one
  • 2. another. Starting around the mid-198 0s, however, two advances in technology began to change that situation. The first was the development of powerful microprocessors.Initially, these were 8-bit machines, but soon 16-, 32-, and 64-bit CPUs became common. Many of these had the computing power of a mainframe (i.e., large) computer, but for a fraction of the price. The amount of improvement that has occurred in computer technology in the past half century is truly staggering and totally unprecedented in other industries. From a machine that cost 10 million dollars and executed 1 instruction per second. We have come to machines that cost 1000 dollars and are able to execute 1 billion instructions per second; a price/performance gain of 1013.The second development was the invention of high-speed computer networks. Local-area networks or LANs allow hundreds of machines within a building to be connected in such a way that small amounts of information can betransferred between machines in a few microseconds or so. Larger amounts of data can be Distributed Computing become popular with the difficulties of centralized processingin mainframe use. With mainframe software architectures all components arewithin a central host computer. Users interact with the host through a terminal that captures keystrokes and sends that information to the host. In the last decade however,mainframes have found a new use as a server in distributed client/server architectures (Edelstein 1994). The original PC networks (which have largely superseded mainframes) were based on file sharing architectures, where the server transfers files from a shared location to a desktop environment. The requested user job is then run (including logic and data) in the desktop environment. File sharing architectures work well if shared usage is low, update contention is low, and the volume of data to be transferred is low. In the 1990s, PC LAN (local area network) computing changed because the capacity of the file sharing was strained as the number of online users grew and graphical user interfaces (GUIs)became popular (making mainframe and terminal displays appear out of date). The next major step in distributed computing came with separation of software architecture into 2 or 3 tiers. With two tier client-server architectures, the GUI is usually located in the user's desktop environment and the database management services are usually in a server that is a more powerful machine that services many clients. Processingmanagement is split between the user system interface environment and the database management server environment. The two tier client/server architecture is a goodsolution for locally distributed computing when work groups are defined as a dozen to 100 people interacting on a LAN simultaneously. However, when the number of usersexceeds 100, performance begins to deteriorate and the architecture is also difficult to scale. Why Distributed Computing? A distributed computer system consists of multiple software components that are on multiple computers, but run as a single system. The computers that are in a distributed system can be physically close together and connected by a local network, or they can be geographically distant and connected by a wide area network. A distributed system can consist of any number of possible configurations, such as mainframes, personal computers, workstations, minicomputers, and so on. The goal of distributed computing is to make such a network work as a single computer. Distributed systems offer many benefits over centralized systems, including the following: Scalability The system can easily be expanded by adding more machines as needed. Redundancy Several machines can provide the same services, so if one is unavailable, work does not stop. Additionally, because many smaller machines can be used, this redundancy does not need to be prohibitively expensive. Distributed computing systems can run on hardware that is provided by many vendors, and can use a variety of standards-based software components. Such systems are independent of the underlying software. They can run on various operating systems, and can use various communications protocols. Some hardware might use UNIX(R) as the operating system, while other hardware might use Windows operating systems. For intermachine communications, this hardware can use SNA or TCP/IP on Ethernet or Token Ring. Types of Distributed Computing: Tightly coupled systems: In these systems, there is a single system wide primary memory (address space) that is shared by all the processors [Fig. 1.1(a)]. If any processor writes, for example, the value 100 to the memory location x, any other processor subsequently reading from location x will get the value 100. Therefore, in these systems, any communication between the processors usually takes place through the sharedmemory.
  • 3. Fig: 1.1. (a) Loosely coupled systems: In these systems, the processors do not share memory, and each processor has its own local memory [Fig. 1.1(b)]. If a processor writes the value 100 to the memory location x, this write operation will only change the contents of its local memory and will not affect the contents of the memory. In these systems, all physical communication between the processors is done by passing messages across the network that interconnects the processors. Fig: 1.1. (b) Distributed computing applications:- Telecommunication networks: - Phone networks and cellular networks. - PC networks like the web. - Wireless sensor networks. - Routing algorithms. Network applications: - Web and p-2-p networks. - Stupendously multi player web-based games and virtual communities. - Distributed database management systems and distributed databases. - Network file systems. - Distributed info processing systems like banking systems and airline reservation systems. Realtime process control : - Aircraft control systems. - Business control systems. Parallel computation: - Systematic computing, including cluster computing and grid computing and varied volunteer computing projects; see the list of distributed computing projects. - Distributed rendering in PC graphics. Advantages of Distributed Computing Reliability The important advantage of distributed computing system is reliability. It is more reliable than a single system. If one machine from system crashes, the rest of the computers remain unaffected and the system can survive as a whole. Incremental Growth In distributed computing the computer power can be added in small increments i.e. new machines can be added incrementally as per requirements on processing power grow. Sharing of Resources Shared data is required to many applications such as banking, reservation system and computer-supported cooperative work. As data or resources are shared in distributed system, it is essential for various applications. Flexibility As the system is very flexible, it is very easy to install, implement and debug new services. Each service is equally accessible to every client remote or local. Speed A distributed computing system can have more computing power than a mainframe. Its speed makes it different than other systems. Open system As it is open system, it can communicate with other systems at anytime. Because of an open system it has
  • 4. an advantage over self-contained system as well as closed system. Performance It is yet another advantage of distributed computing system. The collection of processors in the system can provide higher performance than a centralized computer. Disadvantages of Distributed Computing:- Troubleshooting Troubleshooting and diagnosing problems are the most important disadvantages of distributed computing system. The analysis may require connecting to remote nodes or checking communication between nodes. Software Less software support is the main disadvantage of distributed computing system. Because of more software components that comprise a system there is a chance of error occurring. Networking The underlying network in distributed computing system can cause several problems such as transmission problem, overloading, loss of messages. Hence, the problems created by network infrastructure are the disadvantages of distributed computing. Security The easy distributed access in distributed computing system which increases the risk of security. The sharing of data creates the problem of data security. Disadvantages of Distributed Computing:- Troubleshooting Troubleshooting and diagnosing problems are the most important disadvantages of distributed computing system. The analysis may require connecting to remote nodes or checking communication between nodes. Software Less software support is the main disadvantage of distributed computing system. Because of more software components that comprise a system there is a chance of error occurring. Networking The underlying network in distributed computing system can cause several problems such as transmission problem, overloading, loss of messages. Hence, the problems created by network infrastructure are the disadvantages of distributed computing. Security The easy distributed access in distributed computing system which increases the risk of security. The sharing of data creates the problem of data security. Conclusion: A distributed system consists of multiple computers that communicate through a computer network. Thus distributed computing has the chance to lead into new age in terms of computer paradigm, resources sharing pattern and online collaboration. Identical principles’ and guidelines should be used. References:  Andrews, Gregory R. (2000), Foundations of Multithreaded, Parallel, and Distributed Programming, Addison–Wesley, ISBN 0- 201-35752-6.  Arora, Sanjeev; Barak, Boaz (2009), Computational Complexity – A Modern Approach, Cambridge, ISBN 978-0- 521-42426-4.  Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. (1990), Introduction to Algorithms (1st ed.), MIT Press, ISBN 0- 262-03141-8.  Dolev, Shlomi (2000), Self- Stabilization, MIT Press, ISBN 0-262- 04178-2.  Elmasri, Ramez; Navathe, Shamkant B. (2000), Fundamentals of Database Systems (3rd ed.), Addison– Wesley, ISBN 0-201-54263-3.  Ghosh, Sukumar (2007), Distributed Systems – An Algorithmic Approach, Chapman & Hall/CRC, ISBN 978-1-58488- 564-1.