Skip to content

rdsea/sys4bigml

Repository files navigation

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 2023

  • 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 2023 - Schedule

Tentative slots

Date Place Content Lead person
06.09.2023 T6 - A136, Tietotekniikan talo Course overview, lecture 1 discussion Linh Truong
13.09.2023 T6 - A136, Tietotekniikan talo Lecture 2 discussion Linh Truong
20.09.2023 T6 - A136, Tietotekniikan talo Hands-on tutorial 1 Tri Nguyen
27.09.2023 T6 - A136, Tietotekniikan talo Lecture 3 discussion Linh Truong
04.10.2023 T6 - A136, Tietotekniikan talo Lecture 4 discussion Linh Truong
11.10.2023 T6 - A136, Tietotekniikan talo Hands-on tutorial 2 Tri Nguyen
18.10.2023 R030-A211 Project topic discussion Linh Truong, Tri Nguyen
flexible discussion about topics and possible hands-on all
8.11.2023 T5 - A133, Tietotekniikan talo Topic progress presentation All
22.11.2023 T4 - A140 prefinal checkpoint of progress All
4.12.2023 T5 - A133 final project demonstration All
15.2023 final report/code 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)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published