Talk:Multi-core processor

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Dual Core, Quad Core, Eight Core, etc.[edit]

Could we perhaps make some new entries listing applications that can run on different amounts of cores? Example: list all modern apps that can run on 4 cores... list apps that can utilize 8 cores... etc. Jacobhaines (talk) 20:21, 4 November 2009 (UTC)[reply]

Technically, all programs can use more then one processing unit, provided they use more then one thread at any one point in time. A lot depends on how (or if) the OS assigns programs across multiple processing units. For that reason, answering you question is nigh impossible, although a few examples of good threaded programs do exist [Prime95 and other number-crunching programs are prime examples] --Gamerk2 (talk) 18:50, 24 February 2010 (UTC)[reply]

Does the AMD FX-8150 really count as 8-core? It has 4 Bulldozer modules that share parts of the core with each other, so it has not got 8 'cores' in the normal sense. GinjaNinja32 (talk) 10:56, 17 May 2012 (UTC)[reply]

After reading Bulldozer, I don't see anything wrong with it. It is usual on a multicore system to share some things, the big question is how fast it can run different work loads. As with clock speeds, don't compare processors on core count alone. Gah4 (talk) 21:41, 14 August 2016 (UTC)[reply]

Defragmenting and antivirus are not CPU intensive operations[edit]

They are I/O intensive and as such, do not benefit from a multicore CPU. —Preceding unsigned comment added by 77.70.95.214 (talk) 19:32, 8 February 2008 (UTC)[reply]

Antivirus could use significant CPU time, though most minimize it using appropriate algorithms, such as hashing. Even so, they might fill up the L1 cache, and so there could be some benefit. Yes, defragmenting should be mostly I/O. Gah4 (talk) 21:43, 14 August 2016 (UTC)[reply]

Advantages: CPU-bound, IO-bound, Memory bound[edit]

From the "Advantages" section:

The largest boost in performance will likely be noticed in improved response time while running CPU-intensive processes, like antivirus scans, ripping/burning media (requiring file conversion), or searching for folders.

Aren't anti-virus scans and searching for folders usually IO-bound not processor-bound? Perhaps audio & video processing and 3D rendering would be better examples. Burning media would be IO-bound too, so the conversion stage of ripping media is the only CPU-bound example left (and it counts as "audio & video processing"). —tedp (talk) 21:35, 5 June 2009 (UTC)[reply]

Would someone explain in the article how external memory (non-cache) memory is treated and used by the processors. I realize this is operating system dependent, but someone familiar with this in a Windows, Linux envrionment please explain. If there is another wiki that describes this could someone put a link to it?

Put simply, this means that signals between different CPUs travel shorter distances, and therefore those signals degrade less

I do not think signal degradation is the limiting factor based on distance, but rather propagation delay. Signal degradation, as far as I can tell, is only an issue over much larger distances. —Preceding unsigned comment added by 66.41.255.4 (talk) 17:21, 19 March 2011 (UTC)[reply]

The article lists "file searching" as an advantage. But wouldn't file searching almost certainly be limited by the hard drive speed (or whatever it is on)? Bubba73 You talkin' to me? 05:36, 27 April 2011 (UTC)[reply]

Disadvantages: yield issues[edit]

Intel's approach (2 dies in a package) is mentioned. AMD's approach to yield problems, by binning and converting quadcores with a single failed core to triple cores could be mentioned. —Preceding unsigned comment added by 81.6.232.208 (talk) 09:52, 6 January 2010 (UTC)[reply]

Could be, but it seems to me more of an engineering detail. How many cores I get, how much power they use, and how much they cost I care about. How they get them into the chip, I don't. Gah4 (talk) 21:46, 14 August 2016 (UTC)[reply]

Multi-core versus Multicore[edit]

This may be a non-issue, but it seems that multicore is becoming the more popular spelling for multi-core/CMP machines. 68.34.101.214 (talk) 15:01, 22 March 2008 (UTC)[reply]

From: Manasa Rokobari —Preceding unsigned comment added by 210.7.2.119 (talk) 21:31, 1 September 2008 (UTC)[reply]

Jargon and encyclopedias[edit]

Given that this is supposed to be an encyclopedia for non-initiates to find info on various topics, is possible to keep the jargon to a minimum? I was interested in knowing precisely what dual core processors were, but I found little that was comprehensible on this particular page. A one-paragraph, jargon-free definition could perhaps be added at the top of this article. Thanks! Episteme1972 —Preceding unsigned comment added by Episteme1972 (talkcontribs) 17:54, April 3, 2008

I agree ... The author isn't really trying to communicate - it is all just posing. Using 'utilizing' sic)for plain 'using' gives it away, and they don't even mean the same thing. — Preceding unsigned comment added by 77.96.59.93 (talk) 21:20, 24 April 2013 (UTC)[reply]

ps3?[edit]

You mention the xbox, doesn't the ps3 have more?

It does. Xenon has 3 cores, Cell have 9. -- Henriok (talk) 13:19, 18 June 2008 (UTC)[reply]

The cell has seven cores, and they are actually SPEs, not cores. It would be more accurately to remove the playstation 3 as an example of multi-core because it is atypical. --Colostomyexplosion (talk) 14:01, 31 July 2008 (UTC)[reply]

The Cell has 9 cores, and even though it is atypical, it's still 9 cores. Even if the Cell in PS3 have one disabled in manufacturing and one out of bounds for homebew, it's still 9 cores. The eight SPEs have their own pipeline, local memory, registers and ISA. They are cores and because it's atypical it'd be a nice example here. -- Henriok (talk) 21:16, 21 August 2008 (UTC)[reply]

