Articles of hpc

ScaleMP群集上的Windows VM?

我想知道下面的堆栈是否可以工作,如果是的话,那么多好,以及在设置时可能遇到什么样的问题? 硬件层 – 大量便宜的服务器 SMP层 – ScaleMP 操作系统 – Linux 64位(例如红帽企业Linux 6或ScaleMP支持的任何操作系统) VM主机 – VirtualBox或类似在Linux上运行 VM OS – Windows Server(在此插入相关版本) 在Windows Server上运行的资源匮乏的应用程序 我希望在这里发生的是,我可以创build大量的Windows虚拟机,每个虚拟机都能够利用整个服务器硬件池中的CPU和内存。 这是我感兴趣的,因为所讨论的应用程序是仅限于Windows的。 据我所知,每一层都与下一个兼容,但是我从来没有尝试过设置这个,我现在没有合适的硬件来testing它。 我希望有一点点的开销来运行这样的集群,但是我不确定有多less。 任何意见赞赏。

并行文件系统,它将同时的文件请求调度到相互排斥的OSS集

我的环境是基于RHEL的,互连是infiniband。 我有一些Lustre的经验。 我想知道的是: 是否有一个并行文件系统,如果同时写入请求到达,它们被安排在互斥的对象服务器上(以获得高容错性)? 如果没有,我可以调整光泽以安排在不同的目标磁盘上同时进行文件写入请求吗? 我不介意如果我必须禁用条纹。 提高容错性,同时降低性能对我来说是可以的。 有什么build议么?

Slurm:为GPU和仅CPU作业分配两个队列

目前,我们已经build立了Slurm来pipe理一个由六个GPU组成的小型集群。 到目前为止,这一切都非常成功,但是现在我们希望利用英特尔酷睿i7-5820K CPU来处理只需要CPU处理能力的作业。 每个CPU有六个核心和12个线程,每个GPU需要一个线程/逻辑核心,所以剩余的8个线程(每个节点)可以用于“仅CPU”作业。 当前configuration: cat /etc/slurm-llnl/gres.conf Name=gpu File=/dev/nvidia0 Name=gpu File=/dev/nvidia1 Name=gpu File=/dev/nvidia2 Name=gpu File=/dev/nvidia3 cat /etc/slurm-llnl/slurm.conf (摘录) SchedulerType=sched/builtin SelectType=select/cons_res SelectTypeParameters=CR_Core AccountingStorageType=accounting_storage/none GresTypes=gpu MaxTasksPerNode=4 NodeName=node1 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN NodeName=node2 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN NodeName=node3 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN NodeName=node4 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN NodeName=node5 CoresPerSocket=4 Procs=8 […]

ifconfig显然显示InfiniBand HCA的错误RX / TX值

最近,我在我们的一个Linux集群计算节点上执行了一个watch -n 1 ipconfig ,同时它正在运行一个48进程的MPI运行,分散在多个节点上。 奇怪的是,虽然以太网数据包似乎被正确计数(由于SSH会话几个kb / s),但它看起来像IB适配器保持空闲(RX / TX数据包和字节没有变化)。 IB上的MPI肯定是在我们的集群上工作的(我们做了几次检查,反正人们会注意到,如果没有的话),更奇怪的是,如果我从另一个节点ping InfiniBand-HCA,突然包被计数。 不可否认,我对IB的知识是相当有限的,但是我知道InfiniBand性能改善的一个关键方面是由于直接将硬件实现到硬件(或者所以我认为 – 请纠正我如果我错了!)。 我的解释是,由于数据包没有到达内核,内核不能正确地截获stream量,因为数据包没有到达内核 – 这听起来合理吗? 但是,我不确定在ICMP情况下发生了什么。 也许通过IPoIB发送的数据不会触发相应的内核例程进行数据包计数,而“IB-native”协议(动词,RDMA)不会呢? 不幸的是,我无法在互联网上find有关此事的任何信息。

哪个计算节点执行了Sun Grid Engine作业?

使用Sun Grid Engine来确定在哪个节点上执行计算任务的最简单方法是什么? qstat似乎只列出运行/排队作业

