Distributed Systems

بواسطة: Swayam

Overview

A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. Distributed applications (distributed apps) are applications or software that runs on multiple computers within a network at the same time and can be stored on servers or with cloud computing. This course provides an in-depth understanding of fundamental principles and models underlying the theory, algorithms, and systems aspects of distributed computing. Few Emerging topics such as Peer-to-Peer computing, Distributed Hash Table, Google File System, HDFS, Spark, Sensor Networks and Security in Distributed Systems will also be covered for significant impact. Upon completing this course, students will have intimate knowledge about how things work in a distributed environment.INTENDED AUDIENCE: Any Interested Learners.PREREQUISITES: Minimum: Data Structures and Algorithms Ideal: Basic networking concepts, Basic OS concepts (e.g., processes, threads, synchronization, file systems, scheduling etc.), Advanced Programming (Good knowledge in C and C++).INDUSTRY SUPPORT: Microsoft Research has conducted this course. Various companies like Google, IBM, Cisco, etc, Distributed systems Group and Distributed systems start-ups are working on this field.

Syllabus

Week 1: Introduction to DS, Message Passing, Leader Election, Distributed Models, Causality and Logical Time Week 2: Logical Time, Global State & Snapshot and Distributed Mutual Exclusion-Non-Token and Quorum based approaches Week 3: Distributed Mutual Exclusion-Token based approaches, Consensus & Agreement, Checkpointing & Rollback Recovery Week 4: Deadlock Detection, DSM and Distributed MST Week 5: Termination Detection, Message Ordering & Group Communication, Fault Tolerance and Self-Stabilization Week 6: Distributed Randomized Algorithms, DHT and P2P Computing Week 7: Case Studies: GFS, HDFS, Map Reduce and Spark Week 8: Case Studies: Sensor Networks, Authentication & Security in DS

Taught by

Prof. Rajiv Misra

Distributed Systems
الذهاب الي الدورة

Distributed Systems

بواسطة: Swayam

  • Swayam
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • الجميع
  • N/A
