Jump to content

Talk:Multithreading (computer architecture)

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Ipsign (talk | contribs) at 05:15, 1 November 2010 (Proposed renaming). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
WikiProject iconComputing Start‑class Mid‑importance
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
StartThis article has been rated as Start-class on Wikipedia's content assessment scale.
MidThis article has been rated as Mid-importance on the project's importance scale.

Anno UK83.67.105.130 11:01, 2 October 2007 (UTC) i think that this should be merged as it would provide greater laerning potential as one document for cross refencing pourposes[reply]

MAMF: I see no point in combining the general and specific articles related to multi-threading. Having browsed most of the links I feel the current setup is better. A general high-level discussion article, with links for more depth when desired (and back should you start in an article with more detail than you want) —Preceding unsigned comment added by 83.160.178.134 (talk) 12:39, 13 June 2008 (UTC)[reply]

I agree indeed, but then this page needs to be revamped, as it was originally intended to only cover the Hardware multithreading, thus the previous name before the renaming. As of now, if somebody looks for software multithreading information, he will get very confused by what the page says which is specific to hardware multithreading. I'd suggest to move the detailed hardware material to a separate page, and link to there from here. Samuel Thibault Fri, 18 Sep 2009 13:47:17 +0200

"Execution times of a single-thread are not improved but can be degraded." I strongly doubt of this. If there is really only one thread, then it can use the whole computing power and caches for itself. When running two threads that do not share data, that's another story of course Samuel Thibault 16:27, 1 December 2008 (UTC)

That's the point the sentence is trying to make. Dyl (talk) 07:41, 28 December 2008 (UTC)[reply]
Then I'll clarify the sentence, because that's not what I understood from it. Samuel Thibault 13:44, 1 January 2009 (UTC) —Preceding unsigned comment added by SamuelThibault (talkcontribs)
Errr, no, looking at the list again, running two threads is the point of the previous item in the list: "Multiple threads can interfere with each other when sharing hardware resources such as caches or translation lookaside buffers (TLBs).", here "multiple threads" does not necessarily mean "multiple threads of the same process". —Preceding unsigned comment added by SamuelThibault (talkcontribs) 13:49, 1 January 2009 (UTC)[reply]

Mmm, I'm tempted to drop the reference to multithreaded cryptography. If we let that one in, then I'm afraid we'll get a big bunch of "multithreaded this" and "multithreaded that", as multithreading is potentially applied to any algorithm... Samuel Thibault 16:41, 22 Feb 2009 (UTC)

Multithreading vs SMT?

Can somebody explain the differences between this article and Simultaneous Multithreading? As these two articles are written now, it looks that overlap is huge, and it is tempting to merge this article into SMT (which is much more specific and universally recognizable term than 'Multithreading'). Ipsign (talk) 05:09, 11 October 2010 (UTC)[reply]

As this article is trying to explain, SMT is a sub-type of MT. As such, this article covers other types of MT. There are also errors in the Simultaneous multithreading article. I don't agree that SMT is a more widely recognized term. If anything, the Intel Marketing trademark 'Hyperthreading' is more widely recognized. Dyl (talk) 03:48, 12 October 2010 (UTC)[reply]
Hyperthreading is (arguably) one of SMT implementations, so I would argue they should belong to the same article (I dont care if it is named SMT or Hyperthreading). And when somebody searches for 'multithreading', I don't think they expect to see this article (more likely, it is about multithreading in software, which is currently under Thread (computer science)). In addition, most of material in current Multithreading article is completely unsourced. I will be arguing complete rewrite and/or merge on these grounds. Ipsign (talk) 14:03, 17 October 2010 (UTC)[reply]
You want to merge multithreading because it is completely unsourced? Where's the policy that mandates such action? Also, where would you merge this article too? Rilak (talk) 06:59, 29 October 2010 (UTC)[reply]

Rewrite

I've found a pretty authoritative journal article on the subject, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.96.9105&rep=rep1&type=pdf , and feel that Multithreading should be rewritten based on its findings (other sources are obviously also welcome). Is there anybody willing to do it (I might do it myself, but it will probably take quite a while)? Ipsign (talk) 09:37, 26 October 2010 (UTC)[reply]

Proposed renaming

As Multithreading word is clearly used in at least two different senses, I propose to:

If nobody objects to this proposal in a few weeks, I'm planning to go ahead with it. Ipsign (talk) 09:41, 26 October 2010 (UTC)[reply]

