157 research outputs found
Flexible management of bandwidth and redundancy in fieldbuses
Doutoramento em Engenharia ElectrotécnicaOs sistemas distribuídos embarcados (Distributed Embedded Systems – DES) têm sido usados ao longo dos últimos anos em muitos domínios de aplicação, da robótica, ao controlo de processos industriais passando pela aviónica e pelas aplicações veiculares, esperando-se que esta tendência continue nos próximos anos.
A confiança no funcionamento é uma propriedade importante nestes domínios de aplicação, visto que os serviços têm de ser executados em tempo útil e de forma previsível, caso contrário, podem ocorrer danos económicos ou a vida de seres humanos poderá ser posta em causa.
Na fase de projecto destes sistemas é impossível prever todos os cenários de falhas devido ao não determinismo do ambiente envolvente, sendo necessária a inclusão de mecanismos de tolerância a falhas.
Adicionalmente, algumas destas aplicações requerem muita largura de banda, que também poderá ser usada para a evolução dos sistemas, adicionandolhes novas funcionalidades.
A flexibilidade de um sistema é uma propriedade importante, pois permite a sua adaptação às condições e requisitos envolventes, contribuindo também para a simplicidade de manutenção e reparação. Adicionalmente, nos sistemas
embarcados, a flexibilidade também é importante por potenciar uma melhor utilização dos, muitas vezes escassos, recursos existentes.
Uma forma evidente de aumentar a largura de banda e a tolerância a falhas dos sistemas embarcados distribuídos é a replicação dos barramentos do sistema. Algumas soluções existentes, quer comerciais quer académicas,
propõem a replicação dos barramentos para aumento da largura de banda ou para aumento da tolerância a falhas. No entanto e quase invariavelmente, o propósito é apenas um, sendo raras as soluções que disponibilizam uma maior
largura de banda e um aumento da tolerância a falhas. Um destes raros exemplos é o FlexRay, com a limitação de apenas ser permitido o uso de dois
barramentos.
Esta tese apresentada e discute uma proposta para usar a replicação de barramentos de uma forma flexível com o objectivo duplo de aumentar a
largura de banda e a tolerância a falhas. A flexibilidade dos protocolos propostos também permite a gestão dinâmica da topologia da rede, sendo o número de barramentos apenas limitado pelo hardware/software.
As propostas desta tese foram validadas recorrendo ao barramento de campo
CAN – Controller Area Network, escolhido devido à sua grande implantação no mercado. Mais especificamente, as soluções propostas foram implementadas e validadas usando um paradigma que combina flexibilidade com comunicações event-triggered e time-triggered: o FTT – Flexible Time- Triggered. No entanto, uma generalização para CAN nativo é também apresentada e discutida.
A inclusão de mecanismos de replicação do barramento impõe a alteração dos antigos protocolos de replicação e substituição do nó mestre, bem como a definição de novos protocolos para esta finalidade. Este trabalho tira partido da
arquitectura centralizada e da replicação do nó mestre para suportar de forma eficiente e flexível a replicação de barramentos. Em caso de ocorrência de uma falta num barramento (ou barramentos) que poderia provocar uma falha no sistema, os protocolos e componentes propostos nesta tese fazem com que o sistema reaja, mudando para um modo de funcionamento degradado. As
mensagens que estavam a ser transmitidas nos barramentos onde ocorreu a falta são reencaminhadas para os outros barramentos.
A replicação do nó mestre baseia-se numa estratégia líder-seguidores (leaderfollowers),
onde o líder (leader) controla todo o sistema enquanto os seguidores (followers) servem como nós de reserva. Se um erro ocorrer no nó
líder, um dos nós seguidores passará a controlar o sistema de uma forma transparente e mantendo as mesmas funcionalidades.
As propostas desta tese foram também generalizadas para CAN nativo, tendo sido para tal propostos dois componentes adicionais. É, desta forma possível ter as mesmas capacidades de tolerância a falhas ao nível dos barramentos
juntamente com a gestão dinâmica da topologia de rede.
Todas as propostas desta tese foram implementadas e avaliadas. Uma
implementação inicial, apenas com um barramento foi avaliada recorrendo a uma aplicação real, uma equipa de futebol robótico onde o protocolo FTT-CAN foi usado no controlo de movimento e da odometria.
A avaliação do sistema com múltiplos barramentos foi feita numa plataforma de teste em laboratório. Para tal foi desenvolvido um sistema de injecção de faltas que permite impor faltas nos barramentos e nos nós mestre, e um sistema de medida de atrasos destinado a medir o tempo de resposta após a ocorrência de uma falta.Distributed embedded systems (DES) have been widely used in the last few decades in several application domains, from robotics, industrial process control, avionics and automotive. In fact, it is expectable that this trend will continue in the next years.
In some of these application fields the dependability requirements are very important since the fail to provide services in a timely and predictable manner
may cause important economic losses or even put humans in risk.
In the design phase it is impossible to predict all the possible scenarios of faults, due to the non deterministic behaviour of the surrounding environment.
In that way, the fault tolerance mechanisms must be included in the distributed embedded system to prevent failures occurrence.
Also, many application domains require a high available bandwidth to perform the desired functions, or to turn possible the scaling with the addition of new features.
The flexibility of a system also plays an important role, since it improves the capability to adapt to the surrounding world, and to the simplicity of the repair
and maintenance. The flexibility improves the efficiency of all the system by providing a way to efficiently manage the available resources. This is very important in embedded systems due to the limited resources often available.
A natural way to improve the bandwidth and the fault tolerance in distributed systems is to use replicated buses. Commercial and academic solutions propose the use of replicated fieldbuses for a single purpose only, either to improve the fault tolerance or to improve the available bandwidth, being the first the most common. One illustrative exception is FlexRay where the bus replica
can be used to improve the bandwidth of the overall system, besides enabling redundant communications. However, only one bus replica can be used.
In this thesis, a flexible bus replication scheme to improve both the dependability and the throughput of fieldbuses is presented and studied. It can
be applied to any number of replicated buses, provided the required hardware support is available. The flexible use of the replicated buses can achieve an also flexible management of the network topology.
This claim has been validated using the Controller Area Network (CAN) fieldbus, which has been chosen because it is widely spread in millions of
systems. In fact, the proposed solution uses a paradigm that combines flexibility, time and event triggered communication, that is the Flexible Time-
Triggered over CAN network (FTT-CAN). However, a generalization to native CAN is also presented and studied.
The inclusion of bus replication in FTT-CAN imposes not only new mechanisms but also changes of the mechanisms associated with the master replication, which has been already studied in previous research work. In this work, these
mechanisms were combined and take advantage of the centralized architecture and of the redundant masters to support an efficient and flexible bus
replication.
When considering the system operation, if a fault in the bus (or buses) occurs, and the consequent error leads to a system failure, the system reacts,
switching to a degraded mode, where the message flows that were transmitted in the faulty bus (or buses) change to the non-faulty ones.
The central node replication uses a leader-follower strategy, where the leader controls the system while the followers serve as backups. If an error occurs in
the leader, a backup will take the system control maintaining the system with the same functionalities.
The system has been generalized for native CAN, using two additional components that provide the same fault tolerance capabilities at the bus level,
and also enable the dynamic management of the network topology.
All the referred proposals were implemented and assessed in the scope of this work. The single bus version of FTT-CAN was assessed using a real
application, a robotic soccer team, which has obtained excellent results in international competitions. There, the FTT-CAN based embedded system has been applied in the low level control, where, mainly it is responsible for the
motion control and odometry.
For the case of the multiple buses system, the assessment was performed in a laboratory test bed. For this, a fault injector was developed in order to impose faults in the buses and in the central nodes. To measure the time reaction of the system, a special hardware has been developed: a delay measurement system. It is able to measure delays between two important time marks for posterior offline analysis of the obtained values
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
Control Plane in Software Defined Networks and Stateful Data Planes
L'abstract è presente nell'allegato / the abstract is in the attachmen
A software architecture for consensus based replication
Orientador: Luiz Eduardo BuzatoTese (doutorado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Esta tese explora uma das ferramentas fundamentais para construção de sistemas distribuídos: a replicação de componentes de software. Especificamente, procuramos resolver o problema de como simplificar a construção de aplicações replicadas que combinem alto grau de disponibilidade e desempenho. Como ferramenta principal para alcançar o objetivo deste trabalho de pesquisa desenvolvemos Treplica, uma biblioteca de replicação voltada para construção de aplicações distribuídas, porém com semântica de aplicações centralizadas. Treplica apresenta ao programador uma interface simples baseada em uma especificação orientada a objetos de replicação ativa. A conclusão que defendemos nesta tese é que é possível desenvolver um suporte modular e de uso simples para replicação que exibe alto desempenho, baixa latência e que permite recuperação eficiente em caso de falhas. Acreditamos que a arquitetura de software proposta tem aplicabilidade em qualquer sistema distribuído, mas é de especial interesse para sistemas que não são distribuídos pela ausência de uma forma simples, eficiente e confiável de replicá-losAbstract: This thesis explores one of the fundamental tools for the construction of distributed systems: the replication of software components. Specifically, we attempted to solve the problem of simplifying the construction of high-performance and high-availability replicated applications. We have developed Treplica, a replication library, as the main tool to reach this research objective. Treplica allows the construction of distributed applications that behave as centralized applications, presenting the programmer a simple interface based on an object-oriented specification for active replication. The conclusion we reach in this thesis is that it is possible to create a modular and simple to use support for replication, providing high performance, low latency and fast recovery in the presence of failures. We believe our proposed software architecture is applicable to any distributed system, but it is particularly interesting to systems that remain centralized due to the lack of a simple, efficient and reliable replication mechanismDoutoradoSistemas de ComputaçãoDoutor em Ciência da Computaçã
Trends in Automotive Communication Systems
http://www.ieee.org/International audienceThe use of networks for communications between the Electronic Control Units (ECU) of a vehicle in production cars dates from the beginning of the 90s. The specific requirements of the different car domains have led to the development of a large number of automotive networks such as LIN, J1850, CAN, TTP/C, FlexRay, MOST, IDB1394, etc.. This paper first introduces the context of in-vehicle embedded systems and, in particular, the requirements imposed on the communication systems. Then, a comprehensive review of the most widely used, as well as the emerging automotive networks is given. Next, the current efforts of the automotive industry on middleware technologies, which may be of great help in mastering the heterogeneity, are reviewed. Finally, we highlight future trends in the development of automotive communication systems
The Virtual Bus: A Network Architecture Designed to Support Modular-Redundant Distributed Periodic Real-Time Control Systems
The Virtual Bus network architecture uses physical layer switching and a combination of space- and time-division multiplexing to link segments of a partial mesh network together on schedule to temporarily form contention-free multi-hop, multi-drop simplex signalling paths, or 'virtual buses'. Network resources are scheduled and routed by a dynamic distributed resource allocation mechanism with self-forming and self-healing characteristics. Multiple virtual buses can coexist simultaneously in a single network, as the resources allocated to each bus are orthogonal in either space or time. The Virtual Bus architecture achieves deterministic delivery times for time-sensitive traffic over multi-hop partial mesh networks by employing true line-speed switching; delays of around 15ns at each switching point are demonstrated experimentally, and further reductions in switching delays are shown to be achievable. Virtual buses are inherently multicast, with delivery skew across multiple destinations proportional to the difference in equivalent physical length to each destination. The Virtual Bus architecture is not a purely theoretical concept; a small research platform has been constructed for development, testing and demonstration purposes
Fehlertolerante Mehrkernprozessoren für gemischt-kritische Echtzeitsysteme
Current and future computing systems must be appropriately designed to cope with random hardware faults in order to provide a dependable service and correct functionality. Dependability has many facets to be addressed when designing a system and that is specially challenging in mixed-critical real-time systems, where safety standards play an important role and where responding in time can be as important as responding correctly or even responding at all.
The thesis addresses the dependability of mixed-critical real-time systems, considering three important requirements: integrity, resilience and real-time. More specifically, it looks into the architectural and performance aspects of achieving dependability, concentrating its scope on error detection and handling in hardware -- more specifically in the Network-on-Chip (NoC), the backbone of modern MPSoC -- and on the performance of error handling and recovery in software.
The thesis starts by looking at the impacts of random hardware faults on the NoC and on the system, with special focus on soft errors. Then, it addresses the uncovered weaknesses in the NoC by proposing a resilient NoC for mixed-critical real-time systems that is able to provide a highly reliable service with transparent protection for the applications. Formal communication time analysis is provided with common ARQ protocols modeled for NoCs and including a novel ARQ-based protocol optimized for DMAs. After addressing the efficient use of ARQ-based protocols in NoCs, the thesis proposes the Advanced Integrity Q-service (AIQ), a low-overhead mechanism to achieve integrity and real-time guarantees of NoC transactions on an End-to-End (E2E) basis. Inspired by transactions in distributed systems, the mechanism differs from the previous approach in that it does not provide error recovery in hardware but delegates the task to software, making use of existing functionality in cross-layer fault-tolerance solutions.
Finally, the thesis addresses error handling in software as seen in cross-layer approaches. It addresses the performance of replicated software execution in many-core platforms. Replicated software execution provides protection to the system against random hardware faults. It relies on hardware-supported error detection and error handling in software. The replica-aware co-scheduling is proposed to achieve high performance with replicated execution, which is not possible with standard real-time schedulers.Um einen zuverlässigen Betrieb und korrekte Funktionalität zu gewährleisten, müssen aktuelle und zukünftige Computersysteme so ausgelegt werden, dass sie mit diesen Fehlern umgehen können. Zuverlässigkeit hat viele Aspekte, die bei der Entwicklung eines Systems berücksichtigt werden müssen. Das gilt insbesondere für Echtzeitsysteme mit gemischter Kritikalität, bei denen Sicherheitsstandards, die ein korrektes und rechtzeitiges Verhalten fordern, eine wichtige Rolle spielen.
Diese Dissertation befasst sich mit der Zuverlässigkeit von gemischt-kritischen Echtzeitsystemen unter Berücksichtigung von drei wichtigen Anforderungen: Integrität, Resilienz und Echtzeit.
Genauer gesagt, behandelt sie Architektur- und Leistungsaspekte die notwendig sind um Zuverlässigkeit zu erreichen, wobei der Schwerpunkt auf der Fehlererkennung und -behandlung in der Hardware – genauer gesagt im Network-on-Chip (NoC), dem Rückgrat des modernen MPSoC – und auf der Leistung der Fehlerbehandlung und -behebung in der Software liegt.
Die Arbeit beginnt mit der Untersuchung der Auswirkung von zufälligen Hardwarefehlern auf das NoC und das System, wobei der Schwerpunkt auf weichen Fehler (soft errors) liegt. Anschließend werden die aufgedeckten Schwachstellen im NoC behoben, indem ein widerstandsfähiges NoC für gemischt-kritische Echtzeitsysteme vorgeschlagen wird, das in der Lage ist, einen höchst zuverlässigen Betrieb mit transparentem Schutz für die Anwendungen zu bieten. Nach der Auseinandersetzung mit der effizienten Nutzung von ARQ-basierten Protokolle in NoCs, wird der Advanced Integrity Q-Service (AIQ) vorgestellt, der ein Mechanismus mit geringem Overhead ist, um Integrität und Echtzeit-Garantien von NoC-Transaktionen auf Ende-zu-Ende (E2E)-Basis zu erreichen. Inspiriert von Transaktionen in verteilten Systemen unterscheidet sich der Mechanismus vom bisherigen Konzept dadurch, dass er keine Fehlerbehebung in der Hardware vorsieht, sondern diese Aufgabe an die Software delegiert.
Schließlich befasst sich die Dissertation mit der Fehlerbehandlung in Software, wie sie in schichtübergreifenden Methoden zu sehen ist. Sie behandelt die Leistung der replizierten Software-Ausführung in Many-Core-Plattformen. Es setzt auf hardwaregestützte Fehlererkennung und Fehlerbehandlung in der Software. Das Replika-bewusste Co-Scheduling wird vorgeschlagen, um eine hohe Performance bei replizierter Ausführung zu erreichen, was mit Standard-Echtzeit-Schedulern nicht möglich ist
Partial replication in the database state machine
Tese de Doutoramento em Informática - Ramo do Conhecimento em Tecnologias da ProgramaçãoEnterprise information systems are nowadays commonly structured as multi-tier
architectures and invariably built on top of database management systems responsible
for the storage and provision of the entire business data. Database management
systems therefore play a vital role in today’s organizations, from their reliability
and availability directly depends the overall system dependability.
Replication is a well known technique to improve dependability. By maintaining
consistent replicas of a database one can increase its fault tolerance and simultaneously
improve system’s performance by splitting the workload among the
replicas.
In this thesis we address these issues by exploiting the partial replication of databases.
We target large scale systems where replicas are distributed across wide
area networks aiming at both fault tolerance and fast local access to data. In particular,
we envision information systems of multinational organizations presenting
strong access locality in which fully replicated data should be kept to a minimum
and a judicious placement of replicas should be able to allow the full recovery of
any site in case of failure.
Our research departs from work on database replication algorithms based on group
communication protocols, in detail, multi-master certification-based protocols. At
the core of these protocols resides a total order multicast primitive responsible for
establishing a total order of transaction execution.
A well known performance optimization in local area networks exploits the fact
that often the definitive total order of messages closely following the spontaneous
network order, thus making it possible to optimistically proceed in parallel with
the ordering protocol. Unfortunately, this optimization is invalidated in wide area
networks, precisely when the increased latency would make it more useful. To
overcome this we present a novel total order protocol with optimistic delivery for
wide area networks. Our protocol uses local statistic estimates to independently
order messages closely matching the definitive one thus allowing optimistic execution
in real wide area networks.
Handling partial replication within a certification based protocol is also particularly
challenging as it directly impacts the certification procedure itself. Depending
on the approach, the added complexity may actually defeat the purpose
of partial replication. We devise, implement and evaluate two variations of the
Database State Machine protocol discussing their benefits and adequacy with the
workload of the standard TPC-C benchmark.Os sistemas de informação empresariais actuais estruturam-se normalmente em
arquitecturas de software multi-nível, e apoiam-se invariavelmente sobre um sistema
de gestão de bases de dados para o armazenamento e aprovisionamento de
todos os dados do negócio. A base de dado desempenha assim um papel vital,
sendo a confiabilidade do sistema directamente dependente da sua fiabilidade e
disponibilidade.
A replicação é uma das formas de melhorar a confiabilidade. Garantindo a coerência
de um conjunto de réplicas da base de dados, é possível aumentar simultaneamente
a sua tolerância a faltas e o seu desempenho, ao distribuir as tarefas a
realizar pelas várias réplicas não sobrecarregando apenas uma delas.
Nesta tese, propomos soluções para estes problemas utilizando a replicação parcial
das bases de dados. Nos sistemas considerados, as réplicas encontram-se
distribuídas numa rede de larga escala, almejando-se simultaneamente obter tolerância
a faltas e garantir um acesso local rápido aos dados. Os sistemas propostos
têm como objectivo adequarem-se às exigências dos sistemas de informação de
multinacionais em que em cada réplica existe uma elevada localidade dos dados
acedidos. Nestes sistemas, os dados replicados em todas as réplicas devem ser
apenas os absolutamente indispensáveis, e a selecção criteriosa dos dados a colocar
em cada réplica, deve permitir em caso de falha a reconstrução completa da
base de dados.
Esta investigação tem como ponto de partida os protocolos de replicação de bases
de dados utilizando comunicação em grupo, em particular os baseados em certificação
e execução optimista por parte de qualquer uma das réplicas. O mecanismo
fundamental deste tipo de protocolos de replicação é a primitiva de difusão
com garantia de ordem total, utilizada para definir a ordem de execução das
transacções.
Uma optimização normalmente utilizada pelos protocolos de ordenação total é a
utilização da ordenação espontânea da rede como indicador da ordem das mensagens,
e usar esta ordem espontânea para processar de forma optimista as mensagens
em paralelo com a sua ordenação. Infelizmente, em redes de larga escala
a espontaneidade de rede é praticamente residual, inviabilizando a utilização
desta optimização precisamente no cenário em que a sua utilização seria mais
vantajosa. Para contrariar esta adversidade propomos um novo protocolo de ordenação
total com entrega optimista para redes de larga escala. Este protocolo
utiliza informação estatística local a cada processo para "produzir" uma ordem
espontânea muito mais coincidente com a ordem total obtida viabilizando a utilização
deste tipo de optimizações em redes de larga escala. Permitir que protocolos de replicação de bases de dados baseados em certificação
suportem replicação parcial coloca vários desafios que afectam directamente a
forma com é executado o procedimento de certificação. Dependendo da abordagem
à replicação parcial, a complexidade gerada pode até comprometer os
propósitos da replicação parcial. Esta tese concebe, implementa e avalia duas variantes
do protocolo da database state machine com suporte para replicação parcial,
analisando os benefícios e adequação da replicação parcial ao teste padronizado
de desempenho de bases de dados, o TPC-C.Fundação para a Ciência e a Tecnologia (FCT) - ESCADA (POSI/CHS/33792/2000)
Fault-tolerant distributed transactions for partitioned OLTP databases
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2012.Cataloged from PDF version of thesis.Includes bibliographical references (p. 103-112).This thesis presents Dtxn, a fault-tolerant distributed transaction system designed specifically for building online transaction processing (OLTP) databases. Databases have traditionally been designed as general purpose data processing tools. By being designed only for OLTP workloads, Dtxn can be more efficient. It is designed to support very large databases by partitioning data across a cluster of commodity servers in a data center. Combining multiple servers together allows systems built with Dtxn to be cost effective, highly available, scalable, and fault-tolerant. Dtxn provides three novel features. First, it provides reusable infrastructure for building a distributed OLTP database out of single machine databases. This allows developers to take a specialized backend storage engine and use it across multiple machines, without needing to re-implement the distributed transaction infrastructure. We used Dtxn to build four different applications: a simple key/value store, a specialized TPC-C implementation, a main-memory OLTP database, and a traditional disk-based OLTP database. Second, Dtxn provides a novel concurrency control mechanism called speculative concurrency control, designed for main memory OLTP workloads that are primarily composed of transactions with a single round of communication between the application and database. Speculative concurrency control executes one transaction at a time, with no concurrency control overhead. In cases where there may be stalls due to network communication, it speculates future transactions. Our results show that this provides significantly better throughput than traditional two-phase locking, outperforming it by a factor of two on the TPC-C benchmark. Finally, Dtxn supports live migration, allowing part of the data on one server to be moved to another server while processing transactions. Our experiments show that our approach has nearly no visible impact on throughput or latency when moving data under moderate to high loads. It has significantly less impact than the best commercially available systems when the database is overloaded. The period of time where the throughput is reduced is less than half as long as failing over to another replica or using virtual machine migration.by Evan Philip Charles Jones.Ph.D
Comunicações confiáveis sem-fios para redes veiculares
Vehicular communications are a promising field of research, with numerous
potential services that can enhance traffic experience. Road safety is the
most important objective behind the development of wireless vehicular networks,
since many of the current accidents and fatalities could be avoided if
vehicles had the ability to share information among them, with the road-side
infrastructure and other road users.
A future with safe, efficient and comfortable road transportation systems is envisaged
by the different traffic stakeholders - users, manufacturers, road operators
and public authorities. Cooperative Intelligent Transportation Systems
(ITS) applications will contribute to achieve this goal, as well as other technological
progress, such as automated driving or improved road infrastructure
based on advanced sensoring and the Internet of Things (IoT) paradigm.
Despite these significant benefits, the design of vehicular communications
systems poses difficult challenges, mainly due to the very dynamic environments
in which they operate. In order to attain the safety-critical requirements
involved in this type of scenarios, careful planning is necessary, so that a trustworthy
behaviour of the system can be achieved. Dependability and real-time
systems concepts provide essential tools to handle this challenging task of
enabling determinism and fault-tolerance in vehicular networks.
This thesis aims to address some of these issues by proposing architectures
and implementing mechanisms that improve the dependability levels of realtime
vehicular communications. The developed strategies always try to preserve
the required system’s flexibity, a fundamental property in such unpredictable
scenarios, where unexpected events may occur and force the system
to quickly adapt to the new circumnstances.The core contribution of this thesis focuses on the design of a fault-tolerant architecture
for infrastructure-based vehicular networks. It encompasses a set
of mechanisms that allow error detection and fault-tolerant behaviour both in
the mobile and static nodes of the network. Road-side infrastructure plays
a key role in this context, since it provides the support for coordinating all
communications taking place in the wireless medium. Furthermore, it is also
responsible for admission control policies and exchanging information with the
backbone network. The proposed methods rely on a deterministic medium
access control (MAC) protocol that provides real-time guarantees in wireless
channel access, ensuring that communications take place before a given deadline.
However, the presented solutions are generic and can be easily adapted
to other protocols and wireless technologies.
Interference mitigation techniques, mechanisms to enforce fail-silent behaviour
and redundancy schemes are introduced in this work, so that vehicular
communications systems may present higher dependability levels. In addition
to this, all of these methods are included in the design of vehicular network
components, guaranteeing that the real-time constraints are still fulfilled.
In conclusion, wireless vehicular networks hold the potential to drastically improve
road safety. However, these systems should present dependable behaviour
in order to reliably prevent the occurrence of catastrophic events under
all possible traffic scenarios.As comunicações veiculares são uma área de investigação bastante promissora,
com inúmeros potenciais serviços que podem melhorar a experiência
vivida no tráfego. A segurança rodoviária é o objectivo mais importante por
detrás do desenvolvimento das redes veiculares sem-fios, visto que muitos
dos atuais acidentes e vítimas mortais poderiam ser evitados caso os veículos
tivessem a capacidade de trocar informação entre eles, com a infraestrutura
rodoviária e outros utilizadores da estrada.
Um futuro com sistemas de transporte rodoviário seguros, eficientes e confortáveis
é algo ambicionado pelas diferentes partes envolvidas - utilizadores, fabricantes,
operadores da infraestrutura e autoridades públicas. As aplicações
de Sistemas Inteligentes de Transporte (ITS) cooperativas vão contribuir para
alcançar este propósito, em conjunto com outros avanços tecnológicos, nomeadamente
a condução autónoma ou uma melhor infraestrutura rodoviária
baseada em sensorização avançada e no paradigma da Internet das Coisas
(IoT).
Apesar destes benefícios significativos, o desenho de sistemas de comunicações
veiculares coloca desafios difíceis, em grande parte devido aos ambientes
extremamente dinâmicos em que estes operam. De modo a atingir
os requisitos de segurança crítica envolvidos neste tipo de cenários, é necessário
um cuidadoso planeamento por forma a que o sistema apresente um
comportamento confiável. Conceitos de dependabilidade e de sistemas de
tempo-real constituem ferramentas essenciais para lidar com esta desafiante
tarefa de dotar as redes veiculares de determinismo e tolerância a faltas.
Esta tese pretende endereçar alguns destes problemas através da proposta
de arquitecturas e da implementação de mecanismos que melhorem os níveis
da dependabilidade das comunicações veiculares de tempo-real. As estratégias
desenvolvidas tentam sempre preservar a necessária flexibilidade do
sistema, uma propriedade fundamental em cenários tão imprevisíveis, onde
eventos inesperados podem ocorrer e forçar o sistema a adaptar-se rapidamente
às novas circunstâncias.A contribuição principal desta tese foca-se no desenho de uma arquitectura
tolerante a faltas para redes veiculares com suporte da infraestrutura de beira
de estrada. Esta arquitectura engloba um conjunto de mecanismos que permite
detecção de erros e comportamento tolerante a faltas, tanto nos nós móveis
como nos nós estáticos da rede. A infraestrutura de beira de estrada desempenha
um papel fundamental neste contexto, pois fornece o suporte que
permite coordenar todas as comunicações que ocorrem no meio sem-fios.
Para além disso, é também responsável pelos mecanismos de controlo de
admissão e pela troca de informação com a rede de transporte. Os métodos
propostos baseiam-se num protocolo determinístico de controlo de acesso ao
meio (MAC) que fornece garantias de tempo-real no accesso ao canal semfios,
assegurando que as comunicações ocorrem antes de um determinado
limite temporal. No entanto, as soluções apresentadas são genéricas e podem
ser facilmente adaptadas a outros protocolos e tecnologias sem-fios.
Neste trabalho são introduzidas técnicas de mitigação de interferência, mecanismos
para assegurar comportamento falha-silêncio e esquemas de redundância,
de modo a que os sistemas de comunicações veiculares apresentem
elevados níveis de dependabilidade. Além disso, todos estes métodos são incorporados
no desenho dos componentes da rede veicular, guarantindo que
as restrições de tempo-real continuam a ser cumpridas.
Em suma, as redes veiculares sem-fios têm o potential para melhorar drasticamente
a segurança rodoviária. Contudo, estes sistemas precisam de apresentar
um comportamento confiável, de forma a prevenir a ocorrência de
eventos catastróficos em todos os cenários de tráfego possíveis.Programa Doutoral em Telecomunicaçõe
- …