The Cell has 8 SPEs (or cores if you like), not nine. One is disabled, and one is used for the OS, that makes seven SPEs or which 6 are accessible to commercial and homebrew applications. Colostomyexplosion (talk) 13:50, 22 September 2008 (UTC) From: Manasa Rokobari Samuraki —Preceding unsigned comment added by 210.7.2.119 (talk) 21:34, 1 September 2008 (UTC)[reply]

The Cell has nine cores, eight SPEs and one PPE. -- Henriok (talk) 23:17, 18 October 2008 (UTC)[reply]

Commercial examples - cleanup[edit]

I'm going to attempt to clean up the commercial examples section, but there are a lot of dubious entries in there. Firstly, is a general purpose microprocessor and a DSP on the same die a multicore processor? I don't believe so, and I will remove them if there are no objections. Secondly, do we need to list every single embedded multicore processor in existence? Since they are more common than hydrogen atoms, I suggest that only those with proven notability (eg. novel design - hundreds of cores, significant market presence, exceptional application) should be included, since a lot of the entries sound like advertisements to me. Thirdly, I think there should be some brief info for each entry on why the processor is notable. What do you think? Rilak (talk) 05:55, 5 June 2008 (UTC)[reply]

Sound good. I agree -- Henriok (talk) 13:27, 18 June 2008 (UTC)[reply]
If you look at the edit history, I've already started and have removed a few entries. I'll try and get the list coherently ordered soon. Does ordering the entries alphabetically and maintaining a coherent format (eg. MyCorp MyCores, a 24-core MIPS processor) sound good to you? Rilak (talk) 05:54, 19 June 2008 (UTC)[reply]
I've deleted a few entries such as the Diopsis, as it seems to be a DSP and a CPU stuck on the same die, and the Infineon IP phone processor, as it seems to be a DSP stuck with something else (microcontroller?). I've also begun sorting the entries in alphabetical order, with the name of the company first, followed by the name of the product. It would also be helpful it someone updated the AMD and Intel entries, some of the information seems a bit old. Rilak (talk) 10:23, 22 June 2008 (UTC)[reply]
The cleanup is complete. A few entries got axed, primarily the Freescale PowerPC softcores. I do not feel that these are actual "examples" as they are generally ordered by customers to integrate into their own products. Also axed were entries that did not describe any actual "examples", but companies/people that design/fab multicore processors as part of their business. Unless actual examples are provided, I think that such entries should not be included as they are too vague. Finally, the software examples section looks like that it is infested with advertising. Most of the links are external, suggesting that the entries are there to promote a product rather than to describe one. If they are indeed notable, they should link to a Wikipedia article. I'm not knowledgeable about this subject, so I won't remove any content, but I think that a cleanup of the section is warranted. Rilak (talk) 12:08, 28 June 2008 (UTC)[reply]

I have added picoChip to the listing. I think it is legitmate on two grounds: a) It is described in the text earlier, so should be in the list b) With 200-300 cores per chip, it would pass Rilak's criteria above("novel design - hundreds of cores")

Trust that is acceptable. Rupert baines (talk) 11:42, 9 September 2008 (UTC)[reply]

I really appreciate the cleanup Rilak has done.
I think that a DSP and a general-purpose CPU on the same die *is* a 2 core chip, and therefore a multicore chip. You have a DSP core, and a CPU core, that's 2 cores -- I'm puzzled as to why anyone would think 2 cores is not multicore. However, I agree that there are so many 2 core chips that there is not room in this article to list more than a few of the most especially notable 2 core chips.
Ordering the entries alphabetically by manufacturer is much better than the previous no order at all.
I would prefer ordering the entries by number of cores (most-cores-first). That number is an important characteristic of a chip. The position in the alphabet of the name of its manufacturer -- not so important, in my opinion. I think any chip that has so many cores that it places near the top is inherently notable enough to add, while a chip that has so few cores that it is #20 or below on such a list would need some other reason to make it important enough to add.
Would you mind if I or someone else re-sort the "hardware" list by "number of cores" first, company name second, product name third? --68.0.124.33 (talk) 22:23, 10 September 2008 (UTC)[reply]
It is nice to thanked for work I've done on Wikipedia, thank you. Regarding DSPs and general purpose processors on the same die, I have to ask, does the general purpose processor and the DSP perform multiprocessing? If I understood correctly, the cores must be perform multiprocessing in order to be classified as multicore, otherwise, the processors are just integrated on the same die, which has been done for a long time. As for sorting the list by the number of cores, can you elaborate as to why more cores would inherently mean more notability? Rilak (talk) 08:03, 11 September 2008 (UTC)[reply]
Wholly agree - a good job and deserves thanks.
I'd agree with Rilak that 2 different cores (eg OMAP with a DSP and a GPP) is not "multi-core" in the sense we use it here. The principle here (and maybe it should be cleaere?) is that there is some single architecture, with tasks being adddressed by several cores together. Merely having several processors in one system, doing things independently, is not the same thing - even if they are on one die. Maybe we should put a para saying this?
I'm wary of listing by number of cores, as too many other vaiables eg the type of core is not the same. "Should we list by 64 bit first, then 32-bit...". If item#20 had fifty 64-bit cores that should score "higher" than item#19 who had sixty 8-bit cores: more cores is not the same as "notable" -- but this gets us into value judgements.
(To declare an interest: I work for picoChip. In a biassed way perhaps I ought to that, as with 300 cores we'd do better than 'p' -- but I think it is the wrong thing to do.)
Alphabetical is neutral, non-judgemental and in-line with encyclopaedia style Rupert baines (talk) 08:55, 11 September 2008 (UTC)[reply]
A paragraph for explaining that all the cores have to be the same architecture, with tasks being processes by multiple cores is a good idea. I might draft a paragraph when I've found some sources. In regards to how the list should be ordered, I could not have said it any better than Rupert baines - ordering the list alphabetically is neutral and more suited to an encyclopedia. Rilak (talk) 06:59, 13 September 2008 (UTC)[reply]

"encyclopaedia style"? Dear reader, you may be surprised to learn that "passive voice" and other common style features of previous encyclopedias are discouraged at Wikipedia (Wikipedia:AWW). We Wikipedians think we can do things better :-). I agree that alphabetical order is neutral and non-judgmental, and therefore should be used unless there is something better. However, I was surprised to learn that none of the example lists in the current version of the relevant Wikipedia style guideline -- Wikipedia:Embedded list -- are in alphabetical order.

