31 |
UpRight fault toleranceClement, Allen Grogan 13 November 2012 (has links)
Experiences with computer systems indicate an inconvenient truth: computers fail and they fail in interesting ways. Although using redundancy to protect against fail-stop failures is common practice, non-fail-stop computer and network failures occur for a variety of reasons including power outage, disk or memory corruption, NIC malfunction, user error, operating system and application bugs or misconfiguration, and many others. The impact of these failures can be dramatic, ranging from service unavailability to stranding airplane passengers on the runway to companies closing. While high-stakes embedded systems have embraced Byzantine fault tolerant techniques, general purpose computing continues to rely on techniques that are fundamentally crash tolerant. In a general purpose environment, the current best practices response to non-fail-stop failures can charitably be described as pragmatic: identify a root cause and add checksums to prevent that error from happening again in the future. Pragmatic responses have proven effective for patching holes and protecting against faults once they have occurred; unfortunately the initial damage has already been done, and it is difficult to say if the patches made to address previous faults will protect against future failures. We posit that an end-to-end solution based on Byzantine fault tolerant (BFT) state machine replication is an efficient and deployable alternative to current ad hoc approaches favored in general purpose computing. The replicated state machine approach ensures that multiple copies of the same deterministic application execute requests in the same order and provides end-to-end assurance that independent transient failures will not lead to unavailability or incorrect responses. An efficient and effective end-to-end solution covers faults that have already been observed as well as failures that have not yet occurred, and it provides structural confidence that developers won't have to track down yet another failure caused by some unpredicted memory, disk, or network behavior. While the promise of end-to-end failure protection is intriguing, significant technical and practical challenges currently prevent adoption in general purpose computing environments. On the technical side, it is important that end-to-end solutions maintain the performance characteristics of deployed systems: if end-to-end solutions dramatically increase computing requirements, dramatically reduce throughput, or dramatically increase latency during normal operation then end-to-end techniques are a non-starter. On the practical side, it is important that end-to-end approaches be both comprehensible and easy to incorporate: if the cost of end-to-end solutions is rewriting an application or trusting intricate and arcane protocols, then end-to-end solutions will not be adopted. In this thesis we show that BFT state machine replication can and be used in deployed systems. Reaching this goal requires us to address both the technical and practical challenges previously mentioned. We revisiting disparate research results from the last decade and tweak, refine, and revise the core ideas to fit together into a coherent whole. Addressing the practical concerns requires us to simplify the process of incorporating BFT techniques into legacy applications. / text
|
32 |
MagicDraw UML įrankio praplėtimas sekų ir būsenų diagramų suderinimo galimybe / MagicDraw UML tool extension for reconciliation of sequence diagrams and state machinesKelmaitė, Lina 16 August 2007 (has links)
Darbo tikslas – pagerinti UML kalbą naudojančius projektavimo procesus, papildant juos sekų ir būsenų diagramų derinimo galimybėmis, praplėsti UML specifikaciją, kad būtų įmanomas abipusis sekų diagramų ir būsenų mašinų transformavimas. Antrame darbo skyriuje pateikti keli literatūroje pasiūlyti sekų diagramų transformavimo į būsenų mašinas algoritmai ir transformacijų pavyzdžiai. Skyriaus gale pateikta šių algoritmų palyginimo lentelė pagal tam tikras savybes bei keleto CASE įrankių, kuriuose galėtų būti įgyvendinti algoritmai, apžvalga. Trečiame skyriuje pateikta abipusės sekų ir būsenų diagramų transformacijos metodika. Ketvirtame skyriuje pateiktas pagal trečio skyriaus metodiką atliktos sekų ir būsenų diagramų transformacijų realizacijos projektas praplečiant MagicDraw UML įrankį. Penktame skyriuje pateiktas sukurto įskiepio efektyvumo tyrimas bei transformacijų pavyzdžiai. Šeštame skyriuje pateiktos bendros darbo išvados. / In this master thesis the transformation from sequence diagrams to statemachines and vice versa is presented. The first section describes a research of four existing algorithms of generating state machines from sequence diagrams. For diagrams transformation plug-in for CASE tool MagicDraw is created according MDA standards. Transformation plug-in takes sequence (state) diagram model as input and generates state (sequence) diagrams according to transformation sules. Created plug-in requirements,functional specification and architecture described in Project section. The investigation section describes investigation of the developed plug-in. In this section were investigate the working efficiency of designer trying to reconcile model diagrams.
|
33 |
GRAPHICAL EDITORS GENERATION WITH THE GRAPHICAL MODELING FRAMEWORK: A CASE STUDYELOUMRI, Eloumri, Miloud Salem S 15 April 2011 (has links)
Domain Specific Modeling (DSM) aims to increase productivity of software development by raising the level of abstraction beyond code concepts and using domain concepts. By providing a generative model-driven tooling component and runtime support, the Eclipse Graphical Modeling Framework (GMF) aims to simplify the creation of diagram editors for specific domains based on a series of model creation and transformation steps. GMF leverages the Eclipse Modeling Framework (EMF) and the Eclipse Graphical Editing Framework (GEF) to allow the graphical modeling of Domain Specific Languages (DSL).
A Domain Specific Language (DSL) is developed specifically for a specific task and specific domain. In this research, the State Machine Compiler (SMC) represents the specific domain for which a DSL in a form of a diagram editor is developed using GMF. SMC is an open source Java tool allowing generation of state pattern classes from textual descriptions of state machines.
The main objective of this research is to describe the use of GMF, highlight potential pitfalls and identify strengths and weaknesses of GMF based on certain criteria. To be able to feed the SMC diagrams created with the editor into SMC, a Java Emitter Templates (JET) transformation is used to transform SMC model instances into textual format expected by SMC. / Thesis (Master, Computing) -- Queen's University, 2011-04-14 18:58:08.797
|
34 |
Towards a Brain-inspired Information Processing System: Modelling and Analysis of Synaptic DynamicsEl-Laithy, Karim 12 January 2012 (has links) (PDF)
Biological neural systems (BNS) in general and the central nervous system (CNS) specifically
exhibit a strikingly efficient computational power along with an extreme flexible and adaptive basis
for acquiring and integrating new knowledge. Acquiring more insights into the actual mechanisms
of information processing within the BNS and their computational capabilities is a core objective
of modern computer science, computational sciences and neuroscience. Among the main reasons
of this tendency to understand the brain is to help in improving the quality of life of people suffer
from loss (either partial or complete) of brain or spinal cord functions. Brain-computer-interfaces
(BCI), neural prostheses and other similar approaches are potential solutions either to help these
patients through therapy or to push the progress in rehabilitation. There is however a significant
lack of knowledge regarding the basic information processing within the CNS. Without a better
understanding of the fundamental operations or sequences leading to cognitive abilities, applications
like BCI or neural prostheses will keep struggling to find a proper and systematic way to
help patients in this regard. In order to have more insights into these basic information processing
methods, this thesis presents an approach that makes a formal distinction between the essence
of being intelligent (as for the brain) and the classical class of artificial intelligence, e.g. with
expert systems. This approach investigates the underlying mechanisms allowing the CNS to be
capable of performing a massive amount of computational tasks with a sustainable efficiency and
flexibility. This is the essence of being intelligent, i.e. being able to learn, adapt and to invent.
The approach used in the thesis at hands is based on the hypothesis that the brain or specifically a
biological neural circuitry in the CNS is a dynamic system (network) that features emergent capabilities.
These capabilities can be imported into spiking neural networks (SNN) by emulating the
dynamic neural system. Emulating the dynamic system requires simulating both the inner workings
of the system and the framework of performing the information processing tasks. Thus, this
work comprises two main parts. The first part is concerned with introducing a proper and a novel
dynamic synaptic model as a vital constitute of the inner workings of the dynamic neural system.
This model represents a balanced integration between the needed biophysical details and being
computationally inexpensive. Being a biophysical model is important to allow for the abilities of
the target dynamic system to be inherited, and being simple is needed to allow for further implementation
in large scale simulations and for hardware implementation in the future. Besides, the
energy related aspects of synaptic dynamics are studied and linked to the behaviour of the networks
seeking for stable states of activities. The second part of the thesis is consequently concerned with
importing the processing framework of the dynamic system into the environment of SNN. This
part of the study investigates the well established concept of binding by synchrony to solve the information binding problem and to proposes the concept of synchrony states within SNN. The
concepts of computing with states are extended to investigate a computational model that is based
on the finite-state machines and reservoir computing. Biological plausible validations of the introduced
model and frameworks are performed. Results and discussions of these validations indicate
that this study presents a significant advance on the way of empowering the knowledge about the
mechanisms underpinning the computational power of CNS. Furthermore it shows a roadmap on
how to adopt the biological computational capabilities in computation science in general and in
biologically-inspired spiking neural networks in specific. Large scale simulations and the development
of neuromorphic hardware are work-in-progress and future work. Among the applications
of the introduced work are neural prostheses and bionic automation systems.
|
35 |
X3D-UML: User-Centred Design, Implementation and Evaluation of 3D UML Using X3DMcIntosh, Paul Malcolm, paul.mcintosh@internetscooter.com January 2010 (has links)
This thesis presents an in-depth investigation into the practical use of 3D for software visualisation. This work presents the first comprehensive user-centred study which examines the software engineering tasks users undertake currently, the issues that 3D addresses and a measure of benefit of the 3D solution compared to traditional approaches. This thesis also presents a mechanism for creating 3D software visualisations, a refined evaluation methodology and visualisation heuristics that together provide a valuable resource for further research into this area. The research results have been structured so they are directly applicable to industry and as such are already undergoing industrial adoption. This has been achieved through the following: Firstly the research augments current and accepted software visualisation approaches by basing the visual notation on the Unified Modelling Language (UML). This has enabled the current visual software engineering tasks to be studied and for representative user tasks to be captured and quantified. The 3D visualisations then complement the current working practices by solving
|
36 |
X3D-UML: User-Centred Design, Implementation and Evaluation of 3D UML Using X3DMcIntosh, Paul Malcolm, paul.mcintosh@internetscooter.com January 2010 (has links)
This thesis presents an in-depth investigation into the practical use of 3D for software visualisation. This work presents the first comprehensive user-centred study which examines the software engineering tasks users undertake currently, the issues that 3D addresses and a measure of benefit of the 3D solution compared to traditional approaches. This thesis also presents a mechanism for creating 3D software visualisations, a refined evaluation methodology and visualisation heuristics that together provide a valuable resource for further research into this area. The research results have been structured so they are directly applicable to industry and as such are already undergoing industrial adoption. This has been achieved through the following: Firstly the research augments current and accepted software visualisation approaches by basing the visual notation on the Unified Modelling Language (UML). This has enabled the current visual software engineering tasks to be studied and for representative user tasks to be captured and quantified. The 3D visualisations then complement the current working practices by solving
|
37 |
X3D-UML: User-Centred Design, Implementation and Evaluation of 3D UML Using X3DMcIntosh, Paul Malcolm, paul.mcintosh@internetscooter.com January 2010 (has links)
This thesis presents an in-depth investigation into the practical use of 3D for software visualisation. This work presents the first comprehensive user-centred study which examines the software engineering tasks users undertake currently, the issues that 3D addresses and a measure of benefit of the 3D solution compared to traditional approaches. This thesis also presents a mechanism for creating 3D software visualisations, a refined evaluation methodology and visualisation heuristics that together provide a valuable resource for further research into this area. The research results have been structured so they are directly applicable to industry and as such are already undergoing industrial adoption. This has been achieved through the following: Firstly the research augments current and accepted software visualisation approaches by basing the visual notation on the Unified Modelling Language (UML). This has enabled the current visual software engineering tasks to be studied and for representative user tasks to be captured and quantified. The 3D visualisations then complement the current working practices by solving
|
38 |
X3D-UML: User-Centred Design, Implementation and Evaluation of 3D UML Using X3DMcIntosh, Paul Malcolm, paul.mcintosh@internetscooter.com January 2010 (has links)
This thesis presents an in-depth investigation into the practical use of 3D for software visualisation. This work presents the first comprehensive user-centred study which examines the software engineering tasks users undertake currently, the issues that 3D addresses and a measure of benefit of the 3D solution compared to traditional approaches. This thesis also presents a mechanism for creating 3D software visualisations, a refined evaluation methodology and visualisation heuristics that together provide a valuable resource for further research into this area. The research results have been structured so they are directly applicable to industry and as such are already undergoing industrial adoption. This has been achieved through the following: Firstly the research augments current and accepted software visualisation approaches by basing the visual notation on the Unified Modelling Language (UML). This has enabled the current visual software engineering tasks to be studied and for representative user tasks to be captured and quantified. The 3D visualisations then complement the current working practices by solving
|
39 |
Scalable state machine replication / Replicação escalável de máquina de estadosBezerra, Carlos Eduardo Benevides January 2016 (has links)
Redundância provê tolerância a falhas. Um serviço pode ser executado em múltiplos servidores que se replicam uns aos outros, de maneira a prover disponibilidade do serviço em caso de falhas. Uma maneira de implementar um tal serviço replicado é através de técnicas como replicação de máquina de estados (SMR). SMR provê tolerância a falhas, ao mesmo tempo que é linearizável, isto é, clientes não são capazes de distinguir o comportamento do sistema replicado daquele de um sistema não replicado. No entanto, ter um sistema completamente replicado e linearizável vem com um custo, que é escalabilidade – por escalabilidade, queremos dizer que adicionar servidores ao sistema aumenta a sua vazão, pelo menos para algumas cargas de trabalho. Mesmo com uma configuração cuidadosa e usando otimizações que evitam que os servidores executem ações redundantes desnecessárias, em um determinado ponto a vazão de um sistema replicado com SMR não pode ser mais aumentada acrescentando-se servidores; na verdade, adicionar réplicas pode até degradar a sua performance. Uma maneira de conseguir escalabilidade é particionar o serviço e então permitir que partições trabalhem independentemente. Por outro lado, ter um sistema particionado, porém linearizável e com razoavelmente boa performance não é trivial, e esse é o tópico de pesquisa tratado aqui. Para permitir que sistemas escalem, ao mesmo tempo que se garante linearizabilidade, nós propomos as seguinte ideias: (i) Replicação Escalável de Máquina de Estados (SSMR), (ii) Multicast Atômico Otimista (Opt-amcast) e (iii) S-SMR Rápido (Fast-SSMR). S-SMR é um modelo de execução que permite que a vazão do sistema escale de maneira linear com o número de servidores, sem sacrificar consistência. Para reduzir o tempo de resposta dos comandos, nós definimos o conceito de Opt-amcast, que permite que mensagens sejam entregues duas vezes: uma entrega garante ordem atômica (entrega atômica), enquanto a outra é mais rápida, mas nem sempre garante ordem atômica (entrega otimista). A implementação de Opt-amcast que nós propomos nessa tese se chama Ridge, um protocolo que combina baixa latência com alta vazão. Fast-SSMR é uma extensão do S-SMR que utiliza a entrega otimista do Opt-amcast: enquanto um comando é ordenado de maneira atômica, pode-se fazer alguma pré-computação baseado na entrega otimista, reduzindo assim tempo de resposta. / Redundancy provides fault-tolerance. A service can run on multiple servers that replicate each other, in order to provide service availability even in the case of crashes. A way to implement such a replicated service is by using techniques like state machine replication (SMR). SMR provides fault tolerance, while being linearizable, that is, clients cannot distinguish the behaviour of the replicated system to that of a single-site, unreplicated one. However, having a fully replicated, linearizable system comes at a cost, namely, scalability—by scalability we mean that adding servers will always increase the maximum system throughput, at least for some workloads. Even with a careful setup and using optimizations that avoid unnecessary redundant actions to be taken by servers, at some point the throughput of a system replicated with SMR cannot be increased by additional servers; in fact, adding replicas may even degrade performance. A way to achieve scalability is by partitioning the service state and then allowing partitions to work independently. Having a partitioned, yet linearizable and reasonably performant service is not trivial, and this is the topic of research addressed here. To allow systems to scale, while at the same time ensuring linearizability, we propose and implement the following ideas: (i) Scalable State Machine Replication (S-SMR), (ii) Optimistic Atomic Multicast (Opt-amcast), and (iii) Fast S-SMR (Fast-SSMR). S-SMR is an execution model that allows the throughput of the system to scale linearly with the number of servers without sacrificing consistency. To provide faster responses for commands, we developed Opt-amcast, which allows messages to be delivered twice: one delivery guarantees atomic order (conservative delivery), while the other is fast, but not always guarantees atomic order (optimistic delivery). The implementation of Opt-amcast that we propose is called Ridge, a protocol that combines low latency with high throughput. Fast-SSMR is an extension of S-SMR that uses the optimistic delivery of Opt-amcast: while a command is atomically ordered, some precomputation can be done based on its fast, optimistically ordered delivery, improving response time.
|
40 |
Next generation state-machine replication protocols for data centers / Protocoles de réplication de machines à états de prochaine génération pour les centres de donnéesNehme, Mohamad Jaafar 05 December 2017 (has links)
De nombreux protocoles Total Order Broadcast uniformes ont été conçus au cours des 30 dernières années. Ils peuvent être classés en deux catégories: ceux qui visent une faible latence, et ceux qui visent à haut débit. Latence mesure le temps nécessaire pour effectuer un seul message diffusé sans prétention, alors que le débit mesure le nombre d'émissions que les processus peuvent compléter par unité de temps quand il y a discorde. Tous les protocoles qui ont été conçus pour autant faire l'hypothèse que le réseau sous-jacent ne sont pas partagées par d'autres applications en cours d'exécution. Ceci est une préoccupation majeure à condition que dans les centres de données modernes (aka Clouds), l'infrastructure de mise en réseau est partagée par plusieurs applications. La conséquence est que, dans de tels environnements, le total des protocoles afin de diffusion uniformes présentent des comportements instables.Dans cette thèse, j'ai conçu et mis en œuvre un nouveau protocole pour la Total Order Broadcast uniforme qui optimise la performance lorsqu'il est exécuté dans des environnements multi-Data Centers et le comparer avec plusieurs algorithmes de l'état de l'art.Dans cette thèse, je présente deux contributions. La première contribution est MDC-Cast un nouveau protocole pour Total Order Broadcast dans lesquelles il optimise les performances des systèmes distribués lorsqu'ils sont exécutés dans des environnements multi-centres de données. MDC-Cast combine les avantages de la multidiffusion IP dans les environnements de cluster et unicast TCP/IP pour obtenir un algorithme hybride qui fonctionne parfaitement entre les centres de données.La deuxième contribution est un algorithme conçu pour déboguer les performances dans les systèmes distribués en boîte noire. L'algorithme n'est pas encore publié car il nécessite plus de tests pour une meilleure généralisation. / Many uniform total order broadcast protocols have been designed in the last 30 years. They can be classified into two categories: those targeting low latency, and those targeting high throughput. Latency measures the time required to complete a single message broadcast without contention, whereas throughput measures the number of broadcasts that the processes can complete per time unit when there is contention. All the protocols that have been designed so far make the assumption that the underlying network is not shared by other applications running. This is a major concern provided that in modern data centers (aka Clouds), the networking infrastructure is shared by several applications. The consequence is that, in such environments, uniform total order broadcast protocols exhibit unstable behaviors.In this thesis, I provide two contributions. The first contribution is MDC-Cast a new protocol for total order broadcasts in which it optimizes the performance of distributed systems when executed in multi-data center environments. MDC-Cast combines the benefits of IP-multicast in cluster environments and TCP/IP unicast to get a hybrid algorithm that works perfectly in between datacenters.The second contribution is an algorithm designed for debugging performance in black-box distributed systems. The algorithm is not published yet due to the fact that it needs more tests for a better generalization.
|
Page generated in 0.0282 seconds