9 research outputs found

    A Generic Checkpoint-Restart Mechanism for Virtual Machines

    Full text link
    It is common today to deploy complex software inside a virtual machine (VM). Snapshots provide rapid deployment, migration between hosts, dependability (fault tolerance), and security (insulating a guest VM from the host). Yet, for each virtual machine, the code for snapshots is laboriously developed on a per-VM basis. This work demonstrates a generic checkpoint-restart mechanism for virtual machines. The mechanism is based on a plugin on top of an unmodified user-space checkpoint-restart package, DMTCP. Checkpoint-restart is demonstrated for three virtual machines: Lguest, user-space QEMU, and KVM/QEMU. The plugins for Lguest and KVM/QEMU require just 200 lines of code. The Lguest kernel driver API is augmented by 40 lines of code. DMTCP checkpoints user-space QEMU without any new code. KVM/QEMU, user-space QEMU, and DMTCP need no modification. The design benefits from other DMTCP features and plugins. Experiments demonstrate checkpoint and restart in 0.2 seconds using forked checkpointing, mmap-based fast-restart, and incremental Btrfs-based snapshots

    Towards Efficient Live Migration of I/O Intensive Workloads: A Transparent Storage Transfer Proposal

    Get PDF
    Live migration of virtual machines (VMs) is key feature of virtualization that is extensively leveraged in IaaS cloud environments: it is the basic building block of several important features, such as load balancing, pro-active fault tolerance, power management, online maintenance, etc. While most live migration efforts concentrate on how to transfer the memory from source to destination during the migration process, comparatively little attention has been devoted to the transfer of storage. This problem is gaining increasing importance: due to performance reasons, virtual machines that run I/O intensive workloads tend to rely on local storage, which poses a difficult challenge on live migration: it needs to handle storage transfer in addition to memory transfer. This paper proposes a completely hypervisor-transparent approach that addresses this challenge. It relies on a hybrid active push-prioritized prefetch strategy, which makes it highly resilient to rapid changes of disk state exhibited by I/O intensive workloads. At the same time, transparency ensures a maximum of portability with a wide range of hypervisors. Large scale experiments that involve multiple simultaneous migrations of both synthetic benchmarks and a real scientiïŹc application show improvements of up to 10x faster migration time, 5x less bandwidth consumption and 62% less performance degradation over state-of-art

    MemScrimper: Time- and Space-Efficient Storage of Malware Sandbox Memory Dumps

    Get PDF
    We present MemScrimper, a novel methodology to compress memory dumps of malware sandboxes. MemScrimper is built on the observation that sandboxes always start at the same system state (i.e., a sandbox snapshot) to analyze malware. Therefore, memory dumps taken after malware execution inside the same sandbox are substantially similar to each other, which we can use to only store the differences introduced by the malware itself. Technically, we compare the pages of those memory dumps against the pages of a reference memory dump taken from the same sandbox and then deduplicate identical or similar pages accordingly. MemScrimper increases data compression ratios by up to 3894.74% compared to standard compression utilities such as 7zip, and reduces compression and decompression times by up to 72.48% and 41.44%, respectively. Furthermore, MemScrimper’s internal storage allows to perform analyses (e.g., signature matching) on compressed memory dumps more efficient than on uncompressed dumps. MemScrimper thus significantly increases the retention time of memory dumps and makes longitudinal analysis more viable, while also improving efficiency

    Standart-konformes Snapshotting fĂŒr SystemC Virtuelle Plattformen

    Get PDF
    The steady increase in complexity of high-end embedded systems goes along with an increasingly complex design process. We are currently still in a transition phase from Hardware-Description Language (HDL) based design towards virtual-platform-based design of embedded systems. As design complexity rises faster than developer productivity a gap forms. Restoring productivity while at the same time managing increased design complexity can also be achieved through focussing on the development of new tools and design methodologies. In most application areas, high-level modelling languages such as SystemC are used in early design phases. In modern software development Continuous Integration (CI) is used to automatically test if a submitted piece of code breaks functionality. Application of the CI concept to embedded system design and testing requires fast build and test execution times from the virtual platform framework. For this use case the ability to save a specific state of a virtual platform becomes necessary. The saving and restoring of specific states of a simulation requires the ability to serialize all data structures within the simulation models. Improving the frameworks and establishing better methods will only help to narrow the design gap, if these changes are introduced with the needs of the engineers and developers in mind. Ultimately, it is their productivity that shall be improved. The ability to save the state of a virtual platform enables developers to run longer test campaigns that can even contain randomized test stimuli. If the saved states are modifiable the developers can inject faulty states into the simulation models. This work contributes an extension to the SoCRocket virtual platform framework to enable snapshotting. The snapshotting extension can be considered a reference implementation as the utilization of current SystemC/TLM standards makes it compatible to other frameworkds. Furthermore, integrating the UVM SystemC library into the framework enables test driven development and fast validation of SystemC/TLM models using snapshots. These extensions narrow the design gap by supporting designers, testers and developers to work more efficiently.Die stetige Steigerung der KomplexitĂ€t eingebetteter Systeme geht einher mit einer ebenso steigenden KomplexitĂ€t des Entwurfsprozesses. Wir befinden uns momentan in der Übergangsphase vom Entwurf von eingebetteten Systemen basierend auf Hardware-Beschreibungssprachen hin zum Entwurf ebendieser basierend auf virtuellen Plattformen. Da die EntwurfskomplexitĂ€t rasanter steigt als die ProduktivitĂ€t der Entwickler, entsteht eine Kluft. Die ProduktivitĂ€t wiederherzustellen und gleichzeitig die gesteigerte EntwurfskomplexitĂ€t zu bewĂ€ltigen, kann auch erreicht werden, indem der Fokus auf die Entwicklung neuer Werkzeuge und Entwurfsmethoden gelegt wird. In den meisten Anwendungsgebieten werden Modellierungssprachen auf hoher Ebene, wie zum Beispiel SystemC, in den frĂŒhen Entwurfsphasen benutzt. In der modernen Software-Entwicklung wird Continuous Integration (CI) benutzt um automatisiert zu ĂŒberprĂŒfen, ob eine eingespielte Änderung am Quelltext bestehende FunktionalitĂ€ten beeintrĂ€chtigt. Die Anwendung des CI-Konzepts auf den Entwurf und das Testen von eingebetteten Systemen fordert schnelle Bau- und Test-AusfĂŒhrungszeiten von dem genutzten Framework fĂŒr virtuelle Plattformen. FĂŒr diesen Anwendungsfall wird auch die FĂ€higkeit, einen bestimmten Zustand der virtuellen Plattform zu speichern, erforderlich. Das Speichern und Wiederherstellen der ZustĂ€nde einer Simulation erfordert die Serialisierung aller Datenstrukturen, die sich in den Simulationsmodellen befinden. Das Verbessern von Frameworks und Etablieren besserer Methodiken hilft nur die Entwurfs-Kluft zu verringern, wenn diese Änderungen mit BerĂŒcksichtigung der BedĂŒrfnisse der Entwickler und Ingenieure eingefĂŒhrt werden. Letztendlich ist es ihre ProduktivitĂ€t, die gesteigert werden soll. Die FĂ€higkeit den Zustand einer virtuellen Plattform zu speichern, ermöglicht es den Entwicklern, lĂ€ngere Testkampagnen laufen zu lassen, die auch zufĂ€llig erzeugte Teststimuli beinhalten können oder, falls die gespeicherten ZustĂ€nde modifizierbar sind, fehlerbehaftete ZustĂ€nde in die Simulationsmodelle zu injizieren. Mein mit dieser Arbeit geleisteter Beitrag beinhaltet die Erweiterung des SoCRocket Frameworks um Checkpointing FunktionalitĂ€t im Sinne einer Referenzimplementierung. Weiterhin ermöglicht die Integration der UVM SystemC Bibliothek in das Framework die Umsetzung der testgetriebenen Entwicklung und schnelle Validierung von SystemC/TLM Modellen mit Hilfe von Snapshots

    Vers une gestion coopérative des infrastructures virtualisées à large échelle (le cas de l'ordonnancement)

    Get PDF
    Les besoins croissants en puissance de calcul sont gĂ©nĂ©ralement satisfaits en fĂ©dĂ©rant de plus en plus d ordinateurs (ou noeuds) pour former des infrastructures distribuĂ©es. La tendance actuelle est d utiliser la virtualisation systĂšme dans ces infrastructures, afin de dĂ©coupler les logiciels des noeuds sous-jacents en les encapsulant dans des machines virtuelles. Pour gĂ©rer efficacement ces infrastructures virtualisĂ©es, de nouveaux gestionnaires logiciels ont Ă©tĂ© mis en place. Ces gestionnaires sont pour la plupart hautement centralisĂ©s (les tĂąches de gestion sont effectuĂ©es par un nombre restreint de nƓuds dĂ©diĂ©s). Cela limite leur capacitĂ© Ă  passer Ă  l Ă©chelle, autrement dit Ă  gĂ©rer de maniĂšre rĂ©active des infrastructures de grande taille, qui sont de plus en plus courantes. Au cours de cette thĂšse, nous nous sommes intĂ©ressĂ©s aux façons d amĂ©liorer cet aspect ; l une d entre elles consiste Ă  dĂ©centraliser le traitement des tĂąches de gestion, lorsque cela s avĂšre judicieux. Notre rĂ©flexion s est concentrĂ©e plus particuliĂšrement sur l ordonnancement dynamique des machines virtuelles, pour donner naissance Ă  la proposition DVMS (Distributed Virtual Machine Scheduler). Nous avons mis en Ɠuvre un prototype, que nous avons validĂ© au travers de simulations (notamment via l outil SimGrid), et d expĂ©riences sur le banc de test Grid 5000. Nous avons pu constater que DVMS se montrait particuliĂšrement rĂ©actif pour gĂ©rer des infrastructures virtualisĂ©es constituĂ©es de dizaines de milliers de machines virtuelles rĂ©parties sur des milliers de nƓuds. Nous nous sommes ensuite penchĂ©s sur les perspectives d extension et d amĂ©lioration de DVMS. L objectif est de disposer Ă  terme d un gestionnaire dĂ©centralisĂ© complet, objectif qui devrait ĂȘtre atteint au travers de l initiative Discovery qui fait suite Ă  ces travaux.The increasing need in computing power has been satisfied by federating more and more computers (called nodes) to build the so-called distributed infrastructures. Over the past few years, system virtualization has been introduced in these infrastructures (the software is decoupled from the hardware by packaging it in virtual machines), which has lead to the development of software managers in charge of operating these virtualized infrastructures. Most of these managers are highly centralized (management tasks are performed by a restricted set of dedicated nodes). As established, this restricts the scalability of managers, in other words their ability to be reactive to manage large-scale infrastructures, that are more and more common. During this Ph.D., we studied how to mitigate these concerns ; one solution is to decentralize the processing of management tasks, when appropriate. Our work focused in particular on the dynamic scheduling of virtual machines, resulting in the DVMS (Distributed Virtual Machine Scheduler) proposal. We implemented a prototype, that was validated by means of simulations (especially with the SimGrid tool) and with experiments on the Grid 5000 test bed. We observed that DVMS was very reactive to schedule tens of thousands of virtual machines distributed over thousands of nodes. We then took an interest in the perspectives to improve and extend DVMS. The final goal is to build a full decentralized manager. This goal should be reached by the Discovery initiative,that will leverage this work.NANTES-ENS Mines (441092314) / SudocSudocFranceF

    Fast and space efficient virtual machine checkpointing

    No full text
    í•™ìœ„ë…ŒëŹž (ì„ì‚Ź)-- 서욞대학ꔐ 대학원 : ì „êž°. ì»Ží“ší„°êł”í•™ë¶€, 2011.2. ìŽìžŹì§„.Maste
    corecore