Companies Home Search Profile

Mastering Concurrent Data Structure Design with Modern C++

Focused View

RougeNeuron Academy

2:26:49

111 View
  • 1 - Introduction.mp4
    04:02
  • 2 - C standard features overview C981114172023.mp4
    04:25
  • 3 - Amdahls law in concurrent programs.mp4
    05:23
  • 4 - When to use concurrency or multithreading optimally.mp4
    05:36
  • 5 - Wait free concpets.mp4
    01:40
  • 6 - Lock Free concept.mp4
    01:22
  • 7 - Obstruction Free Concept.mp4
    02:18
  • 8 - Thinking in Transactions like ACID.mp4
    04:49
  • 9 - C Atomic semantics quick refresher.mp4
    02:52
  • 10 - Considerations while using C atomics.mp4
    04:06
  • 11 - The concept in a nutshell in a single threaded context.mp4
    01:41
  • 12 - Concurrent implementation using mutex and atomics using standard C11.mp4
    04:50
  • 13 - Using onceflag in C11.mp4
    02:57
  • 14 - The cleanest concurrent initalization solution.mp4
    00:18
  • 15 - Locks atomics and concurrent design.mp4
    03:48
  • 16 - Design Goals.mp4
    01:31
  • 17 - Class overview using Modern C features.mp4
    02:22
  • 18 - Constructor Destructor and Find implementation code walkthrough.mp4
    03:47
  • 19 - pushfront function code walkthrough.mp4
    05:17
  • 20 - popfront function code walkthrough.mp4
    05:10
  • 21 - ABA Problem explained.mp4
    03:34
  • 22 - Overview of possible solutions for ABA problem.mp4
    04:51
  • 23 - Overview of solutions for deletetion related problems.mp4
    04:41
  • 24 - Singly Linked List using the Reference class and other modern C features.mp4
    02:53
  • 25 - Implementation details for using the reference class.mp4
    02:42
  • 26 - Concurrency analysis of mutlithreading events in the class.mp4
    03:42
  • 27 - Read Copy and Update RCU design goals.mp4
    02:33
  • 28 - RCU example with concurrent dynamic array design using Modern C.mp4
    07:28
  • 29 - Hazard pointer.mp4
    03:58
  • 30 - Thread pool design considerations when using C20 or higher.mp4
    03:12
  • 31 - Apply theory in concurrent applications.mp4
    01:30
  • 32 - Important assumptions before going further.mp4
    00:55
  • 33 - Challenges in concurrent design using modern c.mp4
    02:12
  • 34 - Design advice for dealing with multithreading in production.mp4
    02:42
  • 35 - Concurrent architecture overview.mp4
    09:25
  • 5 - Code review.html
  • 36 - Common types of bugs in multithreaded programs.mp4
    00:59
  • 37 - Bugs related to unwanted blocking.mp4
    00:59
  • 38 - Bugs releated to Race conditions.mp4
    00:58
  • 39 - Code review techniques for dealing with multithreading.mp4
    03:34
  • 40 - Challenges in testing multithreaded code.mp4
    04:32
  • 41 - Design for testability.mp4
    02:06
  • 42 - Testing Techniques.mp4
    03:15
  • 43 - Libraries Tool and closing remarks.mp4
    05:54
  • 44 - Bonus Lecture.html
  • Description


    Concurrency, Multithreading, Data Structures, Lock Free, Design, C++11, C++14, C++17, C++20, Architecture, Code review

    What You'll Learn?


    • Designing concurrent data structures using Modern C++
    • Using C++ memory model to build lock free data strcutures
    • Using the Modern C++ features to build high performance data structures
    • Pitfalls and challenges to avoid while designing concurrent systems using C++

    Who is this for?


  • Intermediate C++ programmers exploring concurrey in modern C++
  • Intermediate C++ programmers looking to grow in their roles from developer to Leads
  • Intermediate C++ programmers curious to understand practical implementation of modern c++ concurrency tools
  • C++ programmers aware of syntax but looking for opportunities to build personal projects using advanced language features.
  • Senior Software Engineers planning to become Tech Leads in near future
  • All C++ programmers who have been coding in C++ for 12 months or more.
  • More details


    Description

    This course will help you dive deep into designing and implementing efficient concurrent data structures using the latest C++ features and best practices. These are skills that tools like ChatGPT will take years to develop.

    Concurrency is crucial in today's software development landscape, and creating data structures that multiple threads can safely and efficiently access is essential. In this course, you'll:

    1. Grasp the fundamentals of concurrency and the challenges of designing concurrent data structures.

    2. Explore various concurrent data structures and select the most suitable one for your use case.

    3. Learn about synchronization techniques and mechanisms in C++ for ensuring thread safety, including mutexes, condition variables, and atomics.

    4. Understand different memory models, lock-free and wait-free data structure design, and principles of memory reclamation and garbage collection.

    5. Work on practical examples and hands-on exercises to reinforce your knowledge, and design and implement concurrent data structures like queues, stacks, hash tables, and trees using the latest C++ features.

    By the end of this course, you'll be well-equipped to design and implement high-performance concurrent data structures in C++ that can scale on multi-core systems and handle high levels of concurrency.

    Discover the benefits of learning concurrency with C++20:

    1. Standardized support: Utilize C++20's new features and enhancements for concurrent programming, including parallel algorithms, atomic operations, and memory models.

    2. High-performance: Harness C++'s high-performance capabilities to create fast and efficient concurrent programs.

    3. Memory model improvements: Leverage C++20's new memory model to reason about concurrent program behavior and prevent subtle bugs.

    4. Enhanced type safety: Take advantage of improved type safety in concurrent programs with features like the atomic_ref class.

    5. Practical applications: Boost your competitiveness in the job market and develop high-performance software that can handle a high degree of concurrency.

    Enroll today and unlock the power of high-performance concurrent programming!

    Who this course is for:

    • Intermediate C++ programmers exploring concurrey in modern C++
    • Intermediate C++ programmers looking to grow in their roles from developer to Leads
    • Intermediate C++ programmers curious to understand practical implementation of modern c++ concurrency tools
    • C++ programmers aware of syntax but looking for opportunities to build personal projects using advanced language features.
    • Senior Software Engineers planning to become Tech Leads in near future
    • All C++ programmers who have been coding in C++ for 12 months or more.

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    RougeNeuron Academy
    RougeNeuron Academy
    Instructor's Courses
    About Instructor=============As a professional programmer with over 17 years of experience, I have a Master of Science degree in Electrical Engineering and a strong interest in Distributed Systems, Algorithms, Deep Learning, Performance, and Optimization. My journey as a programmer started during my school days with Logo software, continued with assembly, BASIC, and Pascal during high school, and concluded with interdisciplinary research as part of my M.S.Currently, I am working on online education initiatives and have experience adapting to dynamic and versatile startup work environments. I am comfortable working with open problem assignments and operating in an intrapreneurial role. Additionally, I have built big data (Spark) and data science (TensorFlow) skills that overlap with my M.S. curriculum and programming work experience.My thesis focused on a geographically distributed network of sensors synchronized with nanosecond precision, collecting data for a machine learning system to detect a cosmic event. I have extensive experience with Linux and C++ (familiar with C++14/17/20 features), and I enjoy exploring new languages and frameworks with the help of active developer communities, resourceful websites, public code repositories, and YouTube channels.My interests span Deep Learning, Databases, Networking, Algorithms, Performance, Kubernetes, and Optimization. Follow on the Website, Youtube, and LinkedIn.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 43
    • duration 2:26:49
    • Release Date 2023/05/06