课程内容 课程内容 围绕学科理论体系中的模型理论,程序理论和计算理论 1.模型理论关心的问题 给定模型M,哪些问题可以由模型M解决;如何 比较模型的表达能力 本讲座概要介绍并行编程模 2.程序理论关心的问题 型及一些相关概念 给定模型M,如何用模型M解决问题 包括程序设计范型、程序设计语言、程序设计 形式语义、类型论、程序验证、程序分析等 3.计算理论关心的问题 给定模型M和一类问题,解决该类问题需多少资源
课 程 内 容 • 课程内容 围绕学科理论体系中的模型理论, 程序理论和计算理论 1. 模型理论关心的问题 给定模型M,哪些问题可以由模型M解决;如何 比较模型的表达能力 2. 程序理论关心的问题 – 给定模型M,如何用模型M解决问题 – 包括程序设计范型、程序设计语言、程序设计、 形式语义、类型论、程序验证、程序分析等 3. 计算理论关心的问题 给定模型M和一类问题, 解决该类问题需多少资源2 本讲座概要介绍并行编程模 型及一些相关概念
讲座提纲 ·基本知识 -多核体系结构、 并行编程模型 ·内存一致性模型 严格一致性模型、顺序一致性模型、内存一致性 模型的重要性 共享变量并行编程模型 一-同步、锁、临界区、条件变量、死锁、数据竞争 消息传递并行编程模型 -消息传递、同步与异步 3
讲 座 提 纲 • 基本知识 – 多核体系结构、并行编程模型 • 内存一致性模型 – 严格一致性模型、顺序一致性模型、内存一致性 模型的重要性 • 共享变量并行编程模型 – 同步、锁、临界区、条件变量、死锁、数据竞争 • 消息传递并行编程模型 – 消息传递、同步与异步 3
基本知识 ·对称多处理器 一对称多处理器的体系结构 通过共 享内存来 处理器 处理器 处理器 处理器 进行通信 级 一级 必须在 缓 缓 缓 缓存 处理器的 级 二级 二级 缓存中找 缓 缓存 爱 缓存 到它操作 的大部分 总线 数据,以 保证性能 内存 4
• 对称多处理器 – 对称多处理器的体系结构 二级 缓存 内存 总线 二级 缓存 二级 缓存 二级 缓存 一级 缓存 一级 缓存 一级 缓存 一级 缓存 处理器 处理器 处理器 处理器 基 本 知 识 必须在 处理器的 缓存中找 到它操作 的大部分 数据,以 保证性能 通过共 享内存来 进行通信 4
基本知识 ·几个概念的粗略解释 任务:一般性的抽象术语,指由软件完成的一个 活动。例如,矩阵分块乘就是把矩阵乘分成多个 任务,以便于在对称多处理器上并行执行这些任务 进程:任务在程序中的对应物,它有自己的数据 和代码,需要在处理器上运行直至结束。进程是 操作系统为其进行资源分配和调度的独立单位 线程:是把进程细分出现的实际运行单位,线程 是进程中一段顺序执行的语句序列。把进程分成 若干线程是为了提高进程执行过程中的并行性。 线程是操作系统调度的基本单位 下面未严格区分进程和线程
• 几个概念的粗略解释 – 任务:一般性的抽象术语,指由软件完成的一个 活动。例如,矩阵分块乘就是把矩阵乘分成多个 任务, 以便于在对称多处理器上并行执行这些任务 – 进程:任务在程序中的对应物,它有自己的数据 和代码,需要在处理器上运行直至结束。进程是 操作系统为其进行资源分配和调度的独立单位 – 线程:是把进程细分出现的实际运行单位,线程 是进程中一段顺序执行的语句序列。把进程分成 若干线程是为了提高进程执行过程中的并行性。 线程是操作系统调度的基本单位 – 下面未严格区分进程和线程 基 本 知 识 5
基本知识 ·几个概念的粗略解释 并行(parallet:多个可以同时执行的任务,在多处 理器上同时执行 B 并发(cuncorrent):多个可以同时执行的任务,在 单处理器上交错执行 A B 并发是逻辑上同时发生,而并行是逻辑上和物理 上都同时发生。下面不区分并行和并发
• 几个概念的粗略解释 – 并行(parallel): 多个可以同时执行的任务,在多处 理器上同时执行 – 并发(cuncorrent):多个可以同时执行的任务,在 单处理器上交错执行 并发是逻辑上同时发生,而并行是逻辑上和物理 上都同时发生。下面不区分并行和并发 基 本 知 识 t A B t A B 6