Title :
Dataflow architectures and multithreading
Author :
Lee, Ben ; Hurson, A.R.
Author_Institution :
Dept. of Electr. & Comput. Eng., Oregon State Univ., Corvallis, OR, USA
Abstract :
Contrary to initial expectations, implementing dataflow computers has presented a monumental challenge. Now, however, multithreading offers a viable alternative for building hybrid architectures that exploit parallelism. The eventual success of dataflow computers will depend on their programmability. Traditionally, they´ve been programmed in languages such as Id and SISAL (Streams and Iterations in a Single Assignment Language) that use functional semantics. These languages reveal high levels of concurrency and translate on to dataflow machines and conventional parallel machines via the Threaded Abstract Machine (TAM). However, because their syntax and semantics differ from the imperative counterparts such as Fortran and C, they have been slow to gain acceptance in the programming community. An alternative is to explore the use of established imperative languages to program dataflow machines. However, the difficulty will be analyzing data dependencies and extracting parallelism from source code that contains side effects. Therefore, more research is still needed to develop compilers for conventional languages that can produce parallel code comparable to that of parallel functional languages.<>
Keywords :
parallel architectures; parallel processing; Id; SISAL; Streams and Iterations in a Single Assignment Language; Threaded Abstract Machine; compilers; concurrency; data dependencies; dataflow architectures; dataflow machines; functional semantics; hybrid architectures; imperative languages; multithreading; parallel functional languages; parallel machines; parallelism; programmability; semantics; side effects; source code; syntax; Buildings; Computational modeling; Computer aided instruction; Computer architecture; Data structures; Embedded computing; Hardware; Multithreading; Parallel processing; Virtual prototyping;