Back to proposals-2013
Title: fork() – exploring a separate-process async()
Proposer: detlef_vollmann
Type: Tutorial
Duration: 90 minutes
Description:
Parallelism on a multi-core system is efficient only if as few data
as possible is shared. The POSIX fork() interface provides a very
interesting way to achieve non-shared data.
C++11 introduced async() to launch a function asynchronously
(and get a future to wait eventually for the result).
C++11 only specifies two ways of executing the function: either deferred
in the same thread or “as if in a new thread”.
But the standards committee specifically left other options for
implementers to provide.
This talk will look at an implementation using the fork().
fork() starts a new process as an exact (copy on write) clone of the
existing process. The talk will present the benefits and drawbacks
of such an implemenation.
Though this presentation will use a Posix interface that's not directly
available in Windows, it's still interesting to non-Posix programmers
as it looks generally at the differences between multi-threading vs.
multi-processing.
Intended audience:
This talk is for programmers and designers who are interested in a
non-multithreading view on concurrency.
No knowledge of Posix or C++ is required.
Roger: interesting, but didn't he do as similar talk a year or two back?
Asti - I'm ambivalent