Skip to main content

Posts

Showing posts with the label Parallel-and-Distributed-Computing

Parallel Computer Structeres

Parallel computers are those computers which emphasize parallel processing and that's very much obvious. Parallel computers are divided into 3 architectural configurations: Pipeline computers (do overlapped computations to use temporal parallelism)  Array processors (use multiple synchronized ALUs to do spatial parallelism) Multiprocessor system (asynchronous parallelism through interactive processors with shared resources) Instruction Fetch consists of four major steps: Instruction Fetch(IF) from the main memory; Instruction Decoding(ID) identifying the operation to be performed; Operand Fetch(OF); Execution(EX) of decoded arithmetic logic operation.  In a pipelined computer these steps are executed in overlapped function while in nonpipelined first these 4 steps must be completed then next instruction will be performed.  A k-stage linear pipeline processor could be almost k times faster. speedup = Nonpipeline processor/pipeline processor        ...

Parallel processing mechanisms in uni-processor computers

Basic Uniprocessor architecture: A typical uniprocessor architecture consists of three major components: the main memory, the Central Processing Unit (CPU) and the Input/Output subsystem. We identify parallel processing mechanisms in the following six categories: Multiple functional units: Many of the functions of the ALU can be distributed to multiple functional units which can operate in parallel. Parallelism and pipelining with the CPU: Parallel adders using carry-save and carry-lookahead instead of the bit-serial adder. The use of multiple functional units is a form of parallelism within the CPU. Various phases of Instruction execution are now pipelined using Instruction prefetch and data buffering techniques.  Overlapped CPU and I/O operations: I/O operations can be performed simultaneously by using separate I/O controllers, channels or I/O processor. DMA(direct-memory-access) to provide direct information transfer between main memory and I/O devices.  Use of hierarchy me...

Introduction to Parallel Processing

Parallel Processing:  Parallel processing is an efficient form of processing which emphasizes to take the support of concurrent events in the computing process.  Simply in Parallel processing, many calculations or many processes are carried out simultaneously. To solve large problems, problems are divided into smaller ones and then solved simultaneously.  Concurrency implies parallelism, simultaneity, and pipelining. Parallel events occur during the same time interval, simultaneous events occur at the same time instant and pipelined events occur in overlapped time spans. From an application point of view, parallel processing is trending as: Data Processing Information Processing Knowledge Processing Intelligence processing Data space is the largest and has objects which are mutually unrelated. Information is a collection of those data objects which are related. Knowledge = Information + some semantic meaning. Intelligence is a collection of knowledge items. From an Opera...

Parallel and Distributed computing - 1

Before starting with Parallel computing first talk about some other things which are related to it. Centralized computing: In centralized computing, all or most of the processing/computing is performed on the central server. Central server deploys all the computing, administration and management resources. Then it is responsible for delivering application logic, processing and providing computing resources to attached client machines. Centralized computing is similar to the client-server architecture where one or more client PCs are connected to a central server. Distributed Computing:   In distributed computing, there is a system with multiple components which are located on different machines and they communicate and coordinate in such a way that they appear as a single system to end-user. In Google search, there is the concept of distributed computing. Every request is handled by 1000s of computers who crawls the web and returns the results. To us, Google appears to be one...