Por favor, use este identificador para citar o enlazar este ítem: http://hdl.handle.net/10609/147615
Registro completo de metadatos
Campo DC Valor Lengua/Idioma
dc.contributor.authorFinol, Gerard-
dc.contributor.authorArjona, Aitor-
dc.coverage.spatialBarcelona, ESP-
dc.coverage.spatialTarragona, ESP-
dc.date.accessioned2023-03-06T11:41:11Z-
dc.date.available2023-03-06T11:41:11Z-
dc.date.issued2021-06-29-
dc.identifier.urihttp://hdl.handle.net/10609/147615-
dc.description.abstractAccess transparency means that both local and remote resources are accessed using identical operations. Transparency simpli es the complexity of programming a distributed system because the system is perceived as a whole rather than a collection of independent components. With access transparency, we can treat disaggregated compute, storage, and memory resources as if they were a single monolithic machine. This would considerably simplify the creation and execution of parallel applications in the Cloud in a scalable manner. In this work, we evaluate the feasibility of access transparency over state-of-the-art Cloud disaggregated resources. We propose an alternative implementation of Python's multiprocessing API that transparently runs distributed processes on serverless functions and that leverages disaggregated in-memory storage to maintain the shared state of processes consistent and mediate their communication. To evaluate transparency, we have used four parallel stateful applications intended to be executed locally (Uber Research's Evolution Strategies, Baselines-AI's Proximal Policy Optimization, Pandaral·lel's dataframe and ScikitLearn's Hyperparameter tuning), and, without changing the code, we have scaled them with serverless technology. We compare execution time and scalability of the same application running over disaggregated resources using our library, with the single-machine Python libraries in a large VM. Despite the higher latency and lower throughput of communication, we achieve comparable results and we observe that the applications can continue to scale beyond VM limited resources leading to a better speedup and parallelism.en
dc.description.abstractLa transparencia de acceso significa que tanto los recursos locales como los remotos se acceden mediante operaciones idénticas. La transparencia simplifica la complejidad de programar un sistema distribuido porque el sistema se percibe como un todo y no como una colección de componentes independientes. Con la transparencia de acceso, podemos tratar los recursos de computación, almacenamiento y memoria desagregados como si fueran una única máquina monolítica. Esto simplificaría considerablemente la creación y ejecución de aplicaciones paralelas en la Nube de forma escalable. En este trabajo, evaluamos la viabilidad de la transparencia de acceso sobre recursos desagregados en la Nube de última generación. Proponemos una implementación alternativa de la API de multiprocesamiento de Python que ejecuta de forma transparente procesos distribuidos sobre funciones sin servidor y que aprovecha el almacenamiento desagregado en memoria para mantener consistente el estado compartido de los procesos y mediar en su comunicación. Para evaluar la transparencia, hemos utilizado cuatro aplicaciones paralelas con estado pensadas para ejecutarse localmente (Evolution Strategies de Uber Research, Proximal Policy Optimization de Baselines-AI, dataframe de Pandaral-lel e Hyperparameter tuning de ScikitLearn) y, sin cambiar el código, las hemos escalado con tecnología sin servidor. Comparamos el tiempo de ejecución y escalabilidad de la misma aplicación, ejecutándose sobre recursos desagregados usando nuestra librería, con las librerías Python de una sola máquina en una gran VM. A pesar de la mayor latencia y el menor rendimiento de la comunicación, logramos resultados comparables y observamos que las aplicaciones pueden seguir escalando más allá de los recursos limitados de la VM, lo que conduce a una mejor aceleración y paralelismo.es
dc.description.abstractLa transparència d'accés significa que tant els recursos locals com els remots s'accedeixen mitjançant operacions idèntiques. La transparència simplifica la complexitat de programar un sistema distribuït perquè el sistema es percep com un tot i no com una col·lecció de components independents. Amb la transparència d'accés, podem tractar els recursos de computació, emmagatzematge i memòria desagregats com si fossin una única màquina monolítica. Això simplificaria considerablement la creació i execució d'aplicacions paral·leles en el Núvol de manera escalable. En aquest treball, avaluem la viabilitat de la transparència d'accés sobre recursos desagregats en el Núvol d'última generació. Proposem una implementació alternativa de l'API de multiprocessament de Python que executa de manera transparent processos distribuïts sobre funcions sense servidor i que aprofita l'emmagatzematge desagregat en memòria per a mantenir consistent l'estat compartit dels processos i intervenir en la seva comunicació. Per a avaluar la transparència, hem utilitzat quatre aplicacions paral·leles amb estat pensades per a executar-se localment (Evolution Strategies d'Uber Research, Proximal Policy Optimization de Baselines-AI, dataframe de Pandaral-lel e Hyperparameter tuning de ScikitLearn) i, sense canviar el codi, les hem escalat amb tecnologia sense servidor. Comparem el temps d'execució i escalabilitat de la mateixa aplicació, executant-se sobre recursos desagregats usant la nostra llibreria, amb les llibreries Python d'una sola màquina en una gran VM. Malgrat la latència més gran i el menor rendiment de la comunicació, aconseguim resultats comparables i observem que les aplicacions poden continuar escalant més enllà dels recursos limitats de la VM, la qual cosa condueix a una millor acceleració i paral·lelisme.ca
dc.format.mimetypeapplication/pdf-
dc.language.isoengca
dc.publisherUniversitat Oberta de Catalunya (UOC)ca
dc.rightsCC BY-
dc.rights.urihttp://creativecommons.org/licenses/by/3.0/es/-
dc.subjecttransparencyen
dc.subjectdisaggregationen
dc.subjectserverlessen
dc.subjecttransparènciaca
dc.subjectdisgregacióca
dc.subjectsense servidorca
dc.subjecttransparenciaes
dc.subjectdisgregaciónes
dc.subjectsin servidores
dc.subject.lcshComputational complexity -- TFMen
dc.titleStudy of the Feasibility of Serverless Access Transparency for Python Multiprocessing Applicationsen
dc.typeinfo:eu-repo/semantics/masterThesisca
dc.audience.educationlevelEstudis de Màsterca
dc.audience.educationlevelEstudios de Másteres
dc.audience.educationlevelMaster's degreesen
dc.subject.lemacComplexitat computacional -- TFMca
dc.subject.lcshesComplejidad computacional -- TFMes
dc.contributor.tutorGarcia Lopez, Pedro-
dc.rights.accessRightsinfo:eu-repo/semantics/openAccess-
Aparece en las colecciones: Bachelor thesis, research projects, etc.

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
gfinol_aarjonapeFMDP0621report.pdfReport of FMDP4,6 MBAdobe PDFVista previa
Visualizar/Abrir
Comparte:
Exporta:
Consulta las estadísticas

Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons Creative Commons