Results 1 - 10
of
11
The Token Flow Model
, 1992
"... This paper reviews and extends an analytical model for the behavior of dataflow graphs with data-dependent control flow. The number of tokens produced or consumed by each actor is given as a symbolic function of the Booleans in the system. Long-term averages can be analyzed to determine consistency ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
This paper reviews and extends an analytical model for the behavior of dataflow graphs with data-dependent control flow. The number of tokens produced or consumed by each actor is given as a symbolic function of the Booleans in the system. Long-term averages can be analyzed to determine consistency of token flow rates. Short-term behavior can be analyzed to construct an annotated schedule, or a static schedule that annotates each firing of an actor with the Boolean conditions under which that firing occurs. Necessary and sufficient conditions for bounded-length schedules, as well as sufficient conditions for determining that a dataflow graph can be scheduled in bounded memory are given. Annotated schedules can be used to generate efficient implementations of the algorithms described by the dataflow graphs. 1. Introduction The principal strength of dataflow graphs is that they do not over-specify an algorithm by imposing unnecessary sequencing constraints between operators. Instead, th...
Highly Parallel Computation
- Science
, 1990
"... Highly parallel computing architectures are the only means to achieve the computational rates demanded by advanced scientific problems. A decade of research has demonstrated the feasibility of such machines and current research focuses on which architectures are best suited for particular classes of ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
Highly parallel computing architectures are the only means to achieve the computational rates demanded by advanced scientific problems. A decade of research has demonstrated the feasibility of such machines and current research focuses on which architectures are best suited for particular classes of problems. The architectures designated as MIMD and SIMD have produced the best results to date; neither shows a decisive advantage for most near-homogeneous scientific problems. For scientific problems with many dissimilar parts, more speculative architectures such as neural networks or dataflow may be needed. This is a preprint of an article to appear in Science magazine. Work reported herein was supported in part by Cooperative Agreement NCC2-387
Compile-Time Scheduling of Dataflow Program graphs with Dynamic Constructs
- University of California, Berkeley
, 1992
"... by ..."
Arctic: A Functional Language for Real-Time Control
- In 1984 ACM Symposium on LISP and Functional Programming
, 1984
"... Arctic is a langu-~ge for tile specification and imp!ementation of real-time control systems. Unlike more conventional languages for real-time control, which emphasize concurrency, Arctic is a stateless language in which the relationships between system inputs, outputs and intermediate terms are exp ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
Arctic is a langu-~ge for tile specification and imp!ementation of real-time control systems. Unlike more conventional languages for real-time control, which emphasize concurrency, Arctic is a stateless language in which the relationships between system inputs, outputs and intermediate terms are expressed as operation. ~ on time-varying functions. Arctic allows discrete events or conditions to invoke and modify responses asynchronously, but because programs have no state, synchronization problems are greatly simplified. Furthermore, Arctic programs are non-sequential, and the timing of system responses is notated explicitly. This eliminates the need for the programmer to be concerned with the execution sequence, which accounts for much of the difficulty in real-time programming. 1.
Speculative Plan Execution for Information Agents
, 2003
"... my first and most influential teachers. For their encouragement, understanding, and love. ii Acknowledgements I would very much like to thank my thesis advisor Craig Knoblock for the many enjoyable years of mentorship, support, and friendship. Craig has always given me the freedom to explore my own ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
my first and most influential teachers. For their encouragement, understanding, and love. ii Acknowledgements I would very much like to thank my thesis advisor Craig Knoblock for the many enjoyable years of mentorship, support, and friendship. Craig has always given me the freedom to explore my own paths towards solving a problem, encouraged me to take chances, while at the same time challenging me to back up my claims and to sometimes consider alternative approaches. Through him, I learned how to read research papers as well as how to write them. His thoughts and advice greatly influenced and improved this thesis. I am extremely grateful for his guidance and I know that it will continue to inspire me as I work with and mentor others.
Executable Specifications with Data-Flow Diagrams
, 1993
"... This paper introduces VLP: an executable visual language for formal specifications and prototyping which integrates ER and DFD diagrams in a semantically rigorous and clear way. Unlike existing commercial products (so-called CASE tools), which can support goodquality documentation, simple forms of c ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
This paper introduces VLP: an executable visual language for formal specifications and prototyping which integrates ER and DFD diagrams in a semantically rigorous and clear way. Unlike existing commercial products (so-called CASE tools), which can support goodquality documentation, simple forms of consistency checking and bookkeeping, VLP also supports executable specifications, which provide a prototype of the desired application. After reviewing the principles of VLP, the paper outlines the structure of the ECASET environment in which VLP is embedded. In particular, it shows how the environment supports the stepwise derivation of specifications, from informal to formal, and how it supports specification-in-the-large
Modula-2*: Language Overview
"... ines, tightly synchronous execution is quite expensive to implement when needed. Since the choice is dictated by the available hardware rather than the problem, the resulting programs are often distorted and not portable among SIMD and MIMD architectures. Modula-2* provides solutions to the basic pr ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
ines, tightly synchronous execution is quite expensive to implement when needed. Since the choice is dictated by the available hardware rather than the problem, the resulting programs are often distorted and not portable among SIMD and MIMD architectures. Modula-2* provides solutions to the basic problems mentioned above. The language abstracts from the memory organization and from the number of physical processors. Mapping of data to processors is performed by the compiler, optionally supported by high-level directives provided by the programmer. Communication is not directly visible. Instead, reading and writing in a (virtually) shared address space subsumes communication. A shared memory, however, is not required. Parallelism is explicit, and the programmer can choose among synchronous and asynchronous execution modes at any level of granularity. Thus, programs can use SIMD mode for synchronous algorithms, or use MIMD mode where asynchronous concurrency is more appropriate. The two
Expressing Temporal Behavior Declaratively
"... The programming language Arctic specifies real-time behavior declaratively by using temporal control constructs and by indicating starting times and durations explicitly, much the way timing is specified in a cue sheet or a musical score. Values in Arctic are functions of time, which may be combined ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The programming language Arctic specifies real-time behavior declaratively by using temporal control constructs and by indicating starting times and durations explicitly, much the way timing is specified in a cue sheet or a musical score. Values in Arctic are functions of time, which may be combined with various arithmetic and logical operators. Since Arctic is a single assignment language, the execution order is implied by data dependencies, simplifying synchronization problems for the programmer. Arctic supports behavioral abstraction, in which a single program module gives rise, through various transformations, to a class of behaviors. An implementation of Arctic is described, and experience with the declarative approach to real-time control is discussed. 1. Introduction For the most part, traditional programming languages have been designed for applications where control over the timing of execution is not a primary concern. Users usually want their programs to run as fast as poss...
Thesis Proposal: Scheduling Parallel Functional Programs
, 2007
"... Parallelism abounds! To continue to improve performance, programmers must use parallel algorithms to take advantage of multi-core and other parallel architectures. Existing declarative languages allow programmers to express these parallel algorithms concisely. With a deterministic semantics, a decla ..."
Abstract
- Add to MetaCart
Parallelism abounds! To continue to improve performance, programmers must use parallel algorithms to take advantage of multi-core and other parallel architectures. Existing declarative languages allow programmers to express these parallel algorithms concisely. With a deterministic semantics, a declarative language also allows programmers to reason about the correctness of programs independently of the language implementation. Despite this, the performance of these programs still relies heavily on the language implementation and especially on the choice of scheduling policy. In this thesis, I propose to use a cost semantics to allow programmers to reason about the performance of parallel programs and in particular about their use of space. This cost semantics also provides a specification for the language implementation. In my previous work, I have formalized several implementations, including different scheduling policies, as small-step transition semantics. Incorporating these policies into the language semantics establishes a tight link between programs, scheduling policies, and performance. Using these semantics, I have shown that in some cases, the choice of scheduling policy has an asymptotic effect on memory use. In my continuing work, I will consider extensions to my language and develop a full-scale implementation. With these, I hope to demonstrate that a declarative language is a practical way to program parallel algorithms and that my cost semantics offers an effective means to reason about their performance. 1
Dynamically Reconfigurable Architecture for a Class of Real-Time Applications
, 1992
"... This report (thesis) presents an architectural design methodology for computing systems suitable for a class of real-time applications, characterized by a large volume of periodic real-time data input at a high rate and vector operations on the real-time data. The proposed methodology incorporates i ..."
Abstract
- Add to MetaCart
This report (thesis) presents an architectural design methodology for computing systems suitable for a class of real-time applications, characterized by a large volume of periodic real-time data input at a high rate and vector operations on the real-time data. The proposed methodology incorporates into the architectural design the notion of resource sharing as well as techniques for satisfying timing requirements.

