nwcpp.org

  • Increase font size
  • Default font size
  • Decrease font size
nwcpp.org

January 2012 Meeting

E-mail Print PDF

Our meetings are held at the main Microsoft campus, One Microsoft Way, Redmond, WA 98052, in Building 41/1511 (Townsend). Building 41 is at the corner of NE 31st and 156th Ave NE. Usually, we meet at 7pm on the third Wednesday of the month.

Disclaimer: NWCPP is not associated with Microsoft—although we take advantage of their generosity in providing the venue and occasional speakers.

January 25th, 2012: Finding Race Condition and Data Races Effectively — Madan Musuvathi

Location: 43/1540-Adams (note room change). This meeting was originally scheduled for Jan 18th but postponed due to snow.

Come at 6:30pm for pizza supplied by Microsoft Server and Tools.

In this talk, I will describe two MSR tools Cuzz and DataCollider for finding concurrency errors. Cuzz uses a randomized algorithm to insert delays in a concurrent program to force race conditions with probabilistic guarantees. Cuzz is easy to use and is integrated with Microsoft’s Application Verifier. DataCollider uses hardware facilities in interesting ways to find data races with little runtime overhead. While other data-race detection techniques incur a 1000% runtime overhead or more, DataCollider incurs about 0 to 20% overhead.

Speaker Bio

Madan Musuvathi is a Senior Researcher in the Research in Software Engineering group at Microsoft Research. His research focus is on scalable analysis of concurrent systems. More broadly, his interests include systems, program analysis, model checking, verification, and theorem proving. He also spends a lot of time at Microsoft building analysis tools to improve the productivity of software developers and testers.

Resources

Video | slides | Cuzz paper | DataCollider paper.

December 2011: We took our usual winter break.

 

 

Last Updated on Friday, 27 January 2012 17:07
 

November 2011 Meeting

E-mail Print PDF

November 16th, 2011: Introduction to Scientific Computing — Robert Goddard

Come at 6:30pm for pizza supplied by Kongsberg Underwater Technology.

Computing in science and engineering involves modeling part of the physical world. The inputs could be detailed measurements of the environment, or a randomized set of potential measurements that might characterize some environment in the future. The outputs could be images, or sound, or predictions of whether a system will succeed or fail to perform its function, or actions to make it more (or less) likely that some system will succeed. The algorithms might involve solving a set of differential equations, or integrating some function over a multi-dimensional domain, or searching multi-dimensional parameter spaces to optimize some measure of quality or fit, or sifting through noise to find a buried signal. Speed requirements might be real-time (hard or soft), or much faster, or jus:t fast enough to fit into your project cost and schedule. The answers must be accurate enough to accomplish the mission: Personnel training, or performance prediction, or advance of scientific knowledge, or control of a system or device, or life, or death.

