Parallel computation | Wikipedia audio article
Channel: wikipedia tts
Date: 2019-01-13

This is an audio version of the Wikipedia Article:
https://en.wikipedia.org/wiki/Parallel_computing


00:02:34 1 Background
00:04:21 1.1 Amdahl's law and Gustafson's law
00:06:13 1.2 Dependencies
00:08:20 1.3 Race conditions, mutual exclusion, synchronization, and parallel slowdown
00:11:28 1.4 Fine-grained, coarse-grained, and embarrassing parallelism
00:14:46 1.5 Consistency models
00:15:26 1.6 Flynn's taxonomy
00:17:27 2 Types of parallelism
00:18:58 2.1 Bit-level parallelism
00:19:08 2.2 Instruction-level parallelism
00:20:37 2.3 Task parallelism
00:21:25 3 Hardware
00:22:12 3.1 Memory and communication
00:22:21 3.2 Classes of parallel computers
00:25:05 3.2.1 Multi-core computing
00:25:35 3.2.2 Symmetric multiprocessing
00:26:58 3.2.3 Distributed computing
00:27:40 3.2.3.1 Cluster computing
00:28:25 3.2.3.2 Massively parallel computing
00:29:57 3.2.3.3 Grid computing
00:30:52 3.2.4 Specialized parallel computers
00:31:52 3.2.4.1 Reconfigurable computing with field-programmable gate arrays
00:32:15 3.2.4.2 General-purpose computing on graphics processing units (GPGPU)
00:33:36 3.2.4.3 Application-specific integrated circuits
00:35:01 3.2.4.4 Vector processors
00:36:19 4 Software
00:36:42 4.1 Parallel programming languages
00:37:21 4.2 Automatic parallelization
00:37:31 4.3 Application checkpointing
00:39:34 5 Algorithmic methods
00:40:25 6 Fault tolerance
00:41:16 7 History
00:42:35 8 Biological brain as massively parallel computer
00:43:21 9 See also
00:45:53 10 References
00:47:14 11 Further reading



Listening is a more natural way of learning, when compared to reading. Written language only began at around 3200 BC, but spoken language has existed long ago.

Learning by listening is a great way to:
- increases imagination and understanding
- improves your listening skills
- improves your own spoken accent
- learn while on the move
- reduce eye strain

Now learn the vast amount of general knowledge available on Wikipedia through audio (audio article). You could even learn subconsciously by playing the audio while you are sleeping! If you are planning to listen a lot, you could try using a bone conduction headphone, or a standard speaker instead of an earphone.

Listen on Google Assistant through Extra Audio:
https://assistant.google.com/services/invoke/uid/0000001a130b3f91
Other Wikipedia audio articles at:
https://www.youtube.com/results?search_query=wikipedia+tts
Upload your own Wikipedia articles through:
https://github.com/nodef/wikipedia-tts
Speaking Rate: 0.8708777081605918
Voice name: en-AU-Wavenet-B


"I cannot teach anybody anything, I can only make them think."
- Socrates


SUMMARY
=======
Parallel computing is a type of computation in which many calculations or the execution of processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different forms of parallel computing: bit-level, instruction-level, data, and task parallelism. Parallelism has long been employed in high-performance computing, but it's gaining broader interest due to the physical constraints preventing frequency scaling. As power consumption (and consequently heat generation) by computers has become a concern in recent years, parallel computing has become the dominant paradigm in computer architecture, mainly in the form of multi-core processors.Parallel computing is closely related to concurrent computing—they are frequently used together, and often conflated, though the two are distinct: it is possible to have parallelism without concurrency (such as bit-level parallelism), and concurrency without parallelism (such as multitasking by time-sharing on a single-core CPU). In parallel computing, a computational task is typically broken down into several, often many, very similar subtasks that can be processed independently and whose results are combined afterwards, upon completion. In contrast, in concurrent computing, the various processes often do not address related tasks; when they do, as is typical in distributed computing, the separate tasks may have a varied nature and often require some inter-process communication during execution.
Parallel computers can be roughly classified according to the level at which the hardware supports parallelism, with multi-core and multi-processor computers having multiple processing elements within a single machine, while clusters, MPPs, and grids use multiple computers to work on the same task. Specialized parallel computer architectures are sometimes used alongside traditional processors, for accelerating specific tasks.
In some cases parallelism is transparent to the programmer, such as in bit-level or instruction-level parallelism, but explicitly parallel algorithms, particularly those that use concurrency, are more difficult to write than sequential ones, because concurrency introduces several new classes of potential software bugs, of which r ...