曙光信息产业(北京)有限公司 技术支持中心 戴荣 2007年12月

Slides:



Advertisements
Similar presentations
本章重点内容  SMB 协议和 Samba 简介  安装和启动 Samba  配置 Samba 文件共享  配置 Samba 打印共享  在 Linux 环境下访问 Samba 共享.
Advertisements

C enter of C omputational C hemistry 并行计算机与并行计算 张鑫 理论与计算化学国际合作研究中心 分子反应动力学国家重点实验室.
Linux 环境及 Shell 程序 操作系统实验 1. 二、 Shell 编程与进程通信 常用 shell 命令 文件及文件属性操作 ls 、 cp 、 mv 、 rm ln 、 ln –s 、 chmod 、 groupadd 、 useradd 输入输出操作 echo 、 cat >> 、
中科院昆明动物研究所培训 云南昆明 售前工程师:张希韬 TEL:
Linux 安裝入門與基本管理 課程目標: 學習Linux平台下的安裝設定 與 建置一個基本的Linux伺服器
辅导老师:隋秀峰 2008年10月22日 Lab3:MPI Programming 辅导老师:隋秀峰 2008年10月22日.
DATE: 14/10/2009 陳威宇 格網技術組 雲端運算相關應用 (Based on Hadoop)
C语言程序设计 主讲教师 :张群燕 电话:
培养目标 1.建立基本的程序设计概念体系,掌握基础程序设计方法。
Linux并行计算平台搭建及应用 王彦棡 2010年5月.
集群作业管理系统简介 报告人:罗正平 导 师:肖炳甲研究员.
红旗Linux认证培训 课程介绍.
技术支持部 张新凤( ) 并行机群系统安装、使用和管理 技术支持部 张新凤( )
Ns2 一個常用的網路模擬器 台灣科技大學資管系資料庫實驗室 洪振洲.
當企鵝龍遇上小飛象DRBL-Hadoop當企鵝龍遇上小飛象DRBL-Hadoop Jazz Wang Yao-Tsung Wang Jazz Wang Yao-Tsung Wang
常优
第六章 Linux的系統管理基礎 課前指引 身為Linux系統管理員,除了熟悉作業系統的安裝、圖形介面的操作及系統指令的使用與軟體套件的安裝外,更需要瞭解基礎的Linux系統管理技巧。本節,將針對此部分進行說明。
台灣雲端運算應用實驗中心研發計畫 計 畫 期 間:自98年7月1日至99年6月30日止 執行單位名稱 :財團法人資訊工業策進會 國立中山大學.
HADOOP的高能物理分析平台 孙功星 高能物理研究所/计算中心
作业调度系统 曙光信息产业(北京)有限公司.
基于操作系统的编程复习 张玉宏
UNIX系統與資料庫安裝 Why UNIX 常用的工具程式介紹 資料庫的安裝.
计算机系统安全 第10章 常用攻击手段.
Cacti 第三天課程 Cacti 到底是什麼? (上午 ) Cacti 的資料流 - Cacti 資料的取得 :
武汉测地所 现场集群环境介绍 TC3600刀片服务器产品 扩展方案讨论.
當企鵝龍遇上小飛象 DRBL-Hadoop Jazz Wang Yao-Tsung Wang
嵌入式Linux开发快速入门 迟思堂工作室 李迟
Linux.
崔涛,高能所云计算组 高能所计算中心 十八届全国科学计算与信息化会议 Openstack培训及操作 崔涛,高能所云计算组 高能所计算中心.
Qtopia 编程部分要点分析 苗忠良.
Web Server 架設.
MPI并行程序设计简介 曙光信息产业(北京)有限公司 2018年11月.
本章导读 Webmin简介 Webmin的安装和配置 停止和启动Webmin服务 使用Webmin配置Samba服务
第 16 章 Internet架構.
高效能運算服務 (High Performance Computing) 建置之經驗分享
并行计算实验上机 国家高性能计算中心(合肥).
并行算法实践.
核探测与核电子学国家重点实验室 报告人:董磊 指导老师:宋克柱
ARUBA 無線網路教育訓練.
Shell Script 程式設計.
Linux 圖形操作介面 GUI -- X-window 與 Webmin
Linux 基础与常用命令简介 生物信息学培训班 杭州,2018年1月18日 周银聪.
第四讲 MPI并行程序设计 课程网站:CourseGrading buaa.edu.cn 主讲教师: 赵长海
讲议: PXE 介绍及实现 Jarvis
第二天 计算机基础技能培训 (一)linux基础知识
基于MPI的并行程序设计 王振海 西北工业大学理学院 西北工业大学高性能计算研究与发展中心 2018/11/28.
工作站簡介 ROOT小組.
1 Introduction Prof. Lin-Shan Lee.
遠東NAS-ON 6000教育訓練 簡報 工程師: 傅國忠.
Linux下的程序编译和运行 曙光信息产业股份有限公司.
曙光集群简明使用手册 技术支持中心.
曙光信息产业有限公司 技术支持中心 赵崇山 PBS作业调度系统 曙光信息产业有限公司 技术支持中心 赵崇山
High Performance Computing Service in NTUCC
Windows與Linux資源共享 SAMBA
NS2 – TCP/IP Simulation How-Wei Wu.
并行计算简介 高性能事业部:曹振南 年4月.
1 Introduction Prof. Lin-Shan Lee.
利用ICE通信中间件构建分布式应用程序开发框架
李亚康,齐法制,洪剑书,计算中心同事 中国科学院高能物理研究所 中国散裂中子源 2017/7/5,威海
C语言环境配置.
杨振伟 清华大学 第一讲:Linux环境下编程(1)
本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
实验一:编译运行Linux内核并使用gdb进行调试
如何連上工作站 WorkStations: 1. Solaris 2. Linux Use X-Win32 (for Solaris)
大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编.
杨振伟 清华大学 第一讲:Linux环境下编程(1)
Linux网络配置管理.
劉庠宏、林合治編著 國立高雄大學應用數學系 2005年3月1日
Presentation transcript:

