AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[hpc](server)

Martin Hope
wdg
Asked: 2022-01-21 21:44:39 +0800 CST

如何在 SLURM 集群上设置仅交互式作业或仅批处理作业分区?

  • 2

我正在管理一个 PBS/torque HPC 集群,现在我正在使用SLURM设置另一个集群。在 PBS 集群上,我可以设置一个队列以仅接受交互式作业,qmgr -c "set queue interactive_q disallowed_types = batch"并仅接受批处理作业qmgr -c "set queue cu disallowed_types = interactive"。

但是,在浏览官方 SLURM 文档后,我找不到与 SLURM 等效的设置。

如何在 SLURM 集群上设置分区以仅接受交互式或批处理作业?

hpc
  • 0 个回答
  • 273 Views
Martin Hope
Piotr M
Asked: 2021-05-06 12:11:56 +0800 CST

通过互连器访问内存的延迟

  • 0

我正在尝试比较集群的不同节点互连的延迟。目标是最小化内存访问延迟。

我已经获得了一些关于具有许多 CPU 的 NUMA 架构的硬件实现之一的基准测试。这表明:

  1. 直接连接到 CPU 的 socket 的内存访问延迟约为 90ns。
  2. 通过UPI连接到CPU套接字的其他CPU套接字的内存访问延迟约为140ns(因此UPI的一“跳”增加了约50ns)。
  3. 通过所考虑的 NUMA 互连访问内存的延迟为 370ns(因此该互连的一“跳”增加了大约 280ns)。

NUMA 互连是非常专业的解决方案,无法与大多数硬件供应商一起使用。“标准”互连器是 InfiniBand、以太网和 FibreChannel。

我正在寻找这些互连器为内存访问提供的延迟。

例如,在 EDR Infiniband 交换机之一的规范中,它声明它提供“90ns端口到端口延迟”。如果我理解正确,端口到端口延迟是指交换机本身引入的延迟。对于这个延迟,我们应该加上大约 600ns 的 NIC 延迟(根据这个),所以这大约是 90+2x600=1290[ns] 的互连器相关延迟。(顺便说一句,与 90ns 相比,600ns 的值似乎高得可疑。为什么这么高?)

我们还应该预期电缆(无源铜缆或光纤)会引入一些延迟。我想这取决于它的长度,但我不确定它的顺序是什么。光在 3ns 左右传播 1 米,这是一个好的估计吗?

缺少的部分是网卡访问内存的时间。我想我们应该考虑使用 RDMA 和通过 CPU 的不同情况。我还缺少其他东西吗?我的上述推理是否正确?

我的主要问题是:使用 InfiniBand、以太网或 FibreChannel 等“标准”互连器访问集群不同节点内的内存的预期延迟是多少?

我问的原因是我试图将当前单一系统映像解决方案中描述的问题分解为较小的子问题。

memory latency hpc infiniband numa
  • 1 个回答
  • 209 Views
Martin Hope
ProlucidDavid
Asked: 2021-01-14 17:28:25 +0800 CST

OpenLDAP 实现只允许 root 用户设置帐户密码

  • 0

我正在使用需要使用 AWS ParallelCluster 资产进行一些高性能处理的应用程序。在初始设置之后,我们需要能够添加/删除用户帐户,我正在尝试根据这些说明进行设置,这些说明解释了如何为此目的在集群头上设置一个简单的 openLDAP 目录服务。

我已成功遵循这些说明,并且能够创建 LDAP 非管理员帐户。以 root 身份登录时,我可以使用以下命令设置此帐户的密码:

sudo ldappasswd -H ldap://localhost:389 -x -D "cn=ldapadmin,dc=<stack_name>,dc=internal" -W -S uid=<username>,ou=Users,dc=<stack_name>,dc=internal -y <path/to/file/with/LDAP/password>

此时,我可以切换到新的 LDAP 非管理员帐户。不幸的是,如果以该用户身份登录时,我执行命令 passwd,我会收到以下错误:

password change failed: Insufficient access
passwd: Authentication token manipulation error

如何配置我的 openLDAP 应用程序,以便非管理员用户可以更改自己的密码?

