Initial understanding of parallel algorithms

This year's course has increased, parallel algorithms course, I saw a course are hung "algorithm", and certainly powerful Yeah. That I'm going to seriously study it.
I put my own opinions and share with you, if the wrong place must be pointed out ah.
[Image dump the chain fails, the source station may have security chain mechanism, it is recommended to save the picture down uploaded directly (img-MVGyPEw7-1584529135662) (en-resource: // database / 486: 0)]
This is a mind map I drew, as if nothing can not tell.
He introduced one by one in the order of Kazakhstan.

First, the definition

(I do not know what the situation is, I'm from primary school, to learn what are the theorems, definitions, began. Probably give you a bigger picture, to make it easier for you to understand it, when you finish school , come back to look at it, you will know more about it.)

Parallel computing refers to a plurality of tasks simultaneously more instructions, or a plurality of data items for processing. Complete this process the computer system is called a parallel computer system, which is a plurality of processors (which may be several, dozens, thousands, tens of thousands, etc.) in a manner orderly and organized through the network (directed to certain Internet connection topology of the network, communication protocol, and orderly organization involves the operating system, middleware, software, etc.).
(Well, by definition a bunch, my understanding is that before a person did live, and now a bunch of people do it together.)
It's main purpose, there are a total of two: First, in order to provide than traditional ** fast computer computing speed; the second is to solve problems conventional computers can not solve. **
This is what you want to remember, that is, than the original faster than the original to the force.

Second, research

(Definition as Kazakhstan, we next study the contents, we still have to know, or else, a work had been done for a long time, I do not know what to do, people ask themselves three I do not know, it's embarrassing.)
(1) design of parallel computer
design (2) efficient algorithm
(3) evaluation of parallel algorithm
(4) parallel computer language
(5) of the tool parallel programming environment
portability (6) parallel program
automatic programming (7) parallel computer
This is what I understand, what is developed to a certain extent, it will mechanization and then to automation. Parallel computer was born, with parallel computers, it is necessary to design, it is the number of processors in proportion to the growth of the class; but only with a valid parallel computer algorithm, it only makes the mind; where there is competition no comparison how to improve; With the algorithm, slowly language (PVM, MPI, HPF, etc.) will have; more than one person, it will form a large environment, if a person is society; when a the success of the program when your computer is not successful, to the big guys have the final say; it slowly toward automation direction .

Third, the application classification

(1) compute-intensive (the Compute-Intensive)
(2) data-intensive (the Data-Intensive)
(. 3) network-intensive (Network-Intensive)

Fourth, the parallel computer

history

1940s, it was born, ah, very old, ha, mainly to resolve the single-processor speed bottleneck
in the early 1960s, IBM 360 typical of
the late 1960s, pipelining
early 80s, shared memory multiprocessor
1980s, based on message passing parallel computers of
the late 1980s and early 1990s, the system has some scalability (scalability)
in the early 1990s, proposed standard cache coherency protocol of
the 1990s, several major architecture are beginning to converge
quite Boring! I feel Ha.

Architecture

Overall the two parts of
three elements: nodes, network, memory,
two-way: Processes, Threads


Node (node) that contains one or more CPU, the CPU via a HUB or full crossbar interconnect coupled to each other, and shared memory, may be I / O operations directly to the outside. (There are some differences with the other)
network (interconnect network): all the nodes connected to each other communicate with each other via the Internet. Memory (memory): memory composed of a plurality of memory modules, the modules may be distributed symmetrically on either side of the junction with the Internet, or on the inside of each node.
Abstract understanding is that the node is a point, the Internet is the line, meaning that the entire memory to be expressed.


Process (similar to a serial system): active run a program having a certain function can be expressed as a four-tuple (P, C, D, S) P is the program code C is a control state of the process data is process D S is the implementation status of the process

A process into two parts: one part of its resource characteristic structure, still call process; constitute a part by performing feature called thread
Here Insert Picture Description

Types of

I will only introduce a classification of --Flynn (1966 years) classification
1, SISD (Single Instruction stream Single Data stream)
single instruction stream single data stream
2, SIMD (Single Instruction stream Multiple Data stream)
Single Instruction Multiple stream
3, MISD (multiple instruction stream single data stream)
multiple instruction stream single data stream
4, MIMD (multiple instruction stream multiple data stream) MIMD

Instruction stream: a machine instruction sequence executed by the
data stream: data sequence call instruction stream (including the input data and intermediate results)

But one thing we need to know Flynn taxonomy can not actually classify all computers, such as a pipeline vector processor according to Flynn taxonomy it is difficult to simply fall into one of these four categories.
Parallel computer system in addition to a small dedicated SIMD system, most of the MIMD system.
[Image dump the chain fails, the source station may have security chain mechanism, it is recommended to save the picture down uploaded directly (img-QdgtisvU-1584529135665) (en-resource: // database / 490: 0)]

Published 66 original articles · won praise 126 · views 30000 +

Guess you like

Origin blog.csdn.net/qq_44762986/article/details/104951239