
Jorn Janneck- Lund University
Jorn Janneck
- Lund University
About
122
Publications
11,538
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,809
Citations
Current institution
Publications
Publications (122)
Many application areas for embedded systems, such as DSP, media coding, and image processing, are based on stream processing. Stream programs in these areas are often naturally described as graphs, where nodes are computational kernels that send data over the edges. This structure also exhibits large amounts of concurrency, because the kernels can...
The analysis of the trace graphs generated by dataflow program executions has been shown to be an effective tool for exploring and optimizing the design space of application programs on manycore/multicore platforms. In this work a new approach aiming at finding bounded buffer size configurations for implementations generated by dataflow programs is...
The parallel structure of dataflow programs and their support for processing streams of data make dataflow programming an interesting tool for doing stream processing on parallel processing architectures. The computational kernels, the actors, of a dataflow program communicate with other actors via FIFO channels. The actors in the dataflow model us...
Dataflow is a natural way of modelling streaming applications, such as multimedia, networking and other signal processing applications. In order to cope with the computational and parallelism demands of such streaming applications, multiprocessor systems are replacing uniprocessor systems. Mapping and scheduling these applications on multiprocessor...
Embedded DSP computing is currently shifting towards manycore architectures in order to cope with the ever growing computational demands. Actor based dataflow languages are being considered as a programming model. In this paper we present a code generator for CAL, one such dataflow language. We propose to use a compilation tool with two intermediat...
This paper investigates the relationship between two ways of analyzing streaming systems: trace analysis for dataflow programs with firing, and network calculus for network flows. While the former focuses on the structure of the dataflow computation while idealizing the interaction with the environment, the latter characterizes the temporal propert...
In this paper we address the problem of generating efficient software implementations for a large class of dataflow programs that is characterized by highly data-dependent behavior and which is therefore in general not amenable to compile-time scheduling. Previous work on implementing dataflow programs has emphasized classes of stream processing al...
Streaming applications describe a broad class of computing algorithms in areas such as signal processing, media coding and compression, cryptography, video analytics, network touting and packet processing and many others. For many of these applications, programmable logic devices such as FP-GAs are the implementation platform of choice due to their...
Automatic queue sizing for data flow applications for an integrated circuit is described. Queue sizes for queues of a dataflow network are initialized to a set of first sizes for running as distributed actors without having to have centralized control. If it is determined there is a deadlock, causes for the dataflow network being deadlocked are ana...
The increasing ubiquity of heterogeneous parallel computing platforms nowadays creates the challenge to fully exploit the available computational power when porting existing programs or developing new applications with portability in mind. Existing design space exploration methods focus on specialized applications amenable to compile-time analysis....
This paper proposes a new design methodology to partition streaming applications onto a multi clock domain architecture. The objective is to save power by running different parts of the application at the lowest possible clock frequency that will not violate the throughput requirements. The solution involves partitioning the application into an app...
The recent MPEG Reconfigurable Media Coding (RMC) standard aims at defining media processing specifications (e.g. video codecs) in a form that abstracts from the implementation platform, but at the same time is an appropriate starting point for implementation on specific targets. To this end, the RMC framework has standardized both an asynchronous...
Program analysis is an important tool in software development, both for verifying desired properties and for enabling optimizations. For dataflow programs, properties such as determinacy and static schedulability are important for verifying correctness and creating efficient implementations. In this paper we develop an analyzer for dataflow actors,...
In one embodiment, a concurrent processing system is disclosed. For example, in one embodiment of the present invention, a concurrent processing system, comprises a first processing element comprising a first monitor module, a second processing element in communication with the first processing element, the second processing element comprising a se...
In this paper we propose a design methodology to partition dataflow applications on a multi clock domain architecture. This work shows how starting from a high level dataflow representation of a dynamic program it is possible to reduce the overall power consumption without impacting the performances. Two different approaches are illustrated, both b...
The growing complexity of signal processing algorithms and platforms poses significant challenges to design methods and implementation tools. High-level dataflow programs, such as those in MPEG's RVC-CAL language, provide abstraction and the opportunity for extensive design-space exploration, but they do raise the problem of efficient automatic syn...
This paper presents a dataflow design methodology and an associated co-exploration environment, focusing on the optimization of buffer sizes. The approach is applicable to dynamic dataflow designs and its performance is presented and validated by experimental results on the porting of an MPEG-4 Simple Profile decoder to the STM STHORM manycore plat...
CONFERENCE PAPER
Representing Guard Dependencies in Dataflow Execution Traces
Brunet, Simone Casale; Mattavelli, Marco; Alberti, Claudio; Janneck, Jorn W.
Editors: Aldabass, D; Romero, G; Orsoni, A; Pantelous, A
Presented at: 5th International Conference on Computational Intelligence, Communication Systems and Networks (CICSyN), Madrid, SPAIN, JUN...
The trade-off between throughput and memory constraints is a common design problem in embedded systems, and especially for streaming applications, where the memory in question usually occurs in the form of buffers for streams of data. This paper presents a methodology, based on the post-processing of dataflow execution traces, that enables designer...
While research on the design of heterogeneous concurrent systems has a long and rich history, a unified design methodology and tool support has not emerged so far, and thus the creation of such systems remains a difficult, time-consuming and error-prone process. The absence of principled support for system evaluation and optimization at high abstra...
An asynchronous communication network in an integrated circuit is described. The asynchronous communication network comprises a plurality of circuit elements enabling the transmission of tokens, each circuit element having a component interface comprising: a routing network coupled to a first adjacent circuit element of the plurality of circuit ele...
Method and apparatus for generating an implementation of a program language circuit description for a programmable logic device (PLD) is described. In one example, the program language circuit description is analyzed to identify constructs indicative of dynamic function re-assignment. A hardware description of the program language circuit descripti...
In this paper we address the problem of translating high-level stream programs, such as those written in MPEG's RVC-CAL dataflow language, into implementations in programmable hardware. Our focus is on two aspects: sufficient language coverage to make synthesis available for a large class of programs, and methodology and tool support providing anal...
While research on the design of heterogeneous concurrent systems has a long and rich history, a unified design methodology and tool support has not emerged so far, and thus the creation of such systems remains a difficult, time-consuming and error-prone process. The absence of principled support for system evaluation and optimization at high abstra...
Partitioning and mapping are important design decisions in exploiting the parallelism of programs that are to be run on systems with multiple processing elements. In this paper we introduce a fast, incremental approach for mapping dynamic dataflow programs to multiprocessor systems. We use causation traces and architecture descriptions as input for...
Dataflow descriptions are a natural match to application areas such as signal processing, cryptography, networking, image processing, and media coding. This paper addresses the problem of efficiently executing the basic elements of a dataflow program, its actors, written in a language such as MPEG's RVC-CAL. Using actor machines as an execution mod...
In this paper we lay out a case for the use of dataflow programming and the CAL language as a way of addressing current challenges in programming parallel hardware such as multicore systems and FPGAs. We show how the design of the CAL language balances conflicting concerns of expressiveness, analyzability, and implementability, making it a promisin...
The natural representation of data streams, parallelism, and composition has made dataflow an attractive programming model for expressing a wide range of stream and media processing applications, and has led MPEG and ISO to base their latest video coding standards on this model. This paper describes and compares methodologies and metrics for the op...
In application areas that process stream-like data such as multimedia, networking and DSP, the pipelined concurrent processing is frequently represented as a dataflow network of communicating computational kernels connected by FIFO queues. However, while dataflow is a natural medium for conceptualizing and modeling stream-processing systems, its ad...
This paper describes a methodology for the optimization of portable parallel signal processing applications specified by dataflow programs. The use of dataflow as a programming model for signal processing applications targeting parallel platforms provides an important advantage versus the traditional sequential programming paradigm: the portability...
This paper presents the algorithm and reconfigurable architecture of motion-adaptive deinterlacer for high-definition video. The content-adaptability of algorithm and the reconfiguration of architecture are concurrently explored by algorithm/architecture ...
Video coding technology in the last 20 years has evolved producing a variety of different and complex algorithms and coding standards. So far the specification of such standards, and of the algorithms that build them, has been done case by case providing monolithic textual and reference software specifications in different forms and programming lan...
Dataflow descriptions have been used in a wide range of Digital Signal Processing (DSP) applications, such as multi-media processing, and wireless communications. Among various forms of dataflow modeling, Synchronous Dataflow (SDF) is geared towards static scheduling of computational modules, which improves system performance and predictability. Ho...
In application areas that process stream-like data such as multimedia, networking and DSP, the pipelined concurrent processing is frequently represented as a dataflow network of communicating computational kernels connected by FIFO queues. However, while dataflow is a natural medium for conceptualizing and modeling stream-processing systems, its ad...
This paper proposes an automatic design flow from user-friendly design to efficient implementation of video processing systems. This design flow starts with the use of coarse-grain dataflow representations based on the CAL language, which is a complete language for dataflow programming of embedded systems. Our approach integrates previously develop...
Signal processing algorithms become more and more complex and the algorithm architecture adaptation and design processes cannot any longer rely only on the intuition of the designers to build efficient systems. Specific tools and methods are needed to cope with the increasing complexity of both algorithms and platforms. This paper presents a new fr...
The currentmonolithic and lengthy scheme behind the standardization and the design of new video coding standards is becoming
inappropriate to satisfy the dynamism and changing needs of the video coding community. Such a scheme and specification formalism
do not enable designers to exploit the clear commonalities between the different codecs, neithe...
Current video coding standards, and their reference implementations, are architected as large monolithic and sequential algorithms, in spite of the considerable overlap of functionality between standards, and the fact that they are frequently implemented on highly parallel computing platforms. The former leads to unnecessary complexity in the stand...
This paper presents an in-depth case study on dataflow-based analysis and exploitation of parallelism in the design and implementation of a MPEG reconfigurable video coding decoder. Dataflow descriptions have been used in a wide range of digital signal processing (DSP) applications, such as applications for multimedia processing and wireless commun...
This demonstration presents an integrated environment that translates a CAL-based dataflow specification [1] into a heterogeneous implementation, composed by HDL and C codes. The demonstration focuses on the capability of the co-design environment to automatically build an executable heterogeneous system implementation running on a platform compose...
The MPEG Reconfigurable Video Coding working group is developing a new library-based process for building the reference codecs
of future MPEG standards, which is based on dataflow and uses an actor language called Cal. The paper presents a code generator producing RTL targeting FPGAs for Cal, outlines its structure, and demonstrates its performance...
The possibility of specifying both SW and HW components using the same language is a very attractive design approach. However, despite the efforts spent for implementing such approach using common programming languages such as C and C++, it has not yet shown to be viable and efficient for complex design. The main reason is the difficulty of express...
Stream processing has a long history as a way of describing and implementing specific kinds of computational processes. So far, however, it has largely remained an exotic field of endeavor, with relatively small momentum compared to traditional von Neumann computing, and a large variety of programming models, languages, tools, and hardware realizat...
This paper presents the OpenDF framework and recalls that dataflow programming was once invented to address the problem of parallel computing. We discuss the problems with an imperative style, von Neumann programs, and present what we believe are the advantages of using a dataflow programming model. The CAL actor language is briefly presented and i...
The MPEG reconfigurable video coding (RVC) framework is a new standard under development by MPEG that aims at providing a unified high-level specification of current MPEG video coding technologies. In this framework, a decoder is built as a configuration of video coding modules taken from the standard ldquoMPEG toolbox libraryrdquo. The elements of...
The MPEG Reconfigurable Video Coding working group is developing a new library-based process for building the reference codecs of future MPEG standards, which is based on dataflow and uses an actor language called CAL. The paper presents a code generator producing RTL targeting FPGAs for CAL, outlines its structure, and demonstrates its performance...
As dataflow descriptions of media processing become popular, the techniques for analyzing and profiling the performance of sequential algorithms are no longer applicable. This paper describes some of the basic concepts and techniques for analyzing the computations described by dataflow programs, and illustrates them on an MPEG-4 decoder.
The development of modern electronic systems increasingly faces qualitative pressures coming from a growing techni- cal diversity and heterogeneity of the computational elements used to build them, as well as move toward parallel comput- ing resulting from the fact that sequential processors are not becoming faster at the rate they used to. These t...
The development of MP3 and JPEG sparked an explosion in digital content on the internet. These early encoding formats have since been joined by many others, including Quicktime, Ogg, MPEG-2 and MPEG-4, which poses an escalating challenge to vendors wishing to develop devices that interoperate with as much content as possible. This paper presents as...
We present an interface theory based approach to static analysis of actor models. We first introduce a new interface theory, which is based on interface automata, and which is capable of counting with numbers. Using this new interface theory, we can capture temporal and quantitative aspects of an actor interface as well as an actor's token exchange...
In this article we present a method for describing the language of UML statecharts. Statecharts are syntactically defined as attributed graphs, with well-formedness rules specified by a set of first-order predicates over the abstract syntax of the graphs. The dynamic semantics of statecharts is defined by Abstract State Machines parameterized with...
Complex control systems are heterogeneous, in the sense of discrete computer-based controllers interacting with continuous physical plants, regular data sampling interleaving with irregular communication and user interaction, and multilayer and multimode control laws. This heterogeneity imposes great challenges for control system design in terms of...
Modern environments for modeling and designing concurrent computational systems increasingly support heterogeneous system models, which are characterized by dierent coordination mechanisms gov- erning the interaction between concurrent components in dierent parts or at dierent levels of the model. These interaction semantics, also called models of...
This paper presents a semantics definition method for a class of visual languages. The method is geared towards the analysis of heterogeneous component-based systems where components are described using different visual languages. This is made possible by the design of language-specific interpreters which interpret instances of these languages with...
This paper presents a semantics definition method for a class of visual languages. The method is geared towards the analysis of heterogeneous component-based systems where components are described using different visual languages. This is made possible by the design of language-specific interpreters which interpret instances of these languages with...
Many embedded systems have significant parts that are best conceptualized as dataflow systems, in which actors execute and communicate by sending each other packets of data. This paper proposes a structured view of these actors that focuses on their dataflow characteristics, and it sketches a notation that directly represents this view. It then sho...
This report introduces CAL, an actor language created as a part of the Ptolemy II project [1] at the UC Berkeley. It is intended primarily as a repository for technical information on the language and its implementation and contains very little introductory material. After a short motivation, we will outline the goals and the guiding principles of...
Actors are computational entities that communicate with other actors and the environment by passing tokens via theirs input and output ports. Actors have state and parameters and when an actor is fired, input tokens are consumed tokens, output tokens are produced, and the internal state is updates. Actors are connected to form models or application...
Process networks are popular for modelling distributed computing and signal processing applications, and multi-processor architectures. At the ar- chitecture description level, they have the flexibility to model actual processes using various formalisms. This is especially important where the systems are composed of parts with different characteris...
An important part of the design of complex systems is the evaluation of the large number of potential alternative designs. Due to the number and complexity of design parameters, this design space is potentially huge and very complex. Automating part of the design exploration task can be an invaluable help in finding the optimal or near optimal sett...
Current tools for design and implementation of embedded systems lack sufficient support for handling the different development phases. These phases usually include design of control laws, supervision logic, real-time task scheduling, modeling of communication, etc. The heterogeneity of modern embedded control systems puts high demands on design and...
Modern embedded computing systems tend to be heterogeneous in the sense of being composed of subsystems with very different characteristics, which communicate and interact in a variety of ways-synchronous or asynchronous, buffered or unbuffered, etc. Obviously, when designing such systems, a modeling language needs to reflect this heterogeneity. To...
Higher-order Petri nets are a class of high-level Petri nets, in which Petri nets themselves are first-class objects. Here tokens may represent Petri nets and Petri nets may be the values of parameters and variables, as well as the result of computations performed during the occurrence of transitions. These features facilitate a number of very powe...
For many problem domains domain-specific languages (DSLs) offer users more appropriate notations and abstractions in which to model systems when compared with general purpose programming languages. These benefits can often be amplified if a visual notation is used instead of textual notations. In many problem domains visual notations are preferred...
An approach, called exploratory simulation, is presented that facilitates the automatic exploration through the con guration and design alternatives of a system. The approach builds upon a few extensions to an otherwise conventional high-level Petri net formalism. As an example, a generic and fully parametric simulation environment is created with...
Complex control systems are heterogeneous from both an implementation and a modeling perspective. Design and simulation environments for such systems need to integrate different component interaction styles, like differential equations, discrete events, state machines, dataflow networks, and real-time scheduling. This paper motivates the use of Pto...
In this paper UML statechart diagrams are used as an example of a generic approach to integrating a visual language in a heterogeneous modelling and simulation environment. A system represented in a visual language is syntactically defined as an attributed graph, with well-formedness rules specified by a set of first-order predicates over the abstr...
This paper gives an overview of the Moses tool suite, a set of
tools for visual language programming. In Moses, visual language syntax
is defined by first-order predicates over the abstract syntax of a
picture, represented by an attributed graph. One way of specifying
language semantics in Moses is by writing an abstract state machine that
interpre...
This paper presents an approach to the specification of visual
language syntax. Based on attributed graphs as the notion of abstract
syntax, syntactical correctness is specified by a set of predicates over
that structure. The proposed technique facilitates the natural embedding
of other visual and textual notations, the definition of complex
syntac...
Petri nets are an established and well researched means for systems modeling and simulation, but its use in the engineering community is not as widespread as the applicability of the formalism would suggest. A reason for this might lie in the fact that there is no established concept for the concise presentation of reusable Petri net design knowled...
In order to facilitate modeling of complex hierarchical and dynamically structured concurrent systems this paper proposes extending high-level Petri nets with parametric and dynamic net structures based on a Petri net component concept. It proceeds to show how to apply these techniques to non-trivial design problems while retaining generality and t...
Industrial applications of Petri nets for modeling and design often result in very complex models (Zurawski and Zhou 1994; Esser, Janneck, and Naedele 1997). Designers can handle this complexity much better if they can (re)use structures expressing expert modeling experience at a higher level of design and abstraction than the basic elements. In th...
State Machines [1, 2]. These specifications are translated into the host language Java and can be used just like any other class in that language. A system like this may be used for a variety of ways. Most importantly, we see the following main applications: ffl prototypes: Prototypes may be developed as formal but executable OMA specifications tha...
Efficient simulation of Petri net models is a key factor for the utility of this modeling formalism for real-world problems. Their locality and high degree of concurrency makes them candidates for parallel and distributed execution. An important condition for efficient distributed simulation, however, is the detection of modelinherent concurrency,...