Spelling suggestions: "subject:"applicatication distribution"" "subject:"ratios:application distribution""
1 |
Définition et implémentation d'un modèle causal d'exécution temps-réel distribuéeMoutault, Sébastien 16 December 2011 (has links) (PDF)
Ces travaux s'inscrivent dans le cadre du projet AROS (Automotive Robust Operating Services). Il a pour objectif de proposer un outil de prototypage rapide d'applications dynamiques distribuées temps-réel, principalement dans le domaine de l'automobile et de la robotique. Les applications distribuées temps-réel sont traditionnellement développées selon deux approches. La première, l'ordonnancement temporel, est basée sur l'analyse du pire temps d'exécution (worst execution time). Un partage du temps entre les différentes tâches de l'application est établi de façon statique. Cette technique offre une grande sureté de fonctionnement au prix d'une analyse temporelle parfois difficile à mener. La seconde, l'ordonnancement par priorité, est basée sur l'attribution à chaque tâche d'un niveau de priorité qui permet d'établir l'ordre d'exécution en fonction des évènements reçus par le système. Cette seconde technique, plus souple à mettre en œuvre, offre moins de garanties et conduit à un comportement non déterministe de l'application. La structure des applications AROS étant dynamique, l'approche temporelle est exclue car elle demande une analyse statique qu'il est impossible de produire. L'approche basée sur les priorités d'exécution est également exclue à cause de son non déterminisme comportemental. Nous proposons une approche basée sur un ordonnancement évènementiel causal inspirée des techniques d'ordonnancement des simulateurs évènementiels distribués. Tout en étant relativement simple à utiliser pour le concepteur d'application, cette technique produit des applications dont le comportement est parfaitement déterministe. Deux principales difficultés sont à surmonter : la synchronisation en temps-réel du moteur d'exécution et le respect des contraintes temps-réel.
|
2 |
Methods and Algorithms for Efficient Programming of FPGA-based Heterogeneous Systems for Object DetectionKalms, Lester 14 March 2023 (has links)
Nowadays, there is a high demand for computer vision applications in numerous application areas, such as autonomous driving or unmanned aerial vehicles. However, the application areas and scenarios are becoming increasingly complex, and their data requirements are growing. To meet these requirements, it needs increasingly powerful computing systems. FPGA-based heterogeneous systems offer an excellent solution in terms of energy efficiency, flexibility, and performance, especially in the field of computer vision. Due to complex applications and the use of FPGAs in combination with other architectures, efficient programming is becoming increasingly difficult. Thus, developers need a comprehensive framework with efficient automation, good usability, reasonable abstraction, and seamless integration of tools. It should provide an easy entry point, and reduce the effort to learn new concepts, programming languages and tools. Additionally, it needs optimized libraries for the user to focus on developing applications without getting involved with the underlying details. These should be well integrated, easy to use, and cover a wide range of possible use cases. The framework needs efficient algorithms to execute applications on heterogeneous architectures with maximum performance. These algorithms should distribute applications across various nodes with low fragmentation and communication overhead and find a near-optimal solution in a reasonable amount of time. This thesis addresses the research problem of an efficient implementation of object detection applications, their distribution across FPGA-based heterogeneous systems, and methods for automation and integration using toolchains. Within this, the three contributions are the HiFlipVX object detection library, the DECISION framework, and the APARMAP application distribution algorithm. HiFlipVX is an open-source HLS-based FPGA library optimized for performance and resource efficiency. It contains 66 highly parameterizable computer vision functions including neural networks, ideally for design space exploration. It extends the OpenVX standard for feature extraction, which is challenging due to unknown element size at design time. All functions are streaming capable to achieve maximum performance by increasing parallelism and reducing off-chip memory access. It does not require external or vendor libraries, which eases project integration, device coverage, and vendor portability, as shown for Intel. The library consumed on average 0.39% FFs and 0.32% LUTs for a set of image processing functions compared to a vendor library. A HiFlipVX implementation of the AKAZE feature detector computes between 3.56 and 4.13 times more pixels per second than the related work, while its resource consumption is comparable to optimized VHDL designs. Its neural network extension achieved a speedup of 3.23 for an AlexNet layer in comparison to a related work, while consuming 73% less on-chip memory. Furthermore, this thesis proposes an improved feature extraction implementation that achieves a repeatability of 72.57% when weighting complex cases, while the next best algorithm only achieves 62.99 %. DECISION is a framework consisting of two toolchains for the efficient programming of FPGA-based heterogeneous systems. Both integrate HiFlipVX and use a joint OpenVXbased frontend to implement computer vision applications. It abstracts the underlying hardware and algorithm details while covering a wide range of architectures and applications. The first toolchain targets x86-based systems consisting of CPUs, GPUs, and FPGAs using OpenCL (Open Computing Language). To create a heterogeneous schedule, it considers device profiles, kernel profiles and estimates, and FPGA dataflow characteristics. It manages synchronization, memory transfers and data coherence at design time. It creates a runtime optimized program which excels by its high parallelism and a low overhead. Additionally, this thesis looks at the integration of OpenCL-based libraries, automatic OpenCL kernel generation, and OpenCL kernel optimization and comparison for different architectures. The second toolchain creates an application specific and adaptive NoC-based architecture. The streaming-optimized architecture enables the reusability of vision functions by multiple applications to improve the resource efficiency while maintaining high performance. For a set of example applications, the resource consumption was more than halved, while its overhead was only 0.015% in terms of performance.
APARMAP is an application distribution algorithm for partition-based and mesh-like FPGA topologies. It uses a NoC (Network-on-Chip) as communication infrastructure to connect reconfigurable regions and generate an application-specific hardware architecture. The algorithm uses load balancing techniques to find reasonable solutions within a predictable and scalable amount of time. It optimizes solutions using various heuristics, such as Simulated Annealing and Tabu Search. It uses a multithreaded grid-based approach to prevent threads from calculating the same solution and getting stuck in local minimums. Its constraints and objectives are the FPGA resource utilization, NoC bandwidth consumption, NoC hop count, and execution time of the proposed algorithm. The evaluation showed that the algorithm can deal with heterogeneous and irregular host graph topologies. The algorithm showed a good scalability in terms of computation time for an increasing number of nodes and partitions. It was able to achieve an optimal placement for a set of example graphs up to a size of 196 nodes on host graphs of up to 49 partitions. For a real application with 271 nodes and 441 edges, it was able to achieve a distribution with low resource fragmentation in an average time of 149 ms.
|
3 |
An Automatic Code Generation Tool For Partitioned Software in Distributed ComputingSingh, Neeta S 30 March 2005 (has links)
In a large class of distributed embedded systems, most of the code generation models in use today target at object-oriented applications. Distributed computing using procedural language applications is challenging because there are no compatible code generators to test the partitioned programs mapped on to the multi-processor system. In this thesis, we design a code generator to produce procedural language code for a distributed embedded system. Unpartitioned programs along with the partition primitives are converted into independently executable concrete implementations. The process consists of two steps, first translating the primitives of the unpartitioned program into equivalent code clusters, and then scheduling the implementations of these code clusters according to the data dependency inherent in the unpartitioned program. Communication and scheduling of the partitioned programs require the original source code to be reverse engineered. A reverse engineering tool is used for the creation of a metadata table describing the program elements and dependency trees. This data gathered, is used by Parallel Virtual Machine message passing system for communication between the partitioned programs in the distributed environment. The proposed Code Generation Model has been implemented using C and the experimental results are presented for various test cases. Further, metrics are developed for testing the quality of the results taking into consideration the correctness and the execution of time.
|
4 |
Vydávání multiplatformní aplikace v aplikačních obchodech App Store a Google Play / Cross-platform Application Release on App Store and Google Play Application StoresPokorná, Lucie January 2017 (has links)
The diploma thesis answers set questions that relate to two different distribution environments, the two options for developers to directly offer their mobile applications to the end users. Distribution is being conducted in the App Store and Google Play application stores, where only such applications that oblige basic requirements can be released and provided to customers. The requirements, official sources of information and support services of the two providers are analyzed in the theoretical part of the thesis. Processes revolving around the application distribution itself are described in the following practical part. Distribution consists of processes from the developer account registration to submitting the application for a review or a check. Sufficient knowledge base could be gathered not only due to a proper exploration of the issue, but also due to an actual application release accomplished by the author. A cross-platform mobile application to be released has been developed solely for the purposes of this diploma thesis. The application has been built in two platform specific versions. Whilst publishing it, an emphasis was laid on keeping the conditions as similar as possible to achieve viable case study results. The application release represents the case that produced all data that enabled a direct comparison and overall evaluation of the different developer settings at the end of the thesis. Findings and conclusions of this thesis can be used by developers and other interested parties that are looking for an integrated source of information that regards releasing a cross-platform mobile application on iOS and Android platform.
|
5 |
Methoden zur endnutzergerechten Erstellung kontextsensitiver, kompositer Multi-Device-MashupsMroß, Oliver 19 July 2024 (has links)
Der sich abzeichnende Paradigmenwechsel hin zum Web of Things (WoT) erfordert ein neues Verständnis in Bezug auf die Eigenschaften entsprechender Anwendungen sowie deren Entwicklungsmethoden. In diesem Zusammenhang hat sich in den letzten Jahren das Konzept der sogenannten Multi-Device-Anwendungen (MLDA) herausgebildet. Sie zeichnen sich dadurch aus, dass ihre miteinander verknüpften Softwarebestandteile innerhalb eines logisch zusammenhängenden Anwendungsrahmens verteilt auf verschiedenen Geräten ausgeführt werden. Angesichts sinkender Anschaffungskosten intelligenter Geräte und der damit einhergehenden Nutzungsbereitschaft gewinnt zudem die Forderung nach benutzerfreundlicher Konfigurierbarkeit an Bedeutung.
Vor diesem Hintergrund greift diese Dissertation das Paradigma der Web-Mashups als geeigneten Ansatz zur Erstellung von Multi-Device-Anwendungen auf. Nach dem Motto „Write once, run anywhere“ werden wiederverwendbare Web-Komponenten im Kontext sogenannter Multi-Device-Mashup (MDM) geräte- und plattformübergreifend verteilt und über die Geräte hinweg miteinander verknüpft und in Kombination ausgeführt. Aufbauend auf dem CRUISe-Projekt, das universelle Modelle für Web-Mashups bereitstellt, adressiert diese Arbeit als ersten Schwerpunkt Erweiterungen zur modellhaften Beschreibung verteilter Kompositionen unter Berücksichtigung dynamischer und heterogener Geräteumgebungen. Im Rahmen von MDM werden UI-Bestandteile und Webdienste als Softwarekomponenten gekapselt im Gerätecluster nach den Wünschen der Ersteller verteilt integriert. Um auch Gerätefähigkeiten als Dienste innerhalb der Kompositionsebene einbinden zu können, erweitert diese Arbeit Komponentenmodelle um das Konzept der Integrationsanforderungen. Sie beschreiben notwendige Geräteressourcen der Komponenten, die für die Bereitstellung der Gerätedienste notwendig sind. Hierdurch lassen sich nach dem Baukastenprinzip in verteilten Kompositionen Web- und Gerätedienste i. S. d. Web of Things vereint nutzen, z. B. zur Erfassung und Auswertung von Umweltdaten. Als Modellierungsgrundlage schlägt diese Arbeit ein mehrschichtiges Kontextmodell vor. Es unterstützt die automatisierte Auswertung von Kompositionen, um die Eignung von Mashups in Bezug auf die modellhafte Geräteumgebung bestimmen zu können. Die hierfür notwendigen Dienste sind Bestandteil der verteilten Laufzeitumgebung für MDM. Ihre Referenzarchitektur sowie ihre Funktionsweise bilden einen weiteren Schwerpunkt dieser Dissertation. Im Mittelpunkt stehen der Gesamtprozess der kontextsensitiven Integration sowie die Adaption der MDM.
Um die Forderung nach Anwenderunterstützung zu erfüllen, erörtert diese Arbeit auch ein strukturiertes Vorgehensmodell für die endnutzergerechte Erstellung von MDM. Es beschreibt die Anwendungsentwicklung als iterativen, zyklischen Prozess, der auch die Laufzeit von MDM adressiert. Zudem ordnet das Vorgehensmodell den Erstellungsschritten geeignete Assistenzdienste zu, die die Endanwender bei der Bewertung, Auswahl und Umverteilung von integrierbaren Kompositionsfragmenten zur Laufzeit angesichts ihres unvollständigen Wissens über verfügbare Geräteressourcen unterstützen.
Die prototypische Implementierung der verteilten Laufzeitumgebung sowie der Entwicklungsassistenz für Endanwender wurden im Rahmen einer Benutzerstudie mit Hilfe eines Vergleichswerkzeuges evaluiert. Basierend auf den Untersuchungsergebnissen konnte die Tragfähigkeit und Praktikabilität der vorgestellten Konzepte nachgewiesen werden.:Kapitel 1 Einleitung
1.1 Problemstellung und Thesen
1.1.1 Wissenschaftliche Problemstellung
1.1.2 Forschungsthesen
1.1.3 Vision und Zielstellung
1.2 Abgrenzung
1.3 Gliederung der Arbeit
Kapitel 2 Grundlagen
2.1 Einführung und Begriffsklärung
2.1.1 Multi-Device-Anwendungen
2.1.2 Verteilte Benutzerschnittstellen
2.1.3 End-User Development im Internet der Dinge
2.1.4 Entwicklungsmethoden des Ubiquitous Computing
2.2 Anforderungsanalyse
2.2.1 Anwendungsszenarien
2.2.2 Schwerpunkte
2.2.3 Anforderungen an den Entwicklungsprozess
2.2.4 Anforderungen an das Anwendungsmodell
2.2.5 Anforderungen an die verteilte Laufzeitumgebung
Kapitel 3 Stand der Forschung und Technik
3.1 Verteilte Benutzerschnittstellen
3.1.1 Modellierung verteilter Benutzerschnittstellen
3.1.2 Leichtgewichtige Entwicklung verteilter Benutzerschnittstellen
3.2 Anwendungsentwicklung im Ubicomp
3.2.1 Selbstadaptive Ubicomp-Systeme
3.2.2 Interaktive Ubicomp-Systeme
3.3 Zusammenfassung und Diskussion
3.3.1 Defizite der Ansätze verteilter Benutzerschnittstellen
3.3.2 Defizite interaktiver und adaptiver Ubicomp-Systeme
Kapitel 4 Modellierung kompositer Multi-Device-Anwendungen
4.1 Rollenmodell
4.1.1 Entwurfsebenen
4.1.2 Systemrollen
4.2 Diskussion der Anwendungsmodellierung
4.2.1 Anforderungen an das Metamodell verteilbarer Komponenten
4.2.2 Anforderungen an die Modellierung verteilbarer Kompositionen
4.2.3 Ansatzbewertung
4.3 Erweiterung der CRUISe-Metamodelle
4.3.1 Erweiterung der SMCDL
Kapitel 5 Die verteilte Laufzeitumgebung
5.1 Diskussion und Architekturüberblick
5.1.1 Gesamtarchitektur
5.1.2 Die Multi-Device-Umgebung
5.1.3 Geräte-zu-Geräte-Kommunikation
5.1.4 Kontexterfassung und -verwaltung
5.1.5 Gerätedienste
5.2 Integration von Multi-Device-Mashups
5.2.1 Komponentenfilterung
5.2.2 Anmeldung von Nutzern und Geräten
5.2.3 Automatische Bewertung der Kompositionsfragmente
5.2.4 Berechnung der Anwendungsverteilung
5.2.5 Integration verteilter Kompositionsfragmente
5.3 Adaption von Multi-Device-Mashups
5.3.1 Anforderungen
5.3.2 Kontextsensitive Auswertung des Verteilungsmodells
5.4 Zusammenfassung und Diskussion
Kapitel 6 Nutzergetriebene Erstellung von Multi-Device-Mashups
6.1 Diskussion zum EUD-Prozess
6.2 Der EUD-Prozess zur Erstellung von Multi-Device-Mashups
6.3 Endnutzergetriebene Adaption von Multi-Device-Mashups
6.3.1 Aufbau der Verteilungsoptionen
6.3.2 Berechnen von Verteilungsoptionen zur Laufzeit
6.3.3 Qualitative Bewertung und Sortierung der Verteilungsoptionen
6.3.4 Der Ablauf der Umverteilung von Mashup-Komponenten
6.4 Zusammenfassung und Diskussion
Kapitel 7 Umsetzungen
7.1 Umsetzung der Modellerweiterungen
7.2 Umsetzung der verteilten Laufzeitumgebung
7.2.1 Umsetzung des Servers
7.2.2 Umsetzungen der Geräteseite
7.2.3 Umsetzung der EUD-Werkzeuge
7.3 Zusammenfassung und Diskussion
7.3.1 Umsetzung der Modellerweiterungen
7.3.2 Umsetzung der verteilten Laufzeitumgebung
7.3.3 Umsetzung der EUD-Werkzeuge
Kapitel 8 Evaluation
8.1 Evaluationsmethode
8.1.1 Studienteilnehmer
8.1.2 Ablauf der Studiensitzungen
8.1.3 Vergleichskriterien
8.2 Auswertung der Ergebnisse
8.2.1 Auswertung der Probandensitzungen
8.2.2 Auswertung der objektiven Messwerte
8.2.3 Auswertung der Fragebögen
8.3 Zusammenfassung und Diskussion
Kapitel 9 Zusammenfassung und Ausblick
9.1 Kapitel im Überblick
9.2 Diskussion und Grenzen der Lösungen
9.2.1 Diskussion der Forschungsziele und Thesen
9.2.2 Grenzen der Lösungen
9.3 Ausblick auf weiterführende Forschungen
A Anhänge
A.1 Anhang zu den Grundlagen
A.1.1 Einführung und Begriffe
A.2 Anhang zum Stand der Forschung
A.2.1 Leichtgewichtige Entwicklung verteilter Benutzerschnittstellen
A.2.2 Interaktive Ubicomp-Systeme
A.2.3 Vergleich der Forschungsansätze
A.3 Anhang zur Anwendungsmodellierung
A.3.1 Diskussion der Anwendungsmodellierung
A.3.2 Erweiterung der SMCDL
A.3.3 Modellierung verteilbarer Kompositionen
A.3.4 Kontextmodellierung
A.4 Anhang zur Laufzeitumgebung
A.4.1 Domänenmodell der Multi-Device-Umgebung
A.4.2 Integration von Multi-Device-Mashups
A.5 Anhang zum EUD-Prozess
A.6 Anhang zur Umsetzung
A.6.1 Umsetzung der Modellerweiterungen
A.6.2 Umsetzung der verteilten Laufzeitumgebung
A.7 Anhang zur Evaluation
A.7.1 Orientierungsfragen und Qualitätskriterien
A.7.2 Ergebnisse der Probandensitzungen
A.7.3 Messwerte zu objektiven Kriterien
A.7.4 Bewertungen der Fragebogenelemente
|
Page generated in 0.1584 seconds