Advanced Distributed Systems

بواسطة: 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
الذهاب الي الدورة

Advanced Distributed Systems

بواسطة: Swayam

  • Swayam
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • الجميع
  • N/A
8.1.2PHP Version330msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (207ms)
    • Application (122ms)
    • 1 x Booting (62.64%)
      206.59ms
      1 x Application (37.11%)
      122.40ms
      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 ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed10.52ms
      • select * from `courses` where `slug_ar` = 'advanced-distributed-systems' limit 1
        8.61ms/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-12 13:47:44' where `id` = 2636
        930μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-05-12 13:47:44
        • 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)
        270μ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)
        210μ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
        180μ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
        320μ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
        0TcNNERRjT4vnmwFe6SHuwnC2He2osiKbPgaZxUj
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/advanc...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/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.141.196.30" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "3.141.196.30" ] "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 => "93ea5ea02ff9c071-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.141.196.30" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "3.141.196.30" "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" => "93ea5ea02ff9c071-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" => "12402" "REMOTE_ADDR" => "172.69.17.61" "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" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/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" => 1747057664.2884 "REQUEST_TIME" => 1747057664 ]
        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 => "Mon, 12 May 2025 13:47:44 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImZWTHB3Y3ZYWXIxa21OZU1hRE5vZWc9PSIsInZhbHVlIjoiNXRGYjg4eEJkOHgxY2xWRkt6RXBTbE1CYUI1UHNWY1pFVzFjRlg3NzZzWkE3MDJVN0d6K1N6dURGTmkrOTcyRDR6dUIxMDdHbUdLWmtuNUFhWisvdE1yREZzWkNWK3JVemJrYTNyYytiTWh0bXo5M3FjOWtjYi9HUGRDRkNYd2ciLCJtYWMiOiIxODQzZGRjZTExOGZhOTRmZTc0OGM3ZDZjNGY1NjBkOGQyYjMzMmIxMzFhY2ZlOTllZGNkNDkyY2UzMjdiODNlIiwidGFnIjoiIn0%3D; expires=Mon, 12 May 2025 15:47:44 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImZWTHB3Y3ZYWXIxa21OZU1hRE5vZWc9PSIsInZhbHVlIjoiNXRGYjg4eEJkOHgxY2xWRkt6RXBTbE1CYUI1UHNWY1pFVzFjRlg3NzZzWkE3MDJVN0d6K1N6dURGTmkrOTcyRDR6dUIxM" 1 => "laravel_session=eyJpdiI6Im1teVh3TitwK2o2czFRYzhhdU1xVUE9PSIsInZhbHVlIjoiYUpyNWpMcVNwaWRFemJvNEp1Z2RNK0RPSTZRaWJOQUVyNHJaL3AzU2hrZk4zS3pGVkRXWEZrSzRjeC9GTXNnQlB4aHlySHBqZkpTOTFwbTBhemxRNGRURW9VWWF1UFhOU1pjZ3paNU83U0tOUThTVC8zMVcxcnhYVWoxRExDRjkiLCJtYWMiOiJkYjM1MTZiNjE4NDNhM2Y2ZmM2NWQ0ODhiM2NjYWVmZGE3MzM5ZTUxNGZiOWQ4NGM1Yjc2ZjU5Yjk5M2JhNDBhIiwidGFnIjoiIn0%3D; expires=Mon, 12 May 2025 15:47:44 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6Im1teVh3TitwK2o2czFRYzhhdU1xVUE9PSIsInZhbHVlIjoiYUpyNWpMcVNwaWRFemJvNEp1Z2RNK0RPSTZRaWJOQUVyNHJaL3AzU2hrZk4zS3pGVkRXWEZrSzRjeC9GTXNnQlB4" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImZWTHB3Y3ZYWXIxa21OZU1hRE5vZWc9PSIsInZhbHVlIjoiNXRGYjg4eEJkOHgxY2xWRkt6RXBTbE1CYUI1UHNWY1pFVzFjRlg3NzZzWkE3MDJVN0d6K1N6dURGTmkrOTcyRDR6dUIxMDdHbUdLWmtuNUFhWisvdE1yREZzWkNWK3JVemJrYTNyYytiTWh0bXo5M3FjOWtjYi9HUGRDRkNYd2ciLCJtYWMiOiIxODQzZGRjZTExOGZhOTRmZTc0OGM3ZDZjNGY1NjBkOGQyYjMzMmIxMzFhY2ZlOTllZGNkNDkyY2UzMjdiODNlIiwidGFnIjoiIn0%3D; expires=Mon, 12-May-2025 15:47:44 GMT; path=/XSRF-TOKEN=eyJpdiI6ImZWTHB3Y3ZYWXIxa21OZU1hRE5vZWc9PSIsInZhbHVlIjoiNXRGYjg4eEJkOHgxY2xWRkt6RXBTbE1CYUI1UHNWY1pFVzFjRlg3NzZzWkE3MDJVN0d6K1N6dURGTmkrOTcyRDR6dUIxM" 1 => "laravel_session=eyJpdiI6Im1teVh3TitwK2o2czFRYzhhdU1xVUE9PSIsInZhbHVlIjoiYUpyNWpMcVNwaWRFemJvNEp1Z2RNK0RPSTZRaWJOQUVyNHJaL3AzU2hrZk4zS3pGVkRXWEZrSzRjeC9GTXNnQlB4aHlySHBqZkpTOTFwbTBhemxRNGRURW9VWWF1UFhOU1pjZ3paNU83U0tOUThTVC8zMVcxcnhYVWoxRExDRjkiLCJtYWMiOiJkYjM1MTZiNjE4NDNhM2Y2ZmM2NWQ0ODhiM2NjYWVmZGE3MzM5ZTUxNGZiOWQ4NGM1Yjc2ZjU5Yjk5M2JhNDBhIiwidGFnIjoiIn0%3D; expires=Mon, 12-May-2025 15:47:44 GMT; path=/; httponlylaravel_session=eyJpdiI6Im1teVh3TitwK2o2czFRYzhhdU1xVUE9PSIsInZhbHVlIjoiYUpyNWpMcVNwaWRFemJvNEp1Z2RNK0RPSTZRaWJOQUVyNHJaL3AzU2hrZk4zS3pGVkRXWEZrSzRjeC9GTXNnQlB4" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "0TcNNERRjT4vnmwFe6SHuwnC2He2osiKbPgaZxUj" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/advanced-distributed-systems" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]