41 |
Replacing Virtual Machines and Hypervisors with Container SolutionsAlndawi, Tara January 2021 (has links)
We live in a world that is constantly evolving where new technologies and innovations are being introduced. This progress partly results in developing new technologies and also in the improvement of the current ones. Docker containers are a virtualization method that is one of these new technologies that has become a hot topic around the world as it is said to be a better alternative to today's current virtual machines. One of the aspects that has contributed to this statement is the difference from virtual machines where containers isolate processes from each other and not the entire operating system. The company Saab AB wants to be at the forefront of today's technology and is interested in investigating the possibilities with container technology. The purpose with this thesis work is partly to investigate whether the container solution is in fact an alternative to traditional VMs and what differences there are between these methods. This will be done with the help of an in-depth literature study of comperative studies between containers and VMs. The results of the comparative studies showed that containers are in fact a better alternative than VMs in certain aspects such as performance and scalability and are worthy for the company. Thus, in the second part of this thesis work, a proof of concept implementation was made, by recreating a part of the company’s subsystem TactiCall into containers, to ensure that this transition is possible for the concrete use-case and that the container solution works as intended. This task has succeeded in highlighting the benefits of containers and showing through a proof of concept that there is an opportunity for the company to transition from VMs into containers.
|
42 |
Improving the Response Time of M-Learning and Cloud Computing Environments Using a Dominant Firefly ApproachSekaran, Kaushik, Khan, Mohammad S., Patan, Rizwan, Gandomi, Amir H., Krishna, Parimala Venkata, Kallam, Suresh 01 January 2019 (has links)
Mobile learning (m-learning) is a relatively new technology that helps students learn and gain knowledge using the Internet and Cloud computing technologies. Cloud computing is one of the recent advancements in the computing field that makes Internet access easy to end users. Many Cloud services rely on Cloud users for mapping Cloud software using virtualization techniques. Usually, the Cloud users' requests from various terminals will cause heavy traffic or unbalanced loads at the Cloud data centers and associated Cloud servers. Thus, a Cloud load balancer that uses an efficient load balancing technique is needed in all the cloud servers. We propose a new meta-heuristic algorithm, named the dominant firefly algorithm, which optimizes load balancing of tasks among the multiple virtual machines in the Cloud server, thereby improving the response efficiency of Cloud servers that concomitantly enhances the accuracy of m-learning systems. Our methods and findings used to solve load imbalance issues in Cloud servers, which will enhance the experiences of m-learning users. Specifically, our findings such as Cloud-Structured Query Language (SQL), querying mechanism in mobile devices will ensure users receive their m-learning content without delay; additionally, our method will demonstrate that by applying an effective load balancing technique would improve the throughput and the response time in mobile and cloud environments.
|
43 |
Container overhead in microservice systems / Container overhead i microservice-systemFriðriksson, Vilhelm January 2018 (has links)
Containers have been gaining popularity in recent years due to their ability to provide higher flexibility, higher reliability and dynamic scalability to enterprise software systems. In order to fully utilize containers, software developers aim to build their software using microservice architecture, meaning that instead of working on a single large codebase for the whole project, the software is split into smaller units. These microservices can be deployed in their own container instead of the traditional virtual machine setup where a server has to configured with all necessary dependencies. Moving away from the monolithic software architecture to containerized microservices is bound to bring performance penalties due to increased network calls between services and container overhead. The integration must therefor be carefully planned in order to fully utilize the container setup while minimizing the overhead. The purpose of this thesis project was to measure how much overhead can be expected due to containers in an enterprise environment. By using a combination of virtual machines and Docker containers, a microservice system was deployed with four different deployment strategies and the system’s performance was measured by analyzing request response times under various loads. The services were made to run on a single server and on multiple servers, with and without Docker. The performance measurements showed that the system performed worse in every case when Docker was used. Furthermore, the results showed that Docker can have significant negative impact on performance when there is a heavy load on the system. / Containers har blivit populärare under de senaste åren tack vare deras förmåga att ge högre flexibilitet, högre tillförlitlighet och dynamisk skalbarhet för företagsprogramvarusystem. För att fullt ut kunna använda containers har programutvecklarna för avsikt att bygga sin programvara med hjälp av mikroservicearkitekturen, vilket innebär att programvaran delas upp i mindre enheter istället för att arbeta på en enda stor kodbas för hela projektet. Dessa mikroservices kan distribueras i sina egna containers istället för den traditionella virtuella maskininstallationen, där en server måste konfigureras med alla nödvändiga beroenden. Att flytta sig från monolitisk mjukvaruarkitektur till containeriserade microservices kommer att få prestandaförsämringar på grund av ökade nätverksanrop mellan tjänster och container-overhead. Integrationen måste därför noggrant planeras för att fullt ut utnyttja containeruppsättningen och minimera overhead. Syftet med detta avhandlingsprojekt var att mäta hur mycket overhead kan förväntas på grund av containers i en företagsmiljö. Genom att använda en kombination av virtuella maskiner och Dockercontainers, implementerades ett microservices-system med fyra olika implementeringsstrategier och systemets prestanda mättes genom att analysera anropens svarstid under olika belastningar. Tjänsterna gjordes för att köras på en enda server och på flera servrar, med och utan Docker. Prestandamätningarna visade att systemet var sämre i alla fall när Docker användes. Dessutom, visade resultaten att Docker kan ha signifikant negativ inverkan på prestanda när det är tung belastning på systemet.
|
44 |
HoloGo: um modelo de mobilidade de código orientado ao holoparadigma / Hologo: a strong code mobility model focused on the holoparadigmLermen, Gustavo 15 March 2007 (has links)
Made available in DSpace on 2015-03-05T13:58:26Z (GMT). No. of bitstreams: 0
Previous issue date: 15 / Nenhuma / A rápida popularização de dispositivos computacionais cada vez mais poderosos está trazendo a computação móvel para um grande número de pessoas. Na medida em que os dispositivos ganham mais poder computacional, diferentes aplicações podem ser desenvolvidas de modo a atender as necessidades de um número cada vez maior de usuários. Esta evolução, entretanto, não é livre de desafios. Com o aumento do número de usuários, a demanda por customização torna-se uma questão chave. Entre as soluções que oferecem a customização encontra-se a mobilidade de código. Neste sentido esta dissertação apresenta um modelo de mobilidade forte de código orientado ao Holoparadigma. Até então somente a mobilidade lógica era suportada, estando à mobilidade de código apenas na especificação. Este modelo é chamado HoloGo e foi desenvolvido tendo como base a HoloVM, uma máquina virtual com suporte a blackboards e programação concorrente. A validação deste modelo ocorreu através da implementação de um protótipo que foi utilizado no desen / The rapid popularization of increasingly powerful computational devices is setting the mobile computing into daily life of a great number of people. As devices evolve along with its computational power, many applications can be developed in order to accomplish the different needs of a growing number of users. This evolution, however, it is not free of challenges. As the number of users increase, the need of customization becomes a major concern. Among the solutions that offer customization to software applications is code mobility. In this way, this dissertation presents a strong code mobility model focused in the Holoparadigm. Until now only logical mobility was provided, being the code mobility only in the specification. This model is called HoloGo and was developed on top of HoloVM, a virtual machine with blackboards and concurrent programming support. HoloGo was validated through the implementation of a prototype used in the development of applications that use code mobility. In this context, the main con
|
45 |
Proceedings of the 9th Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS '10)January 2010 (has links)
Aspect-oriented programming, component models, and design patterns are modern and actively evolving techniques for improving the modularization of complex software. In particular, these techniques hold great promise for the development of "systems infrastructure" software, e.g., application servers, middleware, virtual machines, compilers, operating systems, and other software that provides general services for higher-level applications. The developers of infrastructure software are faced with increasing demands from application programmers needing higher-level support for application development. Meeting these demands requires careful use of software modularization techniques, since infrastructural concerns are notoriously hard to modularize.
Aspects, components, and patterns provide very different means to deal with infrastructure software, but despite their differences, they have much in common. For instance, component models try to free the developer from the need to deal directly with services like security or transactions. These are primary examples of crosscutting concerns, and modularizing such concerns are the main target of aspect-oriented languages. Similarly, design patterns like Visitor and Interceptor facilitate the clean modularization of otherwise tangled concerns.
Building on the ACP4IS meetings at AOSD 2002-2009, this workshop aims to provide a highly interactive forum for researchers and developers to discuss the application of and relationships between aspects, components, and patterns within modern infrastructure software. The goal is to put aspects, components, and patterns into a common reference frame and to build connections between the software engineering and systems communities.
|
46 |
CSOM/PL : a virtual machine product lineHaupt, Michael, Marr, Stefan, Hirschfeld, Robert January 2011 (has links)
CSOM/PL is a software product line (SPL) derived from applying multi-dimensional separation of concerns (MDSOC) techniques to the domain of high-level language virtual machine (VM) implementations. For CSOM/PL, we modularised CSOM, a Smalltalk VM implemented in C, using VMADL (virtual machine architecture description language). Several features of the original CSOM were encapsulated in VMADL modules and composed in various combinations. In an evaluation of our approach, we show that applying MDSOC and SPL principles to a domain as complex as that of VMs is not only feasible but beneficial, as it improves understandability, maintainability, and configurability of VM implementations without harming performance. / CSOM/PL ist eine Softwareproduktfamilie (software product line, SPL), die erstellt wurde, indem Techniken der mehrdimensionalen Belangtrennung (multi-dimensional separation of concerns, MDSOC) auf die Domäne der virtuellen Maschinen (VM) für höhere Programmiersprachen angewendet wurden. Dazu wurde CSOM, eine in C implementierte Smalltalk-VM, mittels VMADL (virtual machine architecture description language) in Module zerlegt. Etliche Eigenschaften von CSOM wurden in VMADL-Module gekapselt und auf unterschiedliche Weisen komponiert. Die Auswertung des Ansatzes zeigt, dass die Anwendung von MDSOC- und SPL-Prinzipien auf die komplexe VM-Domäne nicht nur machbar ist, sondern darüber hinaus auch Vorteile mit sich bringt, da die Verständlichkeit, Wartbarkeit und Konfigurierbarkeit von VM-Implementierungen ohne Beeinträchtigung der Ausführungsgeschwindigkeit verbessert werden.
|
47 |
PrefaceJanuary 2010 (has links)
Aspect-oriented programming, component models, and design patterns are modern and actively evolving techniques for improving the modularization of complex software. In particular, these techniques hold great promise for the development of "systems infrastructure" software, e.g., application servers, middleware, virtual machines, compilers, operating systems, and other software that provides general services for higher-level applications. The developers of infrastructure software are faced with increasing demands from application programmers needing higher-level support for application development. Meeting these demands requires careful use of software modularization techniques, since infrastructural concerns are notoriously hard to modularize.
Aspects, components, and patterns provide very different means to deal with infrastructure software, but despite their differences, they have much in common. For instance, component models try to free the developer from the need to deal directly with services like security or transactions. These are primary examples of crosscutting concerns, and modularizing such concerns are the main target of aspect-oriented languages. Similarly, design patterns like Visitor and Interceptor facilitate the clean modularization of otherwise tangled concerns.
Building on the ACP4IS meetings at AOSD 2002-2009, this workshop aims to provide a highly interactive forum for researchers and developers to discuss the application of and relationships between aspects, components, and patterns within modern infrastructure software. The goal is to put aspects, components, and patterns into a common reference frame and to build connections between the software engineering and systems communities.
|
48 |
Semantic view re-creation for the secure monitoring of virtual machinesCarbone, Martim 28 June 2012 (has links)
The insecurity of modern-day software has created the need for security monitoring applications. Two serious deficiencies are commonly found in these applications. First, the absence of isolation from the system being monitored allows malicious software to tamper with them. Second, the lack of secure and reliable monitoring primitives in the operating system makes them easy to be evaded.
A technique known as Virtual Machine Introspection attempts to solve these problems by leveraging the isolation and mediation properties of full-system virtualization. A problem known as semantic gap, however, occurs as a result of the low-level separation enforced by the hypervisor.
This thesis proposes and investigates novel techniques to overcome the semantic gap, advancing the state-of-the-art on the syntactic and semantic view re-creation for applications that conduct passive and active monitoring of virtual machines.
First, we propose a new technique for reconstructing a syntactic view of the guest OS kernel's heap state by applying a combination of static code and dynamic memory analysis. Our key contribution is the accuracy and completeness of our analysis. We also propose a new technique that allows out-of-VM applications to invoke and securely execute API functions inside the monitored guest's kernel, eliminating the need for the application to know details of the guest's internals. Our key contribution is the ability to overcome the semantic gap in a robust and secure manner. Finally, we propose a new virtualization-based event monitoring technique based on the interception of kernel data modifications. Our key contribution is the ability to monitor operating system events in a general and secure fashion.
|
49 |
Virtual time-aware virtual machine systemsYoginath, Srikanth B. 27 August 2014 (has links)
Discrete dynamic system models that track, maintain, utilize, and evolve virtual time are referred to as virtual time systems (VTS). The realization of VTS using virtual machine (VM) technology offers several benefits including fidelity, scalability, interoperability, fault tolerance and load balancing. The usage of VTS with VMs appears in two ways: (a) VMs within VTS, and (b) VTS over VMs. The former is prevalent in high-fidelity cyber infrastructure simulations and cyber-physical system simulations, wherein VMs form a crucial component of VTS. The latter appears in the popular Cloud computing services, where VMs are offered as computing commodities and the VTS utilizes VMs as parallel execution platforms.
Prior to our work presented here, the simulation community using VM within VTS (specifically, cyber infrastructure simulations) had little awareness of the existence of a fundamental virtual time-ordering problem. The correctness problem was largely unnoticed and unaddressed because of the unrecognized effects of fair-share multiplexing of VMs to realize virtual time evolution of VMs within VTS. The dissertation research reported here demonstrated the latent incorrectness of existing methods, defined key correctness benchmarks, quantitatively measured the incorrectness, proposed and implemented novel algorithms to overcome incorrectness, and optimized the solutions to execute without a performance penalty. In fact our novel, correctness-enforcing design yields better runtime performance than the traditional (incorrect) methods.
Similarly, the VTS execution over VM platforms such as Cloud computing services incurs large performance degradation, which was not known until our research uncovered the fundamental mismatch between the scheduling needs of VTS execution and those of traditional parallel workloads. Consequently, we designed a novel VTS-aware hypervisor scheduler and showed significant performance gains in VTS execution over VM platforms. Prior to our work, the performance concern of VTS over VM was largely unaddressed due to the absence of an understanding of execution policy mismatch between VMs and VTS applications. VTS follows virtual-time order execution whereas the conventional VM execution follows fair-share policy. Our research quantitatively uncovered the exact cause of poor performance of VTS in VM platforms. Moreover, we proposed and implemented a novel virtual time-aware execution methodology that relieves the degradation and provides over an order of magnitude faster execution than the traditional virtual time-unaware execution.
|
50 |
Modelo de virtualização distribuída aplicado ao gerenciamento e replicação de cluster multiuso /Aguiar, César de Souza. January 2008 (has links)
Orientador: Roberto Spolon Ulson / Banca: João Ângelo Martini / Banca: Paulo Sérgio da Silva / Resumo: Este trabalho apresenta um modelo de boot remoto para computadores commodity utilizando máquinas virtuais e sistemas de arquivos distribuídos e paralelos. O modelo proposto pode substituir o boot local com disco rígido por um boot através da rede de comunicação, aumentando assim a flexibilidade e manutenibilidade do parque de máquinas, além de permitir que dezenas de sistemas operacionais distintos sejam inicializados sem a necessidade de um disco rígido nos clientes, reduzindo dessa forma o custo em hardware e diminuindo a complexidade de instalação e manutenção de software, implantando um único ponto centralizado de gerenciamento. O projeto analisa maneiras de otimizar a transmissão de blocos de dados com técnicas de localidade de dados, sistemas de arquivos distribuídos e balanceamento de carga para implementar um ambiente robusto e de virtualização distribuída. O modelo também auxilia implementações de clusters multiuso e LAN grids para computadores commodity, provendo ferramentas para aproveitar recursos computacionais ociosos em conjuntos de computadores conectados. Neste estudo foram analisados diferentes modelos de sistemas de arquivos distribuídos, detalhando suas principais características e utilizações, e foram realizados experimentos com a virtualização distribuída juntamente com balanceamento de carga. A implantação de um sistema de arquivos híbrido através da integração de PVFS2 com pNFS trouxe melhorias de até 16% na velocidade de operações de leitura e permitiu maior escalabilidade da solução, assim como o gerenciamento de cache que permitiu a melhora de até 37% na velocidade de boot do middleware. Os resultados obtidos também viabilizaram o uso da solução para um grande número de computadores e possibilitaram o boot escalável de imagens virtuais remotamente. / Abstract: This work presents a remote boot model to commodity computers using virtual machines and distributed and parallel file system. The proposed model can replace the local hard disk boot to a boot over the network of communication, thereby increasing the flexibility and maintainability of the group of machines, and with that allowing dozens of different operating system to be initialized without the need of a hard disk on customers, thus reducing the cost in hardware and reducing the complexity of installation and maintenance of software, implementing a centralized management unit. The project examines ways to optimize the data block transmission with techniques of data locality, distributed file system and load balancing to implement a robust environment for distributed virtualization. The model also helps implementations of multiuse clusters and grids to commodity computers, providing tools to take advantage of idle computing resources in connected computers. In this study it was analyzed different models of distributed file system, detailing their main characteristics and uses, it was also conducted experiments with distributed virtualization along with load balancing, which showed improvements in the overall performance of the system. The deployment of a hybrid filesystem by mixing PVFS2 with pNFS brought improvements of up to 16% in the speed of operations for reading and allowed greater scalability of the solution, as well as the management of cache that allowed the improvement of up to 37% in speed the boot of middleware. The results also made possible the use of the solution for a large number of computers and allowed a scalable boot of virtual images remotely. / Mestre
|
Page generated in 0.0441 seconds