I don't think that there is a need for multithreading to be a disambiguation page, and I am not sure how you concluded that disambiguation is needed. I notice that there is a hatnote that mentions threads, but I cannot see how you can confuse a thread with multithreading. Its like confusing instruction with superscalar. Rilak (talk) 06:52, 29 October 2010 (UTC)[reply]
Actually, disregard the above comment, I just remembered that the term multithreading is used in in the context of software. What I object to is the proposed title. I think it makes it a bit difficult to determine quickly that it is about multithreading as "multithreading" is not at the front. I propose that "Multithreading (computer architecture)" be used instead. I considered "Multithreading (computer hardware)", but I think it is not appropriate as it implies that the article is about physical realizations of multithreading and not the technique and theory. Rilak (talk) 07:24, 29 October 2010 (UTC)[reply]
Can you clarify what is your exact proposal? There are several pages involved, and it is necessary to understand proposals completely before commenting on them. My point is the following: when somebody looks for "Multithreading", we cannot tell what s/he's looking for (current Multithreading page on CPU multithreading, or Thread (computer science)); therefore, per WP:PRIMARYTOPIC there should be a disambiguation page for Multithreading, which is what I've proposed. Ipsign (talk) 09:32, 30 October 2010 (UTC)[reply]
I apologize that my previous comments were poorly considered and witten, and have failed to clearly state my position regarding your proposal. Allow me start over.
I agree that disambiguation is needed. However, I disagree that the article about multithreading in processors should be renamed to "Explicit multithreading in processors" because of three reasons. Firstly, it is clear in the literature and common usage that the topic is called multithreading. Secondly, your proposed title is impractical because of its length. It makes it difficult for readers to get to it in the search box, because it's not easy to remember and because the dynamic search suggestions will not return your proposed title as it begins with "Explicit", not "Multithreading". Thirdly, I think that most people look at the first word of every title when looking for the article they want. If the title does not include the term that they are looking for at the beginning, then they are going to have to expend additional effort to find the article they want. Readers shouldn't have to look that hard, which is why I believe the practice of disambiguating titles with qualifiers in parenthesises is so widespread. I think your proposed title makes it unnecessarily difficult to find and to identify the topic.
My solution to the above problems is to rename the article about multithreading in processors to "Multithreading (computer architecture)". I've considered "Multithreading (computer hardware)", but I don't think that it is an appropriate title because it implies that the article is only about implementations of multithreading and not its theory. Rilak (talk) 04:01, 31 October 2010 (UTC)[reply]
Thanks for clarifying it. I assume (please correct me if I'm wrong) that we agree on disambiguation page for Multithreading and the only disagreement we have is about name which should be given to current Multithreading page. Actually, I do not insist on Explicit multithreading in processors (though it is supported by rather authoritative [1]), but I feel that Multithreading (computer architecture) is too generic (implying much more than CPUs which it is really about); what about, for example, Multithreading (CPU)? Ipsign (talk) 09:38, 31 October 2010 (UTC)[reply]
Yes, we agree that disambiguation is needed, but we disagree on the future name of this article.
While I know that you are willing to consider titles other than the explicit multithreading one, I feel that I should comment on the term itself. The term isn't one that has found widespread use, even among members of the computer architecture community. Google Scholar finds about 75 results for "explicit multithreading". That is quite insignificant in terms of numbers compared to the wide usage of multithreading. The survey also mentions that the categorization that it uses was created for the purpose of excluding discussion multi-scalar and dataflow processors from the paper, which does not describe how the wider community categorizes multithreading schemes. So if we are to conform to WP's WP:NPOV and WP:UNDUE policies, the article's title and content should reflect the majority view (that is that multithreading is multithreading) while making a note of the survey's categorizations (since a paper published in ACM Computing Surveys with around 133 citations is prominent and wirthy of note).
Regarding the title "Multithreading (CPU)", I think it is misleading because multithreading appears in more than just CPUs. For example, the survey mentions media and network processors. These are not just general-purpose processors adapted to be more suitable for media or network processing. The survey discusses the Intel IXP family of network processors that have special offload engines which are multithreaded, and which are not considered CPUs. Additionally, I think that modern GPUs and niche processors such as those from Clearspeed are multithreaded, they they are not CPUs. I think that a title needs to be inclusive of all devices that feature multithreading, which is why I think that "Multithreading (computer architecture)" is more appropriate. I understand that "computer architecture" is potentially confusing, but it is no more confusing than "computer science", which is widely used for disambiguation. (Computer science either gets blank stares or is equated to IT or computer literacy by most people). i am, of course, open to even better titles. Rilak (talk) 03:13, 1 November 2010 (UTC)[reply]
I still don't really like "Multithreading (computer architecture)" (as it is overbroad - for example, current Multithreading does not cover multi-scalar processors, so it likely should have narrower name, with multi-scalar processors going into separate article, probably with its own link from DAB page we've agreed on). On the other hand, I feel that creating DAB page is more important than arguing on exact name for this page, so I agree to:

Do we have an agreement on it? Ipsign (talk) 05:15, 1 November 2010 (UTC)[reply]