openldap amazon-web-services hpc
  • 1 个回答
  • 366 Views
Martin Hope
Adrian Maire
Asked: 2021-01-08 14:26:31 +0800 CST

在服务器中使用消费级(高端)GPU 的注意事项?

  • 1

动机:

首先,即使我有一些计算机科学、软件开发和服务器 Linux 管理方面的知识,我也从未研究过服务器硬件,而且我完全是一个“新手”。对不起,如果这个问题对你们大多数人来说是微不足道的。

我正在开发一个具有非常密集(单点)计算需求的软件,为了达到所需的 TFlops,我选择了 OpenCL (2.1) 框架并在高端消费 AMD 显卡上执行大部分计算,主要使用 CPU驱动 GPU(Linux 操作系统)。我现在希望通过多台机器来扩展它。

看看如何组织这些机器,很快就发现标准(消费)ATX 塔并不理想:每个品牌都有自己的机箱形状,它们基本上不能在 19 英寸机箱中轻松方便地堆叠,具有良好的冷却气流、共享APC、管理线缆等。

带着这个目标,我开始寻找一个带有服务器的机柜,并发现:

  • 为 Instinct/Tesla 等 HPC 设计的 GPU 的成本比消费级 GPU 高出一个数量级,主要是为了带来双浮点,这在消费级设备上是“慢”的(因为它们可以以这个价格卖给企业)。
  • 即使使用这些 GPU,也需要 PCI-Express 垫片
  • 支持 GPU 的服务器最多只能支持 2 个插槽的显卡(当前的高端消费 GPU 通常是 3 个插槽)。
  • 我发现 ATX 3U 或 4U 机箱专为 19" 机柜设计。但是,嘿!安装其中一个使用消费类硬件将排除 ECC、多个 APC 等。

问题:

购买旨在托管 1 个或 2 个消费级 GPU 的服务器需要考虑什么?

我已经花了很多时间在网上寻找,但无法对这个问题有一个基本的了解,例如,以下是我想到的一些想法:

  • 这是个好主意,甚至可能吗?一些文本(网页)抱怨难以使这些系统协同工作、不兼容、驱动程序问题等。
  • 2U-3U服务器机箱能装3槽显卡吗?还是两个?
  • 一些服务器(例如 Gigabyte Gxxx)是专门为带有 GPU 的 HPC 设计的,与标准(例如)HPE Proliant、IBM .. 服务器相比,这真的会带来什么不同吗?
  • 大多数服务器是否支持消费级 GPU 卡所需的 PCI-express v4 x16?
  • 服务器机箱中的气流是否与消费级 GPU 卡兼容(通常底部 3 个通风口)
  • 电源连接有问题吗?
gpu hpc
  • 1 个回答
  • 835 Views
Martin Hope
nirnaeth
Asked: 2021-01-06 16:43:28 +0800 CST

Infiniband 驱动程序:包括 OFED 或发行版?

  • 1

我正在建立一个带有 infiniband 网络的 Linux 集群,而且我是 infiniband 世界的新手,任何建议都非常受欢迎!

我们目前正在使用 Mellanox OFED 驱动程序,但我们的 infiniband 卡很旧,并且无法被最新的 MOFED 驱动程序识别。所以我想知道为什么不使用发行版提供的驱动程序(运行 CentOS7)。

使用一个或另一个会有什么不同?我应该期待任何性能下降吗?

谢谢

centos hpc infiniband mellanox
  • 2 个回答
  • 429 Views
Martin Hope
rage_man
Asked: 2021-01-02 19:18:00 +0800 CST

带有“部分”头节点的 SLURM

  • 2

我正在尝试以典型的方式在小型 ubuntu 18.04 HPC 集群上安装 SLURM 和 NFS,例如配置控制器 (slurmctld) 和客户端 (slurmd) 以及共享目录等。我很好奇的是,有没有办法设置它以便在头节点的一部分上有一个控制器,并且头节点中的其他驱动器由资源分区例程使用,就像其他节点一样?有没有办法使用 SLURM 配置文件来完成这个?

我本质上是在问如果控制器只做轻量级的工作,如何最大化资源。

谢谢你,干杯!

