Difference between revisions of "Chart uncertainties"

From PublicWiki
Jump to: navigation, search
m
m (Prior work)
Line 18: Line 18:
 
==Prior work==
 
==Prior work==
 
* '''Sawzall'''  
 
* '''Sawzall'''  
* '''Cilk''' is simple, solid, and down-to-earth and there is likely to be some work we can draw from it.  Primarily, it gives us one more model to look to for parallel computation.
+
* '''Cilk''' is simple, solid, and down-to-earth and there is likely to be some work we can draw from it.  It gives us one more model for program interaction.  It requires POSIX threads and the general form does not allow distributed memory.  There is information about a distributed memory version, developed as part of Keith Randall's PhD thesis, at [http://supertech.lcs.mit.edu/cilk/home/distcilk5.1.html a page deep in the Cilk website].

Revision as of 04:05, 12 December 2005

Head back to Chart_research for some perspective.

Here is a space for our goals, challengs, ideas, restrictions, thoughts, worries, and anything else.

  • Streams vs. single arguments?
  • How do you preserve state?
  • How do you accumulate transparently when a node's execution is split?

Control Charts

What happens if we use charts, with their current limitations, to describe program flow instead of data flow? If each node executes after its parents and before its children -- and that's the only guarantee -- what do we see? It's intimately related to our larger problem.

To reduce a dataflow chart to a control chart, realize it with nodes that take unary input (no information is exchanged).

Control charts can work with global data, particularly if each node needs a guarantee of state before it runs and gives a guarantee of state after it runs. Now think of a program in a classic language, where not every line really depends on the lines before it, but will still be run in order. What if you marked off the dependencies of lines of code, and structured the program that way? It would be convenient, among other things, for debugging and efficient compilation. It might also offer interesting ways to do conditional expressions.

I think I might study these as a simpler case.

Prior work

  • Sawzall
  • Cilk is simple, solid, and down-to-earth and there is likely to be some work we can draw from it. It gives us one more model for program interaction. It requires POSIX threads and the general form does not allow distributed memory. There is information about a distributed memory version, developed as part of Keith Randall's PhD thesis, at a page deep in the Cilk website.