Tôi đã nâng cấp từ IBM LSF Suite dành cho Doanh nghiệp 10.2.0.10 lên phiên bản 10.2.0.12 và hiện tại, chỉ trên một trong các máy chủ cụm GPU của chúng tôi (1 trên 8 máy chủ), tôi không thể tiếp tục chạy dịch vụ LIM. Nó liên tục gặp sự cố với lỗi phân đoạn:
lim[42062]: segfault tại 0 ip 00007f63476c07f7 sp 00007f6345218958 lỗi 4 trong libc-2.27.so[7f6347607000+1e7000]
Quá trình phân tách lỗi thường xảy ra sau khi một công việc đã được gửi đến máy chủ hoặc đã kết thúc ở đó. Nếu có một công việc đang chạy trên máy chủ, LIM và các quy trình con của nó sẽ không thành công sau một phút hoặc lâu hơn sau khi bắt đầu.
Vì chúng tôi đang sử dụng "Sáng kiến học thuật" của IBM, trên ghế đại học Tin sinh học, chúng tôi không có quyền truy cập vào hỗ trợ hoặc Gói sửa lỗi, ngoài các bản phát hành chính.
nvidia-smi
hiển thị như sau, hiện tại:
+--------------------------------------------- ----------------------------- +
| Phiên bản Trình điều khiển NVIDIA-SMI 470.82.01: 470.82.01 Phiên bản CUDA: 11.4 |
|-------------------------------------+----------------- -----+----------------------+
| Tên GPU Persistence-M| Bus-Id Disp.A | Dễ bay hơi Uncorr. ECC |
| Fan Temp Perf Pwr:Sử dụng/Giới hạn| Sử dụng bộ nhớ | GPU-Util Compute M. |
| | | MIG M. |
|=================================================== =====+======================|
| 0 Quadro RTX 8000 Bật | 00000000:1A:00.0 Tắt | Tắt |
| 33% 40C P8 25W/260W | 3968MiB / 48601MiB | 0% E. Quy trình |
| | | Không áp dụng |
+------------------------------------+----------------- -----+----------------------+
| 1 Quadro RTX 8000 Bật | 00000000:3E:00.0 Tắt | Tắt |
| 33% 25C P8 12W/260W | 1MiB / 48601MiB | 0% mặc định |
| | | Không áp dụng |
+------------------------------------+----------------- -----+----------------------+
| 2 Quadro RTX 8000 Bật | 00000000:89:00.0 Tắt | Tắt |
| 33% 24C P8 21W/260W | 1MiB / 48601MiB | 0% mặc định |
| | | Không áp dụng |
+------------------------------------+----------------- -----+----------------------+
| 3 Quadro RTX 8000 Bật | 00000000:B1:00.0 Tắt | Tắt |
| 33% 24C P8 15W/260W | 1MiB / 48601MiB | 0% mặc định |
| | | Không áp dụng |
+------------------------------------+----------------- -----+----------------------+
Tôi quản lý để có được một kết xuất cốt lõi của lỗi phân đoạn và chạy nó qua gdb
. Đây là backtrace một số kiểm tra thêm:
(gdb) bt
#0 __strcat_sse2_unaligned () tại ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:298
#1 0x00000000004efa5c trong getNvidiaGpu (index=-1408930708, dev=0x7f7dac056810, allDevices=0xbdd9, errorGPU=0x0, errorCount=0, warningGPU=0x7f7dac011730, warningCnt=2) tại lim.gpu.c:580
#2 0x00000000004f074b trong getGpuReportFullThreadFunc () tại lim.gpu.c:858
#3 0x00000000004f11ad trong collGpuInfoThread (arg=0x7f7dac056c6d) tại lim.gpu.c:949
#4 0x00007f7db92756db trong start_thread (arg=0x7f7db5ec8700) tại pthread_create.c:463
#5 0x00007f7db83d771f trong bản sao () tại ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Đây là hội đồng nơi nó không thành công:
=> 0x00007f7db836f7f7 <+1255>: movdqu (%rsi),%xmm1
Và ở đây ta thấy địa chỉ bộ nhớ của rsi là 0, hay con trỏ NULL
rsi 0x0 0
#0 __strcat_sse2_unaligned () tại ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:298
Không có người dân địa phương.
#1 0x00000000004efa5c trong getNvidiaGpu (index=-1408930708, dev=0x7f7dac056810, allDevices=0xbdd9, errorGPU=0x0, errorCount=0, warningGPU=0x7f7dac011730, warningCnt=2) tại lim.gpu.c:580
fname = 0x7d6878 "getNvidiaGpu"
modelname = "QuadroRTX8000", '\000' <lặp lại 242 lần>
thiết bị = 0x7f7db79b3e58
bộ nhớ = {tổng = 50962169856, miễn phí = 42197254144, đã sử dụng = 8764915712}
pState = NVML_PSTATE_2
sử dụng = {gpu = 100, bộ nhớ = 49}
toánMode = NVML_COMPUTEMODE_DEFAULT
nhiệt độ = 83
sobecc = 0
vdbecc = 0
sức mạnh = 249652
tôi = 0
j = 0
#2 0x00000000004f074b trong getGpuReportFullThreadFunc () tại lim.gpu.c:858
nhà phát triển = 0x7f7dac056810
fname = "getGpuReportFullThreadFunc"
dGlobal = 0x7f7dac001c70
errorGPU = 0x0
cảnh báoGPU = 0x7f7dac011730
tất cả thiết bị = 0x7f7dac00a850
rút lui = 2886036588
rút1 = 2886036588
ver = {major=2885721120, minor=32637, patch=4294967168, build=0x11 <lỗi: Không thể truy cập bộ nhớ tại địa chỉ 0x11>}
rsmi_cnt = 0
nvml_cnt = 4
majorTmp = "11\000\000\000\000\000"
compMajorV = <đã tối ưu hóa>
compMinorV = <được tối ưu hóa>
majorVer = <được tối ưu hóa>
chínhV = 470
nhỏV = 57
errorCount = 0
cảnh báoCnt = 2
tôi = 0
gpu_lib = -1408931824
nvmlĐã mở = 1
#3 0x00000000004f11ad trong collGpuInfoThread (arg=0x7f7dac056c6d) tại lim.gpu.c:949
fname = "collectGpuInfoThread"
thông tin gpu = 0x7f7dac001c70
gpuinfoError = 0
mẫuInterval = 5
#4 0x00007f7db92756db trong start_thread (arg=0x7f7db5ec8700) tại pthread_create.c:463
pd = 0x7f7db5ec8700
bây giờ = <đã tối ưu hóa>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140177899816704, -4327163297919163674, 140177899814848, 0, 0, 10252544, 4398249031032873702, 4398224247775797990}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {trước = 0x0, dọn dẹp = 0x0, hủy loại = 0}}}
not_first_call = <đã tối ưu hóa>
#5 0x00007f7db83d771f trong bản sao () tại ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Với tất cả những gì đã nói, chúng tôi có một máy chủ khác, với cùng thông số kỹ thuật chính xác, không gặp sự cố này. Phiên bản NVIDIA CUDA và trình điều khiển cũng giống nhau, chạy cùng phiên bản Ubuntu, phiên bản 18.04.06 LTS.
Quá trình cài đặt LSF đang sử dụng cấu hình được chia sẻ qua NFS - có nghĩa là mỗi máy chủ đang truy cập cùng các tệp cấu hình và tập lệnh.
Sự khác biệt duy nhất tôi có thể thấy giữa các máy chủ khác và máy chủ gặp sự cố là ở tùy chọn lệnh được sử dụng để khởi động LIM:
Trên tất cả các máy chủ khác:
gốc 53635 1.8 0.0 277728 18844 ? S<sl Feb07 472:40 /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/lim -d /opt/ibm/lsfsuite/lsf/conf/ego/rost_lsf_cluster_1/kernel
gốc 53639 0,0 0,0 18652 5976 ? S<s Feb07 0:11 \_ /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/melim
gốc 53645 0,0 0,0 4681288 14400 ? S<l Feb07 6:26 | \_ /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/lsfbeat -c /opt/ibm/lsfsuite/lsf/conf/lsfbeats/lsfbeat.yml
gốc 53640 0,0 0,0 21268 9136 ? S Feb07 7:56 \_ /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/pim -d /opt/ibm/lsfsuite/lsf/conf/ego/rost_lsf_cluster_1/kernel
gốc 53641 0,0 0,0 39576 9604 ? Sl Feb07 0:42 \_ /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/pem
Trên cái có lỗi phân đoạn:
gốc 44902 1.8 0.0 272472 16680 ? D<sl 12:17 0:00 /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/lim
gốc 44919 4.4 0.0 18656 6500 ? S<s 12:17 0:00 \_ /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/melim
gốc 44924 2.2 0.0 468764 11280 ? S<l 12:17 0:00 | \_ /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/lsfbeat -c /opt/ibm/lsfsuite/lsf/conf/lsfbeats/lsfbeat.yml
gốc 44920 5.6 0.0 19276 7364 ? 12:17 0:00 \_ /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/pim
gốc 44921 4.6 0.0 39576 10288 ? Sl 12:17 0:00 \_ /opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/etc/pem
Tôi đã thử khởi động lại dịch vụ bằng cách sử dụng bctrld
trên cả máy chủ và máy chủ, ngoài việc sử dụng lsfd.service
đơn vị ... thậm chí bắt đầu lim
dịch vụ thủ công bằng cách sử dụng -d /opt/ibm/lsfsuite/lsf/conf/ego/rost_lsf_cluster_1/kernel
tùy chọn. Tất cả tạo ra một lỗi phân khúc.
Có ai có bất kỳ ý tưởng về vấn đề là gì, hoặc làm thế nào để khắc phục nó? Tôi sắp phát điên lên đây.
Cảm ơn bạn rất nhiều vì đã dành thời gian để đọc nó và đưa ra phản hồi của bạn!