Other Wikipedia articles where editors have decided that biggest-number-first is "more suited to an encyclopedia" than alphabetical include (in no particular order) continent, high jump, list of highest mountains, list of tallest buildings and structures in the world, shortwave, slow-scan television#Frequencies, miniaturized satellite, additionally guyed tower, partially guyed tower, and list of catastrophic collapses of radio masts and towers.

Sorting by number of cores has the advantage of making it easier (than alphabetical) for our readers to find the most cores on one chip, the most 32-bit cores on one chip, which number-of-cores are particularly popular ("is 16 cores more popular than 10 cores?"), etc. The number of cores on a particular chip is an objective, verifiable fact that everyone agrees on and is therefore neutral. Except for the "number of cores in a Cell" controversy :-). --68.0.124.33 (talk) 04:21, 17 September 2008 (UTC)[reply]

The problem with the other examples you cite is that the units are consistent and there is no ambiguity on what is "more". In contract, "core" is quite an elastic term: this list encompasses everything from 8 bit cores to 64 bit . As such, I'm not sure that on its own it can answer the questions you raise. Ideally we'd have a table with some dynamic code so you can sort as you need to, but... Maybe some text, describing trends and the notable highlights? Rupert baines (talk) 13:41, 17 September 2008 (UTC)[reply]

One option would be a sortable table; then the reader could choose which attribute they wish to sort by. See Help:Sorting. Dcoetzee 14:30, 18 January 2009 (UTC)[reply]
But the section is currently not a comparison of multicore microprocessors, it is merely a list of examples. I am not convinced of the value of changing the scope of that section due to the impossibility of a proper comparison as others have said before. Rilak (talk) 05:44, 20 January 2009 (UTC)[reply]

I cleaned up the Intel Polaris timeframe from the original relative "5 years" to the absolute announced time of 2011, shout this chip be removed from commercial to a new PROTOTYPE section? —Preceding unsigned comment added by 86.180.31.159 (talk) 14:31, 8 April 2011 (UTC)[reply]

Core?[edit]

What is a core? The fist mentioning of the word "core" is on the first line in this article and it points to a disambiguation page, core. This is not good. There should be an article describing a processor core, and it should not redirect to this article. -- Henriok (talk) 13:31, 18 June 2008 (UTC)[reply]

I agree. The disambiguation for "core" does not define what it is. Rilak (talk) 05:56, 19 June 2008 (UTC)[reply]
I also agree. Too many readers are left wondering, "What is a core?" In particular, several well-meaning Wikipedians on this talk page disagree on whether a DSP CPU + general-purpose CPU combo chip counts as "multi-core".
I would prefer some crisp, objective definition, so that it's obvious to everyone whether a particular chip counts as a "multicore" under the particular definition we use on this page, rather than a vague, ambiguous definition -- such as "It's a multicore if its marketing person says it's multicore".
The article "Running Queries On Multi-Core Processors" by Joe Duffy and Ed Essey, MSDN Magazine 2007, claims that
"Once pervasive mainly in servers and desktop PCs, now multi-core processors are being used in mobile phones and PDAs, resulting in great benefits in power consumption."
Does that refer to the "DSP CPU + general-purpose CPU combo" referred to above -- or is there some other kind of multi-core used in mobile phones and PDAs in 2007 ?
The article "CPU designers debate multi-core future" by Rick Merritt, EE Times 2008, claims that
"Chuck Moore... suggested computers should be more like cellphones, using a variety of specialty cores to run modular software scheduled by a high-level applications programming interface.
... Atsushi Hasegawa, a senior chief engineer at Renesas, generally agreed. He suggested the cellphone's use of many specialty cores working in concert is a good model for future multi-core designs.
... Anant Agarwal, founder and chief executive of startup Tilera, took the opposing view. He said multi-core chips need to be homogenous collections of general-purpose cores to keep the software model simple. ..."
Is Anant Agarwal, who I respect as an expert in this area, insisting that multi-core must be defined as homogenous collections of general-purpose cores, which seems to exclude the Cell processor? --68.0.124.33 (talk) 04:52, 17 September 2008 (UTC)[reply]
I do not think that a DSP and a general-purpose processor on the same die can be categorized as "multicore".
IBM, the first company to offer a commercial dual-core server microprocessor, the POWER4, referred to their design as a "chip multiprocessing" or "CMP" design. The main characteristic of CMP is that there are two or more processors on one die performing symmetric multiprocessing to exploit thread level parallelism in order to achieve high performance. Later, when the term "multicore" became more prevalent, it replaced the term "CMP" and IBM began to refer to later revisions of the POWER4 as a "multicore" microprocessor.
The "multicore" microprocessors with a DSP and general-purpose processor on the same die, from some examples I have seen, do not perform symmetric multiprocessing. The relation of the DSP and the general-purpose microprocessor is similar to that of a coprocessor, to the extent that some designs had the general-purpose processor communicate with the DSP through an on-die peripheral bus! I have no references at the moment though. Rilak (talk) 09:23, 17 September 2008 (UTC)[reply]

