Dec. 8, 2009 SDF Time and Concurrency

SDF logo2009 copyMangogna Andrew copyStarr Leland copyStarr Leon copy

On December 8, 2009 in Palo Alto, SDForum’s SAM SIG hosted three experts on time and concurrency with Andrew Mangogna of inCube Labs, Leland Starr of Thinkorswim and Leon Starr of Model Integration. Text from DJCline.com.

The first presentation was “A Systematic and Platform Independent Approach to Time and Synchronization” with Leon Starr of Model Integration. Achieving synchronicity and concurrency regardless of systems or platforms is possible using a growing set of languages, extensions but is no guarantee of an efficient, dependable and comprehensible design. Rules are needed to avoid deadlocks, priority inversions, inexplicable data corruption, exploit concurrency and uniform strategy.

Starr presented a simple set platform independent concurrency rules regardless of programming language. These rules can also help separate real-world/application level concurrency requirements from platform specific sequenced and concurrent implementations. He showed examples, code and models on how to do it. The rules are:

1. There is no global clock.

2. Procedure duration is unknown.

3. Busy objects are never interrupted by events.

4. Signals are never lost.

5. Signal order from a single sender is preserved.

6. Self-directed events are always processed first.

The second presentation was Leland Starr’s work with TDAmeritrade Investor Education Group. It was a web implementation using a Scala state execution engine with timing and synchronization rules. Users could register and join events so the app needed to keep track of customer interactions and enforce event capacities defined internally. An example would be if a customer registered for an event that was full, they would be notified. If they canceled, an opening would be displayed. The code for this will available soon on Source Forge.

The third presentation was Andrew Mangogna’s “Simple Single Threaded Execution Architecture”. He talked about his work with embedded systems in dedicated devices. Synchronization is crucial to processing in environments with low power and memory requirements that must run continuously like pacemakers. The code is also available on Source Forge.

All of this talk of time makes me want to read up on Einstein, Schrodinger and Heisenberg.

Copyright 2009 DJ Cline All rights reserved.