Suppose a biology lab creates 2 TB of new data for every wet lab experiment. A computer the speed of one EC2 instance takes 0.5 hour per GB to process the new data. The lab has the equivalent 5 instances locally. Explore the tradeoffs between computing the experiments in house, on Amazon, on Google Cloud, and on Microsoft’s Azure.
Considering the cost analysis presented in Jim Gray report, and the updated analysis presented in Table 5 of the "Above the clouds: A Berkeley view of cloud computing. University of California, Berkeley, Technical Report No. UCB/EECS-2009-28" discussed in class, your task is to update Table 5 with 2023 cost estimates of computing, storage, and networking. Explain where you got your data and provide references to the sources used.
Team: S. Efi, L. Charalambos
Generative AI has significantly impacted our daily lives by offering a diverse range of support for various tasks, including survey creation, text generation, text-to-image conversion, and more. While many of these models are initially developed as closed-source solutions, a wide array of such models are now publicly accessible. Machine learning repositories have played a crucial role in democratizing generative machine learning by providing pre-trained models that are readily deployable without the need for extensive retraining on separate datasets. In this context, small and medium-sized enterprises (SMEs) that integrate these models into their daily workflows often seek cost-effective methods to minimize execution expenses. One such method involves leveraging serverless computing and its Function as a Service (FaaS) programming paradigm. However, a significant challenge arises as companies cannot guarantee the accuracy and performance of these generative models until they are deployed and tested in real-world scenarios. To address these issues, this exercise focuses on enabling students to create a simple API utilizing AWS Lambda functions. They will deploy a set of generative models designed for text and/or image generation. Throughout this process, students will become acquainted with the Hugging Face models repository, AWS Lambda functions, and the AWS Chalice library, which offers a user-friendly programming interface for AWS Lambda development. Finally, students will formulate a series of queries and employ workload generation software, such as Taurus, to conduct comprehensive evaluation tests, covering aspects like latency, throughput, cold start times, and more.
Tools & libraries: Note: Students should create an AWS account and spend their free credits for this exerciseTeam: L. Antonis, Ch. Andreas, P. Panagiotis
Developing a generative AI-powered chatbot tailored for Fog/Edge Emulation deployments represents an exciting convergence of cutting-edge technology. This endeavor draws inspiration from the capabilities of advanced Generative AI models such as ChatGPT, which excel in comprehending and generating human-like text. The primary objective here is to harness the potential of these models to streamline and enrich the process of configuring Fog/Edge Emulation systems. To achieve this, students will design a user-friendly API that allows clients to submit their requirements for a Fog Computing infrastructure. The system will then extract relevant information from these inquiries and augment them with the corresponding context. This augmentation will be achieved through the implementation of prompt engineering techniques and in-context learning. Subsequently, the system will transmit these enhanced queries to a powerful large language model (LLM), such as the ChatGPT API, and relay the LLM's responses back to the client. Students will consider Fogify as the underlying emulation engine, and to facilitate their prompt engineering, they will utilize the modeling abstractions provided by Fogify's dedicated documentation page.
Tools & libraries:Federated Learning (FL) is transforming the realm of Artificial Intelligence (AI) by enabling collaborative model training among multiple clients in a distributed manner. With FL, geo-dispersed and sensitive data such as personal activity, bio-signals and financial records remain localized and unexposed to the other collaborators during training. FL embraces a client-server model in which training of model(s) is performed at the data origins and the FL server is focused on training coordination and the aggregation of model weights. There are FL frameworks through which users can introduce their models selecting only FL parameters like aggregation function, number of rounds, etc. Unfortunately, most of them need users to write different code to use different DL libraries (e.g., tensorflow, pytorch, etc.). In this work, students will alleviate this difficulty by integrating a general purpose FL system, namely flower, with a deep learning library, namely keras core, that allows users to write their models once and change the backend ML execution engine (TensorFlow, JAX, and PyTorch) by only changing a parameter. Moreover, keras provides a set of pre-defined models with their datasets. Based on these models, students would be able to evaluate the performance of different ML backend libraries, FL parameters (like aggregation algorithms), and so on.
Tools & libraries:Fog and Edge Computing is emerging as a dominant paradigm that bridges the computing and connectivity gap between sensing devices and latency-sensitive services. However, experimenting with and evaluating IoT services can be a formidable task, entailing manual configuration and deployment of a blend of geographically dispersed physical and virtual infrastructures, each with distinct resource and network requirements. This often leads to suboptimal, costly, and error-prone deployments due to unexpected overheads not initially considered during the design phase and conditions that do not accurately reflect the end-user environment. To address these challenges, users turn to Fog and Edge computing emulation frameworks that leverage cloud-based technologies, such as containers, to assess their applications before actual deployment. In this exercise, students will compare various emulation frameworks to highlight their key limitations, such as scalability, learning curve, and programmability. Students can leverage pre-existing containerized applications (e.g., Fogify’s demo) and deploy them on Fog and Edge Computing emulation frameworks like Containernet, Marvis, MaxiNet, etc. Subsequently, they will submit the generated codebase along with a report describing the challenges encountered during the process.
Tools & libraries: