rdsea / sys4bigml

The course CS-E4660 of Aalto CS (Advanced Topics in Software Systems)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Advanced Topics in Software Systems (SYS4BIGML)

The current focus of this course is on principles for engineering ML systems in the Computing Continuum.

Overview

This is an advanced course for master and PhD students. The current focus of this course is on principles for engineering ML systems in the Computing Continuum. Big Data and Machine Learning (ML) applications and services and their reliability and robustness are strongly dependent on the underlying systems empowering such applications and services. On the one hand, techniques for supporting performance engineering, configuration management, testing and debugging of Big Data and ML are extremely important. On the other hand, large-scale distributed systems and new computing models have been evolved with new hardware and infrastructure architectures, such as edge systems, tensor processing units, and quantum computing systems. This leads to the computing continuum for advanced Big Data and ML applications and services. Developing and optimizing Big Data and ML applications and services in such systems and models require in-depth understanding of the systems and the roles of systems for Big Data and ML.

Target participants/learners

The course is for students in Doctoral and Master studies. In Aalto the course is for students in Doctoral Programme in Science and the CCIS Master Programme.

This course provides advanced knowledge about computing and software systems that are useful for big data and machine learning domains. Therefore, it connects to various other courses, such as Big Data Platforms, Cloud Computing, Deep Learning and Master thesis, by providing complementary in-depth knowledge w.r.t system aspects.

Required previous knowledge

Students should have knowledge about cloud computing, big data, operating systems, distributed systems and machine learning. Therefore, it is important that students have passed courses with these topics, such as Cloud Computing, Big Data Platforms, Operating Systems, and Machine Learning. Students are expected to be very good with programming skills as well.

Content

First, key system requirements due to the complexity, reliability, and robustness of Big Data and ML applications and services will be analyzed and presented. Based on that we will learn techniques for supporting performance engineering, configuration management, testing and debugging of Big Data and ML. Such techniques are extremely important; they are cross-topics for the course, regardless of the underlying systems empowering Big Data and ML applications and services.

Second, selected areas in systems for Big Data and ML will be presented. We will examine the computing continuum model, dataflows/programming frameworks and orchestration techniques. We will examine the state-of-the-art, strengths and weakness of concepts and techniques. We will focus on engineering frameworks that can be used to development Big Data and ML, according to the above-mentioned cross-topics.

For each selected area, we will focus on the following aspects:

  • understanding and applying key principles, techniques, and concepts
  • analyzing/evaluating/creating (new) methods/techniques

Focused Areas in 2024

  • Computing continuum (edge systems, edge-cloud systems)
  • Design and evaluation for systems robustness, reliability, resilience and elasticity for Big Data/ML (with also engineering work)
  • Observability and explainability for ML applications (with also engineering work)
  • Dataflows and orchestration frameworks for Big Data/ML (with also engineering work)
  • Quality of analytics for ML in edge-cloud continuum (with also engineering work)

Course Plan and Teaching methods

We define the generic plan of the course as follows:

  • Lectures given by teachers: students must provide study logs
  • Hands-on tutorials given by teachers: the goal is to give some concrete examples of the techniques discussed in the lectures. However, since it is a research-oriented course, students can also practice similar problems with different software stack.
  • Project topic proposal and presentation: students must identify a topic related to the content of the course and present it
  • Topic implementation and demonstration: students will implement the topic and demonstrate the project
  • Students will make public material about the topic project available in Git spaces (e.g., in Aalto, Github, Gitlab, ...)

As an advanced and research-oriented course, we will use the pass/fail as a way to evaluate students. Passing the course will require the students to (i) participating in lectures and hands-on, (ii) passing study logs, (iii) passing project topic presentation, and (iv) passing the final demonstration.

Fall 2024 - Schedule

Tentative slots

Date Place Content Lead person
11.09.2024 U359b Course overview, lecture 1 discussion Linh Truong
18.09.2024 U359b Lecture 2 discussion Linh Truong
25.09.2024 U359b Hands-on tutorial 1 Minh-Tri Nguyen
2.10.2024 U359b Lecture 3 discussion Linh Truong
9.10.2024 U359b Hands-on tutorial 2 Minh-Tri Nguyen
23.10.2024 R030A133 T5 Lecture 4 + Hands-on tutorial 3 Hong-Tri Nguyen
30.10.2024 R030A133 T5 Project topic discussion Linh Truong, Minh-Tri Nguyen, Hong-Tri Nguyen
flexible discussion about topics and possible hands-on All
6.11.2024 R030A133 T5 Checkpoint 1: Topic progress presentation All
20.11.2024 R030A133 T5 Checkpoint 2: Topic progress/prefinal check All
flexible discussion about project progress All
4.12.2024 R030A133 T5 final project demonstration All
11.12.2024 final report/code delivery Individual

Lectures/Discussions

If you need the sources of slides for your teaching, pls. contact Linh Truong

Hands-on tutorials

We have a few hands-on tutorials for the course that students can carry out for the study. Note that only 1-2 hands-on tutorials will be arranged by the teacher and teaching assistants.

Project ideas presentations

  • Students will propose the project idea. This is an important aspect of research-oriented course. If a student cannot propose an idea, the teacher will suggest some concrete ideas for students.

Final project demonstration

  • The final project demonstration is organized like an "event" where all students can demonstrate their work and students can discuss experiences in their projects.
  • List of the student projects

Guides

Reading list

Previous course versions

Citation (if you use the material):

Hong-Linh Truong, Advanced Topics in Software Systems, https://version.aalto.fi/gitlab/sys4bigml/cs-e4660, 2020 BIB Entry

Copyrights/Licences: the lecture slides and course structure/info use CC BY 4.0. Individual tutorials have their own licenses (Apache Apache License 2.0)

Contact

Linh Truong

About

The course CS-E4660 of Aalto CS (Advanced Topics in Software Systems)

License:Apache License 2.0


Languages

Language:Jupyter Notebook 91.8%Language:Python 7.2%Language:Dockerfile 0.4%Language:Open Policy Agent 0.3%Language:Shell 0.3%Language:TeX 0.0%