中国料学火计算机科学与波术系 niversity of Science and Technology of China D三PAT三NT口F 3H5:并行性构造 程序以顺序模式开始,此时只有一个 A只由基本线程执行,称为主线程 转换为并行模式,派生出多个子线程(一个组) B为每个组员所复制 section 行块开始 ecTIon 卜个组员执行C 卜个组员执行D sections 等待c和D都结束 时转换成顺序模式 E 已由一个组员执行 end single 转回并行模式 i=1,6 lpdo构造开始 图组员共享F的六次迭代 no wal 无隐式路障同步 更多的复制 转为顺序模式 初始化进程单独执行 呵可能有更多的并行构造 国家高性能计算中心(合肥
国家高性能计算中心(合肥) X3H5:并行性构造 Program main !程序以顺序模式开始,此时只有一个 A !A只由基本线程执行,称为主线程 parallel !转换为并行模式,派生出多个子线程(一个组) B !B为每个组员所复制 psections !并行块开始 section C !一个组员执行C section D !一个组员执行D end psections !等待C和D都结束 psingle !暂时转换成顺序模式 E !已由一个组员执行 end psingle !转回并行模式 pdo i=1,6 !pdo构造开始 F(i) !组员共享F的六次迭代 end pdo no wait !无隐式路障同步 G !更多的复制代码 end parallel !转为顺序模式 H !初始化进程单独执行H ... !可能有更多的并行构造 End
中国料学火计算机科学与波术系 niversity of Science and Technology of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 线程 R A 隐式路障同步 B B 隐式路障同步 B|D⊥E 隐式路障同步 F(12)F(3:4)F(56) 无隐式路障同步 G G G 隐式路障同步 H 国家高性能计算中心(合肥
国家高性能计算中心(合肥) 线程 隐式路障同步 P Q R A B C E F(1:2) G H G G F(3:4) F(5:6) D B B 隐式路障同步 隐式路障同步 无隐式路障同步 隐式路障同步
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 共享存储系统綸程 131 ANSI X3H5共享存储模型 132 POSIX线程模型 133 OpenMP模型 国家高性能计算中心(合肥
国家高性能计算中心(合肥) 共享存储系统编程 ▪ 13.1 ANSI X3H5共享存储模型 ▪ 13.2 POSIX 线程模型 ▪ 13.3 OpenMP模型
中国料学火计算机科学与波术系 niversity of Science and Technology of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr POSIX线程模型 IEEE/ANSI标准一 IEEE POSIX1003.1c-1995线程标 准— UniX/NT操作系统层上的,SMP Chorus, Topaz, Mach Cthreads ■Win32 Thread Get Thread Handle, Set ThreadPriority, Suspend Thread, Resume Thread TLS(线程局部存储)TsAl|loc, Tlssetvalue Linux Threads: clone and sys clone 用户线程和内核线程(LWP)(一到一,一到多,多到多) 国家高性能计算中心(合肥
国家高性能计算中心(合肥) POSIX线程模型 ▪ IEEE/ANSI标准—IEEE POSIX 1003.1c-1995线程标 准—Unix/NT操作系统层上的,SMP ▪ Chorus, Topaz, Mach Cthreads ▪ Win32 Thread ▪ GetThreadHandle,SetThreadPriority,SuspendThread,ResumeThread ▪ TLS(线程局部存储)—TlsAlloc, TlsSetValue ▪ LinuxThreads:__clone and sys_clone ▪ 用户线程和内核线程(LWP)(一到一,一到多,多到多)
中国料学火计算机科学与波术系 diversity of Science and Technology of, china D三PATH三NT What are Threads? Shared state (memory, files, etc.) Threads General-purpose solution for managing concurrency Multiple independent execution streams Shared state Preemptive scheduling Synchronization(e. g. locks, conditions) 国家高性能计算中心(合肥
国家高性能计算中心(合肥) What Are Threads? ▪ General-purpose solution for managing concurrency. ▪ Multiple independent execution streams. ▪ Shared state. ▪ Preemptive scheduling. ▪ Synchronization (e.g. locks, conditions). Shared state (memory, files, etc.) Threads