ArticleslgStudy

computer science

Manycore processor

Manycore processor is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Manycore processor rather than just read about it. In short: Manycore processors are special kinds of multi-core processors designed for a high degree of parallel processing, containing numerous simpler, independent processor cores (from a few tens of cores to thousands or more). Manycore processors are used extensively in embedded computers and high-performance computing.

Key takeaways

  • Manycore processor belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Manycore processor to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Manycore processor from memory before moving on to harder problems.

Reference excerpt

Manycore processors are special kinds of multi-core processors designed for a high degree of parallel processing, containing numerous simpler, independent processor cores (from a few tens of cores to thousands or more). Manycore processors are used extensively in embedded computers and high-performance computing.

Contrast with multicore architecture

Manycore processors are distinct from multi-core processors in being optimized from the outset for a higher degree of explicit parallelism, and for higher throughput (or lower power consumption) at the expense of latency and lower single-thread performance. The broader category of multi-core processors, by contrast, are usually designed to efficiently run both parallel and serial code, and therefore place more emphasis on high single-thread performance (e.g. devoting more silicon to out-of-order execution, deeper pipelines, more superscalar execution units, and larger, more general caches), and shared memory. These techniques devote runtime resources toward figuring out implicit parallelism in a single thread. They are used in systems where they have evolved continuously (with backward compatibility) from single core processors. They usually have a 'few' cores (e.g. 2, 4, 8) and may be complemented by a manycore accelerator (such as a GPU) in a heterogeneous system.

Motivation Cache coherency is an issue limiting the scaling of multicore processors. Manycore processors may bypass this with methods such as message passing, scratchpad memory, DMA, partitioned global address space, or read-only/non-coherent caches. A manycore processor using a network on a chip and local memories gives software the opportunity to explicitly optimise the spatial layout of tasks (e.g. as seen in tooling developed for TrueNorth). Manycore processors may have more in common (conceptually) with technologies originating in high-performance computing such as clusters and vector processors. GPUs may be considered a form of manycore processor having multiple shader processing units, and only being suitable for highly parallel code (high throughput, but extremely poor single thread performance).

Programming models Message passing interface OpenCL or other APIs supporting compute kernels Partitioned global address space Actor model OpenMP Dataflow

Classes of manycore systems GPUs, which can be described as manycore vector processors Massively parallel processor array Asynchronous array of simple processors Spatial architecture

Specific manycore architectures ZettaScaler [1], Japanese PEZY Computing 2,048-core modules Xeon Phi coprocessor, which has MIC (Many Integrated Cores) architecture Tilera Adapteva Epiphany Architecture, a manycore chip using PGAS scratchpad memory Coherent Logix hx3100 Processor, a 100-core DSP/GPP processor based on HyperX Architecture Movidius Myriad 2, a manycore vision processing unit (VPU) Kalray, a manycore PCI-e accelerator for data-intensive tasks Teraflops Research Chip, a manycore processor using message passing TrueNorth, an AI accelerator with a manycore network on a chip architecture Green arrays, a manycore processor using message passing aimed at low power applications Sunway SW26010, a 260-core manycore processor used in the then top 1 supercomputer Sunway TaihuLight SW52020, an improved 520-core variant of SW26010, with 512-bit SIMD (also adding support for half-precision), used in a prototype, meant for an exascale system (and in the future 10 exascale system), and according to datacenterdynamics China is rumored to already have two separate exascale systems secretly Eyeriss, a manycore processor designed for running convolutional neural nets for embedded vision applications Graphcore, a manycore AI accelerator

Specific manycore computers with 1M+ CPU cores A number of computers built from multicore processors have one million or more individual CPU cores. Examples include:

Gyoukou (Japanese: 暁光 Hepburn: gyōkō, dawn light), a supercomputer developed by ExaScaler and PEZY Computing, with 20,480,000 processing elements total plus the 1,250 Intel Xeon D host processors. SpiNNaker, a massively parallel (1 million CPU cores) manycore processor (ARM-based) built as part of the Human Brain Project.

Specific computers with 5 million or more CPU cores Quite a few supercomputers have over 5 million CPU cores. When there are also coprocessors, e.g. GPUs used with, then those cores are not listed in the core-count, then quite a few more computers would hit those targets.

Frontier Fugaku, a Japanese supercomputer using Fujitsu A64FX ARM-based cores, 7,630,848 in total. Sunway TaihuLight, a massively parallel (10 million CPU cores) Chinese supercomputer, once one of the fastest supercomputers in the world, using a custom manycore architecture. As of November 2018, it was the world's third fastest supercomputer (as ranked by the TOP500 list), obtaining its performance from 40,960 SW26010 manycore processors, each containing 256 cores.

See also Vector processor SIMD High-performance computing Computer cluster Multiprocessor system on a chip Vision processing unit Memory access pattern Cache coherency Embarrassingly parallel Massively parallel CUDA

References

External links Architecting solutions for the Manycore future, published on Feb 19, 2010 (more than one dead link in the slide) Eyeriss architecture

Worked examples

Example 1 — a first encounter with Manycore processor

Start with the simplest possible case. Write down what Manycore processor claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Manycore processor before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Manycore processor ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Manycore processor

In research
Manycore processor appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Manycore processor in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Manycore processor is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer architecture, Manycore processors, Parallel computing, so understanding it makes those chapters shorter.
In everyday life
Look for Manycore processor outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Manycore processor” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Manycore processor in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Manycore processor means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Manycore processor out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Manycore processor in simple terms?

Manycore processors are special kinds of multi-core processors designed for a high degree of parallel processing, containing numerous simpler, independent processor cores (from a few tens of cores to thousands or more). Manycore processors are used extensively in embedded computers and high-perform…

Why does Manycore processor matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Manycore processor?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Manycore processor.

Tags

  • Computer architecture
  • Manycore processors
  • Parallel computing

Keep exploring