曙光信息产业(北京)有限公司 技术支持中心 戴荣 2007年12月 Linux与并行计算 曙光信息产业(北京)有限公司 技术支持中心 戴荣 2007年12月

主要内容 并行计算简介 Linux与HPC 搭建Linux Cluster 小结

并行计算--高性能计算 并行计算(Parallel Computing) 高性能计算(High Performance Computing) 并行计算,就是在并行机上所做的计算 理论、实验与计算,被认为是人类认识自然的三大支柱。 降低单个问题求解的时间 提高问题求解精度 增加问题求解规模 无法替代的模拟计算

为什么要做并行计算? --应用需求

并行计算机 并行计算机就是由多个处理单元组成的计算机系统,这些处理单元相互通信和协作以快速、高效求解大型复杂问题。 处理单元有多少 处理单元的功能有多强 处理单元之间怎样连接 处理单元的数据如何传递 各处理单元如何相互协作 并行程序如何编写

并行计算机的发展 (1)并行机的萌芽阶段(1964-1975) (2)向量机/ SMP的发展和鼎盛阶段(1976-1990) (3)MPP出现和蓬勃发展阶段(1990-1995) (4)Cluster出现,并成为并行计算机的主流(1995年后)

并行计算机结构模型

各种架构对比 共享存储体系结构 SMP瓶颈在访存带宽,限制了可扩展性(性能会严重下降),通过增大Cache来缓解,又有数据一致性的问题。 DSM具有较好的可扩展性,且具有与SMP相同的编程模式。共享存储的机器可以运行各种编程模式的程序,包括串行程序、共享存储并行程序和消息传递并行程序。 共享存储的机器首先可以看作是一个内存扩充了的串行机器,可以运行数据量极大的串行程序,如大数据量的数据库应用。利用多个处理器的并行处理性能,自动并行(靠编译器)作用有限,需要其他编程方式的应用,如OpenMP。

