Shop OBEX P1 Docs P2 Docs Learn Events
Concurrent vs Parallel - Page 2 — Parallax Forums

Concurrent vs Parallel

2»

Comments

  • kwinnkwinn Posts: 8,697
    msrobots wrote: »
    see post above.

    a single core can not run parallel processes, just concurrent ones. There is the difference.

    Mike

    Sorry Mike, but if we accept the dictionary definition of concurrent as "happening at the same time" then a single core cannot run concurrent processes. They may appear to be concurrent due to the speed of the core, but they are not truly concurrent.

    In any case this discussion is really about semantics. The fact is that the labels "parallel" and "concurrent" are too vague to describe specific architectures.
  • kwinn wrote: »
    msrobots wrote: »
    see post above.

    a single core can not run parallel processes, just concurrent ones. There is the difference.

    Mike

    Sorry Mike, but if we accept the dictionary definition of concurrent as "happening at the same time" then a single core cannot run concurrent processes. They may appear to be concurrent due to the speed of the core, but they are not truly concurrent.

    In any case this discussion is really about semantics. The fact is that the labels "parallel" and "concurrent" are too vague to describe specific architectures.

    Well @kwinn, I am German so I need to translate things back and forth. One point the German Language has is that is very precise in describing things. And so are German minds formed. English is the third language I learned, sadly I have still the vocabulary of a 15 year old boy. If even. My second one was Latin, the fourth one French (never grooked that one)

    But in the German Language there is the following difference between them both words. Parallel does indeed mean
    'happening in the same time' while concurrency means 'fighting about a resource alternating' not at the same time. Alternating.

    That is the difference. CON current and CON has the meaning of NOT in the Latin language at that stage. Sure, might not be right in the English language now, but that are the roots of the word.

    NOT current so to speak. Alternating or fighting for resources,

    So at least in German there is a very clear distinction between them two words.

    Concurrent processes are not running in parallel but - hmm- concurrent?

    So I can not accept your dictionary definition of concurrent meaning "happening at the same time". It isn't.

    Concurrency is a competition between tasks/threads/whatever you name it, not at the same time. Parallelism is happening at the same time

    That is the difference.

    Enjoy!

    Mike
  • Sure, but the basis for parallel being a subset isn't about what a single processor can do. It's all about what a concurrent multiprocessor can do. Parallel processing 8s just one of many use cases under the more general concurrency possible.

  • Beau SchwabeBeau Schwabe Posts: 6,566
    edited 2016-01-24 05:39
    "CON" means WITH or TOGETHER ... "CURRENT" roughly means present, happening now ... So CON-CURRENT literally translates to "with the present" or "happening now together" .... not sure where you get "NOT" from "CON"

    I like mine CON CARNE !

    http://dictionary.reference.com/browse/con-
  • English is more expressive and liberal than German will ever be. I've more than a few great discussions with my German friends. Nice to know you are among them Mike!

    Sehr erfreut

    Say we have one convicted of multiple crimes. They get 3 five year stretches of time, and have requested clemency, and have demonstrated profound remorse.

    The judge may specify the time be served concurrently, meaning they only stay 5 years, and then are released.

    The meaning of concurrent, in english is:


    concurrent = happening at the same time (general use)

    Full Definition of concurrent

    1 operating or occurring at the same time

    2a running parallel
    2b convergent; specifically : meeting or intersecting in a point

    3 acting in conjunction

    4 exercised over the same matter or area by two different authorities <concurrent jurisdiction>

    English has both the notion of precision, and that of fidelity.


    fidelity


    1a the quality or state of being faithful
    1b accuracy in details : exactness

    2 the degree to which an electronic device (as a record player, radio, or television) accurately reproduces its effect (as sound or picture)

    In the colloquial sense, definition 2 would be taken to mean "completeness of vision", and using the word "concurrent" in an inclusive sense, very clearly includes all of what parallel means.

    Maybe it's time for one of those goofy Venn diagrams :)

    Aren't words fun?

    Go take a look at parallel, and it's a bigger mess than concurrent is!

  • Heater.Heater. Posts: 21,230
    kwinn,
    ...if we accept the dictionary definition of concurrent as "happening at the same time" then a single core cannot run concurrent processes. They may appear to be concurrent due to the speed of the core, but they are not truly concurrent.
    That is true, sort of. It's not all about processing though. A single core machine can indeed do many things at the same time. It can maintain the state of many things, simultaneously in it's memory.

    A := 1
    B := 2

    See, now it is keeping the state of A and B at the same time. That is actually, really, physically at the same time. Memory is parallel!

    We can extend this idea to maintaining the state of a 100 logged in users at the same time. Hence expressions like "concurrent users" or "concurrent connections" etc.

    Sure, if those users want to actually do anything the processor has to run around servicing them all in time slices, it cannot do it in parallel.

    Point is the "happening" that is literally "happening at the same time" is the log in or connection or whatever or whatever it is. Even on a single core those happenings can be actually at the same time.

    As someone here said it's a semantic argument. The meaning depends on context or perhaps what level of abstraction you are looking at.

  • kwinnkwinn Posts: 8,697
    @msrobots & all

    I did say “if we accept the dictionary definition of concurrent as” “happening at the same time", I also posted that this discussion is really about semantics. The first item to accomplish would be to settle on definitions of “parallel” and “concurrent” as they relate to computers and code running on computers. Without agreeing on what the terms mean we get nowhere.
  • kwinnkwinn Posts: 8,697
    edited 2016-01-24 16:03
    Heater. wrote: »
    kwinn,
    ...if we accept the dictionary definition of concurrent as "happening at the same time" then a single core cannot run concurrent processes. They may appear to be concurrent due to the speed of the core, but they are not truly concurrent.
    That is true, sort of. It's not all about processing though. A single core machine can indeed do many things at the same time. It can maintain the state of many things, simultaneously in it's memory.

    A := 1
    B := 2

    See, now it is keeping the state of A and B at the same time. That is actually, really, physically at the same time. Memory is parallel!

    We can extend this idea to maintaining the state of a 100 logged in users at the same time. Hence expressions like "concurrent users" or "concurrent connections" etc.

    Sure, if those users want to actually do anything the processor has to run around servicing them all in time slices, it cannot do it in parallel.

    Point is the "happening" that is literally "happening at the same time" is the log in or connection or whatever or whatever it is. Even on a single core those happenings can be actually at the same time.

    As someone here said it's a semantic argument. The meaning depends on context or perhaps what level of abstraction you are looking at.

    Yes, it is semantics, but I think comparing the ability of memory to store multiple items of static data to a cpu's ability to process multiple data items simultaneously is bit of a non sequitur.

    Same is true of the "concurrent user" argument. It may appear to be concurrent, but with enough users or if the workloads are heavy it becomes very obvious that things are not happening concurrently.
  • ErNaErNa Posts: 1,752
    edited 2016-01-24 16:16
    parallel or concurrent doesn't matter if it doesn't matter. If you understand what I said, I expressed myself unprecisely.

    Since Decartes we know, that event existance is doubtful. He states: I think, so I am. This he takes a the basic truth and definition of existance. This is not equal to: I thought, so I was. Because thinking about having thought implies that existance is something that is persistance. What can not be inferred from existing now. So the discussion led here scratches at the very foundations of human self-awareness!

    And: didn't Descartes also invent the cartesian coordinate system to have an instrument to show parallelism?
  • cgraceycgracey Posts: 14,151
    edited 2016-01-24 17:38
    ...with patented "Happening At The SameTime (TM)" technology.

    If it can't be described, maybe it shouldn't be done.
  • kwinnkwinn Posts: 8,697
    Who would have thought that a discussion on computer architecture could have wandered so far into the weeds of philosophical nonsense and navel gazing. Brings back memories of discussions from the sixties.
  • cgraceycgracey Posts: 14,151
    edited 2016-01-24 20:26
    kwinn wrote: »
    Who would have thought that a discussion on computer architecture could have wandered so far into the weeds of philosophical nonsense and navel gazing. Brings back memories of discussions from the sixties.

    We've hit the limitations of existing language.

    Time for a new word:

    "Concurrallel"

    It's both, while being neither.
  • rjo__rjo__ Posts: 2,114
    Elective Parallelism thru Affective Concurrency
  • Groan. :) OK, I will not start another one of these in the near future. It's been fun though!
  • rjo__rjo__ Posts: 2,114
    rofl

    I love these kinds of threads. I usually learn something and it is always fun to follow.Take a break and come back for more:)
  • ErNaErNa Posts: 1,752
    We here are working in parallel, that is: everybody is doing what he has to do, but always in contact and inspired from others work. In my case the development of the PRIME board to me is concurrent, as my design goals change as I see the potential given by unused resources (board space). Determine features is concurrent to doing layout. And in the mean time even PRIME is no longer valid, as originally it was 8+8+1=17 cores, now its 18.
  • cgracey wrote: »
    kwinn wrote: »
    Who would have thought that a discussion on computer architecture could have wandered so far into the weeds of philosophical nonsense and navel gazing. Brings back memories of discussions from the sixties.

    We've hit the limitations of existing language.

    Time for a new word:

    "Concurrallel"

    It's both, while being neither.

    I think "Parallent" would fit more into the Prop World...

    Enjoy!

    Mike.



  • Heater.Heater. Posts: 21,230
    Well,

    Einstein showed us that whether two events happen one before the other, or vice versa, or simultaneously, rather depends on the observer.

    As the creators of software for vast parallel distributed systems, where synchronization is a major issue, like to say now a days "You can't code your way around physics"

    @Chip

    "Concurrallel"

    Love it.

    I was just about to say that, after this discussion, I have concluded that the Propeller is a "Parallent" machine.



  • Perhaps these deep tensions and uncertainties can be exploited for marketing purposes

    "P2 - the ultimate concurrent/parallel/concurrallel/parallent playground"

  • Basically a Marketing Nightmare.

    First we have 16 cores, but they are named COGS. Then we do not have pins but concurral/parallent pin-subsystems.

    There is no shared memory, but a HUB and you will be able to execute code in COG and HUB mode.

    Gosh @Ken must really love his Brother. I would!

    On the other hand that x-processor not to be named here does also throw in quite new definitions for core/tiles/threads/whatever. So why not concurral and/or parallent?

    The upcoming P2 or whatever it get named is like the P1 a quite unique construction. The smart pins or parallel pin subsystems or whatever you call it later are a brilliant idea to keep the main code simple. And also the execution time more deterministic, I guess.

    So we have 16+64 parallent running systems on one microcontroller!

    Honestly I am bowing deep towards @Chip for making this possible. I met him once and was very impressed by him being so - hmm - humble(?). No Geek at all. Good with children, good with animals. Very calm. Running a Walnut Farm, a chip development and building a tortilla making machine to relax himself.

    This will be a very interesting year.

    Enjoy!

    Mike
  • Oh, I think so too!

    I kind of like carallel myself, but who cares?

    I will, from time to time, teach advanced mechanical CAD classes. Those have geometry constraint managers and solvers. The classic, academic literature on these contains the word "colinear" to represent a point that lies along a line, or a line that lies on a line, sharing position or slope.

    The CAD systems all seem to extend this idea to most other basic geometry entities.

    Additionally, everything but points is simply a curve. Lines are curves, circles, arcs, conics, splines, you name it, curve. The software guys just don't care. If it exists, and it's not a point, then it is a curve, the end.

    As a result, I have had "cocurvular" in my official docs since the 90's, and have seen some of that material end up in vendor productions too. I catch them with that word in there once in a while when it's clear they have mooched from me. Lol. (I have a very good, but complex relationship with them and the mooch is not a worry, because I get plenty out of it)

    I don't usually care, but do wonder what marketing always thinks when they review that stuff. Cocurvular will come and go. Someone hates it, someone else loves it. ..

    I really dislike multicore, just because it's everywhere and does not embody the special nature of this one.

    But it's gonna be a mess. IMHO, a good kind of mess. No matter what. Fun times ahead for everyone.

  • What about simply "8 microcontrollers in a single package" ?
  • kwinnkwinn Posts: 8,697
    Tubular wrote: »
    What about simply "8 microcontrollers in a single package" ?

    That's a start, but with the hub, counters, video, and the way the pins are accessed it is so much more.
Sign In or Register to comment.