programming network processors is challenging. To sustain high line rates, network processors have extremely tight memory access and instruction budgets. Achieving desired performance has traditionally required hand-c...
详细信息
programming network processors is challenging. To sustain high line rates, network processors have extremely tight memory access and instruction budgets. Achieving desired performance has traditionally required hand-coded assembly. Researchers have recently proposed high-level programming languages for packet processing, but the challenges of compiling these languages into code that is competitive with hand-tuned assembly remain unanswered. This paper describes the Shangri-La compiler, which accepts a packet program written in a C-like high-level language and applies scalar and specialized optimizations to generate a highly optimized binary. Hot code paths identified by profiling are mapped across processing elements to maximize processor utilization. Since our compilation target has no hardware caches, software-controlled caches are generated for frequently accessed application data structures. Packet handling optimizations significantly reduce per-packet memory access and instruction counts. Finally, a custom stack model maps stack frames to the fastest levels of the target processor's heterogeneous memory hierarchy. Binaries generated by the compiler were evaluated on the Intel IXP2400 network processor with eight packet processing cores and eight threads per core. Our results show the importance of both traditional and specialized optimization techniques for achieving the maximum forwarding rates on three network applications, L3-Switch, MPLS and Firewall.
Bioinformatics is bimodal, with results gathered either from rigid pipelines, their functions encoded in programs accessible only to specialists, or from ad hoc collections of scripts or web pages, used once, then los...
详细信息
Bioinformatics is bimodal, with results gathered either from rigid pipelines, their functions encoded in programs accessible only to specialists, or from ad hoc collections of scripts or web pages, used once, then lost track of or thrown away. We discuss the possibility of developing tools to straddle this divide, in particular, tools using graphical dataflow programming, which have the potential to make bioinformatics flexible, approachable and repeatable.
The Unit framework uses a dataflow programming language to describe interaction techniques for highly interactive environments, such as augmented, mixed, and virtual reality. Unit places interaction techniques in an a...
详细信息
ISBN:
(纸本)9781581138832
The Unit framework uses a dataflow programming language to describe interaction techniques for highly interactive environments, such as augmented, mixed, and virtual reality. Unit places interaction techniques in an abstraction layer between the input devices and the application, which allows the application developer to separate application functionality from interaction techniques and ***'s modular approach leads to the design of reusable application-independent interaction control components, portions of which can be distributed across different machines. Unit makes it possible at run time to experiment with interaction technique behavior, as well as to switch among different input device configurations. We provide both a visual interface and a programming API for the specification of the dataflow. To demonstrate how Unit works and to show the benefits to the interaction design process, we describe a few interaction techniques implemented using Unit. We also show how Unit's distribution mechanism can offload CPU intensive operations, as well as avoid costly special-purpose hardware in experimental setups.
Immersive, interactive applications require on-line processing and mixing of multimedia data. In order to realize the Immersipresence vision, we propose a generic, extensible, modular multimedia system software archit...
详细信息
ISBN:
(纸本)9781581131987
Immersive, interactive applications require on-line processing and mixing of multimedia data. In order to realize the Immersipresence vision, we propose a generic, extensible, modular multimedia system software architecture. We describe here the Flow Scheduling Framework (FSF), that constitutes the core of its middleware layer. The FSF is an extensible set of classes that provide basic synchronization functionality and composition mechanisms to develop data-stream processing components. In this dataflow approach, applications are implemented by specifying data streams and their path through processing nodes, where they can undergo various manipulations. We describe the details of the FSF data and processing model that supports stream synchronization in a concurrent processing framework. We illustrate the FSF concepts with a real-time video stream processing application.
In this paper, we formally develop techniques that minimize the memory requirements of a target program when synthesizing software from dataflow descriptions of multirate signal processing algorithms. The dataflow pro...
详细信息
In this paper, we formally develop techniques that minimize the memory requirements of a target program when synthesizing software from dataflow descriptions of multirate signal processing algorithms. The dataflow programming model that we consider is the synchronous dataflow (SDF) model [21], which has been used heavily in DSP design environments over the past several years. We first focus on the restricted class of well-ordered SDF graphs. We show that while extremely efficient techniques exist for constructing minimum code size schedules for well-ordered graphs, the number of distinct minimum code size schedules increases combinatorially with the number of vertices in the input SDF graph, and these different schedules can have vastly different data memory requirements. We develop a dynamic programming algorithm that computes the schedule that minimizes the data memory requirement from among the schedules that minimize code size, and we show that the time complexity of this algorithm is cubic in the number of vertices in the given well-ordered SDF graph. We present several extensions to this dynamic programming technique to more general scheduling problems, and we present a heuristic that often computes near-optimal schedules with quadratic time complexity. We then show that finding optimal solutions for arbitrary acyclic graphs is NP-complete, and present heuristic techniques that jointly minimize code and data size requirements. We present a practical example and simulation data that demonstrate the effectiveness of these techniques.
dataflow has proven to be an attractive computational model for graphical DSP design environments that support the automatic conversion of hierarchical signal flow diagrams into implementations on programmable process...
详细信息
dataflow has proven to be an attractive computational model for graphical DSP design environments that support the automatic conversion of hierarchical signal flow diagrams into implementations on programmable processors. The synchronous dataflow (SDF) model is particularly well-suited to dataflow-based graphical programming because its restricted semantics offer strong formal properties and significant compile-time predictability, while capturing the behavior of a large class of important signal processing applications. When synthesizing software for embedded signal processing applications, critical constraints arise due to the limited amounts of memory. In this paper, we propose a solution to the problem of jointly optimizing the code and data size when converting SDF programs into software implementations. We consider two approaches. The first is a customization to acyclic graphs of a bottom-up technique, called pairwise grouping of adjacent nodes (PGAN), that was proposed earlier for general SDF graphs. We show that our customization to acyclic graphs significantly reduces the complexity of the general PGAN algorithm, and we present a formal study of our modified PGAN technique that rigorously establishes its optimality for a certain class of applications. The second approach that we consider is a top-down technique, based on a generalized minimum-cut operation, that was introduced recently in [14]. We present the results of an extensive experimental investigation on the performance of our modified PGAN technique and the top-down approach and on the tradeoffs between them. Based on these results, we conclude that these two techniques complement each other, and thus, they should both be incorporated into SDF-based software implementation environments in which the minimization of memory requirements is important. We have implemented these algorithms in the Ptolemy software environment [5] at UC Berkeley.
Managing the buffering of data along arcs is a critical part of compiling a synchronous dataflow (SDF) program. This paper shows how dataflow properties can be analyzed at compile-time to make buffering more efficient...
详细信息
Managing the buffering of data along arcs is a critical part of compiling a synchronous dataflow (SDF) program. This paper shows how dataflow properties can be analyzed at compile-time to make buffering more efficient. Since the target code corresponding to each node of an SDF graph is normally obtained from a hand-optimized library of predefined blocks, the efficiency of data transfer between blocks is often the limiting factor in how closely an SDF compiler can approximate meticulous manual coding. Furthermore, in the presence of large sample-rate changes, straightforward buffering techniques can quickly exhaust limited on-chip data memory, necessitating the use of slower external memory. The techniques presented in this paper address both of these problems in a unified manner.
In recent years, many graphical approaches have been proposed to lift the inconvenience of text-based query language among end-users. The new query language called DFQL (dataflow Query Language) is a fully graphical i...
详细信息
In recent years, many graphical approaches have been proposed to lift the inconvenience of text-based query language among end-users. The new query language called DFQL (dataflow Query Language) is a fully graphical interface to the relational model based on a dataflow paradigm. It only requires users to connect some well-defined operators which have been given an equivalent one-to-one correspondent functionality (or consu"uct) in traditional query language (SQL in this case). All of the power of current query languages and sufficient expressive power and functionality are retained. But some shortcomings of DFQL user interface still exist. This thesis is to introduce a more ease-to-use and ease-to-leam user interface, so the shortcomings we found in DFQL user interface can be lifted and the productivity and power of the new version of DFQL can be increased. We have adopted object-oriented programming approach in our implementation and the benefits of using object-oriented programming in our development are also discussed.
In nearly all large organizations, the Navy and Department of Defense being no exceptions, the use of database management systems (DBMS' s) has become widespread. The prevailing data model for modern DBMS's is...
详细信息
In nearly all large organizations, the Navy and Department of Defense being no exceptions, the use of database management systems (DBMS' s) has become widespread. The prevailing data model for modern DBMS's is the relational model developed by Codd in the early 1970's. The relational model's superiority is due to its well thought out design and founding in mathematical logic. The de facto standard query language for relational DBMS's is IBM's Structured Query Language (SQL). Although SQL is the most widely used query language today, it has many problems, especially in the ease-of-use area. The purpose of this thesis is to design, implement, and test a new query language, DFQL, which will mitigate SQL's ease-of-use problems. DFQL provides a graphical query interface based on the dataflow paradigm in order to allow a user to easily and incrementally construct queries for a relational database. DFQL is relationally complete, maintains relational operational closure, and is designed to be easily extensible by the end user. DFQL has been implemented on an Apple Macintosh using an ORACLE relational DBMS. A simple human factors experiment was performed in which DFQL's ease of query writing compared favorably to that of SQL.
暂无评论