How about we just add this as a discussion? We could have a section on (say), "Definition" and cover this there. I think that Chuck Moore & Anant Agarwal are important enough to reference there different opinions, and it does provide a sensible place for discussion on heterogenous / homegenous. Rupert baines (talk) 13:33, 17 September 2008 (UTC)[reply]

I made this discussion an entry with in 'Architecture' and included the EE Times discussion: Moore & Agarwal are notable enough to be included as commentary.Rupert baines (talk) 12:37, 30 September 2008 (UTC)[reply]

I have a NeXT machine with both 68040 and 56001 on board. As there was very little software to run on the 56001, it was pretty much ignored. Still, it seems to me that in counting cores that a DSP counts just as well as any other CPU. As with clock speed, one shouldn't compare chips on core count alone. Do we need separate pages for heterogeneous multicore processor, and homogeneous multicore processor? Gah4 (talk) 22:00, 14 August 2016 (UTC)[reply]

Multiple "Chuck Moore"s (Forth vs AMD)[edit]

Of note, this article references both the chief engineer at AMD named Chuck Moore, and the designer of the Forth language and the Intellasys SEAforth multicore chip, Chuck Moore. The EE Times discussion section of this article incorrectly links to the latter on Wikipedia when it's about the former. --64.58.22.201 (talk) 20:24, 27 March 2009 (UTC)[reply]

Oops, my mistake. I didn't realize there was more than one CPU designer with that name. Now that I'm looking, I see lots of them -- including Chuck, Charles, Gordon, and Calvin. --68.0.124.33 (talk) 02:29, 6 April 2009 (UTC)[reply]
Fixed - I removed the link. Guy Harris (talk) 08:36, 19 February 2011 (UTC)[reply]

page is a little too PC centric[edit]

the page isn't objective and isn't platform neutral, and it gives almost no technical insight besides being a advertisement for users how great multi-core is, and then pointing out negatives which aren't actually negative for multi-core systems. Markthemac (talk) 20:35, 14 July 2008 (UTC)[reply]

Could you point out what is exactly wrong with the article? Specific paragraphs, sentences, statements, that sort of thing? Rilak (talk) 07:39, 15 July 2008 (UTC)[reply]

point:1 In order to continue delivering regular performance improvements for general-purpose processors, manufacturers such as Intel and AMD have turned to multi-core designs, sacrificing lower manufacturing costs for higher performance in some applications and systems. 2

for example the American PC game developer Valve Corporation has stated that it will use multi core optimizations for the next version of its Source engine, shipped with Half-Life 2: Episode Two, the next installment of its Half-Life series.[2][3], and Crytek is developing similar technologies for CryEngine 2, which powers their game, Crysis. Emergent Game Technologies' Gamebryo engine includes their Floodgate technology[4] which simplifies multicore development across game platforms. See Dynamic Acceleration Technology for the Santa Rosa platform for an example of a technique to improve single-thread performance on dual-core processors. Markthemac (talk) 18:07, 20 July 2008 (UTC)[reply]

and i think u can read more yourself, games etc are really only interesting for gamers and not developers or anyone really interested in multi-core development and reasons behind certain processes. Markthemac (talk)

I 'promoted' the section on Embedded to make this distinction clearer (it was a subhead of software which is not the whole part of thing). I also added a section there discussing the differnce in development as a significant impact on markets (eg less need to support legacy code or ISVs) Rupert baines (talk) 11:44, 9 September 2008 (UTC)[reply]

Out of the entire article, I only found one paragraph, the one you quoted, that deals specifically with computer games. I don't see how this makes the article bias in any way, especially when there is an entire section, approximately one and a half pages long that deals with development and software on multicore processors and licencing for high-end data center and technical applications. The paragraph which you claim is bias has full justification for being in this article - computer games have a major role driving the development of hardware, and it has been doing so since the late 1990s. If the article ignored the application of multicore to consumer and entertainment systems (all modern video game console processors - Broadway, Cell, Xenon are multicore), then the article would be truly biased and misleading as it is promoting a one sided view of the concept. Rilak (talk) 06:46, 21 July 2008 (UTC)[reply]

At some point many multi-cored cpus will include cores of various functions... floating point... sound... etc... —Preceding unsigned comment added by Johnk119 (talkcontribs) 17:09, 27 October 2008 (UTC)[reply]

merge[edit]

I suggest merging "manycore processing unit" into "multi-core". They look like the same thing to me. --68.0.124.33 (talk) 22:38, 10 September 2008 (UTC)[reply]

completely agree. "many-core" is a useful distinction in that it describes a subset of multicore, but the two are closely related and most of the discussion here actually does address many-core.

How best to do this? many-core redirects here? We retitle the page "multicore (and manycore)" ? Rupert baines (talk) 08:38, 11 September 2008 (UTC)[reply]

Well, "manycore" is just a term used to describe a particular type of multicore microprocessor, so the definition of manycore should be mentioned in the lead of this article, and the manycore article should be turned into a redirect. The current manycore article is mostly a definition at the moment anyways, with some opinionated statements about scalability and the position of manycore, so I don't think this will be problematic. Rilak (talk) 08:53, 11 September 2008 (UTC)[reply]

Many-core should be a section of the multi-core page. Cocoaguy ここがいいcontribstalk Review Me! 22:03, 22 September 2008 (UTC)[reply]

