macc2025
Mobile Applications and Cloud Computing
Mobile Applications and Cloud Computing
Lessons are in presence (start on Friday 27):
Monday 12:00 am-4:00 pm , room A5 - DIAG via Ariosto, 25
Friday 12:00 am-2:00 pm - room A5 - DIAG via Ariosto, 25
Office hours: Friday 3:00 pm (send me a confirmation mail first)
STREAMING VIA MEET
Cloud computing
Evolution of the cloud computing concept
Cloud computing models
Resource virtualization
Resource pooling, sharing, management and scaling
Warehouse Scale Computers (WSC)
Main cloud computing providers and services
Review of Basic queueing models
Mobile applications (Android)
Reference Frames and device orientation
Sensors
2D graphics basics
Core components: Activity, Broadcast Receiver, Service, Content provider
Modern Android Development (MAD)
AI and ML for mobile devices
Edge computing
The exam consists of two parts: an android project as specified in slides of the first lesson, and the presentation of one paper (about 10 minutes, 8 slides) among the list provided below. Information about the project (github URL or similar) must be registered below no later than 2 days before the exam.
27.09.(+2) Introduction to the course: Logistic info, program, information about the exam, resource materials
30.09.(+4,t6) Cloud computing models: the 5 characteristics of NIST (chapter 4, [B1])
04.10.(+2,t8) Cloud computing models: Deployment and service models (chapter 4, [B1])
07.10. (+4, t12) IaaS: how a data center is organized, leaf-span and fat-tree interconnection networks ([D1],[D2],[P1,P2,P3])
11.10 (+2,t14): PaaS: Pythonanywhere and Flask
14.10 (+4,t18): SaaS: Three examples of SaaS providers and how they can be used
21.10 (+4,t22): Virtualization: Virtual Machine, Types of Hypervisors, VM management
25.10 (+2,t24): An Introduction to Android: Understanding the Android stack ([A1])
28.10 (+4,t28): Jetpack Compose: basic concepts on declarative UI ([A2,A3])
04.11 (+4,t32): Activity lifecycle; Coroutines, LAB Calculator ([L1])
11.11 (+4,t34): Orientation and sensors ([B3] cap.9)
15.11 (+2,t36): An introduction to AR
22.11 (+2,t38): 2D graphics
25.11 (+4,t42): LAB (link): Example of code that uses composable functions and ModelView
29.11 (+2,t44): 2D graphics: Example of a compass (link)
2.12 (+4,t48): openCV: Some example (link)
6.12 (+2,t50): Android Intents; Resource Management: modeling via Discrete-Time Markov Chains (DTMC)
9.12 (+4,t54): DTMC,CTMC and Birth-Death processes, queues (Ref [B4], chapter 7 and chapter 8). Colab link
13.12(+2,t56): Edge and Fog computing
16.12(+4,t60): RL for resource management: Q-learning algorithm [B5, section 3, 6.5]
[B1] “Cloud Computing”, Sandeep Bhowmik – Cambridge University press
[B2] "Cloud Computing, Theory and Practice”, Dan C. Marinescu Third edition
[B3] "Mathematics for Computer Graphics", Jon Vincen
[B4] “Probability and Statistics with Reliability, Queuing and Computer Science Applications” Author Kishor S. Trivedi
[B5] “Reinforcement learning: An introduction” Sutton and Barto
[D1]:"The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines", Second Edition, Luiz André Barroso, Jimmy Clidaras and Urs Hölzle
[D2] Hardware and Software support for virtualization, Synthesis Lecture on Computer Architecture, 2017
[P1] Arjun Singh et al. , "Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google’s Datacenter Network" , Sigcomm '15
[P2] Xu, Fei et al. “Managing Performance Overhead of Virtual Machines in Cloud Computing: A Survey, State of the Art, and Future Directions.” Proceedings of the IEEE 102 (2014): 11-31.
[P3] J. E. Smith and Ravi Nair, "The architecture of virtual machines," in Computer, vol. 38, no. 5, pp. 32-38, May 2005, doi: 10.1109/MC.2005.173.
[V1] Coroutines in android (you tube video)
[A1] Android architecture
[A3] Jetpack compose architecture
[L1] Simple calculator with external API call (github code)
M. S. Aslanpour, A. N. Toosi, M. A. Cheema and M. B. Chhetri, "faasHouse: Sustainable Serverless Edge Computing through Energy-aware Resource Scheduling," in IEEE Transactions on Services Computing
Agache et al. "Firecracker: lightweight virtualisation for serverless applications", 17th USENIX Symposium on Networked Systems Design and Implementation, NSDI'20
R. Morabito, V. Cozzolino, A. Y. Ding, N. Beijar and J. Ott, "Consolidate IoT Edge Computing with Lightweight Virtualization," in IEEE Network, vol. 32, no. 1, pp. 102-111, Jan.-Feb. 2018
T. Goethals, M. Sebrechts, M. Al-Naday, B. Volckaert and F. De Turck, "A Functional and Performance Benchmark of Lightweight Virtualization Platforms for Edge Computing," 2022 IEEE International Conference on Edge Computing and Communications (EDGE)
F. Rossi, V. Cardellini, F. L. Presti and M. Nardelli, "Dynamic Multi-Metric Thresholds for Scaling Applications Using Reinforcement Learning," in IEEE Transactions on Cloud Computing, vol. 11, no. 2, pp. 1807-1821, 1 April-June 2023, doi: 10.1109/TCC.2022.3163357.
G. Aceto, G. Bovenzi, D. Ciuonzo, A. Montieri, V. Persico and A. Pescapé, "Characterization and Prediction of Mobile-App Traffic Using Markov Modeling," in IEEE Transactions on Network and Service Management, vol. 18, no. 1, pp. 907-925, March 2021, doi: 10.1109/TNSM.2021.3051381.
J. O. Kephart et al., "Coordinating Multiple Autonomic Managers to Achieve Specified Power-Performance Tradeoffs," Fourth International Conference on Autonomic Computing (ICAC'07), Jacksonville, FL, USA, 2007, pp. 24-24, doi: 10.1109/ICAC.2007.12.
Ricardo Bianchini, et al., "Toward ML-Centric Cloud Platforms", Communications of the ACM, February 2020, Vol. 63 No. 2, Pages 50-59
Khan, Tahseen & Tian, Wenhong & Buyya, Rajkumar. (2021). Machine Learning (ML)-Centric Resource Management in Cloud Computing: A Review and Future Directions, Journal of Network and Computer Applications, Volume 204, August 2022, 103405
M. Mitzenmacher, "The power of two choices in randomized load balancing," in IEEE Transactions on Parallel and Distributed Systems, vol. 12, no. 10, pp. 1094-1104, Oct. 2001, doi: 10.1109/71.963420.
Kay Ousterhout, Patrick Wendell, Matei Zaharia, and Ion Stoica. 2013. Sparrow: distributed, low latency scheduling. In Proceedings of the 24th ACM Symposium on Operating Systems Principles (SOSP '13).
Abraham, L., Allen, J., Barykin, O., Borkar, V.R., Chopra, B., Gerea, C., Merl, D., Metzler, J., Reiss, D., Subramanian, S., Wiener, J.L., & Zed, O. (2013). Scuba: Diving into Data at Facebook. Proc. VLDB Endow., 6, 1057-1067.
Zhao, Yong et al. “Preemptive Multi-Queue Fair Queuing.” Proceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing (2019)Pages 147–158
A. Ali et al., "Joint Optimization of Computation Offloading and Task Scheduling Using Multi-Objective Arithmetic Optimization Algorithm in Cloud-Fog Computing," in IEEE Access, vol. 12, pp. 184158-184178, 2024, doi: 10.1109/ACCESS.2024.3512191.
X. Chen, J. Cao, Y. Sahni, M. Zhang, Z. Liang and L. Yang, "Mobility-aware Dependent Task Offloading in Edge Computing: a Digital Twin-assisted Reinforcement Learning Approach," in IEEE Transactions on Mobile Computing, doi: 10.1109/TMC.2024.3506221.
A. Uddin, A. H. Sakr and N. Zhang, "Adaptive Prioritization and Task Offloading in Vehicular Edge Computing Through Deep Reinforcement Learning," in IEEE Transactions on Vehicular Technology, doi: 10.1109/TVT.2024.3499962.
F. Rossi, M. Nardelli and V. Cardellini, "Horizontal and Vertical Scaling of Container-Based Applications Using Reinforcement Learning," 2019 IEEE 12th International Conference on Cloud Computing (CLOUD),
H. A. M. N. Balla, C. G. Sheng and J. Weipeng, "Reliability Enhancement in Cloud Computing Via Optimized Job Scheduling Implementing Reinforcement Learning Algorithm and Queuing Theory," 2018 1st International Conference on Data Intelligence and Security (ICDIS), South Padre Island, TX, USA, 2018, pp. 127-130,
M. T. Islam, S. Karunasekera and R. Buyya, "Performance and Cost-Efficient Spark Job Scheduling Based on Deep Reinforcement Learning in Cloud Computing Environments," in IEEE Transactions on Parallel and Distributed Systems, vol. 33, no. 7, pp. 1695-1710, 1 July 2022
D. Cui, Z. Peng, J. Xiong, B. Xu and W. Lin, "A Reinforcement Learning-Based Mixed Job Scheduler Scheme for Grid or IaaS Cloud," in IEEE Transactions on Cloud Computing, vol. 8, no. 4, pp. 1030-1039, 1 Oct.-Dec. 2020, doi: 10.1109/TCC.2017.2773078.