CS699: Special Topics in Computer Science

Readings in Cloud, Fog, Edge Computing

Course Outline

CS699: Special Topics in Computer Science
Cloud, Fog, Edge Computing
Course Outline

Course Schedule and Learning Outcomes »

Module 1: Cloud Computing: Basic Concepts and Models
Precept 1: 8/9/2020 Introduction to EPL699: Aims, Tools, Resources
Learning outcome:
  • Be familiar with the requirements of the course.
  • Review some basic techniques for reading, reviewing, and presenting scientific papers.
  • Start forming your teams of 2-3 people.
Course Requirements: Reading, Reviewing and Presenting Scientific Papers Tools
  • Mendeley for Maintaining your Bibliography.
  • Zotero for Maintaining your Bibliography.
  • Overleaf for Paper Authoring.
  • SimpleMind for Mind Mapping and Idea Organization.
Videos:
Lecture 1: 8/9/2020 From Mainframes to the Cloud
Learning outcome:
  • Understand the evolution of ICT evolution leading to the introduction of Cloud Computing.
Readings:
Videos:
Lecture 2: 11/9/2020 Distributed Computing: Concepts, Models, Middleware
Learning outcome:
  • Review and explain key concepts: Middleware, Edge-to-Edge Arguments.
  • Understand and explain function decomposition concerns in the design of distributed systems.
  • Review, explain and apply distributed computing models, client-server computing, etc.
Readings:
  • Aiken, B., Strassner, J., Carpenter, B., Foster, I., Lynch, C., Mambretti, J., Moore, R., and Teitelbaum, B. “'Network Policy and Services: A Report of a Workshop on Middleware’, RFC 2768.,” 2000.
  • J. H. Saltzer, D. P. Reed, and D. D. Clark, “End-to-end arguments in system design,” ACM Trans. Comput. Syst., vol. 2, no. 4, pp. 277–288, Nov. 1984.
  • A. Carzaniga, G. Pietro Picco and G. Vigna, "Designing distributed applications with mobile code paradigms" Proceeding ICSE '97 Proceedings of the 19th international conference on Software engineering, 1997.
Precept 2: 15/9/2020 Group Projects Induction
Learning outcome:
  • Definition of Group Projects.
Readings:
Lecture 3: 15/9/2020 Cloud Computing: Definitions, Taxonomy, and State-of-the-Art.
Learning outcome:
  • Understand, explain and apply Cloud Computing Definitions
  • Understand and explain the key factors of the Cloud evolution.
  • Be familiar with the concepts of Edge, Cloud, IAAS, PAAS, SAAS.
Readings:
  • M. Armbrust et al., “A view of cloud computing,” Communications of the ACM, vol. 53, no. 4, p. 50, 2010.
  • R. Barga, D. Gannon, and D. Reed, “The client and the cloud: Democratizing research computing,” IEEE Internet Comput., vol. 15, no. 1, pp. 72–75, 2011.
  • Flexera. (2020). 2020 Flexera State of the Cloud Report. 1–19.
Additional Readings (Cloud Computing definitions):
  • Armbrust, A. Fox, and R. Griffith, M. (2009). Above the clouds: A Berkeley view of cloud computing. In University of California, Berkeley, Tech. Rep. UCB. https://doi.org/10.1145/1721654.1721672
  • Fang Liu, Jin Tong, Jian Mao, Robert Bohn, John Messina, L. B. and D. L. (2011). NIST Cloud Computing Reference Architecture: Recommendations of the National Institute of Standards and Technology. 35. https://doi.org/500-299
Videos:
Lecture 4: 18/9/2020 Modern Computing Landscape
Learning outcome:
  • Discuss and understand trends in Cloud Computing development.
  • Understand and explain the current computing landscape.
  • Understand and explain concepts, key constraints and key challenges in Edge and Fog computing.
  • Memorize and use values of key properties of distributed systems' components and their evolution: CPU speed, network latencies, power consumption.
Readings:
  • O. Agmon Ben-Yehuda, M. Ben-Yehuda, A. Schuster, and D. Tsafrir, “The rise of RaaS,” Commun. ACM, vol. 57, no. 7, pp. 76–84, Jul. 2014.
  • M. Satyanarayanan, W. Gao, and B. Lucia, “The computing landscape of the 21st century,” HotMobile 2019 - Proc. 20th Int. Work. Mob. Comput. Syst. Appl., pp. 45–50, 2019.
