# Parallel Computer Architecture Introduction - Parallel Computer Architecture

## What is parallel computer architecture?

The well known and widely used technology of the recent past Very Large Scale Integration (VLSI) technology facilitates in holding a huge number of software components or modules in a single chip. This results in increasing the clock rates, the performance of the computer system can be improved and the increased ability of the computer system. VLSI technology enables to execute number of operations in parallel at the same time.

The execution of these operations in parallel depends on the place where the data is located and how data is communicated among different components. At any given point of time, the programmability and performance is maximized in the technological limits prescribed, by managing the resource is known as Parallel Computer Architecture.

## Why Parallel Architecture is used?

Many processors are used for improving the computer system. At a particular point of time, it is proved that the performance attained by using more number of processors is more than the performance attained by a single processor.

The following are the different trends in which the parallel computer architecture is used.

### Application trends

The need for the advanced computer architecture is in demand as applications with best performance are widely desired and this is the result of the recent innovations in the hardware capacity.

Earlier, circuit technology was mainly used for achieving the computer system with the best performance. The usage of the circuit technology left to be very costly. But from the recent past, micro processors are used for computer system with best performance. Added feather to the cap, one more advantage of using micro processor is that parallel programs are used for writing the applications. Hence it can be concluded both parallel architectures and parallel applications together constitute for the development.

The factor that is mainly measured for the performance increase of the application is known as Speedup.

The speedup on the processors p can be defined and calculated as $Speedup\left(p\text{}processors\right)\equiv \frac{Performance\left(p\text{}processors\right)}{Performance\left(1\text{}processor\right)}$ For the single fixed problem, $performance\text{}of\text{}a\text{}computer\text{}system=\frac{1}{Time\text{}needed\text{}to\text{}complete\text{}the\text{}problem}$ $Speedup{\text{}}_{fixed\text{}problem}\left(p\text{}processors\right)=\frac{Time\left(1\text{}processor\right)}{Time\left(p\text{}processor\right)}$

### Scientific and Engineering Computing

Some of the areas of scientific computing such as physics, chemistry, and astronomy widely use the computer parallel architecture and the concept has become a vital component of the concepts. Some of the areas of engineering applications such as airflow analysis, combustion efficiency, reservoir modelling, widely use the concept of computer parallel architecture and the concept has become a vital component. In order to improve the computational speed, parallel computing is developed, as the demand for the visualization of the output has tremendously increased.

### Commercial Computing

Within the specified limits of the time, processing the bulk of data requires high speed computers in some of the areas of commercial computing such as videos, graphics, databases etc. Similar to that of parallel programs, multithreaded programs are used in commercial computing. The development of parallel architecture is demanded by the usage of multithreaded programs.

### Technology Trends

It has been proved that parallel computers work faster and more accurately when compared to that of single processors. The requirement for development and need for the high-performing applications is tremendously increasing because of the new technological and architectural trends. Provided the technology and time limits, development of parallel computers proves to be the best solution.

As discussed earlier, VLSI technology is used. This technology enables in fixing more number of circuits, transistors and gates in the same place. This reduces the size and increases the clock rates. Thus results in growth in the number of transistors in square multiplication.

Large capacity is provided by a single chip and fixing number of processors in a single chip leads to the best performance.

### Architectural Trends

Technological capabilities are converted into performance capability by the trends of architecture and the feasibility is measured by the technological developments. The performance is improved and increased by using more resources and transistors by two different methods known as parallelism and locality. The cycles of the program execution can be minimized by operating multiple operations at the same time in parallel.

The point of concern is that bulk resources are required for maintaining and processing of the multiple activities. By drafting the action plan which determines the best possible degree of parallelism and degree of locality, the high-level performance can be attained.

The computer architecture history has been categorized into four different generations using four different technologies. They are -

• Vacuum tubes
• Transistors
• Integrated circuits
• VLSI

During the period before 1985, the concept of bit-level parallelism was widely used. Initially 4-bit microprocessors were used, later on the usage shifted to 8-bit, 16-bit and 32-bit operation were used by increasing the data path width, the number of cycles was reduced. Even 64-bit operation was also implemented.

From the period between mid 80s to mid 90s, instruction-level parallelism was widely used. It is considered that in each of the cycle, the instructions are executed and hence, the steps of instructions are comfortably pipelined thus increasing the productivity levels.

The different parts that constitute the bit based and micro-processor based computers are as follows -

• An integer processing unit
• A floating-point unit
• A cache controller
• SRAMs for the cache data
• Tag storage

With the advancement of the technology, the capacity of the single chip increased thus enabling to fix multiple components into a single chip. A single chip was designed to accommodate different hardware for integer arithmetic, floating point operations, memory and branch operations. Single chip also facilitates in grasping multiple instructions and allocating them to the respective functional units parallel, and the process by which the instructions are allocated is known as superscalar execution.