I added this as a para in 'Definition'. Most of the body does discuss many-core as it is.Rupert baines (talk) 12:37, 30 September 2008 (UTC)[reply]

I Charles Elliot Keisler Agree with ths dicision the many-core article is small and contains no where near the amount of data that coloud be explaind by merging with the Multi-core Page --Koman90 (talk) 19:21, 9 October 2008 (UTC)[reply]

I have redirected many-core to this article now. henriktalk 17:14, 29 October 2008 (UTC)[reply]

Contesting the Merge[edit]

I would have thought ManyCore deserves a separate page: Multi Core and Many Core devices are qualitatively different. The former is usually an SMP CPU. The latter is usually a separate accelerator.(network on a chip, scratchpads, non-coherent caches - e.g. adapteva,kalray; throughput oriented, GPUS). Intels MIC is a qualitatively different device to a multicore CPU - designed for throughput over latency. We could keep the divergent issues in their history and current trends separated out. A many-core page could be fleshed out in more detail. Fmadd (talk) 00:26, 14 April 2016 (UTC)[reply]

There should be an article for chips with unrelated processing units on the same chip, but I think that ManyCore isn't the best term for it. (Is ManyCore one word? Is it a trademark?) Gah4 (talk) 20:31, 14 August 2016 (UTC)[reply]

First paragraph[edit]

The first paragraph of the article is a bit long and could ease a little clean up. Perhaps we should break it into two or more paragraphs? Either way, I found one sentence particularly confusing. Can anyone decipher this:

The most commercially significant (or at least the most 'obvious') multi-core processors are those used in personal computers (primarily from Intel and AMD) and game consoles (e.g., the eight-core Cell processor in the PS3 and the three-core Xenon processor in the Xbox 360).

76.22.72.163 (talk) 09:22, 18 January 2009 (UTC)[reply]

I agree the intro was pretty choppy. I re-wrote it and there haven't been any complaints (yet) so I removed the "intro-rewrite" template. MBbjv (talk) 02:18, 3 June 2009 (UTC)[reply]

Why only commercial chips?[edit]

The current organization of example chips with the major heading "Commercial examples" seems non-optimal to me since there are few non-commercial chip examples and they probably don't deserve their own major section. Any objections to organizing "Hardware" and "Software" as major headings with "Commercial" and "Research" as sub-headings? BTW, the Univ of Maryland ref does not appear to belong here in my opinion. MBbjv (talk) 04:20, 3 May 2009 (UTC)[reply]

Since there were no objections, I made the changes. MBbjv (talk) 02:11, 28 May 2009 (UTC)[reply]


greek and latin prefixes for multicore - why afraid of consistent naming in english realm?[edit]

so we have dual and quad core cpus these days, but not sexa-cores. all of a sudden we jump from latin to greek naming and we have hexa-cores instead. so why didnt we have di- and tetra-cores then instead in the first place? is this some means to avoid the sex(a)- prefix in the english realm? too many people and too many closeminded folks all over this planet? also read: http://www.brightsideofnews.com/news/2009/8/25/intel-to-demonstrate-a-32nm-core-i9-cpu-in-september.aspx —Preceding unsigned comment added by Suggestednickname (talkcontribs) 06:49, 27 August 2009 (UTC)[reply]

Article title[edit]

The following discussion is an archived discussion of a requested move. Please do not modify it. Subsequent comments should be made in a new section on the talk page. No further edits should be made to this section.

The result of the move request was page moved. ukexpat (talk) 03:27, 3 December 2009 (UTC)[reply]


Multi-coreMulti-core processorWP:NAME says to use nouns and noun phrases rather than adjectives. Nurg (talk) 22:02, 1 December 2009 (UTC)[reply]

  • Support makes sense. --Labattblueboy (talk) 04:04, 2 December 2009 (UTC)[reply]
  • Support: Clearly the correct name per WP:NAME - seems non-controversial to me. If no objections in the next few hours, I'll do it. – ukexpat (talk) 17:01, 2 December 2009 (UTC)[reply]
The above discussion is preserved as an archive of a requested move. Please do not modify it. Subsequent comments should be made in a new section on this talk page. No further edits should be made to this section.

Couple of points...[edit]

  • I think the list of examples is too long and may be unnecessary, possibly spammy.
  • There are too many external links, and it is in danger of becoming a WP:LINKFARM. – ukexpat (talk) 03:30, 3 December 2009 (UTC)[reply]

Plagiarism?[edit]

Unless Ian Foster is the author of this Wiki article, at least some portions have been plagiarized. Under Software Impact, the section about Partitioning, Communication, etc. were extracted word for word from here: http://www.mcs.anl.gov/~itf/dbpp/text/node16.html Jif101 (talk) 20:53, 10 December 2009 (UTC)[reply]

But how fast is it?[edit]

The thing that no one seems to want to tell me is this: If a dual- or quad-core CPU is listed, they'll say it's 3.6Ghz. Now, does that mean that the effective speed of the whole thing is two or four times that? So if I buy a dual-core 1.8Ghz, am I really getting 3.6 overall? I mean, obviously there's threading issues that would prevent this, but I'm sure you know what I'm asking. Is the listed speed the overall speed or speed per core? Is there no real speed increase for multiple cores, and really just an efficiency increase? I'm very confused. --Buddy13 (talk) 19:04, 26 December 2009 (UTC)[reply]