Additional Readings (Modern Cloud Computing landscape): Additional Readings (Computer Architecture and Computer Networking):
  • J. L. Hennessy and D. A. Patterson, “A new golden age for computer architecture,” Commun. ACM, vol. 62, no. 2, pp. 48–60, 2019.
  • Limoncelli, T. A. (2012). "OpenFlow: A radical new idea in networking: An open standard that enables software-defined networking." Queue, 10(6), 40. https://doi.org/10.1145/2246036.2305856
  • A. Gupta and R. K. Jha, “A Survey of 5G Network: Architecture and Emerging Technologies,” IEEE Access, vol. 3. Institute of Electrical and Electronics Engineers Inc., pp. 1206–1232, 2015.
  • N. Feamster, J. Rexford, E. Z.-A. S. Computer, and U. 2014, “The road to SDN: an intellectual history of programmable networks,” in Dl.Acm.Org.
  • S. Sicari, A. Rizzardi, and A. Coen-Porisini, “5G In the internet of things era: An overview on security and privacy challenges,” Comput. Networks, vol. 179, p. 107345, Oct. 2020.
Videos:
Module 2: Cloud Data Centers
Lecture 5: 22/9/2020 Warehouse Scale Computers
Learning outcome:
  • Understand and explain the basic characteristics of Warehouse Scale Computers.
  • Understand and explain the difference between Warehouse Scale Computers and data centers.
  • Understand and explain the software infrastructure building blocks of WSC.
Readings: Additional Reading:
Videos:
Precept 3: 22/9/2020 Experiences from WSC at Google and Facebook
Learning outcome:
  • Overview Experiences in Building and Operating Warehouse-scale Computers at Facebook, Google and Microsoft.
Readings:
  • Brad Smith and Carol Ann Browne. (2019). Tools and Weapons. Penguin Press. Chapter 1.
Videos:
Lecture 6: 25/9/2020 WSC Workloads and Software Infrastructure
Learning outcome:
  • Understand and explain the characteristics of typical workloads running on WSC.
  • Understand and explain the role of monitoring systems, and the concepts of blackbox monitoring and instrumentation.
  • Review, understand and explain common techniques for improving the performance and availability of WSC.
  • Understand and explain the concept of tail-latency.
  • Become familiar and explain the challenges arising from deploying cloud computing technologies in Warehouse Scale Computers, in particular for availability and resource isolation.
  • Understand and explain the concept of "Cloud native" software.
Readings: Additional Readings:
  • J. Dean and L. A. Barroso, “The tail at scale,” Commun. ACM, vol. 56, no. 2, pp. 74–80, Feb. 2013.
  • L. Barroso, M. Marty, D. Patterson, and P. Ranganathan, “Attack of the killer microseconds,” Commun. ACM, vol. 60, no. 4, pp. 48–54, Apr. 2017.
Videos:
Lecture 7: 29/9/2020 WSC Hardware Building Blocks
Learning outcome:
  • Understand and describe the hardware building blocks of WSC, such as cluster nodes, accelerators, TPUs and GPUs.
  • Understand and describe the structure and components of data centers' networking fabric, and its implications on application development.
  • Understand and describe main characteristics of WSC buildings and their power provision.
  • Understand and explain the basic power, cooling components of a modern data center.
  • Understand and explain the concept of energy efficiency in data centers, and associated mechanisms.
  • Understand, and explain the cost structure of running a modern data center, and the concept of TCO (total cost of ownership).
  • Explore, understand and explain concepts and techniques for energy-efficiency in data centers.
  • Explore, understand and explain concepts of green data centers.
Readings:
  • Barroso, L. A., & Holzle, U. (2015). The data center as a Computer. An Introduction to the Design of Warehouse-Scale Machines. In Synthesis Lectures on Computer Architecture (Vol. 2, Issue 1). Morgan & Claypool Publishers. Chapter 7.
  • J. Frazelle, “Power to the people. Reducing data center carbon footprints.,” ACM Queue, vol. 18, no. 2, 2020.
  • A. Woods, “Cooling the data center,” Queue, vol. 8, no. 3, pp. 1–10, 2010.
  • D. J. Brown and C. Reams, “Toward Energy-Efficient Computing,” ACM Queue, vol. 8, no. 2, 2010.
Videos:
Precept 4: 29/9/2020 Modeling data center Total Cost of Ownership
Learning outcome:
  • Explore and critically review literature on TCO.
Readings:
  • D. Hardy, M. Kleanthous, I. Sideris, A. G. Saidi, E. Ozer, and Y. Sazeides, “An analytical framework for estimating TCO and exploring data center design space,” in ISPASS 2013 - IEEE International Symposium on Performance Analysis of Systems and Software, 2013, pp. 54–63.
