Scheduling dynamic dataflow graphs with model checking

With the shift towards many-core computer architectures, dataflow programming has been proposed as one potential solution for producing software that scales to a varying number of processor cores. Programming for parallel architectures is considered difficult as the current popular programming languages are inherently sequential and introducing parallelism is typically up to the programmer. Dataflow, however, is inherently parallel, describing an application as a directed graph, where nodes represent calculations and edges represent a data dependency in form of a queue. These queues are the only allowed communication between the nodes, making the dependencies between the nodes explicit and thereby also the parallelism. Once a node have the sufficient inputs available, the node can, independently of any other node, perform calculations, consume inputs, and produce outputs. Dataflow models have existed for several decades and have become popular for describing signal processing applications as the graph representation is a very natural representation within this field. Digital filters are typically described with boxes and arrows also in textbooks. Dataflow is also becoming more interesting in other domains, and in principle, any application working on an information stream fits the dataflow paradigm. Such applications are, among others, network protocols, cryptography, and multimedia applications. As an example, the MPEG group standardized a dataflow language called RVC-CAL to be use within reconfigurable video coding. Describing a video coder as a dataflow network instead of with conventional programming languages, makes the coder more readable as it describes how the video data flows through the different coding tools. While dataflow provides an intuitive representation for many applications, it also introduces some new problems that need to be solved in order for dataflow to be more widely used. The explicit parallelism of a dataflow program is descriptive and enables an improved utilization of available processing units, however, the independent nodes also implies that some kind of scheduling is required. The need for efficient scheduling becomes even more evident when the number of nodes is larger than the number of processing units and several nodes are running concurrently on one processor core.

[1]  Sampo Pyysalo,et al.  A Dependency Parsing Approach to Biomedical Text Mining , 2008 .

[2]  A. Okunoye,et al.  Knowledge Management and Global Diversity: A Framework to Support Organisations in Developing Countries , 2003 .

[3]  Teuvo Kohonen,et al.  The self-organizing map , 1990 .

[4]  Tero Säntti A Co-Processor Approach for Efficient Java Execution in Embedded Systems , 2008 .

[5]  Alessandro Buoni,et al.  Fraud detection in the banking sector : a multi-agent approach , 2012 .

[6]  Andrzej Mizera,et al.  Methods for construction and analysis of computational models in systems biology : applications to the modelling of the heat shock response and the self-assembly of intermediate filaments , 2011 .

[7]  Denis Shestakov,et al.  Search Interfaces on the Web: Querying and Characterizing , 2008 .

[8]  Fareed Jokhio,et al.  Video transcoding in a distributed cloud computing environment , 2014 .

[9]  Jouni Järvinen,et al.  Knowledge Representation and Rough Sets , 2007 .

[10]  Ville Harkke,et al.  Knowledge Freedom for Medical Professionals - An Evaluation Study of a Mobile Information System for Physicians in Finland , 2006 .

[11]  Linda Mannila Teaching mathematics and programming : new approaches with empirical evaluation , 2009 .

[12]  Moazzam Fareed Niazi A Model-Based Development and Verification Framework for Distributed System-on-Chip Architecture , 2014 .

[13]  K. Suzumura Rational Choice and Revealed Preference , 1976 .

[14]  Qaisar Ahmed Malik Combining model-based testing and stepwise formal development , 2010 .

[15]  Antti Airola Kernel-Based Ranking. Methods for Learning and Performance Estimation , 2011 .

[16]  Jörn W. Janneck A machine model for dataflow actors and its applications , 2011, 2011 Conference Record of the Forty Fifth Asilomar Conference on Signals, Systems and Computers (ASILOMAR).

[17]  Sébastien Lafond,et al.  Parallel decoder for low density parity check codes: A MPSoC study , 2013, 2013 International Conference on High Performance Computing & Simulation (HPCS).

[18]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[19]  Kameswar Rao Vaddina Thermal-Aware Networked Many-Core Systems , 2014 .

[20]  Mickaël Raulet,et al.  Classification of Dataflow Actors with Satisfiability and Abstract Interpretation , 2012, Int. J. Embed. Real Time Commun. Syst..

[21]  Amir-Mohammad Rahmani-Sane,et al.  Exploration and Design of Power-Efficient Networked Many-Core Systems , 2012 .

[22]  Mats Neovius,et al.  Trustworthy context dependency in ubiquitous systems , 2012 .

[23]  Ghislain Roquier,et al.  Scheduling of dynamic dataflow programs with model checking , 2011, 2011 IEEE Workshop on Signal Processing Systems (SiPS).

[24]  Mikko Pelto On Identifying and Locating-Dominating Codes in the Infinite King Grid , 2012 .