No. If you have a Quad running at 2.5GHz, you have four processing units, each running at a speed of 2.5GHz. While you have a total of 10GHz of processing power (assuming 100% scaling across CPUs), no individual unit can go faster then 2.5GHz. If you have a non-threaded program that runs on a single core, running on a 2.5GHz single core will provide the same exact speed as a 2.5GHz dual-core and a 2.5GHz Quad, because the extra cores are not used. --Gamerk2 (talk) 19:04, 24 February 2010 (UTC)[reply]

I was also wondering this. I suspect that many people who come here are researching CPUs with the intent of buying, so I think it would be of great help if we added in a section describing how to compare processors, such as discussing the benefits of dual core 2.5 ghz vs quad core 1.6 ghz and the different kinds and values of cache. This would essentially be a discussion of end-user useability and would totally be appropriate, IMO. Khono (talk) 11:26, 10 April 2010 (UTC)[reply]

A change might be in order[edit]

Sorry -- I'm not a "top expert" on this by a long shot but the following line hit me as a bit off-the-mark.

A many-core processor is one in which the number of cores is large enough that traditional multi-processor techniques are no longer efficient — this threshold is somewhere in the range of several tens of cores — and probably requires a network on chip.

The distinction between 'multi' and 'many' is the same as 'some' and 'a lot'. It's just more cores with no really clear line defining a break point -- I've yet to see one stated. Having something about many vs multi (parent to child style) is good but not as the start of the sentence it is in.

Outside of some SoC attempts, many-core systems are being implemented as multiple multi-core processors -- as in successors to single-core processors by multi-core in multi-processor systems. Outside of the old single CPU to multi-CPU "competition", I see none with respect to these two architectures. They are complementary in nature versus some kind of "replacement" due to limits.

Each CPU in a system has a socket in the board. This grants "off-chip" IO paths of a limited nature irrespective of the number of cores - 1 socket has a path to the rest of the system. So if operations require more off-chip access, multiple CPU's, each with their own bus, will outperform a single CPU with multiple cores. If, on the other hand, you have more "on-chip" processing/communications required, avoiding the CPU's communicate across the bus speeds up that communication plus "on-chip" functions will tend to be faster.

So it's comparing "on-chip" vs "off-chip" and a shuffle of where traffic jams can/will occur. With multiple-cores, they will hit a limit at the shared bus as the cores each require different "off-chip" resources so, at some point, how many cores can be stacked on a single slot/bus will be hit. Diminishing returns style. When? Like I said, it's not my main field and even if it were, I doubt it can be predicted beyond generalization versus exacting -- especially in the generic "computer" market that spans scientific through arts around to 'fun'.

For those looking for a higher performance single CPU slot solution, the multi-core systems tend to be far more cost effective than going with multi-CPU systems and this is how they are positioned in the market across platforms -- multiple-cores > 1 core. As such, this technology is flat out replacing single-cores across most systems that use them but not so with systems that use multiple CPU's -- they are moving (or have moved) to adopt this enhancement as part of their existing architecture.

Last; the NoC comment is also not needed in this area. That's a distraction that really adds nothing to defining multi-core processors in this "introduction" area. SoC if you like but NoC is more a separate "sub-system" commentary than dealing with a CPU's architecture. (sorry "network on a chip" = NoC)

--Eleazaros (talk) 05:36, 13 October 2010 (UTC)[reply]

Stanford Video on Programming Many-core computers[edit]

There is a new Stanford video on programming many-core computers at How to Program the Many Cores for Inconsistency Robustness with slides available at [1]. It argues for using the Actor model together with "Organizational Programming"24.180.11.235 (talk) 04:08, 19 January 2011 (UTC)[reply]

The first paragraph says the advantages of multi-core are lost, without first saying what the advantages are.[edit]

I think the author, or some writer, should edit to say, first, what the advantages are before saying the advantages of multi-core may be lost when the processor is many-core. It would be more structurally sound that way, I think. BriEnBest (talk) 22:21, 5 May 2011 (UTC)[reply]

Drive by tag[edit]

This article has been tagged with the following:

This article has multiple issues. Please help improve it or discuss these issues on the talk page.

yet no one has indicated what the specific needs of this tag are. The tag says, It needs additional references or sources for verification. Tagged since June 2009. Now this article currently has twelve sources. Which part of the article needs sourcing? It's possible that when it was tagged two years ago it had little to no sources, but the problem is when people wantonly tag articles without explanations on the talk page (which is the minimal expectation I have for a tagger) that these articles can sit tagged for years without anything changing. If the lazy buffoons who had tagged this in 2009 had come here and given some indication of what their concerns were, this could have been resolved long ago.

I will remove the tag until such time as the tagger(s) give(s) us some guidance here. HuskyHuskie (talk) 08:45, 13 June 2011 (UTC)[reply]

improvements in CPU manufacturing techniqes have led to another solution:dual-core CPUs(or Chip level Multiprocessing[CMP]). A Dual core CPU is essentially two processors combined on the same die. — Preceding unsigned comment added by 168.167.196.153 (talk) 10:16, 28 June 2011 (UTC)[reply]

Yes, that's what this page discusses, and has discussed since it was first created. That comment is a bit old now; the first multi-core processors were, in fact, dual-core, and they came out quite a while ago, and we now have chips with more than two cores on the chip. Guy Harris (talk) 16:28, 28 June 2011 (UTC)[reply]

List of Multi-core processors[edit]

Do you think we should make a new article that's a list instead of including the list in this article? --Harizotoh9 (talk) 07:56, 22 October 2011 (UTC)[reply]

Multicore vs Many-core[edit]

