Talk:Multithreading (computer architecture): Difference between revisions

Content deleted Content added
ClueBot III (talk | contribs)
m Archiving 2 discussions to Talk:Multithreading (computer architecture)/Archive 1. (BOT)
 
(17 intermediate revisions by 13 users not shown)
Line 1:
{{Talk header}}
{{talkheader}}{{WikiProject Computing|class=start|importance=mid}}
{{WikiProject banner shell|class=Start|vital=yes|1=
 
{{talkheader}}{{WikiProject Computing |classimportance=startmid |hardware=y |hardware-importance=midMid}}
Anno UK[[User:83.67.105.130|83.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
}}
 
{{User:ClueBot III/ArchiveThis
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) <small>—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/83.160.178.134|83.160.178.134]] ([[User talk:83.160.178.134|talk]]) 12:39, 13 June 2008 (UTC)</small><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
| age =2160
 
| archiveprefix =Talk:Multithreading (computer architecture)/Archive
: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. [[Author:SamuelThibault|Samuel Thibault]] Fri, 18 Sep 2009 13:47:17 +0200
| numberstart =1
 
| maxarchsize =75000
''"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 [[Author:SamuelThibault|Samuel Thibault]] 16:27, 1 December 2008 (UTC)
| header ={{Archive}}
 
| minkeepthreads =5
:That's the point the sentence is trying to make. [[User:Dyl|Dyl]] ([[User talk:Dyl|talk]]) 07:41, 28 December 2008 (UTC)
| format = %%i
 
}}{{Archives|bot=ClueBot III|age=90}}
::Then I'll clarify the sentence, because that's not what I understood from it. [[Author:SamuelThibault|Samuel Thibault]] 13:44, 1 January 2009 (UTC) <small><span class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:SamuelThibault|SamuelThibault]] ([[User talk:SamuelThibault|talk]] • [[Special:Contributions/SamuelThibault|contribs]]) </span></small><!-- Template:Unsigned --> <!--Autosigned by SineBot-->
<!-- Template:Setup cluebot archiving -->
 
