SNet: concurrency and coordination in a streaming network
Prof. Alex Shafarenko
University of Hertfordshire, UK
Tuesday, December 12, 2006
07.00 am - 08.00 am California Time
10.00 am - 11.00 am New York Time
03.00 pm - 04.00 pm UK Time
04.00 pm - 05.00 pm Central Europe Time
05.00 pm - 06.00 pm Eastern Europe Time
11.00 pm - 12.00 pm Peking/China Time
12.00 pm - 01.00* am Tokyo Time
01.30* am - 2.30* am Adelaide/Australia Time
02.00* am - 3.00* am Melbourne/Australia Time
* Next Day (December 13)
This talk will introduce a simple coordination language for stream processing, called SNet. The language is intended for defining the construction of Single-Input-Single-Output (SISO) networks from SISO boxes using four basic combinators: serial and parallel composition, infinite serial replication and an index splitter. The language has a type system with subtyping which supports hierarchies of nonrecursive records and extensible box interfaces. The boxes are opaque and only communicate by their input and output streams. In addition, all boxes that compute are stateless; the state is captured by SISO synchrocells, provided by SNet, which do not compute. Box programs can be written in any programming language; they represent application code and are free from any communication or concurrency concerns. These concerns are the focus of SNet, but the SNet language itself has no computational power whatsoever. We claim that this approach represents a good separation of concerns and is usable in the practice of distributed system design and implementation. An implementation of SNet is underway, funded by a European Advanced Computer Architecture programme. At the end of the talk I will briefly dwell on the state of the project and give some examples.
Slides (PDF, 767 kB)