各种架构对比(续) 分布式存储体系结构 无共享的机器,MPP和Cluster,具有最好的可扩展性,采用消息传递编程,可编程性不如OpenMP,也可以通过DSM软件的方式来模拟实现共享存储(其实还是通过消息传递,只不过对上层通明),性能受到影响,但可以运行OpenMP应用程序。 MPP/PVP在构造大规模系统,应用饱和性能方面具有优势,资金充足的依然会选择; Cluster由于无可比拟的性价比优势占据主流位置。 更高的计算能力 系统的高可用性 良好的可扩展性 更高的性价比

主要内容 并行计算简介 Linux与HPC 搭建Linux Cluster 小结

www.top500.org

Linpack Linpack是国际上流行的用于测试高性能计算机系统浮点性能的benchmark 通过对高性能计算机求解线性代数方程组能力的测试,评价高性能计算机的浮点性能 HPL(High Performance Linpack) 针对大规模的并行计算机系统的测试 HPL版Linpack一般用于并行超级计算机 用户可以选择矩阵的大小(问题规模)、使用各种优化方法来执行测试程序,寻求最佳的测试结果 计算量(2/3 * N^3 – 2*N^2) / 计算时间 http://www.netlib.org/benchmark/hpl/

Linux在HPC领域的优势 硬件要求 低 并行代码 多 软件成本 低 开源工具 多 维护成本 低 可定制性 好

Linux在HPC领域的劣势 发行版本太多 推广普及不够

主要内容 并行计算简介 Linux与HPC 搭建Linux Cluster 小结

集群系统体系结构

采用Linux来搭建集群系统 基本流程 对头结点/管理结点 操作系统安装 集群服务配置 对每个计算结点 集群系统联调

Linux的七种武器 Linux的七种武器(RedHat) dd:操作系统克隆 rsh:远程登录、执行 mpich:并行编程和运行环境 nfs:网络共享文件系统 ntp:集群时间同步 nis:集群帐号同步 openpbs:作业调度系统

七种武器之一:dd 操作系统克隆 echo scsi add-single-device 0 0 1 0 > /proc/scsi/scsi Host: scsi0 Channel: 00 Id: 01 Lun: 00 dd if=/dev/sda of=/dev/sdb bs=4096 if:系统源盘 of:系统镜像盘 bs:块大小 73GB SCSI硬盘 17分钟 要求源盘与镜像盘型号完全一致

七种武器之二:rsh 远程登录、执行 实现节点之间的无密码切换 打开服务rsh、rexec、rlogin chkconfig rsh on chkconfig rexec on chkconfig rlogin on /etc/init.d/xinetd restart 将所有节点名加入/etc/hosts.equiv

对于root用户 ssh:更安全的remote shell echo rsh >> /etc/securetty echo rexec >> /etc/securetty echo rlogin >> /etc/securetty cp /etc/hosts.equiv /root/.rhosts ssh:更安全的remote shell

七种武器之三:mpich 并行编程和运行环境 并行编程标准 多线程库标准 编译制导标准 消息传递库标准–最重要的并行程序设计方式 Win32 API. POSIX threads. 编译制导标准 OpenMP – 可移植共享存储并行编程标准. 消息传递库标准–最重要的并行程序设计方式 MPI PVM

mpich的安装 环境变量设置 tar -xzvf mpich-1.2.6.tar.gz cd mpich-1.2.6 ./configure --prefix=/usr/local/mpich-1.2.6 make make install 环境变量设置 vi /etc/profile 加入下面的行 source /etc/profile export MPI_PATH=/usr/local/mpich-1.2.6 export PATH=$MPI_PATH/bin:$PATH export MANPATH=$MPI_PATH/man:$MANPATH

