Talk:Concurrent computing: Difference between revisions

Content deleted Content added
No edit summary
Cewbot (talk | contribs)
m Maintain {{WPBS}} and vital articles: The article is NOT listed in any vital article list page.
 
(23 intermediate revisions by 16 users not shown)
Line 1:
{{WikiProject Computingbanner shell|class=StartC|importancevital=yes|1=}}
{{WikiProject ComputerComputing science|importance=midhigh |classsoftware=y |software-importance=High |science=y |science-importance=startHigh}}
{{WikiProject Computer science |importance=high }}
 
}}
== Merged content from [[Concurrent programming language]] ==
See [[Talk:Concurrent programming language]] for earlier discussions on concurrent programming languages, as well as dicussion on the merge into [[Concurrent computing]]. --[[User:Allan McInnes|Allan McInnes]] 07:03, 27 January 2006 (UTC)
Line 28 ⟶ 29:
 
--[[User:70.189.73.224|70.189.73.224]] 15:08, 23 September 2006 (UTC)
 
Monitors, Mutexes, tokens and other forms of resource control are not inherently part of the concurrent paradigm. Concurrency at its core describes a series of actions that regardless of execution time will deterministically conclude (this makes no assumptions about physical hardware and is provable). For any algorithm to be in a concurrent state it has to be non blocking, e.g. no single point of execution has any relation or dependency on any other point of execution. If there is a hardware limitation causing blocking behavior the execution can be freely paused without affecting its state(it can still alter the flow by its action on resources like memory, io control, or processor control) but not block or lock any other point of execution. Future readers should ignore the comment above this as it is clearly written by someone without expertise in concurrency. <!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/76.88.186.107|76.88.186.107]] ([[User talk:76.88.186.107#top|talk]]) 13:41, 30 July 2018 (UTC)</small> <!--Autosigned by SineBot-->
 
== Types of concurrency ==
Line 55 ⟶ 58:
== Merge with [[Concurrency (computer science)]]? ==
Should this page be merged with [[Concurrency (computer science)]]? --[[User:FishSpeaker|FishSpeaker]] ([[User talk:FishSpeaker|talk]]) 03:15, 14 November 2008 (UTC)
 
:No, I don't think so. The [[Concurrency (computer science)]] article deals (or should deal) with defining the term "concurrency" as it's used in computer science, and discussing both its theoretical (some of which have little to do with concurrent computing) and practical aspects (in overview). The concurrent computing article should cover the practical aspects and applications of concurrency in programs. --[[User:Allan McInnes|Allan McInnes]] <small>([[User talk:Allan McInnes|talk]])</small> 01:43, 13 May 2009 (UTC)
 
Merge with [[Parallel Computing]]? --[[User:Javalenok|Javalenok]] ([[User talk:Javalenok|talk]]) 08:08, 12 May 2009 (UTC)
 
:No. They are different areas and involve different concerns. Concurrent computing involves writing programs that contain independent parts that may (but don't have to be) executed in parallel. For example, sometimes programs are made concurrent just to make them appear more responsive by running time-consuming but non-time-critical tasks "in the background", with no intention of running them on parallel processors. Parallel computing deals with the specific problems of writing programs intended to be run on multiple processors, typically to provide reductions in computation time. In that sense it's a subset of concurrent computing, but typically addresses other concerns in addition to concurrency. --[[User:Allan McInnes|Allan McInnes]] <small>([[User talk:Allan McInnes|talk]])</small> 01:43, 13 May 2009 (UTC)
 
== Transaction processing ==
 
This article suggests that, somehow, various computer languages are necessary for concurrent processing. Transaction processing has been around for at least 50 years and most of the quoted languages didn't exist then. Concurrent programming is more an "environment" (or a set of requirements) rather than a paradigm or language. I don't think a computer language has any real relevance to concurrent programming and the emphasis of the article should be altered to reflect its much more generic nature. Also message passing is not the only means of program communication in concurrent computing environments and task/subtask initiation, termination and database or server interactions & synchronization and frequently rapid response much more significant. <small><span class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Kdakin|Kdakin]] ([[User talk:Kdakin|talk]] • [[Special:Contributions/Kdakin|contribs]]) 07:05, 17 May 2010 (UTC)</span></small><!-- Template:Unsigned --> <!--Autosigned by SineBot-->
 
:I'll address your points individually:
:*"''This article suggests that, somehow, various computer languages are necessary for concurrent processing.''" – Where does it suggest that?
:*"''Concurrent programming is more an "environment" (or a set of requirements) rather than a paradigm or language.''" – Could you elaborate, please? And what do you mean by "environment"?
:*"''I don't think a computer language has any real relevance to concurrent programming''" – It definitely does. For example, languages without a formal memory model (like C) will raise many problems when you use shared memory communication; a type system might ensure certain properties, like deadlock-freedom. There is a lot of potential for a programming language to facilitate or hinder concurrent programming.
:*"''Also message passing is not the only means of program communication in concurrent computing environments''" – Where does the article imply this?
:*"''[…] much more significant''" – Much more significant than what?
:[[User:Adrianwn|Adrianwn]] ([[User talk:Adrianwn|talk]]) 17:21, 17 May 2010 (UTC)
 
 
== Overhead question ==
 
After describing shared memory and message passing styles, the article states "Typically (although not always), the ... overhead ... is lower in a message passing system". ?!? Shared memory systems are generally much faster than message-passing systems because the former can bypass data copy, serialization, etc. Was this a typo? If it was intentional, some justification should be given.
[[Special:Contributions/129.55.200.20|129.55.200.20]] ([[User talk:129.55.200.20|talk]]) 19:01, 31 July 2013 (UTC)
 
== Removed the software pipeline example ==
 
I removed the software pipeline example, because I'm not convinced it's an example of concurrency. The present article is doing its best to distinguish concurrency from parallelism (even though [http://talks.golang.org/2012/waza.slide Pike], cited for the confusion between the two, actually connects them), and citing an obviously sequential algorithm (lex, parse, translate, assemble, link) isn't helping that cause. [[User:Qwertyus|Q<small>VVERTYVS</small>]] <small>([[User talk:Qwertyus|hm?]])</small> 21:24, 9 January 2015 (UTC)
 
== PCM Disambiguation ==
 
"Process Communication Model" can also refer to [[Taibi Kahler]]'s Process Communication Model, a model of human communication that was used at NASA during the selection of shuttle astronauts and is now available for HR training. I'm currently researching Kahler and intend expanding his entry and adding one for his PCM.
 
Any objections to a disambiguation page for "Process Communication Model"? If that term is searched it currently links directly to Concurrent Computing.
[[User:Aeon-lakes|Aeon-lakes]] ([[User talk:Aeon-lakes|talk]]) 02:48, 9 April 2015 (UTC)
 
"Process Communication Model" now redirects to [[Taibi Kahler]]. A hatnote on that page provides a link back to this page for disambiguation. A full article for 'Process Communication Model' will follow in due course. Is the disambiguation really needed? I see no mention of 'Process Communication Model' on this page. aeon-lakes 10:37, 10 April 2015 (UTC)
 
A search for "Process Communication Model" now leads to a disambiguation page allowing a choice between [[Concurrent computing]] and the Psychology entry on [[Taibi Kahler]]. I have removed the hatnote on that page as there is no primary article for the computing concept of that name. Will Concurrent computing link to a Process Communication Model primary article in future? If so, I suggest that it becomes "Process Communication Model (computing)" and the psychology one be entitled "Process Communication Model (psychology)". A hatnote on each page would then allow the disambiguation page to be deleted. aeon-lakes 04:38, 11 April 2015 (UTC)
 
== External links modified ==
 
Hello fellow Wikipedians,
 
I have just modified 2 external links on [[Concurrent computing]]. Please take a moment to review [https://en.wikipedia.org/w/index.php?diff=prev&oldid=795099533 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/20100306171307/http://codespeak.net/py/0.9.2/greenlet.html to http://codespeak.net/py/0.9.2/greenlet.html
*Added archive https://web.archive.org/web/20060128114620/http://vl.fmnet.info/concurrent/ to http://vl.fmnet.info/concurrent/
 
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=false|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> 00:30, 12 August 2017 (UTC)
 
== Should BSP be added to the Model section? ==
 
Would it be appropriate for [[Bulk_synchronous_parallel]] to be added to the Models section?
 
[[Special:Contributions/46.208.236.121|46.208.236.121]] ([[User talk:46.208.236.121|talk]]) 04:33, 24 May 2018 (UTC)
 
== Concurrent transmission ==
 
I have removed this paragraph from the lead as there is no support for it in the body of the article and it seems to be discussing a different subject. ~[[User:Kvng|Kvng]] ([[User talk:Kvng|talk]]) 00:22, 14 November 2018 (UTC)
:The concurrent scheduling of data transmission in [[Wireless network]] helps increase in network throughput. Use of [[Directional antennas]] and [[Millimeter-wave]] communication in [[WPAN]] gaining increased interest. Owing to properties of [[Directional antennas]] and [[Millimeter-wave]], the probability of concurrent scheduling of non‐interfering transmissions increases, which results in an immense increase in network throughput. However, the optimum scheduling of concurrent transmission is an NP-Hard problem <ref>{{cite journal|author=Bilal, Muhammad|displayauthors=etal|title=Time‐Slotted Scheduling Schemes for Multi‐hop Concurrent Transmission in WPANs with Directional Antenna|journal=ETRI Journal |url=https://onlinelibrary.wiley.com/doi/full/10.4218/etrij.14.0113.0703 |arxiv=1801.06018}}</ref>.
 
{{reflist-talk}}
 
== What does sheaf have to do with concurrent programming? ==
 
I will remove the link if no one objects. [[User:Digital27|Digital27]] ([[User talk:Digital27|talk]]) 14:17, 14 November 2023 (UTC)