Advanced Distributed Systems

Brought by: Swayam

Overview

ABOUT THE COURSE:This course is on Advanced Distributed Systems. It will start with epidemic and gossip based algorithms and then move on to peer-to-peer networks. The core focus in this part will be on distributed hash tables (DHTs). Then, the course will focus on theoretical aspects such as vector clocks, distributed leader election, the FLP result, and the CAP theorem. The last part of the course will focus on practical technologies such as the Paxos and RAFT consensus protocols, commit protocols, Bitcoin and blockchains, distributed file systems, and distributed programming languages.PRE-REQUISITES: Data structures (2nd year level), Operating SystemsINTENDED AUDIENCE: UG and PG students (Computer Science and Electrical Engineering)INDUSTRY SUPPORT: IBM, Amazon, Google, Microsoft

Syllabus

Week 1 : Epidemic and gossip based algorithms Week 2 : Napster and Gnutella Week 3 : DHTs: Chord, Pastry and BitTorrent Week 4 : Logical clocks, Mutual Exclusion Algorithms Week 5 : Distributed Leader Election Week 6 : Distributed minimum spanning tree, the FLP result Week 7 : Consistency models and the CAP theorem Week 8 : Paxos and Raft Week 9 : Byzantine General’s Problem, Virtual synchrony Week 10 : Bitcoin and Blockchains Week 11 : Amazon Dynamo, Facebook Cassandra, Google Percolator Week 12 : Voldemort (LinkedIn), Condor, and Microsoft DryadLINQ

Taught by

Prof. Smruti Ranjan Sarangi

Advanced Distributed Systems
Go to course

Advanced Distributed Systems

Brought by: Swayam

  • Swayam
  • Free
  • English
  • Certificate Available
  • Certain days
  • All
  • N/A
