Chapter 2: Fundamentals of Edge Computing
Abstract
This chapter provides a detailed exploration of edge computing’s fundamental technologies, models, and essential concepts within the framework of distributed computing. It examines the bidirectional computation flow central to the edge computing model, featuring technologies like computation offloading, 5G/6G communication, advanced storage systems, and lightweight libraries. Key edge programming models are introduced, emphasizing that edge computing complements, rather than replaces, cloud computing. The combined power of edge and cloud addresses big data challenges efficiently, while edge computing’s advantages and current challenges are discussed across application, architecture, and theoretical dimensions.
📝 Practice Questions
1. What are the key differences between distributed computing and centralized computing systems?
2. Describe the main functionalities of Hadoop's HDFS and how it supports distributed data storage.
3. Explain the basic concept of edge computing and its key characteristics.
4. Discuss the complementary relationship between edge computing and cloud computing.
5. Identify and explain two main challenges associated with implementing edge computing systems and propose potential solutions.
📘 Course Projects
1. Conduct a comparative analysis of Hadoop MapReduce and Apache Spark for big data processing. By setting up Hadoop and Spark to perform a specific data-processing task, the performance can be measured and compared in terms of execution time, resource usage, scalability, and ease of development and debugging.
2. Design and implement a hybrid edge-cloud computing system for real-time data processing. The edge-based component can be set up in a basic edge computing environment, and the cloud-based component can use a cloud service provider (e.g., AWS, Azure, and Google Cloud).
3. Explore the impact of latency on application performance. Set up a cloud-based application and measure its performance, then replicate the application in an edge computing environment and compare the results. Utilize tools like https://prometheus.io/ for monitoring and https://grafana.com/ for visualization to measure and compare latency.
📚 Suggested Papers
1. Rajkumar Buyya et al. "Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility". In: Future Generation Computer Systems 25. 6 (2009), pp. 599–616 | Paper.
2. Jeffrey Dean and Sanjay Ghemawat. "MapReduce: Simplified data processing on large clusters". In: Communications of the ACM 51. 1 (2008), pp. 107–113 | Paper.
3. Konstantin Shvachko et al. "The Hadoop distributed file system". In: 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST). IEEE. 2010, pp. 1–10 | Paper.
4. Lanyu Xu, Arun Iyengar, and Weisong Shi. "CHA: A caching framework for home-based voice assistant systems". In: 2020 IEEE/ACM Symposium on Edge Computing (SEC). IEEE. 2020, pp. 293–306 | Paper.
5. Shanhe Yi et al. "LAVEA: Latency-aware video analytics on edge computing platform". In: Proceedings of the 2nd ACM/IEEE Symposium on Edge Computing. 2017, pp. 1–13 | Paper.
6. Quan Zhang et al. "Firework: Big data sharing and processing in collaborative edge environment". In: 2016 4th IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb). IEEE. 2016, pp. 20–25 | Paper.