Spelling suggestions: "subject:"mutex"" "subject:"outex""
1 |
Robust and cheating-resilient power auctioning on Resource Constrained Smart Micro-GridsMarufu, Mufudzi Anesu Chapman 24 August 2018 (has links)
The principle of Continuous Double Auctioning (CDA) is known to provide an efficient way of matching supply and demand among distributed selfish participants with limited information. However, the literature indicates that the classic CDA algorithms developed for grid-like applications are centralised and insensitive to the processing resources capacity, which poses a hindrance for their application on resource constrained, smart micro-grids (RCSMG). A RCSMG loosely describes a micro-grid with distributed generators and demand controlled by selfish participants with limited information, power storage capacity and low literacy, communicate over an unreliable infrastructure burdened by limited bandwidth and low computational power of devices. In this thesis, we design and evaluate a CDA algorithm for power allocation in a RCSMG. Specifically, we offer the following contributions towards power auctioning on RCSMGs. First, we extend the original CDA scheme to enable decentralised auctioning. We do this by integrating a token-based, mutual-exclusion (MUTEX) distributive primitive, that ensures the CDA operates at a reasonably efficient time and message complexity of O(N) and O(logN) respectively, per critical section invocation (auction market execution). Our CDA algorithm scales better and avoids the single point of failure problem associated with centralised CDAs (which could be used to adversarially provoke a break-down of the grid marketing mechanism). In addition, the decentralised approach in our algorithm can help eliminate privacy and security concerns associated with centralised CDAs. Second, to handle CDA performance issues due to malfunctioning devices on an unreliable network (such as a lossy network), we extend our proposed CDA scheme to ensure robustness to failure. Using node redundancy, we modify the MUTEX protocol supporting our CDA algorithm to handle fail-stop and some Byzantine type faults of sites. This yields a time complexity of O(N), where N is number of cluster-head nodes; and message complexity of O((logN)+W) time, where W is the number of check-pointing messages. These results indicate that it is possible to add fault tolerance to a decentralised CDA, which guarantees continued participation in the auction while retaining reasonable performance overheads. In addition, we propose a decentralised consumption scheduling scheme that complements the auctioning scheme in guaranteeing successful power allocation within the RCSMG. Third, since grid participants are self-interested we must consider the issue of power theft that is provoked when participants cheat. We propose threat models centred on cheating attacks aimed at foiling the extended CDA scheme. More specifically, we focus on the Victim Strategy Downgrade; Collusion by Dynamic Strategy Change, Profiling with Market Prediction; and Strategy Manipulation cheating attacks, which are carried out by internal adversaries (auction participants). Internal adversaries are participants who want to get more benefits but have no interest in provoking a breakdown of the grid. However, their behaviour is dangerous because it could result in a breakdown of the grid. Fourth, to mitigate these cheating attacks, we propose an exception handling (EH) scheme, where sentinel agents use allocative efficiency and message overheads to detect and mitigate cheating forms. Sentinel agents are tasked to monitor trading agents to detect cheating and reprimand the misbehaving participant. Overall, message complexity expected in light demand is O(nLogN). The detection and resolution algorithm is expected to run in linear time complexity O(M). Overall, the main aim of our study is achieved by designing a resilient and cheating-free CDA algorithm that is scalable and performs well on resource constrained micro-grids. With the growing popularity of the CDA and its resource allocation applications, specifically to low resourced micro-grids, this thesis highlights further avenues for future research. First, we intend to extend the decentralised CDA algorithm to allow for participants’ mobile phones to connect (reconnect) at different shared smart meters. Such mobility should guarantee the desired CDA properties, the reliability and adequate security. Secondly, we seek to develop a simulation of the decentralised CDA based on the formal proofs presented in this thesis. Such a simulation platform can be used for future studies that involve decentralised CDAs. Third, we seek to find an optimal and efficient way in which the decentralised CDA and the scheduling algorithm can be integrated and deployed in a low resourced, smart micro-grid. Such an integration is important for system developers interested in exploiting the benefits of the two schemes while maintaining system efficiency. Forth, we aim to improve on the cheating detection and mitigation mechanism by developing an intrusion tolerance protocol. Such a scheme will allow continued auctioning in the presence of cheating attacks while incurring low performance overheads for applicability in a RCSMG.
|
2 |
Att skapa en fleranvändarmiljö : En kvalitativ fallstudie som undersöker tekniska aspekter och användarens perspektiv / Create a multi-user environment : A qualitative case study that examines technical aspects and the user's perspectiveGeijersson, Hampus, Strandberg, Erik January 2018 (has links)
Studien avsåg att olika aspekter för att skapa underlag för utvecklingen med att förbättra fleranvändning. Syftet var, utöver de olika aspekterna, att på konceptuell nivå utvärdera hur fleranvändning kan utföras tekniskt samt undersöka hur användarna påverkas av denna förändring. Detta har utförts genom flertalet workshops och intervjuer. Vid två tillfällen har också författarna till rapporten utbildats i hur systemet är uppbyggt och hur det används. Utifrån detta har värdekriterier värderats mot olika tekniker. De teknikerna är Mutex, Semaphores och Oracle Tuxedo. På det sättet har olika aspekter beaktats och konceptuella modeller har målats upp. De olika teknikerna lever alla upp till de tekniska kraven som ställts, som programmeringsspråket C# och en databas från Oracle. I samverkan mellan användare och utvecklare har nivån på lösningen tagits fram, vad den ger användarna för nytta samtidigt som det inte är för komplicerat. Dessutom har det ställts krav angående prestandan, att den inte får försämras väsentligt. Användarna får ett liknande arbetssätt med minskade krav på samordning. Det medför att de kan samarbeta med de datamängder de behöver. Den lösning som passade bäst utifrån dessa kriterier var Mutex. / This paper is intended to study different aspects and take them in consideration to create a foundation for the developers to improve a multi-user environment. The purpose was to evaluate how to develop multi-user systems at a conceptual level with the technical aspects and describe how the users were affected by this. The study is based on multiple workshops and interviews. The writers have also been educated on how the system is used by the users and how the system was built, at two separate occasions. Based on this, criterias were made and these were valued against different techniques. These techniques are Mutex, Semaphores and Oracle Tuxedo. The criterias were considered and conceptual models were made to visualize the solution. The different techniques all live up to the constraints from the hardware and software of the case study, like the programming language C# and a database from Oracle. In a cooperation between the developers and users have the level of the solution been defined, where the solution ease the problems enough and still not too complex to implement. There have also been a few directions on the performance of the system. The solution should not be affecting the performance significantly. The users’working methods are not going to be particularly affected. The main part of the cooperation are not as needed as before. They can work in the same dataset concurrent in the datasets they required. On this basis the best technique to use in this case was Mutex.
|
3 |
Conception et implémentation d'un langage de programmation concurrente modulaire / Design and implementation of a modular concurrent programming languageGrande, Johan 28 September 2015 (has links)
La programmation concurrente à mémoire partagée est un modèle classique de concurrence qui permet notamment de tirer parti des processeurs multicoeurs aujourd'hui très répandus dans les ordinateurs personnels. Les programmes concurrents sont sujets au problème des interblocages, notoirement difficiles à prévoir et à éliminer, en particulier dans le cas de l'utilisation du mécanisme de synchronisation très populaire que sont les mutex. Dans cette thèse nous avons travaillé à rendre plus aisée la programmation avec des mutex en étudiant des méthodes d'évitement des interblocages. Nous avons d'abord étudié une méthode utilisant une analyse statique par un système de types et d'effets, puis une variante de cette méthode dans un langage à typage dynamique. La seconde méthode est celle que nous avons le plus développée. Elle combine prévention et évitement des interblocages pour fournir une fonction de verrouillage sans interblocages expressive et utilisable. Nous l'avons implémentée sous forme d'une bibliothèque Hop (dialecte de Scheme). Ce faisant, nous avons développé un algorithme sans famine pour l'acquisition simultanée d'un nombre arbitraire de mutex, et identifié le concept d'interblocage asymptotique. Nous avons également été amenés à proposer une optimisation des exceptions (blocs finally). Nos tests de performances semblent indiquer un impact négligeable de l'utilisation de notre bibliothèque sur des applications concurrentes réelles. La majeure partie de notre recherche pourrait être appliquée à d'autres langages de programmation structurée tels que Java. / Shared-memory concurrency is a classic concurrency model which, among other things, makes it possible to take advantage of multicore processors that are now widespread in personal computers. Concurrent programs are prone to deadlocks which are notoriously hard to predict and debug. Programs using mutexes, a very popular synchronization mechanism, are no exception. In this thesis we studied deadlock avoidance methods with the aim of making programming with mutexes easier. We first studied a method that uses a static analysis by means of a type and effect system, then a variation on this method in a dynamically typed language. We developed more the second method. It mixes deadlock prevention and avoidance to provide an easy-to-use and expressive deadlock-free locking function. We implemented it as a Hop (dialect of Scheme) library. This lead us to develop a starvation-free algorithm to simultaneously acquire an arbitrary number of mutexes, and to identify the concept of asymptotic deadlock. While doing so, we also developped an optimization of exceptions(finally blocks). Our performance tests seem to show that using our library has negligible impact on theperformance of real-life applications. Most of our work could be applied to other structured programming languages such as Java.
|
4 |
Moderní plánovací algoritmy / Modern Planning AlgorithmsBinko, Petr January 2010 (has links)
This work describes graphplan, satplan and real-time adaptive A* planning algorithms. Through implementation of these algorithms, functionality and assumed attributes (real-time calculation, parallelism) are tested. These tests take place in nontrivial domains. Graphplan and satplan algorithms were tested in block-world, tire-world and bulldozer domains. Results of these tests were compared and displayed in graphs. Real-time adaptive A* algorithm was tested in tire-world domain. Results of these tests were compared with classic A* algorithm. Advantages and disadvantages of these algorithms are also described in this work.
|
Page generated in 0.0338 seconds