Scientific computing typically involves a whole lot of arithmetic. So, I will begin with a review of floating point arithmetic, specifically the IEEE 754 standard. (You might be surprised at how much you thought you knew, but didn't.) Then I will move on to R. W. Hamming's five main ideas about computation: Emphasis on the purpose of the computation, generalization of algorithms into families, roundoff error, truncation error, and feedback (stability). I hope to give enough practical information to help you avoid the most common problems inherent in numerical computation, and to point out resources that could help you go further.

Speaker Bio

Robert Goddard is a physicist and software developer. For the last 31 years, he has worked at the Applied Physics Laboratory of the University of Washington, mainly on computer modeling of underwater sound. He is the architect and team leader for the Sonar Simulation Toolset (SST), which produces simulated underwater sound, suitable as input to sophisticated signal processing systems (including human ears and brains), based on user-specified descriptions of the undersea environment, the listening system, and the sound sources and targets that might be out there. He has also developed systems for control of measurement devices, data analysis, visualization, modeling of quantum mechanical scattering, and optimization of parameter values to fit observations.

Bob has been an active participant in NWCPP for most of its existence, and is currently Treasurer.

Update: video and slides

Last Updated on Wednesday, 11 January 2012 23:03
 

September 2011 Meeting

E-mail Print PDF

September 21: Beyond Threads — Rick Molloy

Come at 6:30 for pizza provided by Amazon Digital!

A stroll through actor and task based programming using Visual Studio

Developing concurrent applications and libraries is hard. Making them robust and inherently scalable is even more challenging. This talk will walk through a small handful of examples of using Microsoft's Agents & Parallel Pattern library that implement patterns from actor-based and dataflow programming.  An emphasis will be made on providing examples that are drawn from real situations I've encountered in code in the last few years rather and how the patterns help resolve them, rather than just providing a simple inventory of the APIs.

Speaker Bio

Rick Molloy has worked at Microsoft at various roles since 1999 and is currently working as a developer in the Startup Business Group.  Rick developed a passion for programing models while working on the Parallel Computing team and contributing to Microsoft's Concurrency Runtime and C++ AMP and a passion for performance when working on Windows.

Update: Slides, code, and video of Rick's talk.

No Meetings July/August

We took our usual summer break. There were no meetings in July or August, 2011.

Last Updated on Tuesday, 11 October 2011 17:05
 

October 2011 Meeting

E-mail Print PDF

October 19th, 2011: Asynchronous Tasks in C++11 — Bartosz Milewski

Come at 6:30 for pizza provided by Summit Group Solutions, LLC!

One of the goals of the new C++11 Standard was to provide support for concurrency, in particular for thread-based concurrency. But threads don’t scale very well. Do C++ tasks, which are created using std::async, offer a scalable solution? Can they implement task-based parallelism?

Speaker Bio

Bartosz Milewski has a Ph.D. in Quantum Physics and many years of experience as a C++ programmer. He worked at Microsoft on the Context Index—a search engine before the Internet—still an active part of Windows 7. He designed the first distributed version control system, Code Co-op (before BitKeeper and Git). Bartosz took part in the design of the D language. His main topics of interest are concurrent and distributed computing. He works at Corensic, a Seattle startup that makes a concurrency bug detector, Jinx. He regularly publishes a blog at http://BartoszMilewski.wordpress.com and a series of C++11 Concurrency tutorials at http://www.corensic.com/Learn/Resources/ConcurrencyTutorialPartOne.aspx.

Update: slides and video of Bartosz's talk.

Last Updated on Monday, 07 November 2011 23:09
 

June 2011 Meeting

E-mail Print PDF

June 15: Avoiding Over and Under Design — Alan Shalloway

Come at 6:30pm for the pizza provided by Corensic.

Abstract

The question of how much design to do up-front on a project is an engaging one. Too much design often results in overkill, complexity, and wasted work. Too little design results in insufficient system structures that require rework, additional complexity, and wasted effort. How can we know what the right balance is? Alan Shalloway shows how to use the advice from Design Patterns coupled with the attitude of not building what you don’t need from Agile. The trick is in discovering what you don’t know, how it may affect you, and then how to isolate these risks in your code in a simple manner. Alan describes the essence of emergent design – that is, starting with a simple design and letting it evolve as the requirements evolve. He also demonstrates how to refactor to better designs and how this is different from refactoring bad code.

Speaker Bio

Alan Shalloway is the founder and CEO of Net Objectives. With over 40 years of experience, Alan is an industry thought leader in Lean, Kanban, Scrum and design patterns. He helps companies transition to Lean and Agile methods enterprise-wide as well teaches courses in these areas. Alan has developed training and coaching methods for Lean-Agile that have helped his clients achieve long-term, sustainable productivity gains. He is a popular speaker at prestigious conferences worldwide. He is the primary author of Design Patterns Explained: A New Perspective on Object-Oriented Design, Lean-Agile Pocket Guide for Scrum Teams, Lean-Agile Software Development: Achieving Enterprise Agility and is currently writing Essential Skills for the Agile Developer. Alan has worked in literally dozens of industries over his career. He is a co-founder and board member for the Lean Software and Systems Consortium. He has a Masters in Computer Science from M.I.T. as well as a Masters in Mathematics from Emory University. You can follow Alan on Twitter, @alshalloway

Update

Slides and video of Alan's talk.

Last Updated on Sunday, 24 July 2011 21:33
 
  • «
  •  Start 
  •  Prev 
  •  1 
  •  2 
  •  3 
  •  4 
  •  Next 
  •  End 
  • »


Page 1 of 4