Lecture 8: 2/10/2020 WSC Buildings: Main Components and Energy Efficiency
Learning outcome:
  • Understand and explain the Tier classification of data centers.
  • Understand and describe the role and functionality of power and cooling systems of modern data centers.
  • Understand and explain the functionality and role of Uninterruptible Power Systems and Power Distribution Units.
  • Understand, invoke and explain acronyms like UPS, PDU, CRAC.
  • Understand, explain and use metrics for data center energy efficiency.
  • Understand and explain how we measure data center energy efficiency.
  • Understand, invoke and explain acronyms like PUE, SPUE.
  • Illustrate the typical PUE, SPUE range of values we see in modern WSC.
  • Apply energy efficiency metrics and values to estimate the overhead of running a Cloud service.
Readings:
  • Barroso, L. A., & Holzle, U. (2015). The data center as a Computer. An Introduction to the Design of Warehouse-Scale Machines. In Synthesis Lectures on Computer Architecture (Vol. 2, Issue 1). Morgan & Claypool Publishers. Chapter 4, 5.
Lecture 9: 6/10/2020 Energy Efficiency of Computing, TCO
Learning outcome:
  • Review and explain what energy efficiency means in the context of computer architecture.
  • Understand and explain the sources of energy inefficiency in IT components.
  • Analyze and explain how energy efficiency is measured and why?
  • Recall and analyze the key challenges faced by WSC from the energy efficiency perspective.
  • Understand and explain the concept of energy proportionality.
  • Explain what TCO means and which are its main parameters.
  • Review and explain the parameters determining the cost of ownership of data centers.
  • Analyze and formulate the TCO
Readings:
  • Barroso, L. A., & Holzle, U. (2015). The data center as a Computer. An Introduction to the Design of Warehouse-Scale Machines. In Synthesis Lectures on Computer Architecture (Vol. 2, Issue 1). Morgan & Claypool Publishers. Chapters 5, 6.
Precept 5: 6/10/2020 Green Data Centers
Learning outcome:
  • Understand and explain the concept of Green Data Centers and the technical challenges arising in the design and implementation of Green Data Centers.
Readings:
  • F. Kong and X. Liu, “A survey on green-energy-aware power management for data centers,” ACM Computing Surveys, vol. 47, no. 2. Association for Computing Machinery, pp. 1–38, 01-Aug-2014.
Additional Readings:
  • L. Wang and S. U. Khan, “Review of performance metrics for green data centers: A taxonomy study,” Journal of Supercomputing. 2013.
  • ENEDI Project (2018). Deliverable Π.3.3.1 - Study of Energy Management System.
  • K. Bilal et al., “A taxonomy and survey on Green Data Center Networks,” Futur. Gener. Comput. Syst., vol. 36, pp. 189–208, 2014.
Lecture 10: 9/10/2020 CAP Theorem
Learning outcome:
  • Understand and explain the concepts of availability, replication and partitioning.
  • Understand, analyze and apply the concepts of MTBF, MTTR, Yield and Harvest.
  • Understand and analyze the CAP theorem.
  • Understand and explain the implications of CAP for Cloud system and application design.
Readings:
  • A. Fox and E. A. Brewer, “Harvest, yield, and scalable tolerant systems,” Proc. Work. Hot Top. Oper. Syst. - HOTOS, pp. 174–178, 1999.
Additional Readings:
  • Neocleous, K., Dikaiakos, M. D., Fragopoulou, P., & Markatos, E. P. (2007). Failure management in Grids: The case of the EGEE infrastructure. Parallel Processing Letters, 17(4), 391–410. https://doi.org/10.1142/S0129626407003113.
  • E. A. Brewer, “Lessons from giant-scale services,” IEEE Internet Comput., vol. 5, no. 4, pp. 46–55, Jul. 2001.
  • E. Brewer, “CAP twelve years later: How the ‘rules’ have changed,” Computer (Long. Beach. Calif)., vol. 45, no. 2, pp. 23–29, Jan. 2012.
  • CAP Theorem (Wikipedia).
Videos:
Module 3: Virtualization, Containers and Orchestration
Lecture 11: 13/10/2020 Virtualization
Learning outcome:
  • Review basic Operating Systems' concepts of relevance to virtualization: core abstractions, layering, libraries, application binary interface, security and privilege management, protection rings, running in kernel vs. user mode.
  • Understand and explain different virtualization types.
  • Examine, understand and assess the concepts of server virtualization, virtual machines, and hypervisors.
  • Understand and explain techniques for implementing virtual machines: de-privileging, primary and shadow structures, memory tracing.
  • Become familiar with the OpenStack and VMWare virtualization platforms.