MPICH的使用 最简单MPI程序 #include <stdio.h> #include "mpi.h“ int main( int argc,char *argv[] ) { MPI_Init( &argc, &argv ); printf( "Hello, world!\n" ); MPI_Finalize(); return 0; }

MPI程序的编译 MPI程序的运行 mpicc -o hello hello.c mpirun -np 4 hello mpirun -np 8 -machinefile ma hello

七种武器之四:nfs 网络共享文件系统 头节点 1.打开nfs服务 2.编辑/etc/exports 假设将/public共享给其它节点 chkconfig nfs on /etc/init.d/nfs start 2.编辑/etc/exports 假设将/public共享给其它节点 不限制用户、可读写、信任客户端、先写入内存 3.执行exportfs -a,共享/public目录 执行exportfs ,可以看到 /public *(rw,no_root_squash,async) /public <world>

计算节点 1.建/public目录 2.手动挂载nfs 3.看mount 情况 4.开机自动挂载nfs mkdir /public mount server:/public /public 3.看mount 情况 4.开机自动挂载nfs echo mount node38:/public /public >> /etc/rc.local

七种武器之五:ntp 集群时间同步 头节点 1.设置系统时间 2. 修改/etc/ntp.conf文件 3. 打开ntp服务 date -s 20071215 date -s 15:35 hwclock --systohc 2. 修改/etc/ntp.conf文件 vi /etc/ntp.conf 3. 打开ntp服务 chkconfig ntpd on /etc/init.d/ntpd start # -- CLIENT NETWORK ------- restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap

计算节点 1.与头节点手动同步 ntpdate node1 2. 修改/etc/ntp.conf文件 3. 打开ntp服务 hwclock --systohc 2. 修改/etc/ntp.conf文件 vi /etc/ntp.conf 3. 打开ntp服务 chkconfig ntpd on /etc/init.d/ntpd start # --- OUR TIMESERVERS ----- restrict 192.168.0.1 mask 255.255.255.255 nomodify notrap noquery server 192.168.0.1

七种武器之六:nis 集群帐号同步 头节点 1.设定NIS域名 2.打开NIS服务 nisdomainname dawning echo NISDOMAIN=dawning >> /etc/sysconfig/network 2.打开NIS服务 chkconfig ypserv on chkconfig yppasswdd on /etc/init.d/ypserv start /etc/init.d/yppasswdd start

计算节点 3.初始化NIS数据库 4.nfs共享头节点/home目录 1.设定NIS域名 /var/lib64/yp/ypinit -m /etc/init.d/ypserv restart 4.nfs共享头节点/home目录 vi /etc/exports exportfs –a 计算节点 1.设定NIS域名 nisdomainname dawning echo NISDOMAIN=dawning >> /etc/sysconfig/network /home *(rw,no_root_squash,async)

2.打开NIS服务 3.使用头节点NIS数据库 4.挂载头节点/home目录 chkconfig ypbind on chkconfig yppasswdd on /etc/init.d/ypbind start /etc/init.d/yppasswdd start 3.使用头节点NIS数据库 vi /etc/nsswitch 4.挂载头节点/home目录 mount node1:/home /home echo mount node1:/home /home >> /etc/rc.local passwd: files shadow: files group: files passwd: files nis shadow: files nis group: files nis

增加/删除/修改用户 修改用户密码 5.测试NIS 在头节点上用useradd/userdel/usermod 重新生成NIS数据库 yptest 增加/删除/修改用户 在头节点上用useradd/userdel/usermod 重新生成NIS数据库 /var/lib64/yp/ypinit -m /etc/init.d/ypserv restart 修改用户密码 不能使用passwd,而要使用yppasswd 修改 yp 密码会改变系统密码﹐修改系统密码却不改变 yp 密码

七种武器之七:openpbs 作业调度系统 系统组成

