104 research outputs found

    Proactive Adaptation in Self-Organizing Task-based Runtime Systems for Different Computing Classes

    Get PDF
    Moderne Computersysteme bieten Anwendern und Anwendungsentwicklern ein hohes Maß an Parallelität und Heterogenität. Die effiziente Nutzung dieser Systeme erfordert jedoch tiefgreifende Kenntnisse, z.B. der darunterliegenden Hardware-Plattform und den notwendigen Programmiermodellen, und umfangreiche Arbeit des Entwicklers. In dieser Thesis bezieht sich die effiziente Nutzung auf die Gesamtausführungszeit der Anwendungen, den Energieverbrauch des Systems, die maximale Temperatur der Verarbeitungseinheiten und die Zuverlässigkeit des Systems. Neben den verschiedenen Optimierungszielen muss ein Anwendungsentwickler auch die spezifischen Einschränkungen und Randbedingungen des Systems berücksichtigen, wie z. B. Deadlines oder Sicherheitsgarantien, die mit bestimmten Anwendungsbereichen einhergehen. Diese Komplexität heterogener Systeme macht es unmöglich, alle potenziellen Systemzustände und Umwelteinflüsse, die zur Laufzeit auftreten können, vorherzusagen. Die System- und Anwendungsentwickler sind somit nicht in der Lage, zur Entwurfszeit festzulegen, wie das System und die Anwendungen in allen möglichen Situationen reagieren sollen. Daher ist es notwendig, die Systeme zur Laufzeit der aktuellen Situation anzupassen, um ihr Verhalten entsprechend zu optimieren. In eingebetteten Systemen mit begrenzten Kühlkapazitäten muss z.B. bei Erreichen einer bestimmten Temperaturschwelle eine Lastverteilung vorgenommen, die Frequenz verringert oder Verarbeitungseinheiten abgeschaltet werden, um die Wärmeentwicklung zu reduzieren. Normalerweise reicht es aber nicht aus, einfach nur auf einen ungünstigen Systemzustand zu reagieren. Das Ziel sollte darin bestehen, ungünstige oder fehlerhafte Systemzustände vor dem Auftreten zu vermeiden, um die Notwendigkeit des Aufrufs von Notfallfunktionen zu verringern und die Benutzerfreundlichkeit zu verbessern. Anstatt beispielsweise die Wärmeentwicklung durch eine Neuverteilung der Anwendungen zu reduzieren, könnten proaktive Mechanismen kritische Temperaturen bereits im Vorfeld vermeiden, indem sie bestimmte unkritische Aufgaben verzögern oder deren Genauigkeit oder QoS verringern. Auf diese Weise wird die Systemlast reduziert, bevor ein kritischer Punkt erreicht wird. Lösungen des aktuellen Stands der Technik wie einheitliche Programmiersprachen oder Laufzeitsysteme adressieren einige der oben genannten Herausforderungen, jedoch existiert kein Ansatz, der in der Lage ist, eine Optimierung mehrerer sich widersprechender Zielfunktionen dynamisch und vor allem proaktiv durchzuführen. Ein Konzept, das diese komplexe Aufgabe für den Entwickler übernimmt und eine Möglichkeit zur dynamischen und proaktiven Anpassung an Veränderungen bietet, ist die Selbstorganisation. Selbstorganisation ist jedoch definiert als ein Prozess ohne externe Kontrolle oder Steuerung. Im Kontext der Systemoptimierung kann dies leicht zu unerwünschten Ergebnissen führen. Ein Ansatz, der Selbstorganisation mit einem Kontrollmechanismus kombiniert, welcher auf Robustheit und Widerstandsfähigkeit gegenüber äußeren Störungen abzielt, ist Organic Computing. Das bestimmende Merkmal von Organic Computing ist eine Observer/Controller-Architektur. Das Konzept dieser Architektur besteht darin, den aktuellen Zustand des Systems und der Umgebung zu überwachen, diese Daten zu analysieren und auf der Grundlage dieser Analyse Entscheidungen über das zukünftige Systemverhalten zu treffen. Organic Computing ermöglicht es also auf der Grundlage der vergangenen und des aktuellen Zustands proaktiv Mechanismen auszuwählen und auszulösen, die das System optimieren und unerwünschte Zustände vermeiden. Um die Vorteile des Organic Computings auf moderne heterogene Systeme zu übertragen, kombiniere ich den Organic Computing-Ansatz mit einem Laufzeitsystem. Laufzeitsysteme sind ein vielversprechender Kandidat für die Umsetzung des Organic Computing-Ansatzes, da sie bereits die Ausführung von Anwendungen überwachen und steuern. Insbesondere betrachte und bearbeite ich in dieser Dissertation die folgenden Forschungsthemen, indem ich die Konzepte des Organic Computings und der Laufzeitsysteme kombiniere: • Erfassen des aktuellen Systemzustands durch Überwachung von Sensoren und Performance Countern • Vorhersage zukünftiger Systemzustände durch Analyse des vergangenen Verhaltens • Nutzung von Zustandsinformationen zur proaktiven Anpassung des Systems Ich erweitere das Thema der Erfassung von Systemzuständen auf zwei Arten. Zunächst führe ich eine neuartige heuristische Metrik zur Berechnung der Zuverlässigkeit einer Verarbeitungseinheit ein, die auf symptombasierter Fehlererkennung basiert. Symptombasierte Fehlererkennung ist eine leichtgewichtige Methode zur dynamischen Erkennung von soften Hardware-Fehlern durch Überwachung des Ausführungsverhaltens mit Performance Countern. Die dynamische Erkennung von Fehlern ermöglicht dann die Berechnung einer heuristischen Fehlerrate einer Verarbeitungseinheit in einem bestimmten Zeitfenster. Die Fehlerrate wird verwendet, um die Anzahl der erforderlichen Ausführungen einer Anwendung zu berechnen, um eine bestimmte Ergebniszuverlässigkeit, also eine Mindestwahrscheinlichkeit für ein korrektes Ergebnis, zu gewährleisten. Ein wichtiger Aspekt der Zustandserfassung ist die Minimierung des entstehenden Overheads. Ich verringere die Anzahl der für OpenMP-Tasks notwendigen Profiling-Durchläufe durch Thread-Interpolation und Überprüfungen des Skalierungsverhaltens. Zusätzlich untersuche ich die Vorhersage von OpenCL Task-Ausführungszeiten. Die Prädiktoren der Ausführungszeiten werden mit verschiedenen maschinellen Lernalgorithmen trainiert. Als Input werden Profile der Kernel verwendet, die durch statische Codeanalyse erstellt wurden. Um in dieser Dissertation zukünftige Systemzustände vorherzusagen, sollen Anwendungen vorausgesagt werden, die in naher Zukunft im System vorkommen werden. In Kombination mit der Ausführungsdatenbank ermöglicht dies die Schätzung der anstehenden Kosten, die das System zu bewältigen hat. In dieser Arbeit werden zwei Mechanismen zur Vorhersage von Anwendungen/Tasks entwickelt. Der erste Prädiktor zielt darauf ab, neue Instanzen unabhängiger Tasks vorherzusagen. Der zweite Mechanismus betrachtet Ausführungsmuster abhängiger Anwendungen und sagt auf dieser Grundlage zukünftig auftretende Anwendungen vorher. Beide Mechanismen verwenden eine Vorhersagetabelle, die auf Markov-Prädiktoren und dem Abgleich von Mustern basiert. In dieser Arbeit wird das Wissen, das durch die Systemüberwachung und die Vorhersage zukünftiger Anwendungen gewonnen wird, verwendet, um die Optimierungsziele des Systems proaktiv in Einklang zu bringen und zu gewichten. Dies geschieht durch eine Reihe von Regeln, die eine Systemzustandsbeschreibung, bestehend aus dem aktuellen Zustand, Vorhersagen und Randbedingungen bzw. Beschränkungen, auf einen Vektor aus Gewichten abbilden. Zum Erlernen der Regelmenge wird ein Extended Classifer System (XCS) eingesetzt. Das XCS ist in eine hierarchische Architektur eingebettet, die nach den Prinzipien des Organic Computing entworfen wurde. Eine wichtige Designentscheidung ist dabei die Auslagerung der Erstellung neuer Regeln an einen Offline-Algorithmus, der einen Simulator nutzt und parallel zum normalen Systemablauf ausgeführt wird. Dadurch wird sichergestellt, dass keine ungetesteten Regeln, deren Auswirkungen noch nicht bekannt sind, dem laufenden System hinzugefügt werden. Die sich daraus ergebenden Gewichte werden schließlich verwendet, um eine Bewertungsfunktion für List Scheduling-Algorithmen zu erstellen. Diese Dissertation erweitert das Forschungsgebiet der Scheduling-Algorithmen durch zwei Mechanismen für dynamisches Scheduling. Die erste Erweiterung konzentriert sich auf nicht sicherheitskritische Systeme, die Prioritäten verwenden, um die unterschiedliche Wichtigkeit von Tasks auszudrücken. Da statische Prioritäten in stark ausgelasteten Systemen zu Starvation führen können, habe ich einen dynamischen Ageing-Mechanismus entwickelt, der dazu in der Lage ist, die Prioritäten der Tasks entsprechend der aktuellen Auslastung und ihrer Wartezeiten anzupassen. Dadurch reduziert der Mechanismus die Gesamtlaufzeit über alle Tasks und die Wartezeit für Tasks mit niedrigerer Priorität. Noch ist eine große Anzahl von Anwendungen nicht dazu bereit, den hohen Grad an Parallelität zu nutzen, den moderne Computersysteme bieten. Ein Konzept, das versucht dieses Problem zu lösen, indem es mehrere verschiedene Prozesse auf demselben Rechenknoten zur Ausführung bringt, ist das Co-Scheduling. In dieser Dissertation stelle ich einen neuartigen Co-Scheduling-Mechanismus vor, welcher die Task-Schedules mehrerer Laufzeitsysteminstanzen optimiert, die auf demselben Rechenknoten ausgeführt werden. Um die notwendigen Informationen zwischen den Laufzeitsysteminstanzen zu teilen, speichert der Mechanismus die Daten in Shared Memory. Sobald ein Laufzeitsystem neue Tasks in das System einfügt, prüft der Mechanismus, ob die Berechnung eines neuen Schedules sinnvoll ist. Wird die Entscheidung getroffen, einen neuen Schedule zu berechnen, setzt der Mechanismus Simulated Annealing ein, um alle Tasks, die bisher noch nicht mit ihrer Ausführung begonnen haben, neu auf Ausführungseinheiten abzubilden. Zusammenfassend lässt sich sagen, dass diese Arbeit neuartige Mechanismen und Algorithmen sowie Erweiterungen zu verschiedenen Forschungsgebieten anbietet, um ein proaktives selbst-organisierendes System zu implementieren, das sich an neue und unbekannte Situationen anpassen kann. Dabei wird die Komplexität für Benutzer und Anwendungsentwickler reduziert, indem die Entscheidungsfindung in das System selbst ausgelagert wird. Gleichzeitig sorgt dieser Ansatz für eine effiziente Nutzung der Ressourcen des Systems. Insgesamt leistet diese Arbeit die folgenden Beiträge zur Erweiterung des Stands der Forschung: • Einführung einer neuartigen heuristischen Metrik zur Messung der Zuverlässigkeit von Verarbeitungseinheiten. Die Metrik basiert auf einer leichtgewichtigen Methode zur Fehlererkennung, genannt symptombasierte Fehlererkennung. Mit der symptombasierten Fehlererkennung ist es möglich, mehrere injizierte Fehlerklassen und Interferenzen, die Soft-Hardware-Fehler simulieren, sowohl auf einer CPU als auch auf einer GPU zuverlässig zu erkennen. Darüber hinaus werden diese Ergebnisse durch Welch\u27s t-Test statistisch bestätigt. • Vorschlag eines Vorhersagemodells für die Ausführungszeit von OpenCL Kerneln, das auf statischer Code-Analyse basiert. Das Modell ist in der Lage, die schnellste Verarbeitungseinheit aus einer Menge von Verarbeitungseinheiten mit einer Genauigkeit von im schlechtesten Fall 69 %69\,\% auszuwählen. Zum Vergleich: eine Referenzvariante, welche immer den Prozessor vorhersagt, der die meisten Kernel am schnellsten ausführt, erzielt eine Genauigkeit von 25 %25\,\%. Im besten Fall erreicht das Modell eine Genauigkeit von bis zu 83 %83\,\%. • Bereitstellung von zwei Prädiktoren für kommende Tasks/Anwendungen. Der erste Mechanismus betrachtet unabhängige Tasks, die ständig neue Task-Instanzen erstellen, der zweite abhängige Anwendungen, die Ausführungsmuster bilden. Dabei erzielt der erste Mechanismus bei der Vorhersage der Zeitspanne zwischen zwei aufeinanderfolgenden Task-Instanzen einen maximalen\\ sMAPEsMAPE-Wert von 4,33 %4,33\,\% für sporadische und 0,002 %0,002 \,\% für periodische Tasks. Darüber hinaus werden Tasks mit einem aperiodischen Ausführungsschema zuverlässig erkannt. Der zweite Mechanismus erreicht eine Genauigkeit von 77,6 %77,6 \,\% für die Vorhersage der nächsten anstehenden Anwendung und deren Startzeit. • Einführung einer Umsetzung eines hierarchischen Organic Computing Frameworks mit dem Anwendungsgebiet Task-Scheduling. Dieses Framework enthält u.a. ein modifiziertes XCS, für dessen Design und Implementierung ein neuartiger Reward-Mechanismus entwickelt wird. Der Mechanismus bedient sich dabei eines speziell für diesen Zweck entwickelten Simulators zur Berechnung von Task-Ausführungskosten. Das XCS bildet Beschreibungen des Systemzustands auf Gewichte zur Balancierung der Optimierungsziele des Systems ab. Diese Gewichte werden in einer Bewertungsfunktion für List Scheduling-Algorithmen verwendet. Damit wird in einem Evaluationsszenario, welches aus einem fünfmal wiederholten Muster aus Anwendungen besteht, eine Reduzierung der Gesamtlaufzeit um 10,4 %10,4\,\% bzw. 26,7 s26,7\,s, des Energieverbrauchs um 4,7 %4,7\,\% bzw. 2061,1 J2061,1\,J und der maximalen Temperatur der GPU um 3,6 %3,6\,\% bzw. 2,7K2,7 K erzielt. Lediglich die maximale Temperatur über alle CPU-Kerne erhöht sich um 6 %6\,\% bzw. 2,3 K2,3\,K. • Entwicklung von zwei Erweiterungen zur Verbesserung des dynamischen Task-Schedulings für einzelne und mehrere Prozesse, z.B. mehrere Laufzeitsysteminstanzen. Der erste Mechanismus, ein Ageing-Algorithmus, betrachtet nicht sicherheitskritische Systeme, welche Task-Prioritäten verwenden, um die unterschiedliche Bedeutung von Anwendungen darzustellen. Da es in solchen Anwendungsszenarien in Kombination mit hoher Systemauslastung zu Starvation kommen kann, passt der Mechanismus die Task-Prioritäten dynamisch an die aktuelle Auslastung und die Task-Wartezeiten an. Insgesamt erreicht dieser Mechanismus in zwei Bewertungsszenarien eine durchschnittliche Laufzeitverbesserung von 3,75 %3,75\,\% und 3,16 %3,16\,\% bei gleichzeitiger Reduzierung der Durchlaufzeit von Tasks mit niedrigerer Priorität um bis zu 25,67 %25,67\,\%. Der zweite Mechanismus ermöglicht die Optimierung von Schedules mehrerer Laufzeitsysteminstanzen, die parallel auf demselben Rechenknoten ausgeführt werden. Dieser Co-Scheduling-Ansatz verwendet Shared Memory zum Austausch von Informationen zwischen den Prozessen und Simulated Annealing zur Berechnung neuer Task-Schedules. In zwei Evaluierungsszenarien erzielt der Mechanismus durchschnittliche Laufzeitverbesserungen von 19,74 %19,74\,\% und 20,91 %20,91\,\% bzw. etwa 2,7 s2,7\,s und 3 s3\,s

    Flexible Scheduling in Middleware for Distributed rate-based real-time applications - Doctoral Dissertation, May 2002

    Get PDF
    Distributed rate-based real-time systems, such as process control and avionics mission computing systems, have traditionally been scheduled statically. Static scheduling provides assurance of schedulability prior to run-time overhead. However, static scheduling is brittle in the face of unanticipated overload, and treats invocation-to-invocation variations in resource requirements inflexibly. As a consequence, processing resources are often under-utilized in the average case, and the resulting systems are hard to adapt to meet new real-time processing requirements. Dynamic scheduling offers relief from the limitations of static scheduling. However, dynamic scheduling offers relief from the limitations of static scheduling. However, dynamic scheduling often has a high run-time cost because certain decisions are enforced on-line. Furthermore, under conditions of overload tasks can be scheduled dynamically that may never be dispatched, or that upon dispatch would miss their deadlines. We review the implications of these factors on rate-based distributed systems, and posits the necessity to combine static and dynamic approaches to exploit the strengths and compensate for the weakness of either approach in isolation. We present a general hybrid approach to real-time scheduling and dispatching in middleware, that can employ both static and dynamic components. This approach provides (1) feasibility assurance for the most critical tasks, (2) the ability to extend this assurance incrementally to operations in successively lower criticality equivalence classes, (3) the ability to trade off bounds on feasible utilization and dispatching over-head in cases where, for example, execution jitter is a factor or rates are not harmonically related, and (4) overall flexibility to make more optimal use of scarce computing resources and to enforce a wider range of application-specified execution requirements. This approach also meets additional constraints of an increasingly important class of rate-based systems, those with requirements for robust management of real-time performance in the face of rapidly and widely changing operating conditions. To support these requirements, we present a middleware framework that implements the hybrid scheduling and dispatching approach described above, and also provides support for (1) adaptive re-scheduling of operations at run-time and (2) reflective alternation among several scheduling strategies to improve real-time performance in the face of changing operating conditions. Adaptive re-scheduling must be performed whenever operating conditions exceed the ability of the scheduling and dispatching infrastructure to meet the critical real-time requirements of the system under the currently specified rates and execution times of operations. Adaptive re-scheduling relies on the ability to change the rates of execution of at least some operations, and may occur under the control of a higher-level middleware resource manager. Different rates of execution may be specified under different operating conditions, and the number of such possible combinations may be arbitrarily large. Furthermore, adaptive rescheduling may in turn require notification of rate-sensitive application components. It is therefore desirable to handle variations in operating conditions entirely within the scheduling and dispatching infrastructure when possible. A rate-based distributed real-time application, or a higher-level resource manager, could thus fall back on adaptive re-scheduling only when it cannot achieve acceptable real-time performance through self-adaptation. Reflective alternation among scheduling heuristics offers a way to tune real-time performance internally, and we offer foundational support for this approach. In particular, run-time observable information such as that provided by our metrics-feedback framework makes it possible to detect that a given current scheduling heuristic is underperforming the level of service another could provide. Furthermore we present empirical results for our framework in a realistic avionics mission computing environment. This forms the basis for guided adaption. This dissertation makes five contributions in support of flexible and adaptive scheduling and dispatching in middleware. First, we provide a middle scheduling framework that supports arbitrary and fine-grained composition of static/dynamic scheduling, to assure critical timeliness constraints while improving noncritical performance under a range of conditions. Second, we provide a flexible dispatching infrastructure framework composed of fine-grained primitives, and describe how appropriate configurations can be generated automatically based on the output of the scheduling framework. Third, we describe algorithms to reduce the overhead and duration of adaptive rescheduling, based on sorting for rate selection and priority assignment. Fourth, we provide timely and efficient performance information through an optimized metrics-feedback framework, to support higher-level reflection and adaptation decisions. Fifth, we present the results of empirical studies to quantify and evaluate the performance of alternative canonical scheduling heuristics, across a range of load and load jitter conditions. These studies were conducted within an avionics mission computing applications framework running on realistic middleware and embedded hardware. The results obtained from these studies (1) demonstrate the potential benefits of reflective alternation among distinct scheduling heuristics at run-time, and (2) suggest performance factors of interest for future work on adaptive control policies and mechanisms using this framework

    Tolerância a falhas em sistemas de comunicação de tempo-real flexíveis

    Get PDF
    Nas últimas décadas, os sistemas embutidos distribuídos, têm sido usados em variados domínios de aplicação, desde o controlo de processos industriais até ao controlo de aviões e automóveis, sendo expectável que esta tendência se mantenha e até se intensifique durante os próximos anos. Os requisitos de confiabilidade de algumas destas aplicações são extremamente importantes, visto que o não cumprimento de serviços de uma forma previsível e pontual pode causar graves danos económicos ou até pôr em risco vidas humanas. A adopção das melhores práticas de projecto no desenvolvimento destes sistemas não elimina, por si só, a ocorrência de falhas causadas pelo comportamento não determinístico do ambiente onde o sistema embutido distribuído operará. Desta forma, é necessário incluir mecanismos de tolerância a falhas que impeçam que eventuais falhas possam comprometer todo o sistema. Contudo, para serem eficazes, os mecanismos de tolerância a falhas necessitam ter conhecimento a priori do comportamento correcto do sistema de modo a poderem ser capazes de distinguir os modos correctos de funcionamento dos incorrectos. Tradicionalmente, quando se projectam mecanismos de tolerância a falhas, o conhecimento a priori significa que todos os possíveis modos de funcionamento são conhecidos na fase de projecto, não os podendo adaptar nem fazer evoluir durante a operação do sistema. Como consequência, os sistemas projectados de acordo com este princípio ou são completamente estáticos ou permitem apenas um pequeno número de modos de operação. Contudo, é desejável que os sistemas disponham de alguma flexibilidade de modo a suportarem a evolução dos requisitos durante a fase de operação, simplificar a manutenção e reparação, bem como melhorar a eficiência usando apenas os recursos do sistema que são efectivamente necessários em cada instante. Além disto, esta eficiência pode ter um impacto positivo no custo do sistema, em virtude deste poder disponibilizar mais funcionalidades com o mesmo custo ou a mesma funcionalidade a um menor custo. Porém, flexibilidade e confiabilidade têm sido encarados como conceitos conflituais. Isto deve-se ao facto de flexibilidade implicar a capacidade de permitir a evolução dos requisitos que, por sua vez, podem levar a cenários de operação imprevisíveis e possivelmente inseguros. Desta fora, é comummente aceite que apenas um sistema completamente estático pode ser tornado confiável, o que significa que todos os aspectos operacionais têm de ser completamente definidos durante a fase de projecto. Num sentido lato, esta constatação é verdadeira. Contudo, se os modos como o sistema se adapta a requisitos evolutivos puderem ser restringidos e controlados, então talvez seja possível garantir a confiabilidade permanente apesar das alterações aos requisitos durante a fase de operação. A tese suportada por esta dissertação defende que é possível flexibilizar um sistema, dentro de limites bem definidos, sem comprometer a sua confiabilidade e propõe alguns mecanismos que permitem a construção de sistemas de segurança crítica baseados no protocolo Controller Area Network (CAN). Mais concretamente, o foco principal deste trabalho incide sobre o protocolo Flexible Time-Triggered CAN (FTT-CAN), que foi especialmente desenvolvido para disponibilizar um grande nível de flexibilidade operacional combinando, não só as vantagens dos paradigmas de transmissão de mensagens baseados em eventos e em tempo, mas também a flexibilidade associada ao escalonamento dinâmico do tráfego cuja transmissão é despoletada apenas pela evolução do tempo. Este facto condiciona e torna mais complexo o desenvolvimento de mecanismos de tolerância a falhas para FTT-CAN do que para outros protocolos como por exemplo, TTCAN ou FlexRay, nos quais existe um conhecimento estático, antecipado e comum a todos os nodos, do escalonamento de mensagens cuja transmissão é despoletada pela evolução do tempo. Contudo, e apesar desta complexidade adicional, este trabalho demonstra que é possível construir mecanismos de tolerância a falhas para FTT-CAN preservando a sua flexibilidade operacional. É também defendido nesta dissertação que um sistema baseado no protocolo FTT-CAN e equipado com os mecanismos de tolerância a falhas propostos é passível de ser usado em aplicações de segurança crítica. Esta afirmação é suportada, no âmbito do protocolo FTT-CAN, através da definição de uma arquitectura tolerante a falhas integrando nodos com modos de falha tipo falha-silêncio e nodos mestre replicados. Os vários problemas resultantes da replicação dos nodos mestre são, também eles, analisados e várias soluções são propostas para os obviar. Concretamente, é proposto um protocolo que garante a consistência das estruturas de dados replicadas a quando da sua actualização e um outro protocolo que permite a transferência dessas estruturas de dados para um nodo mestre que se encontre não sincronizado com os restantes depois de inicializado ou reinicializado de modo assíncrono. Além disto, esta dissertação também discute o projecto de nodos FTT-CAN que exibam um modo de falha do tipo falha-silêncio e propõe duas soluções baseadas em componentes de hardware localizados no interface de rede de cada nodo, para resolver este problema. Uma das soluções propostas baseiase em bus guardians que permitem a imposição de comportamento falhasilêncio nos nodos escravos e suportam o escalonamento dinâmico de tráfego na rede. A outra solução baseia-se num interface de rede que arbitra o acesso de dois microprocessadores ao barramento. Este interface permite que a replicação interna de um nodo seja efectuada de forma transparente e assegura um comportamento falha-silêncio quer no domínio temporal quer no domínio do valor ao permitir transmissões do nodo apenas quando ambas as réplicas coincidam no conteúdo das mensagens e nos instantes de transmissão. Esta última solução está mais adaptada para ser usada nos nodos mestre, contudo também poderá ser usada nos nodos escravo, sempre que tal se revele fundamental.Distributed embedded systems (DES) have been widely used in the last few decades in several application fields, ranging from industrial process control to avionics and automotive systems. In fact, it is expectable that this trend will continue over the years to come. In some of these application domains the dependability requirements are of utmost importance since failing to provide services in a timely and predictable manner may cause important economic losses or even put human life in risk. The adoption of the best practices in the design of distributed embedded systems does not fully avoid the occurrence of faults, arising from the nondeterministic behavior of the environment where each particular DES operates. Thus, fault-tolerance mechanisms need to be included in the DES to prevent possible faults leading to system failure. To be effective, fault-tolerance mechanisms require an a priori knowledge of the correct system behavior to be capable of distinguishing them from the erroneous ones. Traditionally, when designing fault-tolerance mechanisms, the a priori knowledge means that all possible operational modes are known at system design time and cannot adapt nor evolve during runtime. As a consequence, systems designed according to this principle are either fully static or allow a small number of operational modes only. Flexibility, however, is a desired property in a system in order to support evolving requirements, simplify maintenance and repair, and improve the efficiency in using system resources by using only the resources that are effectively required at each instant. This efficiency might impact positively on the system cost because with the same resources one can add more functionality or one can offer the same functionality with fewer resources. However, flexibility and dependability are often regarded as conflicting concepts. This is so because flexibility implies the ability to deal with evolving requirements that, in turn, can lead to unpredictable and possibly unsafe operating scenarios. Therefore, it is commonly accepted that only a fully static system can be made dependable, meaning that all operating conditions are completely defined at pre-runtime. In the broad sense and assuming unbounded flexibility this assessment is true, but if one restricts and controls the ways the system could adapt to evolving requirements, then it might be possible to enforce continuous dependability. This thesis claims that it is possible to provide a bounded degree of flexibility without compromising dependability and proposes some mechanisms to build safety-critical systems based on the Controller Area Network (CAN). In particular, the main focus of this work is the Flexible Time-Triggered CAN protocol (FTT-CAN), which was specifically developed to provide such high level of operational flexibility, not only combining the advantages of time- and event-triggered paradigms but also providing flexibility to the time-triggered traffic. This fact makes the development of fault-tolerant mechanisms more complex in FTT-CAN than in other protocols, such as TTCAN or FlexRay, in which there is a priori static common knowledge of the time-triggered message schedule shared by all nodes. Nevertheless, as it is demonstrated in this work, it is possible to build fault-tolerant mechanisms for FTT-CAN that preserve its high level of operational flexibility, particularly concerning the time-triggered traffic. With such mechanisms it is argued that FTT-CAN is suitable for safetycritical applications, too. This claim was validated in the scope of the FTT-CAN protocol by presenting a fault-tolerant system architecture with replicated masters and fail-silent nodes. The specific problems and mechanisms related with master replication, particularly a protocol to enforce consistency during updates of replicated data structures and another protocol to transfer these data structures to an unsynchronized node upon asynchronous startup or restart, are also addressed. Moreover, this thesis also discusses the implementations of fail-silence in FTTCAN nodes and proposes two solutions, both based on hardware components that are attached to the node network interface. One solution relies on bus guardians that allow enforcing fail-silence in the time domain. These bus guardians are adapted to support dynamic traffic scheduling and are fit for use in FTT-CAN slave nodes, only. The other solution relies on a special network interface, with duplicated microprocessor interface, that supports internal replication of the node, transparently. In this case, fail-silence can be assured both in the time and value domain since transmissions are carried out only if both internal nodes agree on the transmission instant and message contents. This solution is well adapted for use in the masters but it can also be used, if desired, in slave nodes

    Methods for Massive, Reliable, and Timely Access for Wireless Internet of Things (IoT)

    Get PDF

    Design of static intercell interference coordination schemes for realistic lte-based cellular networks

    Get PDF
    Today, 3.5 and 4G systems including Long Term Evolution (LTE) and LTE-Advanced (LTE-A) support packet-based services and provide mobile broadband access for bandwidth-hungry applications. In this context of fast evolution, new and challenging technical issues must be e ectively addressed. The nal target is to achieve a signi cant step forward toward the improvement of the Quality of Experience (QoE). To that end, interference management has been recognized by the industry as a key enabler for cellular technologies based on OFDMA. Indeed, with a low frequency reuse factor, intercell interference (ICI) becomes a major concern since the Quality of Service (QoS) is not uniformly delivered across the network, it remarkably depends on user position. Hence, cell edge performance is an important issue in LTE and LTE-A. Intercell Interference Coordination (ICIC) encompasses strategies whose goal is to keep ICI at cell edges as low as possible. This alleviates the aforementioned situation. For this reason, the novelties presented in this Ph.D. thesis include not only developments of static ICIC mechanisms for data and control channels, but also e orts towards further improvements of the energy e ciency perspective. Based on a comprehensive review of the state of the art, a set of research opportunities were identi ed. To be precise, the need for exible performance evaluation methods and optimization frameworks for static ICIC strategies. These mechanisms are grouped in two families: the schemes that de ne constraints on the frequency domain and the ones that propose adjustments on the power levels. Thus, Soft- and Fractional Frequency Reuse (SFR and FFR, respectively) are identi ed as the base of the vast majority of static ICIC proposals. Consequently, during the rst part of this Ph.D. thesis, interesting insights into the operation of SFR and FFR were identi ed beyond well-known facts. These studies allow for the development of a novel statistical framework to evaluate the performance of these schemes in realistic deployments. As a result of the analysis, the poor performance of classic con gurations of SFR and FFR in real-world contexts is shown, and hence, the need for optimization is established. In addition, the importance of the interworking between static ICIC schemes and other network functionalities such as CSI feedback has also been identi ed. Therefore, novel CSI feedback schemes, suitable to operate in conjunction with SFR and FFR, have been developed. These mechanisms exploit the resource allocation pattern of these static ICIC techniques in order to improve the accuracy of the CSI feedback process. The second part is focused on the optimization of SFR and FFR. The use of multiobjective techniques is investigated as a tool to achieve e ective network-speci c optimization. The approach o ers interesting advantages. On the one hand, it allows for simultaneous optimization of several con icting criteria. On the other hand, the multiobjective nature results in outputs composed of several high quality (Pareto e cient) network con gurations, all of them featuring a near-optimal tradeo between the performance criteria. Multiobjective evolutionary algorithms allow employing complex mathematical structures without the need for relaxation, thus capturing accurately the system behavior in terms of ICI. The multiobjective optimization formulation of the problem aims at achieving e ective adjustment of the operational parameters of SFR and FFR both at cell level and network-wide. Moreover, the research was successfully extended to the control channels, both the PDCCH and ePDCCH. Finally, in an e ort to further improve the network energy e ciency (an aspect always considered throughout the thesis), the framework of Cell Switch O (CSO), having close connections with ICIC, is also introduced. By means of the proposed method, signi cant improvements with respect to traditional approaches, baseline con gurations, and previous proposals can be achieved. The gains are obtained in terms of energy consumption, network capacity, and cell edge performance.Actualmente los sistemas 3.5 y 4G tales como Long Term Evolution (LTE) y LTE-Advanced (LTE-A) soportan servicios basados en paquetes y proporcionan acceso de banda ancha m ovil para aplicaciones que requieren elevadas tasas de transmisi on. En este contexto de r apida evoluci on, aparecen nuevos retos t ecnicos que deben ser resueltos e cientemente. El objetivo ultimo es conseguir un salto cualitativo importante en la experiencia de usuario (QoE). Con tal n, un factor clave que ha sido reconocido en las redes celulares basadas en Orthogonal Frequency- Division Multiple Access (OFDMA) es la gesti on de interferencias. De hecho, la utilizaci on de un factor de reuso bajo permite una elevada e ciencia espectral pero a costa de una distribuci on de la calidad de servicio (QoS) que no es uniforme en la red, depende de la posici on del usuario. Por lo tanto, el rendimiento en los l mites de la celda se ve muy penalizado y es un problema importante a resolver en LTE y LTE-A. La coordinaci on de interferencias entre celdas (ICIC, del ingl es Intercell Interfe- rence Coordination) engloba las estrategias cuyo objetivo es mantener la interferencia intercelular (ICI) lo m as baja posible en los bordes de celda. Esto permite aliviar la situaci on antes mencionada. La contribuci on presentada en esta tesis doctoral incluye el dise~no de nuevos mecanismos de ICIC est atica para los canales de datos y control, as como tambi en mejoras desde el punto de vista de e ciencia energ etica. A partir de una revisi on completa del estado del arte, se identi caron una serie de retos abiertos que requer an esfuerzos de investigaci on. En concreto, la necesidad de m etodos de evaluaci on exibles y marcos de optimizaci on de las estrategias de ICIC est aticas. Estos mecanismos se agrupan en dos familias: los esquemas que de nen restricciones sobre el dominio de la frecuencia y los que proponen ajustes en los niveles de potencia. Es decir, la base de la gran mayor a de propuestas ICIC est aticas son la reutilizaci on de frecuencias de tipo soft y fraccional (SFR y FFR, respectivamente). De este modo, durante la primera parte de esta tesis doctoral, se han estudiado los aspectos m as importantes del funcionamiento de SFR y FFR, haciendo especial enfasis en las conclusiones que van m as all a de las bien conocidas. Ello ha permitido introducir un nuevo marco estad stico para evaluar el funcionamiento de estos sistemas en condiciones de despliegue reales. Como resultado de estos an alisis, se muestra el pobre desempe~no de SFR y FFR en despliegues reales cuando funcionan con sus con guraciones cl asicas y se establece la necesidad de optimizaci on. Tambi en se pone de mani esto la importancia del funcionamiento conjunto entre esquemas ICIC est aticos y otras funcionalidades de la red radio, tales como la informaci on que env an los usuarios sobre el estado de su canal downlink (feedback del CSI, del ingl es Channel State Information). De este modo, se han propuesto diferentes esquemas de feedback apropiados para trabajar conjuntamente con SFR y FFR. Estos mecanismos explotan el patr on de asignaci on de recursos que se utiliza en ICIC est atico para mejorar la precisi on del proceso. La segunda parte se centra en la optimizaci on de SFR y FFR. Se ha investigado el uso de t ecnicas multiobjetivo como herramienta para lograr una optimizaci on e caz, que es espec ca para cada red. El enfoque ofrece ventajas interesantes, por un lado, se permite la optimizaci on simult anea de varios criterios contradictorios. Por otro lado, la naturaleza multiobjetivo implica obtener como resultado con guraciones de red de elevada calidad (Pareto e cientes), todas ellas con un equilibrio casi- optimo entre las diferentes m etricas de rendimiento. Los algoritmos evolucionarios multiobjetivo permiten la utilizaci on de estructuras matem aticas complejas sin necesidad de relajar el problema, de este modo capturan adecuadamente su comportamiento en t erminos de ICI. La formulaci on multiobjetivo consigue un ajuste efectivo de los par ametros operacionales de SFR y FFR, tanto a nivel de celda como a nivel de red. Adem as, la investigaci on se extiende con resultados satisfactorios a los canales de control, PDCCH y ePDCCH. Finalmente, en un esfuerzo por mejorar la e ciencia energ etica de la red (un aspecto siempre considerado a lo largo de la tesis), se introduce en el an alisis global el apagado inteligente de celdas, estrategia con estrechos v nculos con ICIC. A trav es del m etodo propuesto, se obtienen mejoras signi cativas con respecto a los enfoques tradicionales y propuestas previas. Las ganancias se obtienen en t erminos de consumo energ etico, capacidad de la red, y rendimiento en el l mite de las celdas.Actualment els sistemes 3.5 i 4G tals com Long Term Evolution (LTE) i LTE- Advanced (LTE-A) suporten serveis basats en paquets i proporcionen acc es de banda ampla m obil per a aplicacions que requereixen elevades taxes de transmissi o. En aquest context de r apida evoluci o, apareixen nous reptes t ecnics que han de ser resolts e cientment. L'objectiu ultim es aconseguir un salt qualitatiu important en l'experi encia d'usuari (QoE). Amb tal , un factor clau que ha estat reconegut a les xarxes cel lulars basades en Orthogonal Frequency-Division Multiple Access (OFDMA) es la gesti o d'interfer encies. De fet, la utilizaci o d'un factor de re us baix permet una elevada e ci encia espectral per o a costa d'una distribuci o de la qualitat de servei (QoS) que no es uniforme a la xarxa, dep en de la posici o de l'usuari. Per tant, el rendiment en els l mits de la cel la es veu molt penalitzat i es un problema important a resoldre en LTE i LTE-A. La coordinaci o d'interfer encies entre cel les (ICIC, de l'angl es Intercell Interfe- rence Coordination) engloba les estrat egies que tenen com a objectiu mantenir la interfer encia intercel lular (ICI) el m es baixa possible en les vores de la cel la. Aix o permet alleujar la situaci o abans esmentada. La contribuci o presentada en aquesta tesi doctoral inclou el disseny de nous mecanismes de ICIC est atica per als canals de dades i control, aix com tamb e millores des del punt de vista d'e ci encia energ etica. A partir d'una revisi o completa de l'estat de l'art, es van identi car una s erie de reptes oberts que requerien esfor cos de recerca. En concret, la necessitat de m etodes d'avaluaci o exibles i marcs d'optimitzaci o de les estrat egies de ICIC est atiques. Aquests mecanismes s'agrupen en dues fam lies: els esquemes que de neixen restriccions sobre el domini de la freq u encia i els que proposen ajustos en els nivells de pot encia. Es a dir, la base de la gran majoria de propostes ICIC est atiques s on la reutilitzaci o de freq u encies de tipus soft i fraccional (SFR i FFR, respectivament). D'aquesta manera, durant la primera part d'aquesta tesi doctoral, s'han estudiat els aspectes m es importants del funcionament de SFR i FFR, fent especial emfasi en les conclusions que van m es enll a de les ben conegudes. Aix o ha perm es introduir un nou marc estad stic per avaluar el funcionament d'aquests sistemes en condicions de desplegament reals. Com a resultat d'aquestes an alisis, es mostra el pobre acompliment de SFR i FFR en desplegaments reals quan funcionen amb les seves con guracions cl assiques i s'estableix la necessitat d'optimitzaci o. Tamb e es posa de manifest la import ancia del funcionament conjunt entre esquemes ICIC est atics i altres funcionalitats de la xarxa radio, tals com la informaci o que envien els usuaris sobre l'estat del seu canal downlink (feedback del CSI, de l'angl es Channel State Information). D'aquesta manera, s'han proposat diferents esquemes de feedback apropiats per treballar conjuntament amb SFR i FFR. Aquests mecanismes exploten el patr o d'assignaci o de recursos que s'utilitza en ICIC est atic per millorar la precisi o del proc es. La segona part se centra en l'optimitzaci o de SFR i FFR. S'ha investigat l' us de t ecniques multiobjectiu com a eina per aconseguir una optimitzaci o e ca c, que es espec ca per a cada xarxa. L'enfocament ofereix avantatges interessants, d'una banda, es permet l'optimitzaci o simult ania de diversos criteris contradictoris. D'altra banda, la naturalesa multiobjectiu implica obtenir com resultat con guracions de xarxa d'elevada qualitat (Pareto e cients), totes elles amb un equilibri gaireb e optim entre les diferents m etriques de rendiment. Els algorismes evolucionaris multiobjectiu permeten la utilitzaci o d'estructures matem atiques complexes sense necessitat de relaxar el problema, d'aquesta manera capturen adequadament el seu comportament en termes de ICI. La formulaci o multiobjectiu aconsegueix un ajust efectiu dels par ametres operacionals de SFR i FFR, tant a nivell de cel la com a nivell de xarxa. A m es, la recerca s'est en amb resultats satisfactoris als canals de control, PDCCH i ePDCCH. Finalment, en un esfor c per millorar l'e ci encia energ etica de la xarxa (un aspecte sempre considerat al llarg de la tesi), s'introdueix en l'an alisi global l'apagat intel ligent de cel les, estrat egia amb estrets vincles amb ICIC. Mitjan cant el m etode proposat, s'obtenen millores signi catives pel que fa als enfocaments tradicionals i propostes pr evies. Els guanys s'obtenen en termes de consum energ etic, capacitat de la xarxa, i rendiment en el l mit de les cel les

    Dynamic reconfiguration methods for active camera networks

    Get PDF
    [no abstract
    • …
    corecore