8.1.2PHP Version245msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (153ms)
    • Application (91.68ms)
    • 1 x Booting (62.4%)
      153.13ms
      1 x Application (37.36%)
      91.68ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed6.77ms
      • select * from `courses` where `slug_en` = 'advanced-distributed-systems' limit 1
        5.29ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. advanced-distributed-systems
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-05-27 17:06:27' where `id` = 2636
        590μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-05-27 17:06:27
        • 1. 2636
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (35)
        200μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        200μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (14) and `providers`.`deleted_at` is null
        190μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2627 limit 1
        300μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2627
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        B4fL6bzN9NZazLoIDFCt0nRuze3yR1AeFzBZIbGk
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/advanced-distributed-systems" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/advanced-distributed-systems
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.133.160.6" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "3.133.160.6" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "94671a546cf51ce8-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.133.160.6" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "3.133.160.6" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "94671a546cf51ce8-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "13232" "REMOTE_ADDR" => "172.70.126.196" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/advanced-distributed-systems" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1748365586.8951 "REQUEST_TIME" => 1748365586 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Tue, 27 May 2025 17:06:27 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Im5WcnVKNDBHSGRHcXgySkxibDkwQ2c9PSIsInZhbHVlIjoiYzFwc1ovTmZSWFlBbHJmT1FlTkdKeVBxeDlDTXRHNUxRUDBrQUlMbGhaRC94dE1hMGxVdUZuUHhpZzBzUmVBZXZINTMvSjI1RUxiUGp6WUFYRWZreEQ0VEhHdzZpeFZadTgwTmsyb3JqZHp3dHZ2L1l2MFdzQWFNRzJYRGFsb1MiLCJtYWMiOiI0MzllOGIzMDVjNDdjZjBiYTNmNGJiNzVhMDcwNjk0ZTk2ODIxN2FmMjQwMjYxOTc5YzgxMDVkMzdjODJhNTRhIiwidGFnIjoiIn0%3D; expires=Tue, 27 May 2025 19:06:27 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Im5WcnVKNDBHSGRHcXgySkxibDkwQ2c9PSIsInZhbHVlIjoiYzFwc1ovTmZSWFlBbHJmT1FlTkdKeVBxeDlDTXRHNUxRUDBrQUlMbGhaRC94dE1hMGxVdUZuUHhpZzBzUmVBZXZINTMvS" 1 => "laravel_session=eyJpdiI6IldXTnVCSld2aExTSnJxKzlEZmVZSGc9PSIsInZhbHVlIjoiMGxTUnREblc1UnFWeEs1dUUzUkJyNEYwWnczbjhSY0VKcWRLTmllZG9yV0hTdUttbmpUd25CN2tNQi94Vzl5Z3JUWGNGM1BIR0RmWlROOW4wSFZmUGdsdU5ZV1I3TGJDNGgxTlB5bm1kZTVhZjNhdUNMQ29JeVpXUVR4dG83Mm8iLCJtYWMiOiIxYmE3MmNhYzZiMDMxNDk2YTdlYTQ5M2MzMDQ2ZGQxNzA4NDZhYzk4NWQ5ZmZlMjVlMjBjZDE5MTUzNjBmZTkzIiwidGFnIjoiIn0%3D; expires=Tue, 27 May 2025 19:06:27 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IldXTnVCSld2aExTSnJxKzlEZmVZSGc9PSIsInZhbHVlIjoiMGxTUnREblc1UnFWeEs1dUUzUkJyNEYwWnczbjhSY0VKcWRLTmllZG9yV0hTdUttbmpUd25CN2tNQi94Vzl5Z3JU" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Im5WcnVKNDBHSGRHcXgySkxibDkwQ2c9PSIsInZhbHVlIjoiYzFwc1ovTmZSWFlBbHJmT1FlTkdKeVBxeDlDTXRHNUxRUDBrQUlMbGhaRC94dE1hMGxVdUZuUHhpZzBzUmVBZXZINTMvSjI1RUxiUGp6WUFYRWZreEQ0VEhHdzZpeFZadTgwTmsyb3JqZHp3dHZ2L1l2MFdzQWFNRzJYRGFsb1MiLCJtYWMiOiI0MzllOGIzMDVjNDdjZjBiYTNmNGJiNzVhMDcwNjk0ZTk2ODIxN2FmMjQwMjYxOTc5YzgxMDVkMzdjODJhNTRhIiwidGFnIjoiIn0%3D; expires=Tue, 27-May-2025 19:06:27 GMT; path=/XSRF-TOKEN=eyJpdiI6Im5WcnVKNDBHSGRHcXgySkxibDkwQ2c9PSIsInZhbHVlIjoiYzFwc1ovTmZSWFlBbHJmT1FlTkdKeVBxeDlDTXRHNUxRUDBrQUlMbGhaRC94dE1hMGxVdUZuUHhpZzBzUmVBZXZINTMvS" 1 => "laravel_session=eyJpdiI6IldXTnVCSld2aExTSnJxKzlEZmVZSGc9PSIsInZhbHVlIjoiMGxTUnREblc1UnFWeEs1dUUzUkJyNEYwWnczbjhSY0VKcWRLTmllZG9yV0hTdUttbmpUd25CN2tNQi94Vzl5Z3JUWGNGM1BIR0RmWlROOW4wSFZmUGdsdU5ZV1I3TGJDNGgxTlB5bm1kZTVhZjNhdUNMQ29JeVpXUVR4dG83Mm8iLCJtYWMiOiIxYmE3MmNhYzZiMDMxNDk2YTdlYTQ5M2MzMDQ2ZGQxNzA4NDZhYzk4NWQ5ZmZlMjVlMjBjZDE5MTUzNjBmZTkzIiwidGFnIjoiIn0%3D; expires=Tue, 27-May-2025 19:06:27 GMT; path=/; httponlylaravel_session=eyJpdiI6IldXTnVCSld2aExTSnJxKzlEZmVZSGc9PSIsInZhbHVlIjoiMGxTUnREblc1UnFWeEs1dUUzUkJyNEYwWnczbjhSY0VKcWRLTmllZG9yV0hTdUttbmpUd25CN2tNQi94Vzl5Z3JU" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "B4fL6bzN9NZazLoIDFCt0nRuze3yR1AeFzBZIbGk" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/advanced-distributed-systems" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]