104 research outputs found
Proactive Adaptation in Self-Organizing Task-based Runtime Systems for Different Computing Classes
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 auszuwählen. Zum Vergleich: eine Referenzvariante, welche immer den Prozessor vorhersagt, der die meisten Kernel am schnellsten ausführt, erzielt eine Genauigkeit von . Im besten Fall erreicht das Modell eine Genauigkeit von bis zu .
• 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\\ -Wert von für sporadische und für periodische Tasks. Darüber hinaus werden Tasks mit einem aperiodischen Ausführungsschema zuverlässig erkannt. Der zweite Mechanismus erreicht eine Genauigkeit von 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 bzw. , des Energieverbrauchs um bzw. und der maximalen Temperatur der GPU um bzw. erzielt. Lediglich die maximale Temperatur über alle CPU-Kerne erhöht sich um bzw. .
• 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 und bei gleichzeitiger Reduzierung der Durchlaufzeit von Tasks mit niedrigerer Priorität um bis zu . 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 und bzw. etwa und
Flexible Scheduling in Middleware for Distributed rate-based real-time applications - Doctoral Dissertation, May 2002
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
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
Recommended from our members
Real-time hierarchical hypervisor
textBoth real-time virtualization and recursive virtualization are desirable properties of a virtual machine monitor (or hypervisor). Although the prospect for virtualization and even recursive virtualization has become better as the PC hardware becomes faster, the real-time systems community so far has not been able to reap much benefits. This is because no existing virtualization mechanism can properly support the stringent timing requirements needed by real-time systems. It is hard to do real-time virtualization, and it is even harder to do it recursively. In this dissertation, we propose a framework whereby the hypervisor is capable of running real-time guests and participating in recursive virtualization. Such a hypervisor is called a real-time hierarchical hypervisor.
We first look at virtualization of abstract resource types from the real-time systems perspective. Unlike the previous work on recursive real-time partitioning that assumes fully-preemptable resources, we concentrate on other and often more practical types of scheduling constraints, especially the non-preemptive and limited-preemptive ones. Then we consider the current x86 architecture and explore the problems that need to be addressed for real-time recursive virtualization. We drill down on the problem that affects timing properties the most, namely, the recursive forwarding and delivery of interrupts, exceptions and intercepts. We choose the x86 architecture because it is popular and readily available, but it is by no means the only architecture of choice for real-time recursive virtualization. We conclude the research with an architecture-independent discussion on future possibilities in real-time recursive virtualization.Computer Science
Design of static intercell interference coordination schemes for realistic lte-based cellular networks
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
- …