Readings: Overview, Introductory Concepts, History Readings: Virtualization Techniques
  • VMware, “Understanding Full Virtualization, ParaVirtualization, and Hardware Assist,” VMWare White Paper, 2007.
  • M. Pearce, S. Zeadally, and R. Hunt, “Virtualization: Issues, Security Threats, and Solutions,” ACM Comput. Surv., vol. 45, no. 2, pp. 1–39, 2013.
  • K. Adams and O. Agesen, “A comparison of software and hardware techniques for x86 virtualization,” in International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS, 2006, pp. 2–13.
  • RedHat, “What is Virtualization.”
Additional Readings
Precept 6: 13/10/2020 VM Management Frameworks
Learning outcome:
  • Examine, understand and assess techniques for using and managing virtual machines in IaaS clouds.
  • Understand and describe the problem of VM allocation to physical machines.
Readings:
Z. Georgiou presentation:
  • Z. A. Mann and Z. Adam, “Allocation of Virtual Machines in Cloud Data Centers—A Survey of Problem Models and Optimization Algorithms,” ACM Comput. Surv., vol. 48, no. 1, pp. 1–34, Aug. 2015.
  • I. Pietri and R. Sakellariou, “Mapping Virtual Machines onto Physical Machines in Cloud Computing,” ACM Comput. Surv., vol. 49, no. 3, pp. 1–30, 2016.
Lecture 12: 16/10/2020 Containers
Learning outcome:
  • Examine, understand and assess the concept of containers.
  • Understand and explain how is software installed on Docker containers?
  • Understand and explain how Docker containers manage storage and networking.
  • Understand and explain how Docker containers manage resource controls.
  • Understand, explain and apply Dockerfile specification for building container images.
  • Understand and explain the key differences and comparison between containers and VMs.
Readings: Additional Readings
Videos:
Precept 7: 20/10/2020 VM Management Frameworks
Learning outcome:
  • Understand and explain the design issues and functionality of VM management systems.
  • Understand and explain concepts and challenges related to resource management and orchestration in Cloud clusters.
  • Understand and explain concepts and challenges related to resource management and orchestration in Cloud clusters.
Readings:
A. Prokopiou presentation:
  • A. Gulati, A. Holler, M. Ji, G. Shanmuganathan, C. Waldspurger, and X. Zhu, “VMware distributed resource management: design, implementation, and lessons learned,” VMware Tech. J., vol. 1, no. 1, pp. 45-64, 2012.
Z. Georgiou presentation:
  • Y. F. Hsu, H. Kuwahara, K. Matsuda, and M. Matsuoka, “Toward a workload allocation optimizer for power saving in data centers,” in Proceedings - 2019 IEEE International Conference on Cloud Engineering, IC2E 2019, 2019, pp. 56–66.
  • B. Sotomayor, R. S. Montero, I. M. Llorente, and I. Foster, “Virtual infrastructure management in private and hybrid clouds,” IEEE Internet Comput., vol. 13, no. 5, pp. 14–22, 2009.
Lecture 13: 20/10/2020 VMs and Containers: Performance Evaluation
Learning outcome:
  • Explore, understand and explain how we evaluate the performance of Virtual Machines and Containers.
  • Explore, understand and explain the relative performance properties of Virtual Machines and Containers.
Readings - G. Argyriou presentation:
  • P. Sharma, L. Chaufournier, P. Shenoy, and Y. C. Tay, “Containers and virtual machines at scale: A comparative study,” in Proceedings of the 17th International Middleware Conference, Middleware 2016, pp. 1–13.
  • Manco, F., Mendes, J., Yasukata, K., Lupu, C., Kuenzer, S., Raiciu, C., Schmidt, F., Sati, S., & Huici, F. (2017). My VM is Lighter (and Safer) than your Container. SOSP 2017 - Proceedings of the 26th ACM Symposium on Operating Systems Principles, 16, 218–233. https://doi.org/10.1145/3132747.3132763
Lecture 14: 23/10/2020 Fogify: Emulating Fog Infrastructures with Containers
Learning outcome:
  • Become familiar and explain the main properties, techniques and characteristics of Fogify.
  • Become familiar and describe the functionality of Docker Compose and Docker Swarm.
