Our task is simple: Get some numbers, crunch them, get some more -- lather, rinse, repeat.
Caveats:
- the numbers arrive over the network,
- our number crunching may take time,
- combining numbers coming from multiple network feeds can be useful.
In this session we will examine multiple design points through several exploratory examples.
The questions we'd like to answer:
- networking & online numerics -- what are the choices and libraries?
- how do we test correctness?
- how do we measure performance -- and keep track of how much computation we can perform as the data arrives?
- task distribution & collection design -- how can the task-based concurrency help?
- how does the choice of a network library (and the implied level of abstraction) influence the available concurrency design options?
- can the improvements to std::future coming in Concurrency TS (composition, continuation) help -- and if so, how?