Ir al contenido principal

DelftX: Modern Distributed Systems

Distributed systems are the backbone of modern society but entail challenges in areas such as complexity and energy-use. Discover distributed systems from first principles, understand the architectures and techniques derived from them and explore examples of current practical use.

Modern Distributed Systems
6 semanas
3–5 horas por semana
A tu ritmo
Avanza a tu ritmo
Gratis
Verificación opcional disponible

Hay una sesión disponible:

Una vez finalizada la sesión del curso, será archivadoAbre en una pestaña nueva.
Comienza el 18 abr
Termina el 10 ago

Sobre este curso

Omitir Sobre este curso

Modern IT infrastructure is built as distributed systems, an exciting concept that started with the first computers and evolved rapidly into its present form. From online video meetings to internet services, from social media platforms to online games, we all use and interact with distributed systems on a daily basis and increasingly depend on them. Designing and operating such large-scale distributed systems, however, is complex and typically involves making reasonable compromises. There are fundamental technical barriers as well as economic arguments why we cannot make these systems behave as if they were running on a single, perfectly reliable machine..

In this course, learners will be introduced to the essential functional and non-functional concerns of distributed systems and the common problems encountered while designing them, such as consistency, availability, elasticity, and scalability. A variety of practical solutions that have been established in the leading tech industry in recent years will be reviewed. These provide re-usable building blocks to create new large-scale applications. These recent developments, especially around cloud computing, large-scale data processing, distributed machine learning, and other fields are often not reflected in textbooks and are absent from many traditional curricula but are at the heart of this course.

The course will therefore provide learners with the fundamental understanding (theoretical and practical foundations) of how cloud, edge, and big data processing systems work and how they address common challenges for distributed systems such as performance, resilience, and scalability.

The learning progress is assessed through a variety of different activities including quizzes, design exercises, experiments, and open questions, with peer review of other students’ solutions. In the final project, learners will design a distributed system based on the learners’ own experience and interests and describe the functional and non-functional properties of the system.

De un vistazo

  • Institution DelftX
  • Subject Informática
  • Level Intermediate
  • Prerequisites

    Basic knowledge of software systems.

    Basic programming skills in a mainstream programming language.

  • Language English
  • Video Transcript English
  • Associated skillsData Processing, Resilience, Big Data, Curriculum Development, IT Infrastructure, Energy Consumption, Cloud Computing, Video Hosting Services, Scalability, Internet Services, Social Media, Machine Learning

Lo que aprenderás

Omitir Lo que aprenderás
  1. Describe the principles of distributed systems.
  2. Contrast distributed systems with other forms of computation (e.g., single machine computation, parallel computing).
  3. Identify applications of distributed systems in science, engineering, business, and home use, and in particular the use of cloud and serverless applications, big data and graph processing applications, interactive and online gaming, etc.
  4. Analyze and design core architectures, components, and techniques in distributed systems.
  5. Solve practical problems related to modern uses of distributed systems.

Plan de estudios

Omitir Plan de estudios

Module 1: Introduction to Distributed Systems

● Parallel vs. Distributed Systems

● Challenges in Distributed Systems

● The CAP Theorem

● Example 1: Online Gaming

● Example 2: Scientific Computing

Module 2: Functional Requirements

● Functional vs. Non–Functional Properties

● Naming

● Replication

● Consistency

● Consensus

Module 3: Non-Functional Requirements

● Importance of Performance

● Measuring NFRs: Metrics

● Scalability and Elasticity

● Amdahl’s Law

● Gustafson’s Law

● Benchmarking

Module 4: Resource Management and Scheduling

● Scheduling in the Small: Processor Scheduling

● Scheduling in the Large: Scheduling for Distributed Systems

● Workloads in DS

● Centralized Schedulers: Kubernetes, etc.

● Decentralized Schedulers: (HTCondor) etc.

● Portfolio Scheduling

Module 5: System Architectures and Programming Models

● Trade-offs between SAs and PMs

● Programming Models

● System Architectures: communication, big data, machine learning

● Layering

Module 6: Distributed Ecosystems

● Introduction to massive processing

● Theory of ecosystems

● Super-distribution principle

● Distributed ecosystems in science and engineering: cloud, edge, big data

● Distributed ecosystems in online gaming

● The future of distributed ecosystems

¿Quién puede hacer este curso?

Lamentablemente, las personas residentes en uno o más de los siguientes países o regiones no podrán registrarse para este curso: Irán, Cuba y la región de Crimea en Ucrania. Si bien edX consiguió licencias de la Oficina de Control de Activos Extranjeros de los EE. UU. (U.S. Office of Foreign Assets Control, OFAC) para ofrecer nuestros cursos a personas en estos países y regiones, las licencias que hemos recibido no son lo suficientemente amplias como para permitirnos dictar este curso en todas las ubicaciones. edX lamenta profundamente que las sanciones estadounidenses impidan que ofrezcamos todos nuestros cursos a cualquier persona, sin importar dónde viva.

¿Te interesa este curso para tu negocio o equipo?

Capacita a tus empleados en los temas más solicitados con edX para Negocios.