I've read quite a few articles that refer to singlecore as 1 core, multicore as 2 to 8 cores and many-cores as 8+ cores. I think the main distinction is running multiple single threaded applications vs running one/several multithreaded applications. In the early days of the Athlon X2, most applications were single threaded, but we are slowly approaching this multi-threaded (many-threaded) era. Is it worth have a separate multi/many core distinction? I do think both should be in the same article regardless. WinampLlama (talk) 07:27, 27 October 2011 (UTC)[reply]

Many cores limitation for 3D rendering in videogames[edit]

1. Many cores system is not good for geometry transformations. This means number of polygons can't grow with many cores (maybe up to ten cores there will be some up tp 5x increasment in perfomance of GPU). Why? This is because, that if you want to transform many objects with big polygons count from world space (or objects space) to WorldViewProjection space, you need to multiply each object (which have 100000 triangles) by ViewProjection Matrix (4x4 matrix). So to send 100000 polygons from CPU core#0 to over 1000 cores, you must to waist minimum two multiplications (for sending to cpu cores and for returning; one multiplication is about 4 cycles, so about 8-10 cycles for send and return transformed polygons, after mouse give command to rotate etc.). So there is say 100000 vertices, each vertex have x,y,z coordinates so 3*64-bits or about 256 bits or about 4 multiplication cycles or 32-40 cycles to sent and return all vertices from not #0 core (but from core from #1 to #999). This is 3 million cycles. Multiplication of ViewProjection matrix by one vertex takes about 16 multiplications or about 64 cycles (or maybe 128 cycles, because View and Projection matrices are separate). Say about 100 cycles. So 100000(vertices)*(100+32*1000)=3210000000 cycles (3.21 billions cycles or 3.21 Gcycle). At GPU frequency 3.2 GHz this is 1 fps. Now on single core GPU you need to render 1000 objects each with 100000 vertices. This is 1000*100000*100(cyclesformatrixmultiplication)=10^10 cycles or 10 billions cycles or 10 Gcycles. So on 1000 cores GPU is 10/3.21=3 times faster than on single core GPU. — Preceding unsigned comment added by Paraboloid01 (talkcontribs) 12:52, 4 October 2012 (UTC) Since there is 1000 cores, there need send vertices data 1000 times [for each core]. So it turns out that on single core need 10 Gcycles and on 1000 cores need 3.21 Gcycle. So single core GPU is 3 times slower than 1000 cores GPU. In reality it depends, what is faster, or send and receive vertices from each core or just multiply [instead] ViewProj matrix by each vertex. So even with 1000 cores GPU you maximum can have 3-5 faster geometry than on singe GPU core (but maybe longer takes to send and receive data from core than multiply VieProjection matrix by vertex).[reply]
2. Six cores GPU is good for cubemaps rendering (reflections on object).
3. Many cores GPU (up to 100) is good for Bluring, which used in bloom for HDR and deep of field effects. — Preceding unsigned comment added by Paraboloid01 (talkcontribs) 13:27, 4 October 2012 (UTC)[reply]
4. Assume 4 cores GPU with quadchannel memory. If there is 4GB on board GPU memory, then 1GB for each core. So general core #0 gives all textures to cores #1, #2 and #3. Then each of 4 cores rendering quarter of screen. If you wish more than 4 core, then I afraid there just not enough memory or memory access will be very slow, which is almost the same as single core (maybe up to 5-10 times faster due to cache of each core from say 100 cores or 1000 cores). So textures killing idea about multicore GPU rendering, because need not many cores (like 100-1000), but say 8 cores, but each have 512 MB of memory. — Preceding unsigned comment added by Paraboloid01 (talkcontribs) 13:39, 4 October 2012 (UTC)[reply]
5. Since texturing is hard part, then maybe for each separate object can do texturing each separate GPU core. But then if you have one object with many polygons then all scene fps depends on this one [many poligons having] object. Also there could be a problem to combine all objects z-buffer kinda and alpha and to find where one objects bounds begins and over objects bounds ends. There still could be problem if some first object parts are closer than seconds object, but first object most parts are farther. If texturing is so hard (100 times harder than simply output 2D BPM pixels) then there can be maximum 100 times faster on 1000 cores than on single core GPU, because even to fill all screen with pixels need time (like horizon texture) and since say to render complex model with texture need 100 times more time than to set pixel to blue [for sky horizon], then farther growing in number of cores don't gives result, because all rendered objects need to combine together and this is like about 2000000 pixels for 1920*1080 resolution (passing textures pixels to over cores costs minimum 2000000 cycles, if the same textures not used for many objects). So 3GHz GPU simply can't give more than 3*10^9 / 2*10^6 = 1500 fps on 1920*1080 resolution no matter what number of cores you have. So simply, since you need 30 fps for game, then 1500/30=50 cores is limit. So maximum 50 GPU cores can be useful (more than 50 GPU cores is nonsense). — Preceding unsigned comment added by Paraboloid01 (talkcontribs) 13:58, 4 October 2012 (UTC) If rendered-textured object returned to general core in small space coordinates, then there can be useful more than 50 cores, if textures used for far many small objects. And especially [useful] if those textures are low resolution even for small objects (but with quite many polygons like for small objects). So need many GPU cores with about 4-40 MB of memory RAM, then you by rechanging all rendering algorithms can have advantage in many far objects scenario rendering. Also you could render close many polygons objects by dividing into peaces, but when problem very big can be to know what texture coordinates give for specific core and this will be limited to 50 cores [when it useful]. Also model then need to be good teselated, because or to somehow divide for many cores or low teselated objects or undivided render separately undividing on general core.[reply]

Terrible link[edit]

"The challenge of writing parallel code clearly offsets this benefit.[5]"

Links to: http://www.futurechips.org/chip-design-for-all/a-multicore-save-energy.html