8.1.2PHP Version481msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (191ms)
    • Application (289ms)
    • 1 x Application (60.11%)
      288.91ms
      1 x Booting (39.74%)
      191.02ms
      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 executed164ms
      • select * from `courses` where `slug_ar` = 'distributed-systems' limit 1
        7.42ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. 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-04 23:56:33' where `id` = 2630
        155ms/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-05-04 23:56:33
        • 1. 2630
        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)
        310μ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)
        310μ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
        340μ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` = 2621 limit 1
        240μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2621
        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
        SNSZVTnSCS1ajvlMRFdxH8aqHlZeTdhZQzOfV67L
        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/distri...
        _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/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 => "18.219.88.218" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "18.219.88.218" ] "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 => "93abef752a3d89c5-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" => "18.219.88.218" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "18.219.88.218" "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" => "93abef752a3d89c5-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" => "33076" "REMOTE_ADDR" => "172.69.58.214" "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/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" => 1746402993.7323 "REQUEST_TIME" => 1746402993 ]
        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 => "Sun, 04 May 2025 23:56:34 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlNaQ1NyNks5dU9CczJDanBqbEx5dUE9PSIsInZhbHVlIjoiejRXdmNPNVBOTTc2bkhqODlNcVlGTGV0eDloN3lrNGFFUUtyWVRGbFQ2KzFxNFJlcjRwdmllbU55anJnYjRKMXEwVjQvK1c2WVEzQ2RzbEF6enR6M3JYRjNxQlFkMk5ZM0dtcGgzK0FLanUxTUVjSVN1Sit5Q3NuSVNOV2JXaHQiLCJtYWMiOiIzZGFkNWJhNjliMGNjZjc2YWM2OTAzZGZlODg5ZGRhMDY0ZWY2ZGUzYWMyMzUwYTkwM2RiOThlMjE4Nzc1YTU4IiwidGFnIjoiIn0%3D; expires=Mon, 05 May 2025 01:56:34 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IlNaQ1NyNks5dU9CczJDanBqbEx5dUE9PSIsInZhbHVlIjoiejRXdmNPNVBOTTc2bkhqODlNcVlGTGV0eDloN3lrNGFFUUtyWVRGbFQ2KzFxNFJlcjRwdmllbU55anJnYjRKMXEwVjQvK" 1 => "laravel_session=eyJpdiI6IjN2cFNhSDlpMEdsc1Jwa1RweHY3WUE9PSIsInZhbHVlIjoiMit0QUswYmw5bHhzTjhpbmpwSmVxVW1lWXJGZHBSQ21MT2plL2hjZUhGOUVwZ1pITW5NOVU3bkxUemdIb01FNFhWL0hOWjkvUXAvMC8wY1kxekY5ODA5UnIvbFRxNzQyVUo1My9ET3hhZnJGR2Fyc1hGay9nZkhidkZPcDJzMXEiLCJtYWMiOiI1ZDM3ZTFjOTc5MmRmYzk3Njc1ZTZhMzMwMmJkZGMyY2FkZDU5OWJlM2JlZjRkMzZlNWJlMDM3NWUxOWU5NzJlIiwidGFnIjoiIn0%3D; expires=Mon, 05 May 2025 01:56:34 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IjN2cFNhSDlpMEdsc1Jwa1RweHY3WUE9PSIsInZhbHVlIjoiMit0QUswYmw5bHhzTjhpbmpwSmVxVW1lWXJGZHBSQ21MT2plL2hjZUhGOUVwZ1pITW5NOVU3bkxUemdIb01FNFhW" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlNaQ1NyNks5dU9CczJDanBqbEx5dUE9PSIsInZhbHVlIjoiejRXdmNPNVBOTTc2bkhqODlNcVlGTGV0eDloN3lrNGFFUUtyWVRGbFQ2KzFxNFJlcjRwdmllbU55anJnYjRKMXEwVjQvK1c2WVEzQ2RzbEF6enR6M3JYRjNxQlFkMk5ZM0dtcGgzK0FLanUxTUVjSVN1Sit5Q3NuSVNOV2JXaHQiLCJtYWMiOiIzZGFkNWJhNjliMGNjZjc2YWM2OTAzZGZlODg5ZGRhMDY0ZWY2ZGUzYWMyMzUwYTkwM2RiOThlMjE4Nzc1YTU4IiwidGFnIjoiIn0%3D; expires=Mon, 05-May-2025 01:56:34 GMT; path=/XSRF-TOKEN=eyJpdiI6IlNaQ1NyNks5dU9CczJDanBqbEx5dUE9PSIsInZhbHVlIjoiejRXdmNPNVBOTTc2bkhqODlNcVlGTGV0eDloN3lrNGFFUUtyWVRGbFQ2KzFxNFJlcjRwdmllbU55anJnYjRKMXEwVjQvK" 1 => "laravel_session=eyJpdiI6IjN2cFNhSDlpMEdsc1Jwa1RweHY3WUE9PSIsInZhbHVlIjoiMit0QUswYmw5bHhzTjhpbmpwSmVxVW1lWXJGZHBSQ21MT2plL2hjZUhGOUVwZ1pITW5NOVU3bkxUemdIb01FNFhWL0hOWjkvUXAvMC8wY1kxekY5ODA5UnIvbFRxNzQyVUo1My9ET3hhZnJGR2Fyc1hGay9nZkhidkZPcDJzMXEiLCJtYWMiOiI1ZDM3ZTFjOTc5MmRmYzk3Njc1ZTZhMzMwMmJkZGMyY2FkZDU5OWJlM2JlZjRkMzZlNWJlMDM3NWUxOWU5NzJlIiwidGFnIjoiIn0%3D; expires=Mon, 05-May-2025 01:56:34 GMT; path=/; httponlylaravel_session=eyJpdiI6IjN2cFNhSDlpMEdsc1Jwa1RweHY3WUE9PSIsInZhbHVlIjoiMit0QUswYmw5bHhzTjhpbmpwSmVxVW1lWXJGZHBSQ21MT2plL2hjZUhGOUVwZ1pITW5NOVU3bkxUemdIb01FNFhW" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "SNSZVTnSCS1ajvlMRFdxH8aqHlZeTdhZQzOfV67L" "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/distributed-systems" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]