32 research outputs found

    PRUNE: Dynamic and Decidable Dataflow for Signal Processing on Heterogeneous Platforms

    Get PDF
    The majority of contemporary mobile devices and personal computers are based on heterogeneous computing platforms that consist of a number of CPU cores and one or more Graphics Processing Units (GPUs). Despite the high volume of these devices, there are few existing programming frameworks that target full and simultaneous utilization of all CPU and GPU devices of the platform. This article presents a dataflow-flavored Model of Computation (MoC) that has been developed for deploying signal processing applications to heterogeneous platforms. The presented MoC is dynamic and allows describing applications with data dependent run-time behavior. On top of the MoC, formal design rules are presented that enable application descriptions to be simultaneously dynamic and decidable. Decidability guarantees compile-time application analyzability for deadlock freedom and bounded memory. The presented MoC and the design rules are realized in a novel Open Source programming environment "PRUNE" and demonstrated with representative application examples from the domains of image processing, computer vision and wireless communications. Experimental results show that the proposed approach outperforms the state-of-the-art in analyzability, flexibility and performance.Comment: This is the author's version of an article that has been published in this journal. Changes were made to this version by the publisher prior to publicatio

    The earlier the better: a theory of timed actor interfaces

    Get PDF
    Programming embedded and cyber-physical systems requires attention not only to functional behavior and correctness, but also to non-functional aspects and specifically timing and performance. A structured, compositional, model-based approach based on stepwise refinement and abstraction techniques can support the development process, increase its quality and reduce development time through automation of synthesis, analysis or verification. Toward this, we introduce a theory of timed actors whose notion of refinement is based on the principle of worst-case design that permeates the world of performance-critical systems. This is in contrast with the classical behavioral and functional refinements based on restricting sets of behaviors. Our refinement allows time-deterministic abstractions to be made of time-non-deterministic systems, improving efficiency and reducing complexity of formal analysis. We show how our theory relates to, and can be used to reconcile existing time and performance models and their established theories

    The earlier the better: a theory of timed actor interfaces

    Get PDF
    Programming embedded and cyber-physical systems requires attention not only to functional behavior and correctness, but also to non-functional aspects and specifically timing and performance constraints. A structured, compositional, model-based approach based on stepwise refinement and abstraction techniques can support the development process, increase its quality and reduce development time through automation of synthesis, analysis or verification. For this purpose, we introduce in this paper a general theory of timed actor interfaces. Our theory supports a notion of refinement that is based on the principle of worst-case design that permeates the world of performance-critical systems. This is in contrast with the classical behavioral and functional refinements based on restricting or enlarging sets of behaviors. An important feature of our refinement is that it allows time-deterministic abstractions to be made of time-non-deterministic systems, improving efficiency and reducing complexity of formal analysis. We also show how our theory relates to, and can be used to reconcile a number of existing time and performance models and how their established theories can be exploited to represent and analyze interface specifications and refinement steps.\u

    A Dataflow Framework For Developing Flexible Embedded Accelerators A Computer Vision Case Study.

    Get PDF
    The focus of this dissertation is the design and the implementation of a computing platform which can accelerate data processing in the embedded computation domain. We focus on a heterogeneous computing platform, whose hardware implementation can approach the power and area efficiency of specialized designs, while remaining flexible across the application domain. The multi-core architectures require parallel programming, which is widely-regarded as more challenging than sequential programming. Although shared memory parallel programs may be fairly easy to write (using OpenMP, for example), they are quite hard to optimize; providing embedded application developers with optimizing tools and programming frameworks is a challenge. The heterogeneous specialized elements make the problem even more difficult. Dataflow is a parallel computation model that relies exclusively on message passing, and that has some advantages over parallel programming tools in wide use today: simplicity, graphical representation, and determinism. Dataflow model is also a good match to streaming applications, such as audio, video and image processing, which operate on large sequences of data and are characterized by abundant parallelism and regular memory access patterns. Dataflow model of computation has gained acceptance in simulation and signal-processing communities. This thesis evaluates the applicability of the dataflow model for implementing domain-specific embedded accelerators for streaming applications

    Towards Efficient Resource Allocation for Embedded Systems

    Get PDF
    Das Hauptthema ist die dynamische Ressourcenverwaltung in eingebetteten Systemen, insbesondere die Verwaltung von Rechenzeit und Netzwerkverkehr auf einem MPSoC. Die Idee besteht darin, eine Pipeline fรผr die Verarbeitung von Mobiler Kommunikation auf dem Chip dynamisch zu schedulen, um die Effizienz der Hardwareressourcen zu verbessern, ohne den Ressourcenverbrauch des dynamischen Schedulings dramatisch zu erhรถhen. Sowohl Software- als auch Hardwaremodule werden auf Hotspots im Ressourcenverbrauch untersucht und optimiert, um diese zu entfernen. Da Applikationen im Bereich der Signalverarbeitung normalerweise mit Hilfe von SDF-Diagrammen beschrieben werden kรถnnen, wird deren dynamisches Scheduling optimiert, um den Ressourcenverbrauch gegenรผber dem รผblicherweise verwendeten statischen Scheduling zu verbessern. Es wird ein hybrider dynamischer Scheduler vorgestellt, der die Vorteile von Processing-Networks und der Planung von Task-Graphen kombiniert. Es ermรถglicht dem Scheduler, ein Gleichgewicht zwischen der Parallelisierung der Berechnung und der Zunahme des dynamischen Scheduling-Aufands optimal abzuwรคgen. Der resultierende dynamisch erstellte Schedule reduziert den Ressourcenverbrauch um etwa 50%, wobei die Laufzeit im Vergleich zu einem statischen Schedule nur um 20% erhรถht wird. Zusรคtzlich wird ein verteilter dynamischer SDF-Scheduler vorgeschlagen, der das Scheduling in verschiedene Teile zerlegt, die dann zu einer Pipeline verbunden werden, um mehrere parallele Prozessoren einzubeziehen. Jeder Scheduling-Teil wird zu einem Cluster mit Load-Balancing erweitert, um die Anzahl der parallel laufenden Scheduling-Jobs weiter zu erhรถhen. Auf diese Weise wird dem vorhandene Engpass bei dem dynamischen Scheduling eines zentralisierten Schedulers entgegengewirkt, sodass 7x mehr Prozessoren mit dem Pipelined-Clustered-Dynamic-Scheduler fรผr eine typische Signalverarbeitungsanwendung verwendet werden kรถnnen. Das neue dynamische Scheduling-System setzt das Vorhandensein von drei verschiedenen Kommunikationsmodi zwischen den Verarbeitungskernen voraus. Bei der Emulation auf Basis des hรคufig verwendeten RDMA-Protokolls treten Leistungsprobleme auf. Sehr gut kann RDMA fรผr einmalige Punkt-zu-Punkt-Datenรผbertragungen verwendet werden, wie sie bei der Ausfรผhrung von Task-Graphen verwendet werden. Process-Networks verwenden normalerweise Datenstrรถme mit hohem Volumen und hoher Bandbreite. Es wird eine FIFO-basierte Kommunikationslรถsung vorgestellt, die einen zyklischen Puffer sowohl im Sender als auch im Empfรคnger implementiert, um diesen Bedarf zu decken. Die Pufferbehandlung und die Datenรผbertragung zwischen ihnen erfolgen ausschlieรŸlich in Hardware, um den Software-Overhead aus der Anwendung zu entfernen. Die Implementierung verbessert die Zugriffsverwaltung mehrerer Nutzer auf flรคchen-effiziente Single-Port Speichermodule. Es werden 0,8 der theoretisch mรถglichen Bandbreite, die normalerweise nur mit flรคchenmรครŸig teureren Dual-Port-Speichern erreicht wird. Der dritte Kommunikationsmodus definiert eine einfache Message-Passing-Implementierung, die ohne einen Verbindungszustand auskommt. Dieser Modus wird fรผr eine effiziente prozessรผbergreifende Kommunikation des verteilten Scheduling-Systems und der engen Ansteuerung der restlichen Prozessoren benรถtigt. Eine Flusskontrolle in Hardware stellt sicher, dass eine groรŸe Anzahl von Sendern Nachrichten an denselben Empfรคnger senden kann. Dabei wird garantiert, dass alle Nachrichten korrekt empfangen werden, ohne dass eine Verbindung hergestellt werden muss und die Nachrichtenlaufzeit gering bleibt. Die Arbeit konzentriert sich auf die Optimierung des Codesigns von Hardware und Software, um die kompromisslose Ressourceneffizienz der dynamischen SDF-Graphen-Planung zu erhรถhen. Besonderes Augenmerk wird auf die Abhรคngigkeiten zwischen den Ebenen eines verteilten Scheduling-Systems gelegt, das auf der Verfรผgbarkeit spezifischer hardwarebeschleunigter Kommunikationsmethoden beruht.:1 Introduction 1.1 Motivation 1.2 The Multiprocessor System on Chip Architecture 1.3 Concrete MPSoC Architecture 1.4 Representing LTE/5G baseband processing as Static Data Flow 1.5 Compuation Stack 1.6 Performance Hotspots Addressed 1.7 State of the Art 1.8 Overview of the Work 2 Hybrid SDF Execution 2.1 Addressed Performance Hotspot 2.2 State of the Art 2.3 Static Data Flow Graphs 2.4 Runtime Environment 2.5 Overhead of Deloying Tasks to a MPSoC 2.6 Interpretation of SDF Graphs as Task Graphs 2.7 Interpreting SDF Graphs as Process Networks 2.8 Hybrid Interpretation 2.9 Graph Topology Considerations 2.10 Theoretic Impact of Hybrid Interpretation 2.11 Simulating Hybrid Execution 2.12 Pipeline SDF Graph Example 2.13 Random SDF Graphs 2.14 LTE-like SDF Graph 2.15 Key Lernings 3 Distribution of Management 3.1 Addressed Performance Hotspot 3.2 State of the Art 3.3 Revising Deployment Overhead 3.4 Distribution of Overhead 3.5 Impact of Management Distribution to Resource Utilization 3.6 Reconfigurability 3.7 Key Lernings 4 Sliced FIFO Hardware 4.1 Addressed Performance Hotspot 4.2 State of the Art 4.3 System Environment 4.4 Sliced Windowed FIFO buffer 4.5 Single FIFO Evaluation 4.6 Multiple FIFO Evalutaion 4.7 Hardware Implementation 4.8 Key Lernings 5 Message Passing Hardware 5.1 Addressed Performance Hotspot 5.2 State of the Art 5.3 Message Passing Regarded as Queueing 5.4 A Remote Direct Memory Access Based Implementation 5.5 Hardware Implementation Concept 5.6 Evalutation of Performance 5.7 Key Lernings 6 SummaryThe main topic is the dynamic resource allocation in embedded systems, especially the allocation of computing time and network tra๏ฌƒc on an multi processor system on chip (MPSoC). The idea is to dynamically schedule a mobile communication signal processing pipeline on the chip to improve hardware resource e๏ฌƒciency while not dramatically improve resource consumption because of dynamic scheduling overhead. Both software and hardware modules are examined for resource consumption hotspots and optimized to remove them. Since signal processing can usually be described with the help of static data ๏ฌ‚ow (SDF) graphs, the dynamic handling of those is optimized to improve resource consumption over the commonly used static scheduling approach. A hybrid dynamic scheduler is presented that combines bene๏ฌts from both processing networks and task graph scheduling. It allows the scheduler to optimally balance parallelization of computation and addition of dynamic scheduling overhead. The resulting dynamically created schedule reduces resource consumption by about 50%, with a runtime increase of only 20% compared to a static schedule. Additionally, a distributed dynamic SDF scheduler is proposed that splits the scheduling into different parts, which are then connected to a scheduling pipeli ne to incorporate multiple parallel working processors. Each scheduling stage is reworked into a load-balanced cluster to increase the number of parallel scheduling jobs further. This way, the still existing dynamic scheduling bottleneck of a centralized scheduler is widened, allowing handling 7x more processors with the pipelined, clustered dynamic scheduler for a typical signal processing application. The presented dynamic scheduling system assumes the presence of three different communication modes between the processing cores. When emulated on top of the commonly used remote direct memory access (RDMA) protocol, performance issues are encountered. Firstly, RDMA can neatly be used for single-shot point-to-point data transfers, like used in task graph scheduling. Process networks usually make use of high-volume and high-bandwidth data streams. A ๏ฌrst in ๏ฌrst out (FIFO) communication solution is presented that implements a cyclic buffer on both sender and receiver to serve this need. The buffer handling and data transfer between them are done purely in hardware to remove software overhead from the application. The implementation improves the multi-user access to area-e๏ฌƒcient single port on-chip memory modules. It achieves 0.8 of the theoretically possible bandwidth, usually only achieved with area expensive dual-port memories. The third communication mode de๏ฌnes a lightweight message passing (MP) implementation that is truly connectionless. It is needed for e๏ฌƒcient inter-process communication of the distributed and clustered scheduling system and the worker processing unitsโ€™ tight coupling. A hardware ๏ฌ‚ow control assures that an arbitrary number of senders can spontaneously start sending messages to the same receiver. Yet, all messages are guaranteed to be correctly received while eliminating the need for connection establishment and keeping a low message delay. The work focuses on the hardware-software codesign optimization to increase the uncompromised resource e๏ฌƒciency of dynamic SDF graph scheduling. Special attention is paid to the inter-level dependencies in developing a distributed scheduling system, which relies on the availability of speci๏ฌc hardwareaccelerated communication methods.:1 Introduction 1.1 Motivation 1.2 The Multiprocessor System on Chip Architecture 1.3 Concrete MPSoC Architecture 1.4 Representing LTE/5G baseband processing as Static Data Flow 1.5 Compuation Stack 1.6 Performance Hotspots Addressed 1.7 State of the Art 1.8 Overview of the Work 2 Hybrid SDF Execution 2.1 Addressed Performance Hotspot 2.2 State of the Art 2.3 Static Data Flow Graphs 2.4 Runtime Environment 2.5 Overhead of Deloying Tasks to a MPSoC 2.6 Interpretation of SDF Graphs as Task Graphs 2.7 Interpreting SDF Graphs as Process Networks 2.8 Hybrid Interpretation 2.9 Graph Topology Considerations 2.10 Theoretic Impact of Hybrid Interpretation 2.11 Simulating Hybrid Execution 2.12 Pipeline SDF Graph Example 2.13 Random SDF Graphs 2.14 LTE-like SDF Graph 2.15 Key Lernings 3 Distribution of Management 3.1 Addressed Performance Hotspot 3.2 State of the Art 3.3 Revising Deployment Overhead 3.4 Distribution of Overhead 3.5 Impact of Management Distribution to Resource Utilization 3.6 Reconfigurability 3.7 Key Lernings 4 Sliced FIFO Hardware 4.1 Addressed Performance Hotspot 4.2 State of the Art 4.3 System Environment 4.4 Sliced Windowed FIFO buffer 4.5 Single FIFO Evaluation 4.6 Multiple FIFO Evalutaion 4.7 Hardware Implementation 4.8 Key Lernings 5 Message Passing Hardware 5.1 Addressed Performance Hotspot 5.2 State of the Art 5.3 Message Passing Regarded as Queueing 5.4 A Remote Direct Memory Access Based Implementation 5.5 Hardware Implementation Concept 5.6 Evalutation of Performance 5.7 Key Lernings 6 Summar

    A model-based approach for the specification and refinement of streaming applications

    Get PDF
    Embedded systems can be found in a wide range of applications. Depending on the application, embedded systems must meet a wide range of constraints. Thus, designing and programming embedded systems is a challenging task. Here, model-based design flows can be a solution. This thesis proposes novel approaches for the specification and refinement of streaming applications. To this end, it focuses on dataflow models. As key result, the proposed dataflow model provides for a seamless model-based design flow from system level to the instruction/logic level for a wide range of streaming applications

    ํ˜‘์—… ๋กœ๋ด‡์„ ์œ„ํ•œ ์„œ๋น„์Šค ๊ธฐ๋ฐ˜๊ณผ ๋ชจ๋ธ ๊ธฐ๋ฐ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก 

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ(๋ฐ•์‚ฌ)--์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› :๊ณต๊ณผ๋Œ€ํ•™ ์ „๊ธฐยท์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€,2020. 2. ํ•˜์ˆœํšŒ.๊ฐ€๊นŒ์šด ๋ฏธ๋ž˜์—๋Š” ๋‹ค์–‘ํ•œ ๋กœ๋ด‡์ด ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ•˜๋‚˜์˜ ์ž„๋ฌด๋ฅผ ํ˜‘๋ ฅํ•˜์—ฌ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ์Šต์€ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ ์ด๋Ÿฌํ•œ ๋ชจ์Šต์ด ์‹คํ˜„๋˜๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€์˜ ์–ด๋ ค์›€์ด ์žˆ๋‹ค. ๋จผ์ € ๋กœ๋ด‡์„ ์šด์šฉํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ช…์„ธํ•˜๋Š” ๊ธฐ์กด ์—ฐ๊ตฌ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋กœ๋ด‡์˜ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์ง€์‹์„ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๊ฐ€์ •ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋กœ๋ด‡์ด๋‚˜ ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ ์ง€์‹์ด ์—†๋Š” ์‚ฌ์šฉ์ž๋“ค์ด ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋กœ๋ด‡์ด ํ˜‘๋ ฅํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ๋Š” ์‰ฝ์ง€ ์•Š๋‹ค. ๋˜ํ•œ, ๋กœ๋ด‡์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ๋กœ๋ด‡์˜ ํ•˜๋“œ์›จ์–ด์˜ ํŠน์„ฑ๊ณผ ๊ด€๋ จ์ด ๊นŠ์–ด์„œ, ๋‹ค์–‘ํ•œ ๋กœ๋ด‡์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ„๋‹จํ•˜์ง€ ์•Š๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ƒ์œ„ ์ˆ˜์ค€์˜ ๋ฏธ์…˜ ๋ช…์„ธ์™€ ๋กœ๋ด‡์˜ ํ–‰์œ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ์•ˆํ•œ๋‹ค. ๋˜ํ•œ, ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋กœ๋ด‡๋ถ€ํ„ฐ ๊ณ„์‚ฐ ๋Šฅ๋ ฅ์ด ์ถฉ๋ถ„ํ•œ ๋กœ๋ด‡๋“ค์ด ์„œ๋กœ ๊ตฐ์ง‘์„ ์ด๋ฃจ์–ด ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค. ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ๋กœ๋ด‡์˜ ํ•˜๋“œ์›จ์–ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์ง€์‹์ด ๋ถ€์กฑํ•œ ์‚ฌ์šฉ์ž๋„ ๋กœ๋ด‡์˜ ๋™์ž‘์„ ์ƒ์œ„ ์ˆ˜์ค€์—์„œ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ์ œ์•ˆํ•œ๋‹ค. ์ œ์•ˆํ•˜๋Š” ์–ธ์–ด๋Š” ๊ธฐ์กด์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋„ค ๊ฐ€์ง€์˜ ๊ธฐ๋Šฅ์ธ ํŒ€์˜ ๊ตฌ์„ฑ, ๊ฐ ํŒ€์˜ ์„œ๋น„์Šค ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋™์ ์œผ๋กœ ๋ชจ๋“œ ๋ณ€๊ฒฝ, ๋‹ค์ค‘ ์ž‘์—…(๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น)์„ ์ง€์›ํ•œ๋‹ค. ์šฐ์„  ๋กœ๋ด‡์€ ํŒ€์œผ๋กœ ๊ทธ๋ฃน ์ง€์„ ์ˆ˜ ์žˆ๊ณ , ๋กœ๋ด‡์ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์„œ๋น„์Šค ๋‹จ์œ„๋กœ ์ถ”์ƒํ™”ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ณตํ•ฉ ์„œ๋น„์Šค๋ฅผ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋กœ๋ด‡์˜ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์„ ์œ„ํ•ด 'ํ”Œ๋žœ' ์ด๋ผ๋Š” ๊ฐœ๋…์„ ๋„์ž…ํ•˜์˜€๊ณ , ๋ณตํ•ฉ ์„œ๋น„์Šค ๋‚ด์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ์„œ ๋™์ ์œผ๋กœ ๋ชจ๋“œ๊ฐ€ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค. ๋‚˜์•„๊ฐ€ ์—ฌ๋Ÿฌ ๋กœ๋ด‡์˜ ํ˜‘๋ ฅ์ด ๋”์šฑ ๊ฒฌ๊ณ ํ•˜๊ณ , ์œ ์—ฐํ•˜๊ณ , ํ™•์žฅ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด, ๊ตฐ์ง‘ ๋กœ๋ด‡์„ ์šด์šฉํ•  ๋•Œ ๋กœ๋ด‡์ด ์ž„๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„์ค‘์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋กœ๋ด‡์„ ๋™์ ์œผ๋กœ ๋‹ค๋ฅธ ํ–‰์œ„๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋™์ ์œผ๋กœ๋„ ํŒ€์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋กœ๋ด‡์ด ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ทธ๋ฃน ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๊ณ , ์ผ๋Œ€ ๋‹ค ํ†ต์‹ ๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์— ๋ฐ˜์˜ํ•˜์˜€๋‹ค. ๋”ฐ๋ผ์„œ ํ™•์žฅ๋œ ์ƒ์œ„ ์ˆ˜์ค€์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ๋น„์ „๋ฌธ๊ฐ€๋„ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ํ˜‘๋ ฅ ์ž„๋ฌด๋ฅผ ์‰ฝ๊ฒŒ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋กœ๋ด‡์˜ ํ–‰์œ„๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์—ฐ๊ตฌ๋˜๊ณ  ์žˆ๋‹ค. ํŠนํžˆ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์ค‘์ ์œผ๋กœ ๋‘” ์—ฐ๊ตฌ๋“ค์ด ์ตœ๊ทผ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ์ด๋“ค ์—ฐ๊ตฌ๋Š” ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์™€ ๊ฐ™์ด ๋งŽ์€ ํ•˜๋“œ์›จ์–ด ์ž์›์„ ํ•„์š”๋กœ ํ•˜๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๊ฐ€์ •ํ•˜๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ, ํ”„๋กœ๊ทธ๋žจ์˜ ๋ถ„์„ ๋ฐ ์„ฑ๋Šฅ ์˜ˆ์ธก ๋“ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ์ž์› ์ œ์•ฝ์ด ์‹ฌํ•œ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋กœ๋ด‡์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ์—๋Š” ์–ด๋ ต๋‹ค. ๊ทธ๋ž˜์„œ ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ์ž„๋ฒ ๋””๋“œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์“ฐ์ด๋Š” ์ •ํ˜•์ ์ธ ๋ชจ๋ธ์„ ์ด์šฉํ•œ๋‹ค. ์ด ๋ชจ๋ธ์€ ์ •์  ๋ถ„์„๊ณผ ์„ฑ๋Šฅ ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋กœ๋ด‡์˜ ํ–‰์œ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ์—๋Š” ์ œ์•ฝ์ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณธ ๋…ผ๋ฌธ์—์„œ ์™ธ๋ถ€์˜ ์ด๋ฒคํŠธ์— ์˜ํ•ด ์ˆ˜ํ–‰ ์ค‘๊ฐ„์— ํ–‰์œ„๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋กœ๋ด‡์„ ์œ„ํ•ด ์œ ํ•œ ์ƒํƒœ ๋จธ์‹  ๋ชจ๋ธ๊ณผ ๋ฐ์ดํ„ฐ ํ”Œ๋กœ์šฐ ๋ชจ๋ธ์ด ๊ฒฐํ•ฉํ•˜์—ฌ ๋™์  ํ–‰์œ„๋ฅผ ๋ช…์„ธํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ๋œ ๋ชจ๋ธ์„ ์ ์šฉํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋”ฅ๋Ÿฌ๋‹๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐ๋Ÿ‰์„ ๋งŽ์ด ํ•„์š”๋กœ ํ•˜๋Š” ์‘์šฉ์„ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด, ๋ฃจํ”„ ๊ตฌ์กฐ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์„ ์ œ์•ˆํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์—ฌ๋Ÿฌ ๋กœ๋ด‡์˜ ํ˜‘์—… ์šด์šฉ์„ ์œ„ํ•ด ๋กœ๋ด‡ ์‚ฌ์ด์— ๊ณต์œ ๋˜๋Š” ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋จผ์ € ์ค‘์•™์—์„œ ๊ณต์œ  ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํƒœ์Šคํฌ๋ผ๋Š” ํŠน๋ณ„ํ•œ ํƒœ์Šคํฌ๋ฅผ ํ†ตํ•ด ๊ณต์œ  ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋˜ํ•œ, ๋กœ๋ด‡์ด ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ๊ฐ€๊นŒ์šด ๋กœ๋ด‡๋“ค๊ณผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ€ํ‹ฐ์บ์ŠคํŒ…์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํฌํŠธ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ™•์žฅ๋œ ์ •ํ˜•์ ์ธ ๋ชจ๋ธ์€ ์‹ค์ œ ๋กœ๋ด‡ ์ฝ”๋“œ๋กœ ์ž๋™ ์ƒ์„ฑ๋˜์–ด, ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ์ƒ์‚ฐ์„ฑ ๋ฐ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์— ์ด์ ์„ ๊ฐ€์ง„๋‹ค. ๋น„์ „๋ฌธ๊ฐ€๊ฐ€ ๋ช…์„ธํ•œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ์ •ํ˜•์ ์ธ ํƒœ์Šคํฌ ๋ชจ๋ธ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์ค‘๊ฐ„ ๋‹จ๊ณ„์ธ ์ „๋žต ๋‹จ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. ์ œ์•ˆํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์˜ ํƒ€๋‹น์„ฑ์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด, ์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์‹ค์ œ ๋กœ๋ด‡์„ ์ด์šฉํ•œ ํ˜‘์—…ํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•ด ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.In the near future, it will be common that a variety of robots are cooperating to perform a mission in various fields. There are two software challenges when deploying collaborative robots: how to specify a cooperative mission and how to program each robot to accomplish its mission. In this paper, we propose a novel software development framework that separates mission specification and robot behavior programming, which is called service-oriented and model-based (SeMo) framework. Also, it can support distributed robot systems, swarm robots, and their hybrid. For mission specification, a novel scripting language is proposed with the expression capability. It involves team composition and service-oriented behavior specification of each team, allowing dynamic mode change of operation and multi-tasking. Robots are grouped into teams, and the behavior of each team is defined with a composite service. The internal behavior of a composite service is defined by a sequence of services that the robots will perform. The notion of plan is applied to express multi-tasking. And the robot may have various operating modes, so mode change is triggered by events generated in a composite service. Moreover, to improve the robustness, scalability, and flexibility of robot collaboration, the high-level mission scripting language is extended with new features such as team hierarchy, group service, one-to-many communication. We assume that any robot fails during the execution of scenarios, and the grouping of robots can be made at run-time dynamically. Therefore, the extended mission specification enables a casual user to specify various types of cooperative missions easily. For robot behavior programming, an extended dataflow model is used for task-level behavior specification that does not depend on the robot hardware platform. To specify the dynamic behavior of the robot, we apply an extended task model that supports a hybrid specification of dataflow and finite state machine models. Furthermore, we propose a novel extension to allow the explicit specification of loop structures. This extension helps the compute-intensive application, which contains a lot of loop structures, to specify explicitly and analyze at compile time. Two types of information sharing, global information sharing and local knowledge sharing, are supported for robot collaboration in the dataflow graph. For global information, we use the library task, which supports shared resource management and server-client interaction. On the other hand, to share information locally with near robots, we add another type of port for multicasting and use the knowledge sharing technique. The actual robot code per robot is automatically generated from the associated task graph, which minimizes the human efforts in low-level robot programming and improves the software design productivity significantly. By abstracting the tasks or algorithms as services and adding the strategy description layer in the design flow, the mission specification is refined into task-graph specification automatically. The viability of the proposed methodology is verified with preliminary experiments with three cooperative mission scenarios with heterogeneous robot platforms and robot simulator.Chapter 1. Introduction 1 1.1 Motivation 1 1.2 Contribution 7 1.3 Dissertation Organization 9 Chapter 2. Background and Existing Research 11 2.1 Terminologies 11 2.2 Robot Software Development Frameworks 25 2.3 Parallel Embedded Software Development Framework 31 Chapter 3. Overview of the SeMo Framework 41 3.1 Motivational Examples 45 Chapter 4. Robot Behavior Programming 47 4.1 Related works 48 4.2 Model-based Task Graph Specification for Individual Robots 56 4.3 Model-based Task Graph Specification for Cooperating Robots 70 4.4 Automatic Code Generation 74 4.5 Experiments 78 Chapter 5. High-level Mission Specification 81 5.1 Service-oriented Mission Specification 82 5.2 Strategy Description 93 5.3 Automatic Task Graph Generation 96 5.4 Related works 99 5.5 Experiments 104 Chapter 6. Conclusion 114 6.1 Future Research 116 Bibliography 118 Appendices 133 ์š”์•ฝ 158Docto

    Kahn Process Networks and a Reactive Extension

    Full text link
    Kahn and MacQueen have introduced a generic class of determinate asynchronous data-flow applications, called Kahn Process Networks (KPNs) with an elegant mathematical model and semantics in terms of Scott-continuous functions on data streams together with an implementation model of independent asynchronous sequential programs communicating through FIFO buffers with blocking read and non-blocking write operations. The two are related by the Kahn Principle which states that a realization according to the implementation model behaves as predicted by the mathematical function. Additional steps are required to arrive at an actual implementation of a KPN to take care of scheduling of independent processes on a single processor and to manage communication buffers. Because of the expressiveness of the KPN model, buffer sizes and schedules cannot be determined at design time in general and require dynamic run-time system support. Constraints are discussed that need to be placed on such system support so as to maintain the Kahn Principle.We then discuss a possible extension of the KPN model to include the possibility for sporadic, reactive behavior which is not possible in the standard model. The extended model is called Reactive Process Networks. We introduce its semantics, look at analyzability and at more constrained data-flow models combined with reactive behavior

    Systematic Design Space Exploration of Dynamic Dataflow Programs for Multi-core Platforms

    Get PDF
    The limitations of clock frequency and power dissipation of deep sub-micron CMOS technology have led to the development of massively parallel computing platforms. They consist of dozens or hundreds of processing units and offer a high degree of parallelism. Taking advantage of that parallelism and transforming it into high program performances requires the usage of appropriate parallel programming models and paradigms. Currently, a common practice is to develop parallel applications using methods evolving directly from sequential programming models. However, they lack the abstractions to properly express the concurrency of the processes. An alternative approach is to implement dataflow applications, where the algorithms are described in terms of streams and operators thus their parallelism is directly exposed. Since algorithms are described in an abstract way, they can be easily ported to different types of platforms. Several dataflow models of computation (MoCs) have been formalized so far. They differ in terms of their expressiveness (ability to handle dynamic behavior) and complexity of analysis. So far, most of the research efforts have focused on the simpler cases of static dataflow MoCs, where many analyses are possible at compile-time and several optimization problems are greatly simplified. At the same time, for the most expressive and the most difficult to analyze dynamic dataflow (DDF), there is still a dearth of tools supporting a systematic and automated analysis minimizing the programming efforts of the designer. The objective of this Thesis is to provide a complete framework to analyze, evaluate and refactor DDF applications expressed using the RVC-CAL language. The methodology relies on a systematic design space exploration (DSE) examining different design alternatives in order to optimize the chosen objective function while satisfying the constraints. The research contributions start from a rigorous DSE problem formulation. This provides a basis for the definition of a complete and novel analysis methodology enabling systematic performance improvements of DDF applications. Different stages of the methodology include exploration heuristics, performance estimation and identification of refactoring directions. All of the stages are implemented as appropriate software tools. The contributions are substantiated by several experiments performed with complex dynamic applications on different types of physical platforms
    corecore