Abstract
This paper presents an extended architecture and a scheduling algorithm for a dataflow computer aimed at real-time processing. From the real-time processing point of view, current dataflow computers have several problems which stem from their hardware mechanisms for scheduling instructions based on data synchronization. This mechanism extracts as many eligible instructions as possible for execution of a program, then executes them in parallel. Hence, the computation in a dataflow computer is generally difficult to interrupt and schedule using software. To realize a controllable dataflow computation, two basic mechanisms are introduced for serializing concurrent processes and interrupting the execution of a process. A parallel and distributed algorithm for the scheduler is presented, with these two mechanisms, which controls and decides state transitions and execution order of the processes based on priority and execution depth, while still maintaining the number of the running state processes at a preferred value. To gear the scheduler algorithm to meet one of the requirements for real-time processing, such as time-constrained computing, a data-parallel algorithm for selection of the user-process with the current highest priority in O (x log x n) time is proposed, where n is the number of priority levels.
Similar content being viewed by others
References
Amamiya, M., M. Takesue, R. Hasegawa and H. Mikami. 1986. Implementation and Evaluation of a List Processing Oriented Data Flow Machine. Proc. 13th Annual International Symposium on Computer Architecture, (June) pp. 10–19.
Arvind, and R.S. Nikhil. 1987. Executing a Program on the MIT Tagged-Token Dataflow Architecture. Lecture Notes on Computer Science, No. 259, (June) 1–29.
DennisJ.B. 1980. Data Flow Supercomputers. Computer, 13, 11: (Nov.) 48–56
DijkstraE.W. 1968. The Structure of the THE Multiprogramming System. Commun. ACM, 11, 5: (May) 341–346.
FaulkS.R. and D.L.Parnas. 1988. On Synchronization in Hard-Real-Time Systems. Commun. ACM, 31, 3: (Mar.) 274–287.
GurdJ.R., C.C.Kirkham and I.Watson. 1985. The Manchester Prototype Dataflow Computer. Commun. ACM, 28, 1: (Jan.) 34-52.
Hiraki, K., T. Shimada and K. Nishika. 1984. A hardware Design of the SIGMA-1—A Data Flow Computer for Scientific Computations. Proc. International Conference on Parallel Processing. (Aug.) pp. 524–531.
HoareC.A.R. 1974. Monitor: An Operating System Structuring Concept. Commun. ACM, 17, 10: (Oct.) 549–557.
PfisterG.F. and V.A.Norton. 1985. Hot-Spot Contention and Combining in Multistage Interconnection Networks. IEEE Trans. on Comput., 34, 10: (Oct.) 943–948.
StankovicJ.A. 1988. Misconceptions About Real-Time Computing, Computer, 21, 10: (Oct.) 10–19.
Takesue, M. 1987. A Unified Resource Management and Execution Control Mechanism for Data Flow Machines. Proc. 14th Annual International Symposium on Computer Architecture, (June) pp. 90–97.
Takesue, M. 1988a. Massively Parallel Processing of Structured Data on a Mixflow Computer. Proc. Symposium on Computer Architecture, IPS Of Japan, (May): 115–124, (in Japanese).
TakesueM. 1988b. A Distributed Load-Balancing System and its Application to List-Processing Oriented Data-Flow Machine DFM. 1988. Systems and Computers in Japan, Scripta Technica, Inc., 19, 6: (June) 35–49.
TakesueM. 1988c. A Load Control Mechanism for Data-Flow Machines. Systems and Computers in Japan, Scripta Technica, Inc., 19, 10: (Oct.) pp. 55–69.
Takesue, M. 1989. D-Lisp: A Parallel Processing Lisp Based on Distributed Lists. Proc. Joint Symposium on Parallel Processing '89, IPS of Japan and IEICE of Japan, (Feb.): 259–266.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Takesue, M. Dataflow computer extension towards real-time processing. The Journal of Real-Time Systems 1, 333–350 (1990). https://doi.org/10.1007/BF00366574
Issue Date:
DOI: https://doi.org/10.1007/BF00366574