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:
Symeonidis M., Georgiou Z., Trihinas D., Pallis G., Dikaiakos M. D.,
"Fogify: A Fog Computing Emulation Framework." (2020)
Fifth ACM/IEEE Symposium on Edge Computing (SEC '20) (accepted for publication).
J. Nickoloff and S. Kuenzli (2019), "Docker in Action." 2nd Edition, Manning.
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.
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
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.
M. Satyanarayanan, “A Brief History of Cloud Offload: A Personal Journey from Odyssey
Through Cyber Foraging to Cloudlets,”
ACM SIGMOBILE Mob. Comput. Commun. Rev., vol. 18, no. 4, pp. 19–23, 2015.
Trihinas, D., Papoutsakis, M., & Lampathaki, F. (editors) (2018):
Stakeholders
Requirements Analysis UNICORN Project (Deliverable D1.1).
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.
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.
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.
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.
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
E. Kotsovinos, “Virtualization: Blessing or Curse?,” Commun. ACM, vol. 54, no. 1, p. 61,
Jan. 2011.
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.
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:
J. Nickoloff and S. Kuenzli (2019), Ch. 2-8, "Docker in Action" 2nd Edition, Manning.
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.
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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.