slurm hpc
  • 1 个回答
  • 124 Views
Martin Hope
elliotp
Asked: 2020-11-10 12:27:54 +0800 CST

HPC SSD 环境中 ZFS RAIDz1/2 的开销是多少?

  • 3

示例硬件/主机:

  • 现代 64 核 CPU,128GB 内存
  • 8 个美光 Pro 15.36TB u.2 SSD
  • 每个设备通过专用 Oculink 连接 SSD(无背板或 PCIe 共享)
  • Ubuntu 20.04

用例:

  • 数百台主机的备份服务器。备份是通过增量 rsync 执行的,首先是来自远程主机的 rsync,然后是本地副本(使用 cp)以创建快照。- - - 数以百万计的小文件(电子邮件、html 文件等)是典型的备份。
  • 在任何时候,服务器都可以处理 50 个传入的 rsync(cpu 轻加密算法和无压缩)
  • 冗余虽然是有利的,但不是必需的。最多单个驱动器故障。
  • 文件轮换所需的极端本地 i/o
  • rsync 和硬链接差异复制('rsnapshot')的使用不能改变,这是已部署并投入生产的备份软件所要求的 - 所以 BTRFS 快照是不可能的。

我提出了两种可能的解决方案:

  1. 分片我的数据存储,没有冗余。BTRRFS 中基于每个驱动器的格式,并使用内联 LZO 压缩进行安装。
  • 优点:简单轻量,无raid管理开销
  • 优点:独立故障,在磁盘故障时只有一小部分备份丢失,可以快速重新建立
  • 优势:获得的最大总容量
  • 缺点:容量管理的复杂性——没有一个大容量意味着战略性地平衡特定磁盘上的数据以充分利用它们
  • 缺点:磁盘故障确实会丢失数据
  1. 一个大卷跨所有磁盘的 ZFS RAIDz1/2
  • 优点:1或2个磁盘故障冗余
  • 优点:易于管理,所有内容都集中在一个巨大的体积中 - 空间充足。
  • 缺点:损失 1 或 2 个磁盘的容量

问题:与选项 1 相比,是否存在显着的 ZFS RAID 管理开销会降低阵列的性能?- 在他设计的每个级别以最大限度地提高操作系统和 SSD 之间的磁盘吞吐量的配置中,以每秒 10 千兆比特为单位,ZFS RAID 管理的开销是否会导致性能显着下降和/或 CPU 或内存过载?

谢谢你。

ssd zfs raid5 btrfs hpc
  • 2 个回答
  • 445 Views
Martin Hope
Nicolas De Jay
Asked: 2020-11-10 09:21:39 +0800 CST

错误的 LDAP 用户 ID 映射到 Slurm 帐户管理服务

  • 1

我配置了一个 Slurm 头节点,如下所示:

  • sssd联系 openLDAP
  • slurmctld///充当Slurm控制器和slurmdbd计算slurmd节点munged

... ray.williamsLDAP 用户在哪里。它的 UID 可以映射到节点上。SSH 登录工作正常。

$ id ray.williams
$ uid=10000(ray.williams) gid=10000(powerlifters) groups=10000(powerlifters)

当我将此用户添加到 Slurm 记帐数据库时,它不会抱怨该用户不存在。

$ sacctmgr create account name=default
Associations
  A = default    C = hydra

$ sacctmgr create user name=ray.williams account=default
Adding User(s)
  ray.williams
Associations =
  U = ray.willi A = default    C = hydra
Non Default Settings

