3 ms·
You have just repeated the nonsense I was talking about. The claim you repeat is meaningless. A program is either parallel / concurrent or not. The situation
by crabbone 3y ago
You have just repeated the nonsense I was talking about.
The claim you repeat is meaningless. A program is either parallel / concurrent or not. The situation you describe (when there's a single processor core) isn't parallel or concurrent. In some sense, it emulates concurrent / parallel execution because it imitates the unpredictable ordering of code execution, which sure has its uses... but the whole point of dealing with this unpredictable ordering is that we actually want parallelism / concurrency. The emulation on its own is worthless.
- vore 3y agoNo it's not? How do you characterize running two programs on a single core without calling it concurrent but not parallel? There is a clear distinction between logical multitasking and physical multitasking that I think is useful to taxonomize.
- stoniejohnson 3y agobruh your OS scheduler wants a word with you
- preseinger 3y agoa program (as written) is either concurrent or not, a program (as executed) is either parallel or not a program which is not written as concurrent can never be executed as parallel a program which is written as concurrent can be executed as parallel, or not > The situation you describe (when there's a single processor core) isn't parallel or concurrent. a program running on a single core can never be parallel, but it can be concurrent concurrent is a logical property, parallel is a physical property
- wizofaus 3y ago"a program which is not written as concurrent can never be executed as parallel" Unless of course you're running multiple independent instances of it, each with different parameters, which I gather is a pretty common way of running long running CPU- intensive operations on large data sets. Presumably there's often some final separate step that may be needed to combine the results once they're all finished, which if run manually obviates any concurrency concerns at the software level.
- preseinger 3y agoin which case that program is being executed N times, so none of this applies ("a program [as executed]" is a single instance (process) of a binary)
- chlorion 3y agoYes, concurrency on a single core CPU is simply not possible. That's why multitasking OS's didn't exist until multicore CPUs became a thing. If only these "Gophers" knew anything about computing history!
- ascar 3y agoSo before 2001 your OS didn't have a scheduler and was incapable of handling more than one process at the same time? The user interface was simply hanging when you told your CPU to do something?
- chlorion 3y agoThat was the point I was attempting to get across. Single core computers multitask fine, which proves that concurrency is not the same thing as parallelism. Even in modern times, we have something like the first generation raspberry pi zero, it has a single ARM core, and it multitasks fine.
- astrange 3y agoYour "single core" computer contains a lot of other concurrently operating hardware like storage and network cards.