361 |
Minimizing Overhead for Fault Tolerance in Event Stream Processing SystemsMartin, André 17 December 2015 (has links)
Event Stream Processing (ESP) is a well-established approach for low-latency data processing enabling users to quickly react to relevant situations in soft real-time. In order to cope with the sheer amount of data being generated each day and to cope with fluctuating workloads originating from data sources such as Twitter and Facebook, such systems must be highly scalable and elastic. Hence, ESP systems are typically long running applications deployed on several hundreds of nodes in either dedicated data-centers or cloud environments such as Amazon EC2. In such environments, nodes are likely to fail due to software aging, process or hardware errors whereas the unbounded stream of data asks for continuous processing.
In order to cope with node failures, several fault tolerance approaches have been proposed in literature. Active replication and rollback recovery-based on checkpointing and in-memory logging (upstream backup) are two commonly used approaches in order to cope with such failures in the context of ESP systems. However, these approaches suffer either from a high resource footprint, low throughput or unresponsiveness due to long recovery times. Moreover, in order to recover applications in a precise manner using exactly once semantics, the use of deterministic execution is required which adds another layer of complexity and overhead.
The goal of this thesis is to lower the overhead for fault tolerance in ESP systems. We first present StreamMine3G, our ESP system we built entirely from scratch in order to study and evaluate novel approaches for fault tolerance and elasticity. We then present an approach to reduce the overhead of deterministic execution by using a weak, epoch-based rather than strict ordering scheme for commutative and tumbling windowed operators that allows applications to recover precisely using active or passive replication. Since most applications are running in cloud environments nowadays, we furthermore propose an approach to increase the system availability by efficiently utilizing spare but paid resources for fault tolerance. Finally, in order to free users from the burden of choosing the correct fault tolerance scheme for their applications that guarantees the desired recovery time while still saving resources, we present a controller-based approach that adapts fault tolerance at runtime. We furthermore showcase the applicability of our StreamMine3G approach using real world applications and examples.
|
362 |
Dynamische Verwaltung heterogener Kontextquellen in global verteilten SystemenHamann, Thomas 05 December 2008 (has links)
Im Rahmen der Dissertation wurde ein Middlewaredienst entwickelt und realisiert. Es gestattet die dynamische Verwaltung heterogener Kontextquellen. Das zugrunde liegende Komponentenmodell selbstbeschreibender Context Provieder ermöglicht die lose Kopplung von Kontextquellen und -senken. Es wird durch Filter- und Konverterkomponenten zur generischen Providersselektion anhand domänenspezifischer Merkmale ergänzt. Die Kopplung der verteilten Dienstinstanzen erfolgt durch ein hybrides Peer-to-Peer-System. Dies trägt der Heterogenität der Endgeräte Rechnung, und erlaubt die skalierbare , verteilte Verwaltung von Kontextquellen in globalen Szenarien.
|
363 |
Strategic management: Which factors affect the growth journey of software startups? / Strategisk management: Vilka faktorer påverkar software startups i dess tillväxtresa?Lind, Oscar, Flodin, Charlotte January 2020 (has links)
Purpose: The purpose of this study is to research the environment in which the IT-artifact exist, rather than the IT-artifact itself. Researching how founders of software startups manage their growth strategies, by researching essential internal and external factors and how they are represented in the founder’s growth strategy. This thesis is interested in the growth journey of startups, therefore we will study both software startups and software SMEs (small medium size enterprise). Research question: How does strategic management choices in the internal and external environment affect growth for software startups? Method: In this research we use a deductive approach, furthermore a qualitative research method was applied in order to gain a deeper understanding about the companies researched to answer our research question. We applied a comparative case study design as we wanted to analyze different cases/ companies and compared them both to each other using more or less identical methods. Semi-structured interviews were used as our preliminary data collection method as it allowed for flexibility. Conclusion: There is no perfect management strategy for software startups to achieve growth. The software industry is complex and rapidly changing, therefore the need to adapt and change the strategy to internal and external environment is essential to achieve growth. This research shows that the three most important factors affecting management strategies for growth in software startups are; (1) customers, (2) competitive advantage and (3) culture. Talented employees influence all the internal and external factors though the entire growth journey, both startups and SMEs. As the startup grows into being an SME, the internal organization factors become more important as well as scalability to achieve growth. / Syfte: Syftet med denna studie är att undersöka den miljö i vilken IT-artefakten existerar, snarare än själva IT-artefakten. Denna studie syftar vidare till att undersöka hur grundare av software startups hanterar sina tillväxtstrategier, detta genom att undersöka viktiga interna och externa faktorer och hur de representeras i tillväxtstrategin. Denna studie syftar vidare till att studera tillväxt-resan för software startups, därför kommer vi studera både software startups och software SME:s (små och medelstora företag). Forskningsfråga: Hur påverkar strategiska managementval i den interna och externa miljön tillväxten för software startups? Metod: I denna forskning använder vi en deduktiv ansats, även en kvalitativ forskningsmetod användes för att få en djupare förståelse om de företag som studerades för att kunna besvara forskningsfrågan. Vi använde en komparativ design av fallstudier eftersom vi ville analysera olika fall/företag och jämföra dem med/mot varandra med mer eller mindre identiska metoder. Semistrukturerade intervjuer användes som vår preliminära metod för insamling av data eftersom det möjliggjorde flexibilitet i intervjuerna. Slutsats: Det finns ingen perfekt managementstrategi för software startups för att uppnå tillväxt. Programvaruindustrin (software) är komplex och förändras snabbt, därför är behovet av att anpassa och ändra strategin till intern och extern miljö avgörande för att uppnå tillväxt. Denna forskning visar att de tre viktigaste faktorerna som påverkar förvaltningsstrategier för tillväxt i software startups är; (1) kunder, (2) konkurrensfördel och (3) kultur. Talangfulla anställda påverkar alla dessa interna och externa faktorer genom hela tillväxtresan, både startups och små och medelstora företag (SME). När startups:en växer till att bli ett SME blir de interna organisations faktorerna viktigare samt skalbarhet för att uppnå tillväxt.
|
364 |
Dynamic connection handling for scalable robotic systems using ROS2Dust, Lukas Johannes, Persson, Emil January 2022 (has links)
Multi-agent robot systems, especially for mobile robots in dynamic environments interacting with humans, have seen an increased interest over the past years. Many vehicle manufactures (e.g.Volvo GTO) have been following the trend and has started investigating a possible implementation of an autonomous-transport robot system for material delivery in production environments.First implementations of a system have been built using ROS2 and initialising static amounts of participating robots.Throughout this thesis, scalability is emphasised to enhance and add new use cases to the system.This thesis investigates possible improvements for the system by adding a dynamic connection handling, which allows robots to connect and disconnect under the system's run time.Furthermore, the performance of the connection handling in the system is evaluated in simulation for increasing system complexity in terms of the amount of connected robots.The first part of the thesis presents an approach for the dynamic connection and disconnection of robots to the network using service client communication approaches.An implementation is tested in a simulation based on an excerpt from the legacy system.Furthermore, two methods are proposed for detecting possible communication losses. The thesis work simulates the increase of the number of robots in the system at different publishing rates. It compares a many to one communication approach, where multiple robots communicate to a central node over one topic, to the one to one communication approach, where multiple robots communicate over particular topics to a central node.The simulations have shown that with an increase of nodes, the average data age and the data miss ratio in the one to one approach were significantly lower than in the multi to one approach.
|
365 |
A Cloud-native Vehicular Public Key Infrastructure : Towards a Highly-available and Dynamically- scalable VPKIaaS / En cloud-native public key infrastruktur för fordon : För ett VPKI med hög tillgänglihhet och dynamisk skalbarhetNoroozi, Hamid January 2021 (has links)
Efforts towards standardization of Vehicular Communication Systems (VCSs) have been conclusive on the use of Vehicular Public-Key Infrastructure (VPKI) for the establishment of trust among network participants. Employing VPKI in Vehicular Communication (VC) guarantees the integrity and authenticity of Cooperative Awareness Messages (CAMs) and Decentralized Environmental Notification Messages (DENMs). It also offers a level of privacy for vehicles as VPKI provides them with a set of non-linkable short-lived certificates, called pseudonyms, which are used to sign outgoing messages by vehicles while they communicate with other vehicles referred to as Vehicle-to-Vehicle (V2V) or Roadside Units (RSUs) referred to as Vehicle-to-Infrastructure (V2I). Each vehicle uses a pseudonym for its lifetime and by switching to a not- previously- used pseudonym, it continues to communicate without risking its privacy. There have been two approaches suggested by the literature on how to provide vehicles with pseudonyms. One is the so-called pre-loading mode, suggesting to pre-load vehicles with all pseudonyms they need, which increases the cost of revocation in case they are compromised. The other one is the on-demand mode, suggesting a real-time offering of pseudonyms by VPKI at vehicles request e.g., on starting each trip. Choosing the on-demand approach imposes a considerable burden of availability and resilience on VPKI services. In this work, we are confronting the problems regarding a large-scale deployment of an on-demand VPKI that is resilient, highly available, and dynamically scalable. In order to achieve that, by leveraging state-of-the-art tools and design paradigms, we have enhanced a VPKI system to ensure that it is capable of meeting enterprise-grade Service Level Agreement (SLA) in terms of availability, and it can also be cost-efficient as services can dynamically scale-out in the presence of high load, or possibly scale-in when facing less demand. That has been made possible by re-architecting and refactoring an existing VPKI into a cloud-native solution deployed as microservices. Towards having a reliable architecture based on distributed microservices, one of the key challenges to deal with is Sybil-based misbehavior. By exploiting Sybil-based attacks in VPKI, malicious vehicles can gain influential advantage in the system, e.g., one can affect the traffic to serve its own will. Therefore, preventing the occurrence of Sybil attacks is paramount. On the other hand, traditional approaches to stop them, often come with a performance penalty as they verify requests against a relational database which is a bottleneck of the operations. We propose a solution to address Sybil-based attacks, utilizing Redis, an in-memory data store, without compromising the system efficiency and performance considerably. Running our VPKI services on Google Cloud Platform (GCP) shows that a large-scale deployment of VPKI as a Service (VPKIaaS) can be done efficiently. Conducting various stress tests against the services indicates that the VPKIaaS is capable of serving real world traffic. We have tested VPKIaaS under synthetically generated normal traffic flow and flash crowd scenarios. It has been shown that VPKIaaS managed to issue 100 pseudonyms per request, submitted by 1000 vehicles where vehicles kept asking for a new set of pseudonyms every 1 to 5 seconds. Each vehicle has been served in less than 77 milliseconds. We also demonstrate that, under a flash crowd situation, with 50000 vehicles, VPKIaaS dynamically scales out, and takes ≈192 milliseconds to serve 100 pseudonyms per request submitted by vehicles. / Ansträngningar för standardisering av Vehicular Communication Systems har varit avgörande för användandet av Vehicular Public-Key Infrastructure (VPKI) för att etablera förtroende mellan nätverksdeltagare. Användande av VPKI i Vehicular Communication (VC) garanterar integritet och autenticitet av meddelanden. Det erbjuder ett lager av säkerhet för fordon då VPKI ger dem en mängd av icke länkbara certifikat, kallade pseudonym, som används medan de kommunicerar med andra fordon, kallat Vehicle-to-Vehicle (V2V) eller Roadside Units (RSUs) kallat Vehicle-to-Infrastructure (V2I). Varje fordon använder ett pseudonym under en begränsad tid och genom att byta till ett icke tidigare använt pseudonym kan det fortsätta kommunicera utan att riskera sin integritet. I litteratur har två metoder föreslagits för hur man ska ladda fordon med pseudonym de behöver. Den ena metoden det så kallade offline-läget, som proponerar att man för-laddar fordonen med alla pseudonym som det behöver vilket ökar kostnaden för revokering i fall de blir komprometterat. Den andra metoden föreslår ett on-demand tillvägagångssätt som erbjuder pseudonym via VPKI på fordonets begäran vid början av varje färd. Valet av på begäran metoden sätter en stor börda på tillgänglighet och motståndskraft av VPKI tjänster. I det här arbetet, möter vi problem med storskaliga driftsättningar av en på begäran VPKI som är motståndskraftig, har hög tillgänglighet och dynamiskt skalbarhet i syfte att uppnå dessa attribut genom att nyttja toppmoderna verktyg och designparadigmer. Vi har förbättrat ett VPKI system för att säkerställa att det är kapabelt att möta SLA:er av företagsklass gällande tillgänglighet och att det även kan vara kostnadseffektivt eftersom tjänster dynamiskt kan skala ut vid högre last eller skala ner vid lägre last. Detta har möjliggjorts genom att arkitekta om en existerande VPKI till en cloud-native lösning driftsatt som mikrotjänster. En av nyckelutmaningarna till att ha en pålitlig arkitektur baserad på distribuerade mikrotjänster är sybil-baserad missuppförande. Genom att utnyttja Sybil baserade attacker på VPKI, kan illvilliga fordon påverka trafik att tjäna dess egna syften. Därför är det av största vikt att förhindra Sybil attacker. Å andra sidan så dras traditionella metoder att stoppa dem med prestandakostnader. Vi föreslår en lösning för att adressera Sybilbaserade attacker genom att nyttja Redis, en in-memory data-store utan att märkbart kompromissa på systemets effektivitet och prestanda. Att köra våra VPKI tjänster på Google Cloud Platform (GCP) och genomföra diverse stresstester mot dessa har visat att storskaliga driftsättningar av VPKI as a Service (VPKIaaS) kan göras effektivt samtidigt som riktigt trafik hanteras. Vi har testat VPKIaaS under syntetisk genererat normalt trafikflöde samt flow och flash mängd scenarier. Det har visat sig att VPKIaaS klarar att utfärda 100 pseudonym per förfråga utsänt av 1000 fordon (där fordonen bad om en ny uppsättning pseudonym varje 1 till 5 sekunder), och varje fordon fått svar inom 77 millisekunder. Vi demonstrerar även att under en flashcrowd situation, där antalet fordon höjs till 50000 med en kläckningsgrad på 100. VPKIaaS dynamiskt skalar ut och tar ≈192 millisekunder att betjäna 100 pseudonymer per förfrågan gjord av fordon.
|
366 |
Dostupná řešení pro clustrování serverů / Available Solutions for Server ClusteringBílek, Václav January 2008 (has links)
The goal of this master thesis is to analyze Open Source resources for loadbalancing and high availability, with aim on areas of its typical usage. These areas are particularly solutions of network infrastructure (routers, loadbalancers), generally network and internet services and parallel filesystems. Next part of this thesis is analysis of design, implementation and plans of subsequent advancement of an fast growing Internet project. The effect of this growth is necessity of solving scalability on all levels. The last part is performance analysis of individual loadbalancing methods in the Linux Virtual Server project.
|
367 |
Distribuerade beräkningar med Kubernetes : Användning av Raspberry Pi och Kubernetes för distribuerade matematiska uträkningarMahamud, Abdirahman January 2023 (has links)
Under de senaste åren har stora datamängder blivit allt vanligare för beslutsfattande och analys. Maskininlärning och matematiska beräkningar är två avgörande metoder som används för detta. Dessa beräkningar kan dock vara tidskrävande, och de kräver högpresterande datorer som är utmanande att skala upp. Raspberry Pi är en liten, kraftfull och billig dator som lämpar sig för parallella beräkningar. Kubernetes är en öppen källkodsplattform för att hantera containerbaserade applikationer som tillåter automatisk skalning av mjukvaruapplikationer. Genom att kombinera Raspberry Pi med Kubernetes kan ett kostnadseffektivt och skalbart system för matematiska beräkningar och maskininlärning skapas. I denna studie undersöks möjligheten att bygga ett kostnadseffektivt och skalbart system för matematiska beräkningar och maskininlärning med hjälp av Raspberry Pi och Kubernetes. Det kommer att göras teoretisk forskning kring Kubernetes och Raspberry Pi, designa ett system för matematiska beräkningar och maskininlärning, implementera systemet genom att installera och konfigurera Kubernetes på flera Raspberry Pi:s, mäta och utvärdera systemets prestanda och skalbarhet samt presentera studiens resultat. Resultatet visade att användningen av Raspberry Pi i kombination med Kubernetes för att utföra matematiska beräkningar är både kostnadseffektiv och skalbar. När det gäller prestanda kunde systemet hantera intensiva beräkningsuppgifter på ett tillfredsställande sätt, vilket visar sin potential som en lösning för storskalig dataanalys. Förbättringar i systemdesign och mjukvaruoptimering kan ytterligare öka effektiviteten och prestanda / In the recent years, large data sets have become more often used for decision-making and analysis. Machine learning and mathematical calculations are two crucial methods employed for this. However, these computations may be time-consuming, and they require highperformance computers that are challenging to scale up. Raspberry Pi is a small, powerful, and cheap computer suitable for parallel calculations. Kubernetes is an open-source platform for managing container-based applications that allows automatic scaling of software applications. By combining Raspberry Pi with Kubernetes, a cost-effective and scalable system for mathematical calculations and machine learning can be created. In this study, the possibility of building a cost-effective and scalable system for mathematical calculations and machine learning using Raspberry Pi and Kubernetes is investigated. There will be theoretical research on Kubernetes and Raspberry Pi, design a system for mathematical calculations and machine learning, implement the system by installing and configuring Kubernetes on multiple Raspberry Pi's, measure and evaluate the system's performance and scalability, and present the study's results. The result showed that the use of Raspberry Pi in combination with Kubernetes to perform mathematical calculations is both cost-effective and scalable. In terms of performance, the system was able to handle intensive computational tasks satisfactorily, demonstrating its potential as a solution for large-scale data analysis. Improvements in system design and software optimization can further increase efficiency and performance.
|
368 |
IoT as Fog Nodes: An Evaluation on Performance and ScalabilityEzaz, Ishaq January 2023 (has links)
I takt med den exponentiella tillväxten av Internet of Things (IoT) har utmaningen att hantera den enorma mängden genererade data blivit allt större. Denna studie undersöker paradigmen med distribuerade dimdatorer, där kostnadseffektiva IoT-enheter används som dimnoder, som en potentiell lösning på de utmaningarna som det centraliserade molnet står inför. Skalbarheten och prestandan hos ett dimdatorsystem utvärderades under en rad olika arbetsbelastningar genererade av beräkningsintensiva uppgifter. Resultaten visade att en ökning av antal dimnoder förbättrade systemets skalbarhet och minskade den totala latensen. Dock visade det sig att konfigurationer med färre dimnoder presterade bättre vid lägre arbetsbelastningar, vilket understryker vikten av balansen mellan beräkningsuppgifter och kommunikationskostnaden. Sammantaget framhäver denna studie dimdatorkonceptets genomförbarhet som en effektiv och skalbar lösning för beräkningsintensiva databearbetning inom IoT. Trots att studiens fokus låg på latens, kan de insikter som vunnits vägleda framtida design och implementering av dimdatorsystem och bidra till de pågående diskussionerna om strategier för datahantering inom IoT. / With the exponential growth of the Internet of Things (IoT), managing the enormous amount of data generated has become a significant challenge. This study investigates the distributed paradigm of fog computing, using cost-effective IoT devices as fog nodes, as a potential solution for the centralized cloud. The scalability and performance of a fog computing system were evaluated under a range of workloads, using computationally intensive tasks reflective of real-world scenarios. Results indicated that with an increase in the number of fog nodes, system scalability improved, and the overall latency decreased. However, at lower workloads, configurations with fewer fog nodes outperformed those with more, highlighting the importance of the balance between computation and communication overheads. Overall, this study emphasizes the viability of fog computing as an efficient and scalable solution for data processing in IoT systems. Although the study primarily focused on latency, the insights gained could guide future design and implementation of fog computing systems and contribute to the ongoing discussions on IoT data processing strategies.
|
369 |
Clustering Uncertain Data with Possible WorldsLehner, Wolfgang, Volk, Peter Benjamin, Rosenthal, Frank, Hahmann, Martin, Habich, Dirk 16 August 2022 (has links)
The topic of managing uncertain data has been explored in many ways. Different methodologies for data storage and query processing have been proposed. As the availability of management systems grows, the research on analytics of uncertain data is gaining in importance. Similar to the challenges faced in the field of data management, algorithms for uncertain data mining also have a high performance degradation compared to their certain algorithms. To overcome the problem of performance degradation, the MCDB approach was developed for uncertain data management based on the possible world scenario. As this methodology shows significant performance and scalability enhancement, we adopt this method for the field of mining on uncertain data. In this paper, we introduce a clustering methodology for uncertain data and illustrate current issues with this approach within the field of clustering uncertain data.
|
370 |
Software Licensing in Cloud Computing : A CASE STUDY ABOUT RELATIONSHIPS FROM A CLOUD SERVICE PROVIDER’S PERSPECTIVEKabir, Sanzida January 2015 (has links)
One of the most important attribute a cloud service provider (CSP) offers their customers through their cloud services is scalability. Scalability gives customers the ability to vary the amount of capacity when required. A cloud service can be divided in three service layers, Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS). Scalability of a certain service depends on software licenses on these layers. When a customer wants to increase the capacity it will be determined by the CSP's licenses bought from its suppliers in advance. If a CSP scales up more than what was agreed on, then there is a risk that the CSP needs to pay a penalty fee to the supplier. If the CSP invests in too many licenses that does not get utilized, then it will be an investment loss. A second challenge with software licensing is when a customer outsources their applications to the CSP’s platform. As each application comes with a set of licenses, there is a certain level of scalability that cannot be exceeded. If a customer wants the CSP scale up more than usual for an application then the customer need to inform the vendors. However, a common misunderstanding is that the customer expects the CSP to notify the vendor. Then there is a risk that the vendor never gets notified and the customer is in danger of paying a penalty fee. This in turn hurts the CSP’s relationship with the customer. The recommendation to the CSP under study is to create a successful customer relationship management (CRM) and a supplier relationship management (SRM). By creating a CRM with the customer will minimize the occurring misunderstandings and highlight the responsibilities when a customer outsources an application to the CSP. By creating a SRM with the supplier will help the CSP to maintain a flexible paying method that they have with a certain supplier. Furthermore, it will set an example to the remaining suppliers to change their inflexible paying method. By achieving a flexible payment method with the suppliers will make it easier for the CSP to find equilibrium between scalability and licenses. / Ett av de viktigaste attributen en molnleverantör (CSP) erbjuder sina kunder genom sina molntjänster är skalbarhet. Skalbarheten ger kunden möjligheten att variera mängden kapacitet efter behov. En molntjänst kan delas in i tre serviceskikter, Infrastruktur-as-a-Service (IaaS), Platform-as-a-Service (PaaS) och Software-as-a-Service (SaaS). Skalbarheten av en viss service beror på mjukvarulicenser på dessa skikt. När en kund vill öka kapaciteten bestäms detta av CSP:s förhandsköpta licenser från sina leverantörer. Om en CSP skalar upp mer än vad som avtalats, finns det en risk att CSP:n måste betala en straffavgift till leverantören. Investerar CSP i alltför många licenser som inte utnyttjas, blir det en investeringsförlust. En annan utmaning med mjukvarulicenser uppstår när en kund lägger ut sina applikationer på CSP:s plattform. Eftersom varje applikation levereras med en uppsättning av licenser, finns det en bestämd nivå av skalbarhet som inte kan överskridas. Om en kund vill att CSP:n ska skala upp mer än vanligt för en applikation, måste kunden informera applikationsförsäljaren själv. Dock sker det en missuppfattning då kunden förväntar sig att CSP:n ska meddela säljaren om detta. Det finns en risk att säljaren aldrig blir informerad och kunden hamnar i stor risk för att betala en straffavgift. Detta i sin tur skadar CSP:s relation med kunden. Rekommendationen till CSP:n är att skapa en framgångsrik kundrelationshantering (CRM) och leverantörrelationshantering (SRM). Genom att skapa en CRM med kunden kan förekommande missförstånd minimeras och belysa ansvarsområden som råder när en kund lägger ut sin applikation hos CSP:n. Genom att skapa en SRM med leverantörerna kommer det att hjälpa CSP:n att upprätthålla en flexibel betalmetod som de har med en viss leverantör. Dessutom kommer det att vara ett föredöme för de övriga leverantörerna att ändra sin icke flexibla betalningsmetod. Genom att uppnå en mer flexibel betalningsmetod med leverantörerna kommer det att bli enklare för en CSP att hitta en balans mellan skalbarhet och licenser.
|
Page generated in 0.0548 seconds