A blog post, which is not clear at all. You might also see from the blog comments that the author ignored voltage, periphericals, etc. — Preceding unsigned comment added by 192.54.144.229 (talk) 12:48, 5 February 2013 (UTC)[reply]

Licensing "per processor"?[edit]

"Typically,[according to whom?] proprietary enterprise-server software is licensed "per processor"." Is this really true? What is if your PC/server has 2 sockets, do you need 2 licenses then? -- Laber□T 04:28, 6 June 2013 (UTC)[reply]

For enterprise server software, you might need a two-processor license if the server has 2 sockets and 2 processor chips in those sockets. See, for example, the "Server Licensing Not Requiring CALs" section of the Microsoft Volume Licensing - Client Access License (CAL) Guide. It speaks of both per-processor and per-core licensing. Guy Harris (talk) 06:35, 6 June 2013 (UTC)[reply]

It isn't just server software anymore. Read the license on your Windows 7, 8, 10, or even back to NT. It specifies the number of cores (processors) it is licensed for. For NT, I believe it was NT Server that could run on multiple processor systems. Now it should be in non-server versions. Gah4 (talk) 20:39, 14 August 2016 (UTC)[reply]

"Broken" link[edit]

OpenHMPP Website: http://www.openhmpp.org/ looks very unrelated: "Should You Take Menopause Supplements? ...". Has the website moved? 141.3.44.17 (talk) 15:24, 25 February 2014 (UTC)[reply]

Commercial examples - cleanup V2[edit]

What do you think about limiting the examples to 8 cores or more and only to ones with wikilinks? Daniel.Cardenas (talk) 13:00, 16 April 2014 (UTC)[reply]

Meh... There are currently too many of them, I agree, however all of them have 2+ cores thus they qualify. Might be usable to have such a broad list. — Dsimic (talk | contribs) 06:27, 17 April 2014 (UTC)[reply]
I agree. A massive reduction is needed. Maybe limit the entries to just the first 2/3 commercial chips for each number of cores? That would keep the list clear. User:GKFXtalk 14:18, 2 January 2015 (UTC)[reply]

Translate Greek to English[edit]

In order comply with the MOS:JARGON guideline, I changed the Greek and Latin numeral prefix terms "hex-", "hexa-", and "octo-" currently used in this article without definition to "6-" and "8-".

A previous edit [2] commented that 'These names are not "common" '.

Do we need a table in this article like the one deleted by that edit, or can we assume that people looking up "octo-Core" will recognize that it means the same thing as what this article now calls "8-core"? --DavidCary (talk) 17:09, 25 April 2014 (UTC)[reply]

I agree that using "6-core" and "8-core" is better. At the same time, I'd say that such a table isn't need, but it should be usable to mention "hexa-core" and "octo-core" as alternative terms as they're used from time to time; went ahead and improved the article's lead section further, please check it out. — Dsimic (talk | contribs) 05:47, 26 April 2014 (UTC)[reply]

Octo-core? Octa-core? Oct-core?[edit]

what is the exact or frequently used name for 8-core? I saw "Octo-core" and "Oct-core" in the article but Octa-core is used for many articles on the web (you can google it). Moreover, the term "Oct-care" cannot be searched by google, is it a typo?--Terry0201 (talk) 03:31, 30 May 2014 (UTC)[reply]

Cache[edit]

Also, adding more cache suffers from diminishing returns.[citation needed] Since this is pretty much the first rule in cache design, and unless there is more discussion on the citation needed, I am removing the CN. There are many questions related to cache in multi-core processors, but this doesn't seem to be asking them. Gah4 (talk) 20:42, 14 August 2016 (UTC)[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on Multi-core processor. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

checkY An editor has reviewed this edit and fixed any errors that were found.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 05:47, 17 January 2018 (UTC)[reply]

Fixed first one using the Wayback Machine (just as you did for another www.futurechips.org in the subsequent modification...); second one works. Guy Harris (talk) 03:13, 8 February 2018 (UTC)[reply]

External links modified (February 2018)[edit]

Hello fellow Wikipedians,

I have just modified one external link on Multi-core processor. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

checkY An editor has reviewed this edit and fixed any errors that were found.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 01:57, 8 February 2018 (UTC)[reply]

Prohibitive flagged as dubious[edit]

Most applications, however, are not accelerated so much unless programmers invest a prohibitive amount of effort in re-factoring the whole problem.

The word "prohibitive" is not encyclopedic to begin with, but I concede that it was common currency in this space for some while. It was largely applying to legacy codebases written before most developers had the first clue about concurrency.

Secondly, as a broad brush, this simply isn't true. Just about any application that depends upon linear algebra can be accelerated by replacing the linear algebra library with a library that's highly threaded.

On the other hand, if your core data structure to represent a document in a word-processing application is not inherently thread safe, multicore isn't going to buy you much without first biting a prohibitive bullet.

What the original author probably meant by "most" is most user-facing applications, viewed through a consumerist lens of availability bias (everyone's favourite availability bias as determined by most people's availability bias concerning common sentiment). Bad rabbit hole. Shun, eschew, avoid. — MaxEnt 15:04, 24 August 2020 (UTC)[reply]

Merged, and on top of this I think that the provided source itself seems unreliable. — Huisecorp (talk) 04:35, 6 January 2022 (UTC)[reply]

Should OpenAMP be OpenMP?[edit]

In section Heterogeneous systems, should OpenAMP be OpenMP? --Mortense (talk) 14:01, 13 February 2021 (UTC)[reply]

No. OpenAMPOpenMP. Guy Harris (talk) 18:25, 13 February 2021 (UTC)[reply]