:::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". <small><span class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:SamuelThibault|SamuelThibault]] ([[User talk:SamuelThibault|talk]] • [[Special:Contributions/SamuelThibault|contribs]]) 13:49, 1 January 2009 (UTC)</span></small><!-- Template:Unsigned --> <!--Autosigned by SineBot-->
 
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... [[Author:SamuelThibault|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'). [[User:Ipsign|Ipsign]] ([[User talk:Ipsign|talk]]) 05:09, 11 October 2010 (UTC)
 
: 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. [[User:Dyl|Dyl]] ([[User talk:Dyl|talk]]) 03:48, 12 October 2010 (UTC)
:: 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. [[User:Ipsign|Ipsign]] ([[User talk:Ipsign|talk]]) 14:03, 17 October 2010 (UTC)
 
: 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? [[User:Rilak|Rilak]] ([[User talk:Rilak|talk]]) 06:59, 29 October 2010 (UTC)
 
== Rewrite ==
Line 56 ⟶ 44:
[[User:Ipsign|Ipsign]] ([[User talk:Ipsign|talk]]) 05:15, 1 November 2010 (UTC)
:::::::: Yes, we have an agreement on the naming of the articles. You can rename them and create the disambiguation page whenever you please. [[User:Rilak|Rilak]] ([[User talk:Rilak|talk]]) 07:39, 1 November 2010 (UTC)
:::::::::Renamed per proposal, please take a look and comment if necessary. [[User:Ipsign|Ipsign]] ([[User talk:Ipsign|talk]]) 14:24, 1 November 2010 (UTC)
 
== On article title ==
Line 61 ⟶ 50:
::::::::However, I would like to use this oppurtunity to comment on your position that "Multithreading (computer architecture)" is overbroad. In a paper by Sohi et al. called "Multiscalar Processors" that was presented at ISCA '95, on page nine they state that multiscalar processors are not multithreaded and should not be confused as such. They elaborate as to why and they cite several differences. This paper, IIRC, is the seminal paper on multiscalar processors and is cited over 800 times, according to Google Scholar. So, my question is, have the definitions of multiscalar and multhreading changed dramatically between 1995 to 2003, when the ACM survey was published, and the present? If not, I don't think that multiscalar and mulithreading is going to be often confused with each other, and even if they were confused, I don't think that it's that big a problem to require better a title. [[User:Rilak|Rilak]] ([[User talk:Rilak|talk]]) 07:39, 1 November 2010 (UTC)
:::::::::If multi-scalar processors are ''not'' multi-threading, then what ''is'' multi-threading which is ''not'' covered by ''Explicit multithreading in processors'' (as described in previously quoted ''Survey'' article http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.96.9105&rep=rep1&type=pdf)? I'm not an expert on hardware multithreading (besides certain aspects of SMT), so I can only try to reason based on material we can find. [[User:Ipsign|Ipsign]] ([[User talk:Ipsign|talk]]) 14:02, 1 November 2010 (UTC)
 
'''Outdent'''
 
I'm not sure what you mean. Are you asking what implicit multithreading is? If this is what you're asking, then I'm going to say that implicit multithreading is one way to categorize parallel execution paradigms. Regarding your emphasis when you mentioned the ACM survey, is it meant to say you are convinced that it's more authorative?
Finally, I am certainly not an authority on computer architecture. I hope that I am not giving the impression that I am. Like you, I am relying on published material to form a position regarding whether multiscalar is or is not multithreading. The paper that I mentioned previously is not the seminal work on multiscalar processors. Manoj Franklin's ''The Multiscalar Architecture'', a thesis, appears to be the one. You can find it at Citeeseer like the Sohi paper. [[User:Rilak|Rilak]] ([[User talk:Rilak|talk]]) 05:31, 2 November 2010 (UTC)
:: "Are you asking what implicit multithreading is?" - no, I'm trying to figure out ''where in the current [[Multithreading (computer architecture)]] article it is mentioned?'' And if it is not in the article, do you think it belongs there? [[User:Ipsign|Ipsign]] ([[User talk:Ipsign|talk]]) 08:44, 2 November 2010 (UTC)
:: Actually, now (after going through several dozens of DAB links) I tend to withdraw my objection to the article name, though it seems that it will need to be heavily expanded to cover this whole topic. [[User:Ipsign|Ipsign]] ([[User talk:Ipsign|talk]]) 12:38, 3 November 2010 (UTC)
::: I scrolled through the article and I think that it only covers what the ACM paper calls explicit multithreading. I don't think that we need to cover implicit multithreading here as those architectures are not generally categorized as multithreading. [[User:Rilak|Rilak]] ([[User talk:Rilak|talk]]) 03:13, 8 November 2010 (UTC)
 
== System thread ==
 
I worked with some mainframes a long time ago which implemented hardware multithreading with two streams, but reserved one stream for the system. The instructions were split into one or more packets which travelled down the pipeline in two streams and the stages of the pipeline just took the next packet from either stream according to priority and if the resources were available, there was no switching overhead. There were two sets of registers and the caches had an identifier per line saying which process they were associated with or whether they were shared. Interrupts were normally vectored to the system reserved stream and it got higher priority as soon as it received an interrupt, it also dealt with things like scheduling the processor and decoding virtual addresses for the input output.
 
Is there a name for this type of multithreading which was invisible to most users? The arrangement meant single threaded processes ran better than they might otherwise because many overheads were dealt with in parallel in the background. Do any processors nowadays do this business of having a second stream deal with such overheads, or does it happen in practice anyway when not all available hardware threads are being used by programs? [[User:Dmcq|Dmcq]] ([[User talk:Dmcq|talk]]) 12:21, 3 November 2010 (UTC)
 
== External links modified (February 2018) ==
 
Hello fellow Wikipedians,
 
I have just modified one external link on [[Multithreading (computer architecture)]]. Please take a moment to review [[special:diff/824577468|my edit]]. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit [[User:Cyberpower678/FaQs#InternetArchiveBot|this simple FaQ]] for additional information. I made the following changes:
*Added archive https://web.archive.org/web/20100821074918/http://cache-www.intel.com/cd/00/00/01/77/17705_htt_user_guide.pdf to http://cache-www.intel.com/cd/00/00/01/77/17705_htt_user_guide.pdf
 
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
 
{{sourcecheck|checked=true|needhelp=}}
 
Cheers.—[[User:InternetArchiveBot|'''<span style="color:darkgrey;font-family:monospace">InternetArchiveBot</span>''']] <span style="color:green;font-family:Rockwell">([[User talk:InternetArchiveBot|Report bug]])</span> 05:21, 8 February 2018 (UTC)