高级别的服务器devise/编程问题

我有兴趣devise一个简单的基于局域网的服务器,它可以随时从局域网内接受和服务有限数量的连接(<25)。 服务器dynamic生成图像,并以〜40-50 MB / s的速度将其传输到客户端。 对这样一个服务器的可用devise实例的任何build议/意见 – multithreading,多任务,其他devise范例要牢记在心? 而且,如果这台服务器在互联网上的任何地方都可以接受连接(> 10000)呢? 任何参数会改变吗? 有没有可用的例子? 这主要是一个编程types的问题。 我不寻找图像压缩或任何其他特定的algorithm或运输。 只是对整体devise更高层次的看法。 应该有multithreading,什么types的排队? 哪种语言最适合,为什么? 任何文学/书籍/文章等可用? (除了angular落) 欣赏任何指针

在Debian上运行计算服务器的任务假脱机程序

最近,我们大学购买了一台多核Xeon处理器和一个4个强大的GeForce显卡的计算服务器,用于“使用CUDA进行高性能计算”的学习。 有Debian Squeeze就可以了。 我试图find一个组织任务队列(或任务假脱机程序)的解决scheme,以便学生可以启动他们的程序。 由于只有一个CPU,我猜想我们必须使用队列:学生的任务被推入队列并逐一启动。 挂起的时候当然应该有杀死任务的能力。 一些谷歌search后,我发现了两个相关的东西: 芹菜和任务后台打印 你能提出一些build议吗?

硬件支持并行文件系统

我期待在Linux集群中使用使用MPI的并行文件系统。 我想知道像光泽/并行虚拟文件系统这样的并行文件系统是否需要特殊的硬件支持(特殊的硬盘)。

适用于大型(5 + Gb)文件的适当networking文件系统

我有很多用于HPC /集群计算的服务器,我注意到,由于部分计算运行使用NFS上的大文件,这会导致严重的瓶颈。 我想知道如何解决这个问题。 设置: 使用Debian Squeeze的34个服务器(每个42 Gb RAM) 每台机器12个物理内核+ HT 2个“头”机器(头1和头2),每个500Gb驱动器 从头1进行PXE引导的32个“从属”机器 head1导出32个PXE服务器的NFS文件系统 head2通过NFS包含所有其他机器的数据文件导出一个“data”目录 “data”目录包含非常大的文件(5+ Gb) 机器之间的连接:千兆以太网 大多数机器不在同一个物理机架上 使用Open Grid Scheduler(又名Grid Engine)进行批量作业处理 这个集群运行的一个计算包括对于每个“从属”,在开始各种计算之前,读取一大组文件(3Gb + 3Gb + 1.5Gb + 750M)。 我注意到,当发生这种情况时,大多数奴隶在阅读这些消息时实际上花费了大量的时间(几分钟)(而实际的计算速度要快得多)。 目前,我已经提出了head2的NFS守护进程中的线程数量,并且在slave mount选项中将rsize和wsize为32k,但这仍然是一个很大的瓶颈。 我能做些什么来提高性能,还是让奴隶将这些文件存放在硬盘上? 或者我应该去一个完全不同的FS存储?

构buildWindows服务器群集hpc

我正在尝试设置一个具有头节点和2个计算节点的Windows Server群集。 到目前为止,我已经设法安装:(感谢这个教程http://msdn.microsoft.com/en-us/library/jj884142.aspx ) – 使用Windows Server 2012 Datacenter R2和HPC 2012 R2的前端节点 -2x使用Windows Server 2012 Standard R2和HPC 2012 R2计算节点 另外,我通过添加节点向导“添加”我的头节点上的2个节点。 我看到他们被标记为“OK”和“Online”。 但是,当我尝试提交并运行作业时,只有头节点出现在作业上,计算节点没有被使用。 此外,我已经尝试了一个testing程序,使群集中的每个节点都使用MS MPI写成C语言的“Hello”,并且只有头节点出现工作。 (工具使用Visual Studio 2012旗舰版,MS MPI库,直接在头节点编译)。