5 research outputs found
Performance evaluation of data-centric workloads in serverless environments
Serverless computing is a cloud-based execution paradigm that allows provisioning resources on-demand, freeing developers from infrastructure management and operational concerns. It typically involves deploying workloads as stateless functions that take no resources when not in use, and is meant to scale transparently. To make serverless effective, providers impose limits on a per-function level, such as maximum duration, fixed amount of memory, and no persistent local storage. These constraints make it challenging for data-intensive workloads to take advantage of serverless because they lead to sharing significant amounts of data through remote storage. In this paper, we build a performance model for serverless workloads that considers how data is shared between functions, including the amount of data and the underlying technology that is being used. The model's accuracy is assessed by running a real workload in a cluster using Knative, a state-of-the-art serverless environment, showing a relative error of 5.52%. With the proposed model, we evaluate the performance of data-intensive workloads in serverless, analyzing parallelism, scalability, resource requirements, and scheduling policies. We also explore possible solutions for the data-sharing problem, like using local memory and storage. Our results show that the performance of data-intensive workloads in serverless can be up to 4.32= faster depending on how these are deployed.This work was partially supported by the Ministry of Economy of Spain under contract TIN2015-65316-P, the Ministry of Science under contract PID2019-107255GB-C21/AEI/10.13039/501100011033, and the Generalitat de Catalunya under contract 2014SGR1051.Peer ReviewedPostprint (author's final draft
Floki: a proactive data forwarding system for direct inter-function communication for serverless workflows
Serverless computing emerges as an architecture choice to build and run containerized data-intensive pipelines. It leaves the tedious work of infrastructure management and operations to the cloud provider, allowing developers to focus on their core business logic, decomposing their jobs into small containerized functions. To increase platform scalability and flexibility, providers take advantage of hardware disaggregation and require inter-function communication to go through shared object storage. Despite data persistence and recovery advantages, object storage is expensive in terms of performance and resources when dealing with data-intensive workloads. In this paper, we present Floki, a data forwarding system for direct and inter-function data exchange proactively enabling point-to-point communication between pipeline producer-consumer pairs of containerized functions through fixed-size memory buffers, pipes, and sockets. Compared with state-of-practice object storage, Floki shows up to 74.95脳 of end-to-end time performance increase, reducing the largest data sharing time from 12.55 to 4.33 minutes, while requiring up to 50,738脳 fewer disk resources, with up to roughly 96GB space release.This work was partially supported by the Ministry of Economy of Spain under contract TIN2015-65316-P, the Ministry of Science under contract PID2019- 107255GB-C21/AEI/10.13039/501100011033, and PID-126248OB-I00, and the Generalitat de Catalunya under contract 2014SGR1051.Peer ReviewedPostprint (author's final draft
Optimizing serverless architectures for data-intensive analytics workloads
Tesi amb menci贸 de Doctorat Internacional(English) Recently, serverless computing has garnered attention from academia and industry due to its on-demand resource provisioning, allowing users to focus solely on their core business logic by breaking down tasks into small stateless functions.
Serverless offers benefits like a 'pay-per-use' cost model, greater flexibility, and transparent elastic resource auto-scaling.
Researchers in academia and industry are increasingly exploring serverless computing's potential in complex, data-intensive analytics. These tasks, resource-heavy and highly parallel, involve significant inter-function communications. However, this shift presents challenges, requiring alignment with the specific needs and constraints of such applications. This research area is currently considered one of the most compelling areas of study.
This thesis shows that it is possible to efficiently execute modern data-intensive analytics workloads, traditionally deployed in managed cloud clusters, within serverless computing environments using direct data inter-function communication and optimized performance-cost efficient resource allocation policies. To demonstrate this thesis, we first build a performance model for serverless workloads, considering data sharing, volume, and communication technologies. The model, with a relative error of 5.52%, evaluates the performance of a representative workload in serverless, analyzing task granularity and concurrency, data locality, resource allocation, and scheduling policies. Our results indicate that the performance of data-intensive analytics workloads in serverless can be up to 4.32x faster depending on how these are deployed. Furthermore, this characterization highlights inefficiencies in centralized object storage and stresses the primary importance of efficient resource use.
We then introduce Floki, a data forwarding system that tackles the centralized object storage bottleneck. It enables direct communication between producer-consumer function pairs using fixed-size communication methods. Floki establishes point-to-point data channels for intra- and inter-node data transmission, allowing transparent data transfer and reducing network data copying. This workflow-oriented approach boosts performance and minimize resource requirements without restricting function placement.Our experimental evaluation, performed on the principal communication patterns in distributed systems, shows that Floki reduces the end-to-end time up to 74.95x, decreasing the most extensive data sharing time from 12.55 to 4.33 minutes, saving almost two-thirds of time. Additionally, Floki achieves up to 50,738x of resource-saving, equivalent to a memory allocation of approximately 1.9MB instead of an object storage allocation of 96GB.
Finally, we investigates how to achieve efficient resource utilization in modern serverless environments and proposes Dexter, a novel resource allocation manager, leveraging serverless computing elasticity. Dexter continuously monitors application execution, dynamically allocating resources at a fine-grained level combining predictive and reactive strategies to ensure performance-cost efficiency (optimizing total runtime cost). Unlike black-box Machine Learning (ML) models, Dexter reaches a sufficiently good solution, prioritizing simplicity, generality, and ease of understanding. The proposed experimental evaluation demonstrates that our solution achieves a significant cost reduction of up to 4.65x, while improving resource efficiency up to 3.50x, when compared with the default serverless Spark resource allocation that dynamically requests exponentially more executors to accommodate pending tasks. Dexter also enables substantial resource savings, demanding up to 5.71x fewer resources. Dexter is a robust solution to new, unseen workloads, achieving up to 2.72x higher performance-cost efficiency thanks to its conservative resource scaling approach.(Catal脿) Recentment, la inform脿tica sense servidor ha captat l'atenci贸 de l'acad猫mia i la ind煤stria pel seu aprovisionament de recursos a demanda, permetent als usuaris centrar-se exclusivament en la seva l貌gica de negoci principal descomponint les tasques en petites funcions sense estat.
La inform脿tica sense servidor ofereix avantatges com un model de cost 'pagament segons l'煤s', major flexibilitat i escalat autom脿tic transparent dels recursos.
Los investigadors estan explorant cada vegada m茅s el potencial de la inform脿tica sense servidor en an脿lisis complexos i intensius en dades. Aquestes tasques, pesades en recursos i altament paralleles, involucren comunicacions significatives entre funcions. No obstant aix貌, aquest canvi presenta reptes, requerint una alineaci贸 amb les necessitats i restriccions espec铆fiques d'aquestes aplicacions.
Aquesta tesi demostra que 茅s possible executar eficientment c脿rregues de treball modernes d'an脿lisis intensius en dades, tradicionalment desplegades en cl煤sters gestionats a la n煤vol, dins d'entorns d'inform脿tica sense servidor utilitzant comunicaci贸 directa entre funcions i pol铆tiques d'assignaci贸 de recursos optimitzades en rendiment i costos. Per demostrar aquesta tesi, primerament constru茂m un model de rendiment per a c脿rregues de treball sense servidor, considerant el compartiment de dades, el volum i les tecnologies de comunicaci贸. El model, amb un error relatiu del 5,52%, avalua el rendiment d'una c脿rrega de treball representativa en entorns sense servidor, analitzant la granularitat i la concurrencia de tasques, la localitzaci贸 de les dades, l'assignaci贸 de recursos i les pol铆tiques de planificaci贸. Els nostres resultats indiquen que el rendiment de les c脿rregues de treball d'an脿lisis intensius en dades pot ser fins a 4,32x m茅s r脿pid depenent de com estiguin desplegats.
A continuaci贸, presentem Floki, un sistema de reenviament de dades que aborda el coll d'ampolla de l'emmagatzematge centralitzat. Permet la comunicaci贸 directa entre parelles de funcions productor-consumidor utilitzant m猫todes de comunicaci贸 de mida fixa, permetent la transfer猫ncia de dades transparent i reduint la c貌pia de dades de xarxa. Aquest enfocament orientat al flux de treball millora el rendiment i minimitza els requisits de recursos sense restringir la ubicaci贸 de les funcions. La avaluaci贸 experimental, realitzada en els patrons de comunicaci贸 principals en sistemes distribu茂ts, mostra que Floki redueix el temps de punta a punta fins a 74,95x, disminuint el temps m茅s extens de compartici贸 de dades de 12,55 a 4,33 minuts, estalviant gaireb茅 dos ter莽os del temps. A m茅s a m茅s, Floki aconsegueix fins a 50.738x d'estalvi de recursos, equivalent a una assignaci贸 de mem貌ria d'aproximadament 1,9MB en lloc d'una assignaci贸 d'emmagatzematge d'objectes de 96GB.
Finalment, investiguem com aconseguir una utilitzaci贸 eficient dels recursos en els entorns moderns sense servidor i proposem Dexter, un nou gestor d'assignaci贸 de recursos, aprofitant l'elasticitat de la inform脿tica sense servidor. Dexter monitoritza de manera cont铆nua l'execuci贸 de l'aplicaci贸, assignant din脿micament recursos a un nivell de granularitat fina combinant estrat猫gies predictives i reactives per garantir l'efici猫ncia en rendiment-costos (optimitzant el cost total de temps d'execuci贸). A difer猫ncia dels models de Machine Learning (ML) de caixa negra, Dexter arriba a una soluci贸 prou bona, prioritzant la simplicitat, la generalitat i la facilitat d'entendre. L'avaluaci贸 experimental demostra que la soluci贸 aconsegueix una reducci贸 de costos significativa de fins a 4,65x, mentre millora l'efici猫ncia dels recursos fins a 3,50x, en comparaci贸 amb l'assignaci贸 de recursos per defecte de Spark sense servidor. Dexter tamb茅 permet fins a 5,71x de estalvis de recursos. Dexter 茅s una soluci贸 robusta per a c脿rregues de treball noves , aconseguint una efici猫ncia de rendiment-costos fins a 2,72x m茅s alta gr脿cies al seu enfocament conservador d'escalat de recursos.(Espa帽ol) Recientemente, la computaci贸n sin servidor ha captado la atenci贸n de la academia y la industria debido a su aprovisionamiento de recursos bajo demanda, permitiendo a los usuarios enfocarse 煤nicamente en la l贸gica central de sus negocios al descomponer tareas en peque帽as funciones sin estado.
La sin servidor ofrece beneficios como un modelo de costo 'pago por uso', mayor flexibilidad y auto-escalado transparente de recursos el谩sticos.
Los investigadores est谩n explorando cada vez m谩s el potencial de la computaci贸n sin servidor en an谩lisis complejos e intensivos en datos. Estas tareas, que requieren muchos recursos y son altamente paralelas, involucran una comunicaci贸n significativa entre funciones. Sin embargo, este cambio presenta desaf铆os, requiriendo alineaci贸n con las necesidades y limitaciones espec铆ficas de tales aplicaciones.
Esta tesis muestra que es posible ejecutar eficientemente cargas de trabajo modernas de an谩lisis intensivo en datos, tradicionalmente implementadas en cl煤steres en la nube gestionados, dentro de entornos de computaci贸n sin servidor utilizando comunicaci贸n directa entre funciones y pol铆ticas optimizadas de asignaci贸n de recursos eficientes en rendimiento-costo. Para demostrar esta tesis, primero construimos un modelo de rendimiento para cargas de trabajo sin servidor, considerando el intercambio de datos, el volumen y las tecnolog铆as de comunicaci贸n. El modelo, con un error relativo del 5.52%, eval煤a el rendimiento de una carga de trabajo representativa en sin servidor, analizando la granularidad y concurrencia de tareas, la localidad de los datos, la asignaci贸n de recursos y las pol铆ticas de programaci贸n. Nuestros resultados indican que el rendimiento de las cargas de trabajo de an谩lisis intensivo en datos puede ser hasta 4.32x m谩s r谩pido dependiendo de c贸mo se implementen.
Luego presentamos Floki, un sistema de env铆o de datos que aborda el cuello de botella del almacenamiento centralizado. Habilita la comunicaci贸n directa entre pares de funciones productor-consumidor utilizando m茅todos de comunicaci贸n de tama帽o fijo, permitiendo una transferencia de datos transparente y reduciendo la copia de datos de red. Este enfoque orientado al flujo de trabajo mejora el rendimiento y minimiza los requisitos de recursos sin restringir la ubicaci贸n de funciones. Nuestra evaluaci贸n experimental, realizada en los patrones de comunicaci贸n principales en sistemas distribuidos, muestra que Floki reduce el tiempo de extremo a extremo hasta 74.95x, disminuyendo el tiempo de intercambio de datos m谩s extenso de 12.55 a 4.33 minutos, ahorrando casi dos tercios del tiempo. Adem谩s, Floki logra hasta 50,738x de ahorro de recursos, equivalente a una asignaci贸n de memoria de aproximadamente 1.9MB en lugar de una asignaci贸n de almacenamiento de objetos de 96GB.
Finalmente, investigamos c贸mo lograr una utilizaci贸n eficiente de recursos en entornos modernos sin servidor y proponemos Dexter, un nuevo gestor de asignaci贸n de recursos, aprovechando la elasticidad de la computaci贸n sin servidor. Dexter monitorea continuamente la ejecuci贸n de la aplicaci贸n, asignando recursos de manera din谩mica a un nivel fino combinando estrategias predictivas y reactivas para garantizar la eficiencia en rendimiento-costo (optimizando el costo total de tiempo de ejecuci贸n). A diferencia de los modelos de Machine Learning (ML) de caja negra, Dexter alcanza una soluci贸n lo suficientemente buena, priorizando la simplicidad, generalidad y facilidad de comprensi贸n. La evaluaci贸n experimental demuestra que nuestra soluci贸n logra una reducci贸n significativa de costos de hasta 4.65x, al tiempo que mejora la eficiencia de recursos hasta 3.50x, en comparaci贸n con la asignaci贸n de recursos predeterminada de Spark sin servidor. Dexter tambi茅n permite hasta 5.71x de ahorros de recursos. Dexter es una soluci贸n robusta para cargas de trabajo nuevas, logrando hasta 2.72x m谩s eficiencia en rendimiento-costo gracias a su enfoque conservador de escalado de recursos.DOCTORAT EN ARQUITECTURA DE COMPUTADORS (Pla 2012