Readings - M. Symeonidis presentation:
  • M. Symeonidis, Z. Georgiou, D. Trihinas, G. Pallis, M. D. Dikaiakos, "Fogify: A Fog Computing Emulation Framework." Proceedings of the 5th ACM/IEEE Symposium on Edge Computing (SEC ’20), San Jose, CA, USA Association for Computing Machinery, New York, NY, USA, 2020
  • M. Symeonides, Z. Georgiou, D. Trihinas, G. Pallis, M. D. Dikaiakos, "Demo: Emulating Geo-Distributed Fog Services", Proceedings of the 5th ACM/IEEE Symposium on Edge Computing (SEC ’20), San Jose, CA, USA, Association for Computing Machinery, New York, NY, USA, 2020.
Additional Readings
  • J. Nickoloff and S. Kuenzli (2019), Ch. 11-13, "Docker in Action" 2nd Edition, Manning.
Videos:
Lecture 15: 27/10/2020 Container Management Frameworks
Learning outcome:
  • Review and explain the key requirements and properties of Container Management Systems.
  • Become familiar and explain the main properties, techniques and characteristics of Cloud resource management systems, like Mesos and Borg.
  • Become familiar and describe the core functionalities of Docker Compose and Docker Swarm.
  • Become familiar and describe the Kubernetes technology.
Readings:
  • B. Burns, B. Grant, D. Oppenheimer, E. Brewer, and J. Wilkes, “Borg, Omega, and Kubernetes - Lessons Learned from Three Container-Management Systems over a Decade,” ACM Queue, vol. 14, no. February, pp. 70–93, 2016.
Reading - A. Kolani presentation:
  • B . Hindman et al., “Mesos: A platform for fine-grained resource sharing in the data center,” in Proceedings of NSDI 2011: 8th USENIX Symposium on Networked Systems Design and Implementation, 2011, pp. 295–308.
Reading - A. Gelasis presentation:
  • A. Verma, L. Pedrosa, M. R. Korupolu, D. Oppenheimer, E. Tune, and J. Wilkes, “Large-scale cluster management at Google with Borg,” in Proceedings of the European Conference on Computer Systems (EuroSys), 2015.
Additional Readings
  • Marko Lukša, "Kubernetes in Action," Manning, 2018.
  • Containerizing ZooKeeper with Twine: Powering container orchestration from within (2020) Christopher Bunn, Facebook.
  • J. Nickoloff and S. Kuenzli (2019), Ch. 11-13, "Docker in Action" 2nd Edition, Manning.
  • R. Peinl, F. Holzschuher, and F. Pfitzer, “Docker Cluster Management for the Cloud - Survey Results and Own Solution,” J. Grid Comput., vol. 14, no. 2, pp. 265–282, 2016.
Videos:
Module 4: Cloud Storage
Lecture 16: 30/10/2020 Cloud Storage
Learning outcome:
  • Understand and explain concepts and challenges related to storage in Cloud computing systems.
  • Understand, explain and apply the concepts of availability, consistency and replication in storage systems.
  • Review the challenges and capabilities of Cloud storage services.
M. Agroti presentation - Readings:
  • R. Peinl, F. Holzschuher, and F. Pfitzer, “Docker Cluster Management for the Cloud - Survey Results and Own Solution,” J. Grid Comput., vol. 14, no. 2, pp. 265–282, 2016.
M. Motis presentation - Readings:
  • Ghemawat, S., Gobioff, H., & Leung, S.-T. (2003). "The Google file system." Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles - SOSP ’03, 29. https://doi.org/10.1145/945445.945450
Readings - J. Georgiou presentation:
  • A. Lakshman and P. Malik, “Cassandra - A decentralized structured storage system,” in Operating Systems Review (ACM), 2010, vol. 44, no. 2, pp. 35–40.
