Time and Location
Wednesday, March 17th, 2010 at Building 40/1450 (Steptoe), One Microsoft Way, Redmond, WA 98052, at 7pm.
Three short talks on Concurrency from Bartosz Milewski, George Reilly, and Max Wilson.
Tasks vs. Sparks, comparing MS Task Parallel Library with Multicore Haskell — Bartosz Milewski
Microsoft TPS is a .NET library that allows the programmer to parallelize fragments of code. Haskell support for parallelization goes deeper into the runtime. Of course these are apples and oranges; Haskell is a functional language, TPS is mostly used from C#. But the implementation details are similar (both projects come from Microsoft Research).
Bartosz Milewski is the president of the NWCPP and has spoken many times.
Read-Mostly Data Structures — George V. Reilly
When shared data is read frequently, but seldom modified, the lock can become a bottleneck. Callers are serialized on the lock and the memory underlying the lock sloshes between different processor caches. Since the data is rarely modified, it seems like we should be able to read it without taking a lock at all. This talk presents a safe, lock-free way to access shared data.
George Reilly has developed software since the 1980s, working in television, graphics, operating systems, editors, advertising, and Web 2.0. He became fascinated with concurrency during the seven years he spent on the Internet Information Services development team at Microsoft, where he concentrated on performance. He now works for Cozi, a small company in Seattle’s Pioneer Square, which just won the WTIA’s Consumer Product of the Year award for its software that simplifies family life.
Futures in C++ — Max Wilson
the new C++0x standard requires support for “futures.” In general, “futures” are a programming language abstraction for data that will be produced asynchronously by other threads. We will discuss the conceptual benefits to programming with futures vs. other synchronization mechanisms, and show which techniques can be used in C++ and how they make concurrent APIs easier to consume.
Max Wilson is a bit of a language geek, and is a developer on Microsoft’s WCF team. Other than that he is a totally normal guy.