多核并行编程培训课程
课程名称:多核并行编程与并发数据结构设计
培训对象
系统软件工程师、高性能计算应用开发人员、后端服务开发者。
培训目标
培训内容介绍
-
并行计算基础:并行性与并发性的区别;任务并行 vs 数据并行;Amdahl 定律与 Gustafson 定律。
-
线程与进程:进程与线程的资源开销对比;POSIX 线程的创建、管理与同步;C++11 线程库的使用。
-
同步原语:互斥锁(Mutex)的实现原理;读写锁(RWLock)的适用场景;信号量(Semaphore)与条件变量(Condition Variable)。
-
原子操作与无锁编程:原子操作的硬件支持(CAS、LL/SC);C++11 原子库;无锁编程的 ABA 问题与内存顺序。
-
并发数据结构:并发队列的实现(锁队列、无锁队列);并发哈希表的设计;并发计数器与性能伸缩性问题。
-
锁的优化技术:细粒度锁与锁分桶;读写锁的优化;自旋锁与互斥锁的选择;避免死锁的设计模式。
-
OpenMP 并行编程:OpenMP 的并行区域;工作共享结构(for、sections、task);数据环境与变量共享;同步机制(critical、atomic、barrier)。
-
任务级并行:任务的概念与任务调度;C++ 任务并行库(Task Parallelism);线程池的设计与实现。
-
伪共享与缓存一致性:缓存行的概念;伪共享(False Sharing)的识别与避免;数据对齐与填充技术。
-
并发编程模式:生产者-消费者模式;工作窃取(Work Stealing)算法;流水线并行模式。
-
并发程序的调试与测试:数据竞争检测(Helgrind、ThreadSanitizer);死锁检测;并发程序的压力测试方法。
-
综合实战项目:设计并实现一个高性能并发哈希表,支持无锁读与细粒度锁写,并测试其在多核环境下的性能扩展性。
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表下载请点击
服务优势:
丰富专家资源,精准匹配相关行业,相关项目技术精英,面向用户实际需求,针对性培训或咨询,互动式交流,案例教学,精品小班,实际工程项目经验分享,快捷高效,节省时间与金钱,少走弯路与错路。
专家力量:
中国科学院相关研究所高级研究人员
西门子,TI,vmware,MSC,Ansys,MDI,Mentor, candence,Altium,Atmel 、Freescale,达索,华为等
大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关学历背景专业,理论素养高
多年实际项目实践,大型复杂项目实战案例分享,热情,乐于技术分享
针对客户实际需要,真实案例演示,互动式沟通,学有所值