Lecture 17: 3/11/2020 Cloud Storage (ctd')
Learning outcome:
  • Understand and explain concepts and challenges related to storage in Cloud computing systems.
  • Understand, explain and apply the concepts of availability, consistency and replication in storage systems.
  • Review the challenges and capabilities of Cloud storage services.
Readings - Chr. Christodoulou presentation:
  • K. Shvachko, H. Kuang, S. Radia, and R. Chansler, “The Hadoop distributed file system,” in 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies, MSST2010, 2010.
Readings - Ph. Pikrides presentation:
  • DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., & Vogels, W. (2007). "Dynamo: Amazon’s highly available key-value store." Operating Systems Review (ACM), 205–220. https://doi.org/10.1145/1294261.1294281
Additional Readings:
  • Bresnahan, J., Keahey, K., LaBissoniere, D., & Freeman, T. (2011). "Cumulus: An open source storage cloud for science." ScienceCloud’11 - Proceedings of the 2nd International Workshop on Scientific Cloud Computing, 25–31. https://doi.org/10.1145/1996109.1996115
  • Calder, B.et al. (2011). "Windows azure storage: A highly available cloud storage service with strong consistency." SOSP’11 - Proceedings of the 23rd ACM Symposium on Operating Systems Principles, 143–157. https://doi.org/10.1145/2043556.2043571
  • Cecchet, E., Candea, G., & Ailamaki, A. (2008). "Middleware-based database replication: The gaps between theory and practice." Proceedings of the ACM SIGMOD International Conference on Management of Data, 739–752. https://doi.org/10.1145/1376616.1376691
  • Brantner, M., Florescu, D., Graf, D., Kossmann, D., & Kraska, T. (2008). "Building a database on S3." Proceedings of the ACM SIGMOD International Conference on Management of Data, 3, 251–263. https://doi.org/10.1145/1376616.1376645
  • Kurra, H., Al-Nashif, Y., & Hariri, S. (2013). Resilient cloud data storage services. Proceedings of the 2013 ACM Cloud and Autonomic Computing Conference. https://doi.org/10.1145/2494621.2494634
  • Han, J., Haihong, E., Le, G., & Du, J. (2011). "Survey on NoSQL database." Proceedings - 2011 6th International Conference on Pervasive Computing and Applications, ICPCA 2011, 363–366. https://doi.org/10.1109/ICPCA.2011.6106531
Videos:
Precept 8: 3/11/2020 Cassandra vs other Cloud Databases
Topic:
  • Present and Discuss the progress in semester projects.
Videos:
Module 5: Cloud Programming Paradigms and Frameworks
Lecture 18: 6/11/2020 Big-Data Processing Platforms
Learning outcome:
  • Explore and understand the key concepts behind popular Big-data processing platforms.
  • Become familiar with Hadoop's programming model.
  • Explore and familiarize with Apache SPARK's ecosystem.
Readings:
  • J. Dean and S. Ghemawat, “MapReduce: Simplified data processing on large clusters,” in OSDI 2004 - 6th Symposium on Operating Systems Design and Implementation, 2004, pp. 137–149.
Readings - G. Argyriou presentation:
  • M. Zaharia et al., “Apache Spark: a unified engine for big data processing,” Commun. ACM, vol. 59, no. 11, pp. 56–65, 2016.
  • S. Tang, B. He, C. Yu, Y. Li, and K. Li, “A Survey on Spark Ecosystem for Big Data Processing,” arXiv:1811.08834, 2018.
  • M. Zaharia, M. Chowdhury, M. J. Franklin, S. Shenker, and I. Stoica, “Spark: Cluster computing with working sets,” 2nd USENIX Work. Hot Top. Cloud Comput. HotCloud 2010, 2010.
Readings - A. Gelasis presentation:
  • MV. K. Vavilapalli et al., “Apache hadoop YARN: Yet another resource negotiator,” in Proceedings of the 4th Annual Symposium on Cloud Computing, SoCC 2013, 2013, vol. 13, pp. 1–3.
Other Readings
Videos:
Lecture 19: 10/11/2020 Microservices
Learning outcome:
  • Review, understand, and explain the Microservices paradigm for Cloud application development.
  • Explore and understand the challenges of building and deploying Cloud applications as Microservices.
Readings: Readings - M. Kasioulis presentation:
  • M.G. Kakivaya et al., “Service Fabric: A Distributed Platform for Building Microservices in the Cloud,” Proc. 13th EuroSys Conf. EuroSys 2018, vol. 2018.
  • Y. Gan and C. Delimitrou, “The Architectural Implications of Cloud Microservices,” IEEE Comput. Archit. Lett., vol. 17, no. 2, pp. 155–158, Jul. 2018.
Readings - A. Prokopiou presentation:
  • E. Fadda, P. Plebani, M. Vitali. "Monitoring-aware Optimal Deployment for Applications based on Microservices," IEEE Transactions on Services Computing, 2019. https://doi.org/10.1109/tsc.2019.2910069
Optional Readings:
  • Microservices vs. SOA (2017) Ima Miri, DZone.
  • J. Thönes, “Microservices,” IEEE Software, vol. 32, no. 1. IEEE Computer Society, 01-Jan-2015.
  • N. Dragoni et al., “Microservices: Yesterday, today, and tomorrow,” in Present and Ulterior Software Engineering, Springer International Publishing, 2017, pp. 195–216.
  • O. Zimmermann, “Microservices tenets: Agile approach to service development and deployment,” Comput. Sci. - Res. Dev., vol. 32, no. 3–4, pp. 301–310, Jul. 2017.
Videos:
Precept 9: 10/11/2020 Microservice Management: Experiences and Practice
Learning outcome:
  • Explore the use of Microservice paradigm in practice.
  • Learn the basics of Service Management and how the Istio Service Mesh gives you the ability to secure, monitor, and control traffic between your services.
Lecture 20: 13/11/2020 Microservices and DevOps
Learning outcome:
  • Explore and become familiar with platforms and tools for Cloud Microservice development.
Readings - J. Georgiou presentation:
  • L. Leite, C. Rocha, F. Kon, D. Milojicic, and P. Meirelles, “A survey of DevOps concepts and challenges,” ACM Comput. Surv., vol. 52, no. 6, 2019.
  • A. Wiedemann, H. Gewald, H. Krcmar, and M. Wiesche, “The DevOps Phenomenon - An executive crash course,” ACM Queue, 2019.
  • D. Trihinas, A. Tryfonos, M. D. Dikaiakos, and G. Pallis, “DevOps as a Service: Pushing the Boundaries of Microservice Adoption,” IEEE Internet Comput., vol. 22, no. 3, pp. 65–71, May 2018.
Videos:
Lecture 21: 17/11/2020 Cloud Management Frameworks
Learning outcome:
  • Understand and discuss the role and functionality of Cloud Application Management Frameworks.
  • Explore and explain the TOSCA standard and its usefulness.
  • Study, explore, and explain the architecture, functionality and benefits of CAMF and CELAR.
  • Understand and explain the support of elasticity actions by Cloud Application Management Frameworks.
Readings - A. Kolani presentation:
  • Soldani, J., Binz, T., Breitenbücher, U., Leymann, F., & Brogi, A. (2016). ToscaMart: A method for adapting and reusing cloud applications. Journal of Systems and Software, 113, 395–406. https://doi.org/10.1016/j.jss.2015.12.025
  • Binz, T., Breitenbücher, U., Kopp, O., & Leymann, F. (2014). TOSCA: Portable automated deployment and management of cloud applications. Advanced Web Services, 9781461475, 527–549. https://doi.org/10.1007/978-1-4614-7535-4_22
  • Bellendorf, J., & Mann, Z. Á. (2020). Specification of cloud topologies and orchestration using TOSCA: a survey. Computing, 102(8), 1793–1815. https://doi.org/10.1007/s00607-019-00750-3.
Readings - M. Agroti presentation:
  • Loulloudes, N., Sofokleous, C., Trihinas, D., Dikaiakos, M. D., & Pallis, G. (2015). Enabling Interoperable Cloud Application Management through an Open Source Ecosystem. IEEE Internet Computing, 19(3), 54–59. https://doi.org/10.1109/MIC.2015.60.
  • Sofokleous, C., Loulloudes, N., Trihinas, D., Pallis, G., & Dikaiakos, M. D. (2014). C-Eclipse: An open-source management framework for cloud applications. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 8632 LNCS, 38–49. https://doi.org/10.1007/978-3-319-09873-9_4.
Lecture 22: 20/11/2020 Serverless Computing
Learning outcome:
  • Explore and become familiar with the serverless Cloud computing paradigm.
  • Understand and explain the main drivers and key concepts behind serverless computing and the Function-as-a-Service model.
  • Understand the key characteristics of FaaS and its differences from PaaS, SaaS and IaaS.
  • Understand the main limitations of current FaaS offerings.
Readings:
  • P. Castro, V. Ishakian, V. Muthusamy, and A. Slominski, “The rise of serverless computing,” Commun. ACM, vol. 62, no. 12, pp. 44–54, Nov. 2019.
  • E. Jonas et al., “Cloud Programming Simplified: A Berkeley View on Serverless Computing,” Feb. 2019.
Videos:
Lecture 23: 24/11/2020 Serverless Computing (ctd')
Learning outcome:
  • Explore and describe examples of structuring Cloud applications following the serverless paradigm.
  • Understand and describe limitations that current Cloud services pose to serverless applications.
  • Understand and explain the concepts of stateless vs. stateful functions; explain how stateful applications can be implemented on top of stateless functions.
Readings:
  • E. Jonas et al., “Cloud Programming Simplified: A Berkeley View on Serverless Computing,” Feb. 2019.
Readings - A. Proxenos presentation:
  • I. E. Akkus et al., “SAND: Towards High-performance Serverless Computing,” in Proceedings of the 2018 USENIX Conference on Usenix Annual Technical Conference, 2018, pp. 923–935.
  • Oakes, E., Yang, L., Zhou, D., Houck, K., Harter, T., Arpaci-Dusseau, A. C., & Arpaci-Dusseau, R. H. (2020). SOCK: Rapid task provisioning with serverless-optimized containers. Proceedings of the 2018 USENIX Annual Technical Conference, USENIX ATC 2018, 57–69, https://www.usenix.org/conference/atc18/presentation/oakes.
Readings - M. Motis presentation:
  • A. Agache et al., “Firecracker: Lightweight virtualization for serverless applications,” in Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2020, 2020, pp. 419–434.
Optional Additional Readings:
  • J. M. Hellerstein et al., “Serverless Computing: One Step Forward, Two Steps Back,” in Conference on Innovative Data Systems Research (CIDR), 2019.
Precept 10: 24/11/2020 Serveless computing with Amazon
Learning outcome:
  • Explore industrial serverless platforms.
Readings:
Lecture 24: 27/11/2020 Serverless Computing Research
Learning outcome:
  • Explore and describe technical characteristics of serverless platforms.
  • Explore, understand and describe techniques and results in comparing serverless to other Cloud computing paradigms.
Readings - M. Symeonidis presentation:
  • Wang, L., Li, M., Zhang, Y., Ristenpart, T., & Swift, M. (2018). Peeking Behind the Curtains of Serverless Platforms. 2018 USENIX Annual Technical Conference (USENIX ATC 18), 133–146. (slides).
  • Y. Gan et al. (2019). “An Open-Source Benchmark Suite for Microservices and Their Hardware-Software Implications for Cloud & Edge Systems,” in Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS ’19, 2019, pp. 3–18.
Readings - C. Christodoulou presentation:
  • D. Ardelean, A. Diwan, C. Erdman (2018). “Performance Analysis of Cloud Applications,” in Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI ’18), pp. 405–417.
Precept 11: 1/12/2020 Serveless computing tools
Learning outcome:
  • Explore the gg platform for massive parallelism over function-as-a-service infrastructures.
Readings - Ph. Pikridis presentation:
  • S. Fouladi et al., “From laptop to Lambda: Outsourcing everyday jobs to thousands of transient functional containers,” in Proceedings of the 2019 USENIX Annual Technical Conference, USENIX ATC 2019, 2019, pp. 475–488.
Videos:
Module 6: Fog and Edge Computing
Lecture 25: 1/12/2020 Industrial Edge Computing
Learning outcome:
  • Explore, understand and describe the architecture and technical challenges of industrial edge and fog infrastructures.
  • Explore, understand and describe the differences between fog and edge computing.
  • Study, understand and describe the key components of an autonomous vehicular edge platform.
Readings - M. Kasioulis presentation:
  • T. Qiu, J. Chi, X. Zhou, Z. Ning, M. Atiquzzaman, and D. O. Wu, “Edge Computing in Industrial Internet of Things: Architecture, Advances and Challenges,” IEEE Commun. Surv. Tutorials, pp. 1–1, Jul. 2020.
  • Y. Wang, L. Liu, X. Zhang, and W. Shi, “HydraOne: An indoor experimental research and education platform for CAVs,” in 2nd USENIX Workshop on Hot Topics in Edge Computing, HotEdge 2019, co-located with USENIX ATC 2019, 2019.
Lecture 26: 4/12/2020 Edge Computing
Learning outcome:
  • Explore, understand and describe the architecture and technical challenges of platforms offering edge services over IOT devices.
  • Explore, understand and describe the technical challenges involved in adopting blockchains and distributed ledgers in the context of edge infrastructures.
Readings - I. Savvides presentation:
  • K. Karlsson, W. Jiang, S. Wicker, E. Ma, R. Van Renesse, and H. Weatherspoon, “Vegvisir : A Partition-Tolerant Blockchain for the Internet-of-Things,” in 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).
  • A. Zavodovski, N. Mohan, W. Wong, and J. Kangasharju, “Open infrastructure for Edge: A distributed ledger outlook,” in 2nd USENIX Workshop on Hot Topics in Edge Computing, HotEdge 2019, co-located with USENIX ATC 2019, 2019.
Readings - G. Argyriou presentation:
  • F. Bakir, R. Wolski, C. Krintz, and G. S. Ramachandran, “Devices-as-services: Rethinking scalable service architectures for the internet of things,” in 2nd USENIX Workshop on Hot Topics in Edge Computing, HotEdge 2019, co-located with USENIX ATC 2019, 2019.
  • C. Cappiello et al., “Improving Health Monitoring With Adaptive Data Movement in Fog Computing,” Front. Robot. AI, vol. 7, p. 96, 2020.