2013:fork_--_exploring_a_separate-process_async

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

2013/fork_--_exploring_a_separate-process_async.txt · Last modified: 2016/06/11 14:05 by 127.0.0.1