[25]  Evgeni Tsivtsivadze,et al.  Learning Preferences with Kernel-Based Methods , 2009 .

[26]  Rajeev Kumar Kanth Analysis and Life Cycle Assessment of Printed Antennas for Sustainable Wireless Systems , 2013 .

[27]  Tommi J.M. Lehtinen Numbers and Languages , 2013 .

[28]  Mohsin Muhammad Saleemi Towards combining interactive mobile TV and smart spaces : architectures, tools and application development , 2013 .

[29]  Ping Yan,et al.  Limit Cycles for Generalized Liénard-type and Lotka-Volterra Systems , 2005 .

[30]  Henri Korvela,et al.  Virtual communities : a virtual treasure trove for end-user developers , 2014 .

[31]  Johannes Eriksson,et al.  Tool-Supported Invariant-Based Programming , 2010 .

[32]  Aleksi Saarela,et al.  Word Equations and Related Topics. Independence, Decidability and Characterizations , 2012 .

[33]  Jari Björne,et al.  BioInfer: a corpus for information extraction in the biomedical domain , 2007, BMC Bioinformatics.

[34]  Elena Troubitsyna,et al.  Formal Verification of Consistency in Model-Driven Development of Distributed Communicating Systems and Communication Protocols , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[35]  Mikael Collan,et al.  Giga-Investments: Modelling the Valuation of Very Large Industrial Real Investments , 2004 .

[36]  Ali Hanzala Khan Consistency of UML Based Designs Using Ontology Reasoners , 2013 .

[37]  Rudy Lauwereins,et al.  Cyclo-static data flow , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[38]  Bo Yang Towards Optimal Application Mapping for Energy-Efficient Many-Core Platforms , 2013 .

[39]  Alexander Wei Yin On Energy Efficient Computing Platforms , 2013 .

[40]  Mickaël Raulet,et al.  Exploiting Statically Schedulable Regions in Dataflow Programs , 2011, J. Signal Process. Syst..

[41]  Anna Mikhajlova,et al.  Ensuring Correctness of Object and Component Systems , 1999 .

[42]  Sanna M. Ranto,et al.  Identifying and Locating- Dominating Codes in Binary Hamming Spaces , 2007 .

[43]  Camilla Hollanti,et al.  Order-Theoretic Methods for Space-Time Coding: Symmetric and Asymmetric Designs , 2009 .

[44]  Csaba Ráduly-Baka Algorithmic Solutions for Combinatorial Problems in Resource Management of Manufacturing Environments , 2011 .

[45]  Jeanette Heidenberg Towards increased productivity and quality in software development using agile, lean and collaborative approaches , 2011 .

[46]  Jari Kyngäs Solving Challenging Real-World Scheduling Problems , 2011 .

[47]  Kari Salonen Setup Optimization in High-Mix Surface Mount PCB Assembly , 2008 .

[48]  Dorina Marghescu,et al.  Evaluating multidimensional visualization techniques in data mining tasks , 2008 .

[49]  Thomas Canhao Xu Hardware/Software Co-design for Multicore Architectures , 2012 .

[50]  Mickaël Raulet,et al.  Automatic Hierarchical Discovery of Quasi-Static Schedules of RVC-CAL Dataflow Programs , 2013, J. Signal Process. Syst..

[51]  Clara-Mihaela Ionescu,et al.  The Human Respiratory System , 2013 .

[52]  Mickaël Raulet,et al.  The Reconfigurable Video Coding Standard [Standards in a Nutshell] , 2010, IEEE Signal Processing Magazine.

[53]  Siamak Taati,et al.  Conservation Laws in Cellular Automata , 2009, Handbook of Natural Computing.

[54]  Lorenza Saitta,et al.  A Coevolutionary Approach to Concept Learning , 1997, ISMIS.

[55]  Matteo Brunelli,et al.  Some advances in mathematical models for preference relations , 2011 .

[56]  Roope Vehkalahti,et al.  Class Field Theoretic Methods in the Design of Lattice Signal Constellations , 2008 .

[57]  Olli Nevalainen,et al.  Iterative split-and-merge algorithm for vector quantization codebook generation , 1998 .

[58]  Ghislain Roquier,et al.  Scheduling of dynamic dataflow programs based on state space analysis , 2012, 2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[59]  Alexey Dudkov Chip and Signature Interleaving in DS CDMA Systems , 2009 .

[60]  Brian Everitt,et al.  Cluster analysis , 1974 .

[61]  Shuvra S. Bhattacharyya,et al.  Parameterized dataflow modeling of DSP systems , 2000, 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.00CH37100).

[62]  Yong Liu Solving the Puzzle of Mobile Learning Adoption , 2011 .