Lecture 2 Distributed and Parallel Computing CSE423
This lecture discusses types of parallelism including bit-level parallelism, instruction-level parallelism, and task parallelism. It then defines distributed systems as a collection of independent computers communicating over a network to collaborate on tasks. Key characteristics of distributed systems are discussed such as lack of a common clock, enhanced reliability, and scalability. Examples of distributed systems include computer networks, databases, and web servers. The primary requirements for distributed systems are also outlined.
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
0 ratings0% found this document useful (0 votes)
201 views23 pages
Lecture 2 Distributed and Parallel Computing CSE423
This lecture discusses types of parallelism including bit-level parallelism, instruction-level parallelism, and task parallelism. It then defines distributed systems as a collection of independent computers communicating over a network to collaborate on tasks. Key characteristics of distributed systems are discussed such as lack of a common clock, enhanced reliability, and scalability. Examples of distributed systems include computer networks, databases, and web servers. The primary requirements for distributed systems are also outlined.
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1/ 23
Lecture # 2
CSE 423 Parallel And Distributed Systems Types of Parallelism:
• Bit-level parallelism: It is the form of parallel computing which
is based on the increasing processor’s size. It reduces the number of instructions that the system must execute in order to perform a task on large-sized data. • Example: Consider a scenario where an 8-bit processor must compute the sum of two 16-bit integers. It must first sum up the 8 lower-order bits, then add the 8 higher-order bits, thus requiring two instructions to perform the operation. A 16-bit processor can perform the operation with just one instruction. • Instruction-level parallelism: A processor can only address less than one instruction for each clock cycle phase. These instructions can be re-ordered and grouped which are later on executed concurrently without affecting the result of the program. This is called instruction-level parallelism. • Task Parallelism: Task parallelism employs the decomposition of a task into subtasks and then allocating each of the subtasks for execution. The processors perform execution of sub tasks concurrently. Eg. Adding music at same time. Distributed Systems • DEFINATION: A distributed system is a collection of independent computers, interconnected via a network, capable of collaborating a task.
• A distributed system can be characterized as
collection of multiple autonomous computers that communicate over a communication network and having following features: Distributed Systems cont.. • No common physical clock • Enhanced reliability • Increased performance • Access to geographically remote data and resources • Scalability A Distributed System Examples of Distributed System • Telephone Networks and Cellular Networks • Computer Networks such as internet or intranet • ATM Machines • Distributed database and database management system • Network of workstations • Mobile computing etc. Example of Distributed System cont.. Automated Banking (Teller Machine) System Example of Distributed System cont.. WEB SERVERS AND WEB BROWSERS Primary requirements for distributed systems: Security and Reliability Consistency of replicated data Concurrent transactions Fault tolerance Advantages of Distributed System • Information sharing among distributed users • Resource sharing • Extensibility and incremental growth(It is possible to extend the power and functionality of a distributed computing system be adding additional resources to the system) • Shorter response time and higher output Advantages of Distributed System Cont.. • High reliability • Better flexibility’s in meeting user’s needs • Better price/performance ratio • Scalability • Transparency (transparency is defined as the masking from the user and the application programmer regarding the separation of components, so that the whole system seems to be like a single entity rather than individual components) Disadvantages of Distributed System • Difficulties of developing distributed software • Networking problem (congestions and collisions) • Security problems • Performance • Reliability and fault tolerance Parallel Vs. Distributed System Differences and Similarities among different types of computing The different types of Computing Environments are: Personal Computing Environment • In personal computing environment there is a stand-alone machine. • Complete program resides on computer and executed there. • Example: Personal computing environment are laptops, mobiles, printers, computer systems, scanners etc. That we use at our homes and offices. Time-Sharing Computing Environment • In this environment multiple users share system simultaneously. • Different users (different processes) are allotted different time slice and processor switches rapidly among users according to it. • For example: student listening to music while coding something in an IDE. Windows 95 and later versions, Unix, IOS, Linux operating systems are the examples of this environment. Client Server Computing Environment • In client server computing environment two machines are involved i.e., client machine and server machine, sometime same machine also serve as client and server. • In this computing environment client requests resource/service and server provides that respective resource/service. • A server can provide service to multiple clients at a time and here mainly communication happens through computer network. Distributed Computing Environment • In a distributed computing environment multiple nodes are connected together using network but physically they are separated. • A single task is performed by different functional units of different nodes of distributed unit. • Here different programs of an application run simultaneously on different nodes, and communication happens in between different nodes of this system over network to solve task. Grid Computing Environment • In grid computing environment, multiple computers from different locations works on single problem. • In this system set of computer nodes running in cluster jointly perform a given task by applying resources of multiple computers/nodes. • It is network of computing environment where several scattered resources provide running environment for single task. Cloud Computing Environment • In cloud computing environment on demand availability of computer system resources like processing and storage are availed. • Here computing is not done in individual technology or computer rather it is computed in cloud of computers where all required resources are provided by cloud vendor. • This environment primarily comprised of three services i.e Software-as-a-service (SaaS), Infrastructure- as-a-service(IaaS) and platform-as-a-service (PaaS). Cluster Computing Environment • In cluster computing environment cluster performs task where cluster is a set of loosely or tightly connected computers that work together. • It is viewed as single system and performs task parallelly that’s why also it is similar to parallel computing environment. • Cluster aware applications are especially used in cluster computing environment. THANK YOU & ANY QUERIES?