但是,UID 被错误地映射到4294967294,它看起来像一个无符号的 -1 ( https://www.suse.com/support/kb/doc/?id=000017244 )。这与我输入了一个不存在的用户名相同的 UID。无法sacctmgr在命令行上提供正确的 UID。

$ scontrol show assoc | grep ray.williams
UserName=ray.williams(4294967294) DefAccount=default DefWckey=(null) AdminLevel=Not Set
ClusterName=hydra Account=default UserName=ray.williams(4294967294) Partition= ID=4

因此,该用户无法提交作业。我确认这只会影响 LDAP 用户,因为本地用户 ID 已正确映射。

$ su ray.williams
$ srun -A root -N4 -l /bin/hostname
srun: error: Unable to allocate resources: Invalid account or account/partition combination specified

日志显示作业被拒绝,可能是因为在 Slurm 会计数据库中找不到 UID 10000。

$ cat /var/log/slurm/slurmd.log
[2020-11-09T17:05:47.010] job_submit.lua: [Rule 0/part] Default partition - job from uid 10000(ray.williams), setting default partition to 'pgrinux'
[2020-11-09T17:05:47.010] _job_create: invalid account or partition for user 10000, account 'default', and partition 'pgrinux'
[2020-11-09T17:05:47.010] _slurm_rpc_allocate_resources: Invalid account or account/partition combination specified

你知道我怎样才能让 Slurm 和 SSSD/LDAP 交换正确的用户 ID 吗?

非常感谢!

注意:为了更好地衡量,这里是一些配置文件的片段,以防它们有用。

$ cat /etc/slurm/slurmd.conf
PartitionName=pgrinux      Nodes=d1p-test-grinux[01-05] Default=YES AllowGroups=ALL AllowAccounts=ALL
$ cat /etc/sssd/sssd.conf
[sssd]
domains = local.lan
config_file_version = 2
services = nss, pam
debug_level = 9

[pam]
pam_verbosity = 9

[domain/local.lan]
id_provider = ldap
auth_provider = ldap
cache_credentials = true
default_shell = /bin/bash
mkhomedir = false
ldap_access_order = filter
ldap_access_filter = (objectClass=posixAccount)
ldap_search_base = dc=local,dc=lan
ldap_uri = ldaps://d1p-test-ldap02
ldap_id_use_start_tls = false
ldap_tls_reqcert = never
$ getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:995::/var/lib/chrony:/sbin/nologin
vagrant:x:1000:1000:vagrant:/home/vagrant:/bin/bash
vboxadd:x:997:1::/var/run/vboxadd:/bin/false
slurm:x:991:991:SLURM workload manager:/var/lib/slurm:/bin/bash
munge:x:801:801:MUNGE Uid 'N' Gid Emporium:/var/lib/munge:/sbin/nologin
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
sssd:x:800:800:User for sssd:/:/sbin/nologin
ldap slurm sssd hpc
  • 1 个回答
  • 1111 Views
Martin Hope
Christian Hennen
Asked: 2020-10-01 08:28:08 +0800 CST

HTCondor 高可用性

  • 2

我目前正在尝试使本地隔离 HTCondor 集群的作业队列和提交机制具有高可用性。该集群由 2 台主服务器(之前为 1 台)和几个计算节点和一个中央存储系统组成。DNS、LDAP 和其他服务由主服务器提供。在所有机器上的 Ubuntu 20.04.1 上,HTCondor 版本是 8.6.8。

我按照https://htcondor.readthedocs.io/en/latest/admin-manual/high-availability.html下的说明进行操作。对于生成的配置,请参见下文。

假脱机目录 (/clients/condor/spool) 位于 NFS v3 共享上,每个服务器都可以访问 (/clients)。所有机器都有一个本地用户 (r-admin),其 uid 和 gid 为 1000,并且 spool 目录归该用户所有,因为它被配置为 Condor 用户。每个其他用户都通过 LDAP 映射到包括存储集群在内的每台服务器上。在两台主服务器上,用户“condor”具有相同的 uid 和 gid。

HADLog 会定期更新,并且不会显示任何错误。一次只有一个主节点具有主要角色。ReplicationLog 似乎也很好。

但是,有几个问题:

让我们假设 master1 当前是主要的。使用不带任何参数的 condor_q 仅适用于本机并显示正确的作业队列。在 master2 上,使用 condor_q 会导致分段错误。如果给定 SCHEDD_NAME 作为参数(“condor_q master@”),则有输出,但其中包含 master2 的 IP 且没有任何作业。作业也没有开始,它们处于空闲状态。

有没有人知道配置可能有什么问题,或者我可以在哪里找到关于这个主题的更多见解?任何帮助,将不胜感激!


编辑

当您尝试在 master2 上运行 condor_q 时,您可以在下面找到 master1 上的 SchedLog 条目:

10/08/20 11:50:30 (pid:47347) Number of Active Workers 0  
10/08/20 11:50:41 (pid:47347) AUTHENTICATE: handshake failed!    
10/08/20 11:50:41 (pid:47347) DC_AUTHENTICATE: authentication of <192.168.1.22:10977>
did not result in a valid mapped user name, which is 
required for this command (519 QUERY_JOB_ADS_WITH_AUTH), so aborting. 
10/08/20 11:50:41 (pid:47347) DC_AUTHENTICATE: reason for authentication failure: 
AUTHENTICATE:1002:Failure performing handshake|AUTHENTICATE:1004:Failed to authenticate using KERBEROS|
AUTHENTICATE:1004:Failed to authenticate using FS|FS:1004:Unable to lstat(/tmp/FS_XXXGNYmKn)  

主守护进程

DAEMON_LIST = MASTER, SCHEDD, COLLECTOR, NEGOTIATOR

节点守护进程

DAEMON_LIST = MASTER, STARTD

本地配置(/etc/condor/condor_config.local,所有服务器)

COLLECTOR_NAME = HPC
CENTRAL_MANAGER_HOST = master1.condor,master2.condor
UID_DOMAIN = condor
FILESYSTEM_DOMAIN = condor

ENABLE_HISTORY_ROTATION = TRUE
MAX_HISTORY_LOG = 2000000000
MAX_HISTORY_ROTATIONS = 100

EMAIL_DOMAIN = condor

ENABLE_IPV6 = FALSE

CONDOR_IDS = 1000.1000

QUEUE_SUPER_USERS = root, r-admin

CONDOR_ADMIN = root@condor

SOFT_UID_DOMAIN = TRUE

ALLOW_READ = *, $(CONDOR_HOST), $(IP_ADDRESS), $(CENTRAL_MANAGER_HOST)
ALLOW_WRITE = *, $(CONDOR_HOST), $(IP_ADDRESS), $(CENTRAL_MANAGER_HOST)
ALLOW_ADMINISTRATOR = *, $(CONDOR_HOST), $(IP_ADDRESS), $(CENTRAL_MANAGER_HOST)

HA 配置(/etc/condor/config.d/ha.conf,仅限主服务器)

## HA Konfiguration

## Shared Job Queue
MASTER_HA_LIST = SCHEDD
SPOOL = /clients/condor/spool
HA_LOCK_URL = file:/clients/condor/spool
VALID_SPOOL_FILES = $(VALID_SPOOL_FILES) SCHEDD.lock
SCHEDD_NAME = master@


## Shared Negotiator and Collector
HAD_USE_SHARED_PORT = TRUE
HAD_LIST = master1.condor:$(SHARED_PORT_PORT),master2.condor:$(SHARED_PORT_PORT)

REPLICATION_USE_SHARED_PORT = TRUE
REPLICATION_LIST = master1.condor:$(SHARED_PORT_PORT),master2.condor:$(SHARED_PORT_PORT)

HAD_USE_PRIMARY = TRUE

HAD_CONTROLLEE = NEGOTIATOR
MASTER_NEGOTIATIOR_CONTROLLER = HAD

DAEMON_LIST = $(DAEMON_LIST), HAD, REPLICATION

HAD_USE_REPLICATION = TRUE

STATE_FILE = $(SPOOL)/Accountantnew.log

MASTER_HAD_BACKOFF_CONSTANT = 360
hpc condor
  • 1 个回答
  • 295 Views
Martin Hope
Rickard Johansson
Asked: 2020-02-27 07:01:47 +0800 CST

Beowulf 集群的 Ubuntu 服务器与 Ubuntu 桌面

  • 0

我想使用 Ubuntu 18 创建一个 beowulf 集群。查看一些指南,他们似乎都为此使用了 ubuntu 服务器,我的问题是为什么?客户端节点是否无法使用 ubuntu 桌面,或者更多的是出于性能目的?集群服务器的同样问题。它不应该使用ubuntu桌面吗?您是否总是期望对此类集群使用命令行?

ubuntu cluster ubuntu-18.04 hpc
  • 1 个回答
  • 418 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve