[ca] 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.

[en] 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.