Facultad Regional Santa Fe
Permanent URI for this communityhttp://48.217.138.120/handle/20.500.12272/113
Browse
4 results
Search Results
Item A multiserver unikernel for a distributed virtualization system based on coroutines(12th JCC-BD&ET, 2024-06) Pessolani, PabloNowadays, most Cloud applications are developed using MicroService Architecture (MSA). The scalability and performance of them is achieved by executing multiple instances of its components in different nodes of a virtualization cluster. Initially, they were deployed in Virtual Machines (VMs), but they required enough computational, memory, network and storage resources to hold an Operating System (OS), a set of utilities, libraries, and the application itself. By deploying hundreds of these applications, the requirement of resources increases a lot. To minimize them, usually small footprint OS are used. Later, as management tools were improved, the applications began to be deployed in Containers which require even less resources than VMs. Another way to reduce the resource requirements is integrating the application within a Unikernel where only the components used by the application are present. In a previous article, a Unikernel based on a multiserver OS called MUK was presented as a proof of concept. MUK runs as userspace process and its components runs as Linux threads. The communication between servers, tasks and external processes use a mechanism named M3-IPC which is the foundation of a Distributed Virtualization System. In this article a new version named MUK2 is presented which differs from MUK in that its uses coroutines to deploy its components. MUK2 was built to run inside a Container and both technologies facilitate the scattering of applications in a virtualization cluster keeping the isolation properties and minimal attack surface.Item An architecture model for a distributed virtualization system(2019-10) Pessolani, PabloThe Thesis is about an architecture model for a Distributed Virtualization System, which could expand a virtual execution environment from a single physical machine to several nodes of a cluster. With current virtualization technologies, computing power and resource usage of Virtual Machines (or Containers) are limited to the physical machine where they run. To deliver high levels of performance and scalability, cloud applications are usually partitioned in several Virtual Machines (or Containers) located on different nodes of a virtualization cluster. Developers often use that processing model because the same instance of the operating system is not available on each node where their components run. The proposed architecture model is suitable for new trends in software development because it is inherently distributed. It combines and integrates Virtualization and Distributed Operating Systems technologies with the benefits of both worlds, providing the same isolated instance of a Virtual Operating System on each cluster node. Although it requires the introduction of changes in existing operating systems, thousands of legacy applications would not require modifications to obtain their benefits. A Distributed Virtualization System is suitable to deliver high-performance cloud services with provider-class features, such as high-availability, replication, migration, and load balancing. Furthermore, it is able to concurrently run several isolated instances of different guest Virtual Operating Systems, allocating a subset of nodes for each instance and sharing nodes between them. Currently, a prototype is running on a cluster of commodity hardware provided with two kinds of Virtual Operating Systems tailored for internet services (web server) as a proof of concept.Item A multiserver user-space unikernel for a distributed virtualization system(IX Brazilian Symposium on Computing Systems Engineering, 2019-11) Pessolani, PabloNowadays, most Cloud applications are developed using Service Oriented Architecture (SOA) or MicroService Architecture (MSA). The scalability and performance of them is achieved by executing multiple instances of its components in different nodes of a virtualization cluster. Initially, they were deployed in Virtual Machines (VMs) but, they required enough computational, memory, network and storage resources to hold an Operating System (OS), a set of utilities, libraries, and the application component. By deploying hundreds of these application components, the resource requirements increase a lot. To minimize them, usually small OSs with small memory footprint are used. Another way to reduce the resource requirements is integrating the application components in a Unikernel. This article proposes a Unikernel called MUK, based on a multiserver OS, to be used as a tool to integrate Cloud application components. MUK was built to run in userspace of a Distributed Virtualization System. Both technologies facilitate the scattering of application components in a virtualization cluster keeping the isolation properties and minimal attack surface of a Unikernel.Item Service migration in a distributed virtualization system(IX Conference on Cloud Computing Conference, Big Data & Emerging Topics, 2021-06) Pessolani, Pablo; Re, Luis Santiago; Fleitas, Tomás AndrésCloud applications are usually formed by different components (microservices) that may be located in different virtual and/or physical computers. To achieve the desired level of performance, availability, scalability and robustness in this kind of system is necessary to develop and maintain a complex set of infrastructure configurations. Another approach would be to use a Distributed Virtualization System (DVS) that provides a transparent mechanism that each component could use to communicate with others, regardless of their location and thus, avoiding the potential problems and complexity added by their distributed execution. This communication mechanism already has useful features for developing distributed applications, such as replication support (active and passive) and process migration. In general, process migration is used when a node in the cluster is overloaded or it has been scheduled to be disconnected in order to save energy or to do maintenance tasks in it. When this occurs, it is very important that any application using any service running in that node does not end up being affected by the migration. This article describes the mechanisms used for the migration of server processes between nodes of a DVS cluster in a transparent way for client and server processes, and doing special focus on how to solve the problem of keeping client/server communications active even when the server process location has changed.