Kenneth Perry - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Kenneth Perry

Description:

Overview of dataflow systems (architecture and software) ... PLoP '06. ACM, New York, NY, 1-23. DOI= http://doi.acm.org/10.1145/1415472.1415503 ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 21
Provided by: web78
Category:
Tags: kenneth | perry | plop

less

Transcript and Presenter's Notes

Title: Kenneth Perry


1
Dataflow Based Systems
  • Kenneth Perry

2
Outline
  • Overview of dataflow systems (architecture and
    software)
  • Usages today (both hardware/software/inspired)
  • Issues with dataflow

3
Dataflow Concepts
  • Parallization at a low level
  • System takes care of parallization neither the
    user or the programmer has to.
  • Ability to scale to huge numbers of
    processors/cores.
  • Based around graphs which link inputs and
    outputs.
  • Generic approach applicable to both
    higher/lower levels in software/hardware.

4
Dataflow Graphs
  • Programs are arranged into graphs based on their
    inputs and outputs.
  • As inputs become available, outputs are
    automatically triggered causing it to be
    parallized.

5
Dataflow Architecture
  • Von neuman model was considered unsuitable for
    parallelism, due to the global program counter
    and overhead for process switching
  • Dennis and Misiunas created the dataflow
    architecture, which is based around parallelism
    at the lowest level.

6
Dataflow Architecture (cont)
  • Two major types of dataflow architectures
  • Static dataflow Original design by Dennis
  • Uses memory addresses as data dependency tags
  • Does not allow multiple instances of the same
    routine to be ran simulatinously, since the tags
    are not unique.
  • Dynamic dataflow
  • Uses associative memory instead to determine
    tags.
  • Manchester Dataflow Machine and MIT Tagged Token
    Arch are two examples.

7
Programming for Dataflow
  • Problems arose writing for the new architecture
    with current languages, since they were also
    based on the von neuman model.
  • Came up with dataflow languages, which are
    designed around the different architecture.
  • Some languages were converted by limiting
    functionality (single assignment C).

8
Programming for Dataflow (cont)
  • Also known as reactive programming
  • Used outside dataflow architectures, where data
    changes will affect other data (such as in a
    spreadsheet), or as a simple way to paralize
    applications at a higher level then architectures
    (component level instead of at an instruction
    level).

9
Modern Usage Spreadsheets
  • Classic example of dataflow
  • Any changes in one cell automatically updates
    every other cell that depends on it.

10
Modern Usage VPLs
  • Visual programming languages show the inputs and
    outputs directly.
  • Easily can create a dataflow graph from this
  • Examples LabView, Microsoft VPL, KTechLab

11
Modern Usage TRIPS
  • Uses a new instruction set (EDGE) to transfer
    dataflow graphs to the processor.
  • Under specific tests, TRIPS at 366Mhz was
    comparrible to a Pentium IV at 3600Mhz.
  • http//www.cs.utexas.edu/trips/

12
Modern Usage TRIPS (continued)
  • Compiler creates dataflow graphs specifically for
    the hardware. Programmer doesnt have to handle
    the concurency at all.
  • Very low power usage optimal for high
    performance at low power.
  • Still being optimized hand optimization shows
    about double performance gain from current
    compiler is still possible.
  • Goal is to reach one trillion calculations per
    second by 2012.

13
Modern Usage Multimedia Systems
  • Both audio and video systems can be represented
    as a graph of filters and components
  • Dataflow techniques can then be applied to
    parallelize multimedia processing

14
Multimedia Systems (cont)
  • Multimedia systems are often on multiple
    computers and use multiple sensors to determine
    information.
  • Can use dataflow techniques to manage acquiring
    data and processing throughout the system. (NIST
    Data Flow System II)

15
Grid Architectures
  • Allowing dataflows to be specified, which is then
    converted to a dataflow graph and ran using ideas
    from the tagged dataflow architecture.
  • Instead of doing it per instruction as in
    dataflow, performs it at a higher level to reduce
    overhead.
  • Parallizes each actor in the system, which is
    transparent to the workflow designers.

16
Intel Research
  • Threading Building Blocks
  • Library designed to easily paralize programs
  • Define everything as 'tasks' and build the
    dependency graph, library takes care of
    scheduling and running
  • Larrabee
  • An 80 core CPU currently in research (40x power
    of current intel quad cores)
  • Designed to use dataflow ideas through TBB and Ct
    (a modified C/C designed around threading).
  • Intel claims it will bring the 'death of the GPU'.

17
Issues with Dataflow
  • Computers still heavily based around a few fast
    cores then a lot of smaller cores
  • Dataflow can be used with this, but it has a lot
    of overhead due to the overhead of simulating the
    dataflow architecture.
  • Programming languages have to be written/modified
    to take advantage of the full power of dataflow
    architectures.
  • Most programming languages used currently are
    imperitive, and do not translate well directly to
    dataflow.

18
More issues
  • As programs are parallelized more, more resources
    are needed to exploit the parallelization
    otherwise saturation/deadlocks will occur.

19
References
  • The NIST Data Flow System II A Standardized
    Interface for Distributed Multimedia
    Applications. Antoine Fillinger, Lukas Diduch,
    Imad Hamchi, Mathieu Hoarau, Stéphane Degré,
    Vincent Stanford. IEEE International Symposium on
    a World of Wireless Mobile and MultiMedia
    Networks (WoWMoM), Newport Beach, California,
    June 2008.
  • Gebhart, M., Maher, B. A., Coons, K. E., Diamond,
    J., Gratz, P., Marino, M., Ranganathan, N.,
    Robatmili, B., Smith, A., Burrill, J., Keckler,
    S. W., Burger, D., and McKinley, K. S. 2009. An
    evaluation of the TRIPS computer system. In
    Proceeding of the 14th international Conference
    on Architectural Support For Programming
    Languages and Operating Systems (Washington, DC,
    USA, March 07 - 11, 2009). ASPLOS '09. ACM, New
    York, NY, 1-12. DOI http//doi.acm.org/10.1145/15
    08244.1508246
  • Arumí, P., García, D., and Amatriain, X. 2006. A
    dataflow pattern catalog for sound and music
    computing. In Proceedings of the 2006 Conference
    on Pattern Languages of Programs (Portland,
    Oregon, October 21 - 23, 2006). PLoP '06. ACM,
    New York, NY, 1-23. DOI http//doi.acm.org/10.114
    5/1415472.1415503
  • Abramson, D., Enticott, C., and Altinas, I. 2008.
    Nimrod/K towards massively parallel dynamic grid
    workflows. In Proceedings of the 2008 ACM/IEEE
    Conference on Supercomputing (Austin, Texas,
    November 15 - 21, 2008). Conference on High
    Performance Networking and Computing. IEEE Press,
    Piscataway, NJ, 1-11. DOI http//doi.acm.org/10.1
    145/1413370.1413395
  • http//techresearch.intel.com/UserFiles/en-us/File
    /terascale/Whitepaper-Ct.pdf

20
Questions?
Write a Comment
User Comments (0)
About PowerShow.com