HPC中国研发团队

微软亚太研发集团服务器与开发工具事业部高性能开发团队的中文博客。

March, 2008

  • 来看看我们的产品之部署初体验

    大家好,我是HPC 中国研发团队的新程序经理(PM)实习生刘贤斐,听言“PM是连接用户和开发团队的重要角色”,因此,在加入微软HPC组之后,尽快熟悉微软HPC的产品成为我的重要任务之一,在在得到了包括老板George,育彤兄的大力支持以及天驰兄的大力PUSH之后,我成功地把Microsoft Windows HPC Server 2008(Beta1) 部署到了一台具备一个头节点4个计算节点的集群(Cluster)上。原来用HPC PACK部署集群是如此方便快捷(不是广告,看后面就知道了),其兴奋不言而喻,在此和大家分享一下我的经历。

           那么什么是集群(Cluster)呢?比较正式的解释是:集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,能够为用户提供各种服务。我们部署的集群外观是这样的:

    HPC Server 2008的作用是在这上面部署操作系统以及集群管理工具等。先来说说HPC Server 2008的概念吧,它是由两个部分组成的:Windows Server 2008Microsoft HPC Pack

    Windows Server 2008主要是提供64位的操作系统支持,Microsoft HPC Pack提供了集群管理,任务调度,MPI编程环境,SDK等一系列工具。了解了概念后,就动手部署了,首先要做的是插好电源并检查鼠标键盘以及网线有没有接对(不是废话,当时我就没注意分清CONSOLE的接口和头节点的接口,惭愧惭愧),之后就在头节点上装好Windows Server 2008HPC Pack。接下来当我准备在四个节点上如法炮制时,立马被无情地鄙视了,因为这是最低效率的做法了,我们要做的事情只是把四个节点的电源接通,然后利用HPC Pack Node Template(节点模板)功能就可以很方便地在所有的节点上搞定这些事情。具体的过程如下:进入Configuration后,你可以看到如下的界面:

    To Do List

    首先,就是配置网络(有5种网络拓扑结构,具体的奥妙大家可以自己研究一把),配置系统帐号,给节点批量命名,最有意思的是第4步了,创建新的节点模板,如图所示:

    Template

    在向导中稍作配置,一路“Next”,即大功告成。然后选择在哪些节点上部署这个模板。我们支持对三种节点的部署:裸机节点,以前把其配置导出成XML文件的节点,和已经安装好操作系统的节点;对我来说在空节点上安装当然是第一种情形了,点击“PROVISION”, 部署就开始了。现在可以在“Node Management”(节点管理)导航栏里面看到这些节点在“Provisioning”(正在部署)的列表中,单击节点就可以看到它们部署的状态,在执行哪些命令。

    Provisioning

    部署完毕后,就可以使用这些节点了,包括让它们online或者offline,提交任务等。

    Status

    HPC Server提供的一个很有意思的功能是查看节点的健康状态(如下图),我们可以选择添加一些标准(Metric),添加之后,这些标准会以一个柱状图的形式显示出来,颜色越深表示它的值越高。在我们的图中可以看出来,头结点(TYANHEAD)上的每秒系统调用数量(System Calls/ Second)和硬盘的吞吐量(Disk Throughput)都比其他节点高,所以它们对应的颜色也越深,而头结点可用的物理内存(Available Physical Memory)最少,所以相对于其他节点来说,它的颜色也教浅。这样可以让管理员直观的看到现在每个节点的状态。

    heatmap

    怎么样,是不是很方便啊,没有繁琐的步骤,不用记大量的命令,一切都很一目了然就可以部署集群了。

    以上是我的一些体验,欢迎大家指出不当之处,多多交流~ 同时也感谢全体HPC 中国研发团队对我撰写此文的帮助。

    Liu Xianfei

    PM INTERN, HPC Group, STB China

    Shanghai

  • 来看看我们的产品之基于PowerShell的命令行界面

    HPC2008的用户界面与CCP2003相比,发生了巨大的变化。且不用说那精美GUI,单就历来枯燥乏味的命令行界面也能令你眼花缭乱。我们将会在以后的篇幅中逐一介绍GUI,本篇将着眼于命令行。

    用过CCP2003的朋友们应该还记得那经典的几个命令吧,分别以jobtasknode等打头,然后跟上操作符参数HPC2008仍然支持CCP2003的命令,以确保向后兼容。除此之外,我们开发了更为强大的基于Windows Powershell(下文简称PS)的命令行界面。这也是我今天想向大家推荐的重点。

    (1) PS CLI 功能CCP2003的命令行多得多。

    PS CLI覆盖了GUIReporting之外的所有功能(如Deployment, Node Management, Job Management, Operation, Diagnostic, Cluster Configure等)。换而言之,原先必须用GUI才能做到的事,现在可以统统使用PS CLI完成。最直接的好处就是,可以使整个集群的安装,配置,诊断,作业提交实现脚本化,极大地提高管理员的工作效率。

    (2) PS CLI 充分运用PS自有的功能

    如果用一句话来描述PS的强大之处,那就是它引入了基于对象的管道。简而言之,一个命令可以向管道输出一个对象,也可以从管道中接收一个对象作为参数。

    举个例子:

    命令New-HpcJob,创建一个job并输出到管道;Submit-HpcJob,从管道中获得一个job并将其提交;Add-HpcTask,从管道中获得一个job,添加一个taskjob中,再将job输出到管道。不难看出,管道可以将这三个命令连接起来:New-HpcJob | Add-HpcTask | Submit-HpcJob。当然,我们可以向job中添加多个taskNew-HpcJob | Add-HpcTask | Add-HpcTask | Add-HpcTask |Submit-HpcJob

    PS的另一个可圈可点之处在于可以定制输出格式。以查看job为例,我们可以指定若干个需要查看的属性PS会自动的将它们排列成表头,以表格的形式输出整个job table。下面的截图使用了刚才介绍的管道,将一组job通过管道传给了PS自带的Format-Table命令,打出了一张job table

    细心的朋友可能已经发现了PS命令的一个语法特征,统统是 verb-noun的形式。无论是PS自带命令还是我们开发的命令都遵循这个规则PS在今后的版本中仍将继续使用这个规则。

    (3) PS CLI强大的help message

    我们的PS CLI80条命令左右,不排除今后继续添加新命令的可能。大家不可能记住所有的参数,怎么办,看帮助文档。以Get-HpcJob为例,输入“Get-HpcJob  -?”,您将会得到最简洁的帮助信息,例如参数名称,类型等;输入“Get-Help Get-HpcJob -Full”得到最全面的信息,包括各个参数的作用,可以管道的参数,支持通配符的参数,以及应用实例等。

    今天就先介绍这些吧。绝大部分的PS CLI在我们已经发布的CTP 中都已经可以使用,多多欢迎宝贵意见。

     

    Qing Zhi
    DEV,HPCGroup
    Shanghai

  • 一年级新兵看微软HPC的2007

      中国老一辈的人都流行说:我几几年参加工作,言语中掩不住自豪。小弟我*在小中大学校摸爬滚打了近二十年,终于在去年三月成为一名Dev--软件设计工程师,马上就可以拿到在微软“幸存”一周年的纪念牌牌,得意地宣布实现工龄零的突破,参加工作一年了。追昔抚今,以继往开来, 2007这一年,我这个一年级新兵看到的是微软HPC活动迭出,捷报频传,研发销售两手抓两手都很硬的一年。为免把本文写成形神聚散的散文,下面我就以擅长的文体--流水帐,把2007年微软HPC,特别是在中国市场的一些亮点给大家做个汇报:

       

    1. 20073月,我们的产品Windows Compute Cluster Server 2003(以下简称为CCS)发布Service Pack 1
    2. 20074月,HPC上海开发团队携手开发及平台合作部,推出中文MSDN网络广播微软高性能运算系列课程
    3. 20076月,微软第一次提交了自己的HPC系统RainierTOP 500,8.997TFlops的成绩名列第106名,另一基于Window CCS的系统名列193名。

      Top 500 Certificate

    4. 20077月,杭州国家软件产业基地建立了中国第一个基于WCCSHPC 平台
    5. 20078月,微软总部Redmond,  HPC技术预览大会, HPC产品组邀请到了100多个关键合作伙伴和客户,共同商讨了微软在HPC市场的路线图和愿景,详细介绍了CCS 2003第二版本及Windows Server 2008, Powershell等相关技术,尽情fb了以烧烤贝类为特色的自助餐。

      Clam Bake

    6. 200711月,HPC界的武林盛会Supercomputing 2007在赌城Reno召开! 产品CCS第二版本摇身一变,改叫Windows HPC Server 2008!(有气势,我喜欢)Beta1 如期发布;Parallel Computing Initiative项目启动,让开发并行程序更容易;这次的TOP 5006Windows系统上榜,Rainier硬件不变,软件更新,效率大增,在激烈的竞争中排名116。两年前BillGSupercomputing 2005上放言"HPC, 我们来了"。事实证明,我们不是凯丁(Kidding),我们是希尔瑞斯(Serious)!

      SC07

       

      Branding

    7. 200711月,微软曙光展开高性能计算合作建软件测试实验室

      Dawning

    8. 200712月,微软学者项目学生及教师研究奖”竞赛开幕

      Contest

       

       

      * 我是谁呢,不才就是上一篇帖子里说到的菠萝头兄弟,简历可由微软之缘为线索总结为:

      1.MSNCDC扛过枪:MSN中国开发中心最早的一批实习生,对大队人马奔赴中山公园打彩弹记忆犹新;

      2.GTSC帮过忙:          微软全球技术支持中心兼职做过几个web项目;

      3.MSRA翻过墙:     微软亚洲研究院访问学生,爱极了每天的酸奶和桌上足球,也目睹和亲历了年底冲国际会议论文的疯狂--比如说优化论文算法到半夜,翻北航的校门回招待所睡觉;

      4.MVP得过奖:        ASP.NET微软最有价值专家,只当了半年就因加入微软而自动终结:)

      5.STBC留过洋:       微软服务器与开发工具事业部(中国)收编为正规军后,不到半年即通过“丝绸之路”项目发配总部“朝圣”一个半月,见到了传说中的美国和Bill,至此始信,世上确乎有美国,世上确乎有Bill,众之人不余欺也。