安装 解压源文件包 编译设置 编译安装 tar -zxvf openpbs-2.3.16.tar.gz cd OpenPBS_2.3.16 ./configure --disable-gui –enable-docs --set-server_home=/var/spool/pbs --x-libraries=/usr/X11R6/lib64 编译安装 make make install

配置 系统配置文件/etc/pbs.conf 系统启动脚本 /etc/init.d/openpbs Server的系统启动脚本 /etc/init.d/pbs_server Scheduler系统启动脚本 /etc/init.d/pbs_sched Mom系统启动脚本 /etc/init.d/pbs_mom 头节点 计算节点 #!/bin/sh pbs_home=/var/spool/pbs pbs_exec=/usr/local start_server=1 start_sched=1 start_mom=1 #!/bin/sh pbs_home=/var/spool/pbs pbs_exec=/usr/local start_server=0 start_sched=0 start_mom=1

头节点 初始化server: (第一次运行或者重新配置) Server配置目录 /usr/local/sbin/pbs_server –t create Server配置目录 /var/spool/pbs/server_priv/ 节点属性声明:/var/spool/pbs/server_priv/nodes node2 R220A np=2 node3 R220A np=2 node4 dualcore np=4 node5 dualcore np=4 node6 R4280A np=4 node7 R4280A np=4

队列设置 导入server配置文件:qmgr < queue.conf 输出配置文件:qmgr –c “print server” > queue.conf 配置文件例子: create queue default set queue default queue_type = execution set queue default max_running = 20 set queue default enabled = True set queue default started = True set server scheduling = True set server max_user_run = 20 set server default_queue = default set server query_other_jobs = True

计算节点 mom配置目录: /var/spool/pbs/mom_priv/ mom配置文件: /var/spool/pbs/mom_priv/config # MOM server configuration file # if more than one value, separate it by comma. ## rule is defined by the name $ideal_load 1.5 $max_load 2 ## host allowed to connect to Mom server on unprivileged port $restricted *. ## log event : # 0x1ff log all events + debug events # 0x0ff just all events $logevent 0x0ff ## host allowed to connect to mom server on privileged port $clienthost node1 ## alarm if the script hang or take very long time to execute $prologalarm 30

使用 qsub job.pbs qstat #PBS –N vasp.Hg #PBS –l nodes=8:ppn=2 echo "This jobs is "$PBS_JOBID@$PBS_QUEUE cd $PBS_O_WORKDIR mpirun -np 16 -machinefile $PBS_NODEFILE ./vasp

NPACI Rocks National Partnership for Advanced Computational Infrastructure (NPACI) 的Rocks软件,是和Linux操作系统捆绑的集成化的中间件系统,安装和管理都十分方便。http://www.rocksclusters.org/ NPACI Rocks软件被广泛地应用于学术和政府机构,其中包括西北大学、西北太平洋国家实验室、斯坦福大学等。

Rocks Basic Approach Install a frontend Install compute nodes: Insert Rocks Base CD Insert Roll CDs (optional components) Answer 7 screens of configuration data Drink coffee (takes about 30 minutes to install) Install compute nodes: Login to frontend Execute insert-ethers Boot compute node with Rocks Base CD (or PXE) Insert-ethers discovers nodes Goto step 3 Add user accounts Start computing Optional Rolls Condor Grid (based on NMI R4) Intel (compilers) Java SCE (developed in Thailand) Sun Grid Engine PBS (developed in Norway) Area51 (security monitoring tools) Many Others …

Rocks的七种武器 Rocks的七种武器 insert-ethers:操作系统快速部署 cluster-fork:集群并行命令 mpich/openmpi:并行编程和运行环境 pvfs:并行文件系统 ganglia:集群状态监控 411:集群帐号同步 sge/torque:作业调度系统

主要内容 并行计算简介 Linux与HPC 搭建Linux Cluster 小结

小结 集群是高性能计算机的发展方向 Linux在高性能计算机中大量采用 配置Linux Cluster非常方便 采用NPACI Rocks可以大大减少工作量

Q&A