Не запускай оболочку пока, запусти на винде netRybka.exe , просто клацни на екзешник, должна появится консольная херовина (фактически рыба налинуксе, но консоль на винде-клиенте. набери uci , должно выдать все параметры,которые Васик впаял в рыбку, набери
setoption name Hash value 1024
Одновременно можешь по putty посмотреть что делается в proc/meminfo, если huge pages станет 512, значит рыба в порядке, запускай
go depth 19
рыба начнет считать. Если возникают ошибки, типа segmentation fault , то убей рыбкины процессы на линуксе, перезапусти снова netRybka.exe, должно работать.Кстати можешь выложить куда-нибудь конфиг ядра ubuntu-server
должен быть /usr/src/linux/.config мне очень интересно на него взглянуть. Если оболочка зависает, открой таск manager на клиенте и убей netRybka.exe и запусти оболчку снова
vincent написал:
Не запускай оболочку пока, запусти на винде netRybka.exe , просто клацни на екзешник, должна появится консольная херовина (фактически рыба налинуксе, но консоль на винде-клиенте. набери uci , должно выдать все параметры,которые Васик впаял в рыбку, набери
setoption name Hash value 1024
Одновременно можешь по putty посмотреть что делается в proc/meminfo, если huge pages станет 512, значит рыба в порядке, запускай
go depth 19
рыба начнет считать. Если возникают ошибки, типа segmentation fault , то убей рыбкины процессы на линуксе, перезапусти снова netRybka.exe, должно работать.Кстати можешь выложить куда-нибудь конфиг ядра ubuntu-server
должен быть /usr/src/linux/.config мне очень интересно на него взглянуть. Если оболочка зависает, открой таск manager на клиенте и убей netRybka.exe и запусти оболчку снова
Значит так :
Запустил на винде netRybka.exe без оболочки - нормально соединяется по ssh и в htop появляются 4 процесса :
Считает нормально, нагружает все эти процессы на 100%, был соучай в первый раз два процесса по 100%, два по 50% - что за глюк ?, перезапустил стало нормально.
В оболочке по прежнему не цепляется движок - проследил через putty что происходит в этот момент, при подключении на несколько секунд появляются 4 процесса rybka-linux потом пропадают - такое впечатление что движок валится почемсу то, соотведственно оболочка висит. Вот так.
Это все происходит на win7, на уже не знаю что думать, на хр попробую позже - но думаю дело не в этом.
Прикрепляю конфиг ubuntu server 9.10
Lends присоединил файл: config.rar
Значит не все так гладко с оболочкой, я использую Fritz11 и Shredder.Попробуй любую не чессбейсовскую оболочку, если там тоже проблемы, значит что-то обрывает по-сети. Еще, попробуй увеличить, число huge pages до 1064, хотя бы.
Сейчас у меня нет при себе 2-го компа, будет через пару дней
и я перепроверю все возможные варианты.
vincent wrote:
Значит не все так гладко с оболочкой, я использую Fritz11 и Shredder.Попробуй любую не чессбейсовскую оболочку, если там тоже проблемы, значит что-то обрывает по-сети. Еще, попробуй увеличить, число huge pages до 1064, хотя бы.
Сейчас у меня нет при себе 2-го компа, будет через пару дней
и я перепроверю все возможные варианты.
Поставил huge pages 1064, не помогло оболочки Fritz 12, Fritz 11.
Помогла установка оболочки Zappa x64 - с ней все сразу заработало ! ...), вот так вот ...
Думаю с Ftitz 9 тоже будет работать, не знаю что с Fr 11 - у тебя там пашет, правдо у меня установка его не из iso, зборка умельцев готовая - может они ssh порезали там ..? Fr12 тоже кстати, надо попробовать из iso поставить.
Скорость очень приличная - если брать проц на такой же частоте у него 200 у меня 300 кн стабильно. huge pages 1064 оставил.
Из плохого это таблицы - не знаю vincent как ты играешь, но без таблиц хотябы 3-4-5, фигово, выйграные позы в ничью уходят.
Кстати с ними вещь интересная - rybka-linux похоже не может найти путь к ним, так как когда дело доходит до оболочки, то она табы сразу схватывает (когда уже поздно), а движок в процессе игры их не использует.
Если флешку с tbs примонтировать в линукс и как то указать движку путь к ним, то думаю будет использовать как и в винде...но поймет ли она путь /mnt/tbs ... хз.
Буду пробовать.
Так же, с кластером дела идут - думаю взять исходник какого нибудь движка бесплатного и перекомпилировать с поддержкой кластеризации, посмотрим что получится...
Изменил(а) Lends, 11-01-2010 22:42
Fritz 10 - и с ним все работает !
Остается только догадываться что воткнули в 11,12 версии ...из за чего у меня лично по ssh коннекта нету с движком ...вернее он есть но оболочка его рвет.
Поставил из коробки Rybka3 ChessBase (это тоже что и Фриц 11) - не работает ...)
значит мое предположение насчет оболочки было правильным. Я так думаю, что в новых оболочках они что-то добавили в поддержку сети и сетевого соединения (лезет в netstat, ipconfig , TCP/IP stack для проверки читерства)ю Я например, играя в мейн холле (10-15 минут партии) и просматривая почту или новости, очень часто получал предупрежедние о читерстве, чем я никогда в жизни не занимался. Надо найти свой диск Fritz9 м перепроверить. Жаль, что 64 битную оболочку не разрабатывают дальше.
Насчет Ubuntu Server-к моему большому удивлению (даже в версии 8.10)-это один из самых быстрых дистрибутивов для рыбки. Например у меня Gentoo, который всего из 168 пакетов собран и достаточно твикнутое ядро и то всего на 1-2 % быстрее.
Насчет таблиц-я лично их не использую, но сейчас можно придумать решение.
http://rybkaforum.net/cgi-bin/rybkaforum/image_show.pl?aid=2511
http://rybkaforum.net/cgi-bin/rybkaforum/image_show.pl?aid=2512
вот здесь посмотри, должно работать, но это в поледних GUI.
у меня фритц11 работает с рыбкой (взят сами знаете откуда).
Список файлов ,необходимых для полноценной работы оболочки в C:\Program Files (x86)/ChessBase/ChessProgram11:
Chess32.dll
Chessprogram11.exe
ChessResNet.dll
Device32.dll
FrameResNet.dll
SViewNet.dll
TBAccessNet.dll
Textures2Net.dll
список файлов с купленного диска Frit9:
Chess32.dll
ChessProgram9.exe
ChessResNet.dll
Device32.dll
FrameResNet.dll
gdiplus.dll
MFC71.dll
msvcp71.dll
msvcr71.dll
NxCharacter.dll
NxCooking.dll
NxExtensions.dll
NxFoundation.dll
NxPhysics.dll
SViewNet.dll
TBAccessNet.dll
Textures2Net.dll
TexturesNet.dll
UCINet.dll
мда, очевидно, что "взятая " версия Fritz11 в достаточной степени урезана.
vincent wrote:
значит мое предположение насчет оболочки было правильным. Я так думаю, что в новых оболочках они что-то добавили в поддержку сети и сетевого соединения (лезет в netstat, ipconfig , TCP/IP stack для проверки читерства)ю Я например, играя в мейн холле (10-15 минут партии) и просматривая почту или новости, очень часто получал предупрежедние о читерстве, чем я никогда в жизни не занимался. Надо найти свой диск Fritz9 м перепроверить. Жаль, что 64 битную оболочку не разрабатывают дальше.
Насчет Ubuntu Server-к моему большому удивлению (даже в версии 8.10)-это один из самых быстрых дистрибутивов для рыбки. Например у меня Gentoo, который всего из 168 пакетов собран и достаточно твикнутое ядро и то всего на 1-2 % быстрее.
Насчет таблиц-я лично их не использую, но сейчас можно придумать решение.
http://rybkaforum.net/cgi-bin/rybkaforum/image_show.pl?aid=2511
http://rybkaforum.net/cgi-bin/rybkaforum/image_show.pl?aid=2512
вот здесь посмотри, должно работать, но это в поледних GUI.
у меня фритц11 работает с рыбкой (взят сами знаете откуда).
Спасибо за инфу ...
Работает и в старых оболочках у меня так :
1. C:\tbs\345
2. \mnt\tbs\345
Записываются в столбик - оболочка и движок видят таблицы ...))).
Ну и флешку монтируем на сервере в /mnt/tbs
Изменил(а) Lends, 12-01-2010 23:16
Я видел Lends играет на playchess.Используешь связку linux-playchess?Если, да то опиши настройки,hash и т.д.-мне очень интересно, там есть некоторые хитрости.
vincent wrote:
Я видел Lends играет на playchess.Используешь связку linux-playchess?Если, да то опиши настройки,hash и т.д.-мне очень интересно, там есть некоторые хитрости.
Да я использую связку linux-playchess в конфигурации :
Сервер linux - на нем ssh, rybka-microwine, tbs.
Комп с виндой - оболочка, playchess.
Hash движку в оболочке ставлю 1024, на tbs 32.
Таблицы подключены методом, который ты приводил, работают хорошо, движок их видит и заранее обращается к ним при необходимости, правда открылась одна тонкость - соединение между сервером и компом с виндой должно быть не менее 1Гбит, иначе таблицы не работают. Было установлено с помощью ноута, там Wifi, и 100 Мбит сеть - табы не используются движком в процессе игры (хотя настройки и оболочка такие же). Думаю не хватает скорости соединения ...иначе как объяснить.
У меня пока все тонкости...
Насчет сети, посмотри
cat /proc/interrupts , найди irq отвечающее eth0 (контроллеру).
потом cat /proc/irq/номер irq контроллера/smp_affinity
должно быть f (бинарная маска-показывает, что прерывание равномерно распределено между всемя 4 процессорами)
можно перенаправит обработку контроллера только одним ядром-по тестам это позволяет увеличить пропускную способность сети до 15-20%, а также освободить процессорное время для рыбки-я проверял, прирост есть, ты тоже проверь.
echo "1" >> /proc/irg/номер прерывания сетевого контр./smp_affinity
далее смотришь как меняются цифры в /proc/interrupts для сетевого контроллера, если увел. значение на одном из ядер, остальное остается на месте, значить все ок.
Еще можно жестко привязать каждый из 4 процессов рыбки к определенному ядру, что-бы они не прыгали между ядрами ка вши.
Должен быть пакет schedtool (он во всех дистрах идет). Там тоже идет бинарное значение, чтобы не напутал с ядрами, я ка то пренаправил рыбку только на 2 и 3 ядрои удивлялся почему скорость упала в 2 раза
taskset -cp 0 PID rybka1 (жестко привязываешь 1 процесс рыбки к ядру номер1
taskset -cp 1 PID rybka2 ну и так далее.
В некоторых случаях это тоже улучшало поведение движка, но нужно тестировать.
Было бы неплохо поставить пакет libhugetlbfs, он есть для большинства дистров-для проверки работы huge pages.
Запускаешь hugeadm --explain, он пояснит, что необходимо сделать. Ввиду того , что huge pages- это псевдо файловая система, она подвержена некоторой дефрагментации, необходимо установить минимальный размер чего -то там, оно напишет.
Ну и последнее, я бы рекомендовал xfs для таблиц хотя ext4 нес ильно уступает. Пока все
vincent wrote:
Насчет сети, посмотри
cat /proc/interrupts , найди irq отвечающее eth0 (контроллеру).
потом cat /proc/irq/номер irq контроллера/smp_affinity
должно быть f (бинарная маска-показывает, что прерывание равномерно распределено между всемя 4 процессорами)
можно перенаправит обработку контроллера только одним ядром-по тестам это позволяет увеличить пропускную способность сети до 15-20%, а также освободить процессорное время для рыбки-я проверял, прирост есть, ты тоже проверь.
echo "1" >> /proc/irg/номер прерывания сетевого контр./smp_affinity
далее смотришь как меняются цифры в /proc/interrupts для сетевого контроллера, если увел. значение на одном из ядер, остальное остается на месте, значить все ок.
Еще можно жестко привязать каждый из 4 процессов рыбки к определенному ядру, что-бы они не прыгали между ядрами ка вши.
Должен быть пакет schedtool (он во всех дистрах идет). Там тоже идет бинарное значение, чтобы не напутал с ядрами, я ка то пренаправил рыбку только на 2 и 3 ядрои удивлялся почему скорость упала в 2 раза
taskset -cp 0 PID rybka1 (жестко привязываешь 1 процесс рыбки к ядру номер1
taskset -cp 1 PID rybka2 ну и так далее.
В некоторых случаях это тоже улучшало поведение движка, но нужно тестировать.
Было бы неплохо поставить пакет libhugetlbfs, он есть для большинства дистров-для проверки работы huge pages.
Запускаешь hugeadm --explain, он пояснит, что необходимо сделать. Ввиду того , что huge pages- это псевдо файловая система, она подвержена некоторой дефрагментации, необходимо установить минимальный размер чего -то там, оно напишет.
Ну и последнее, я бы рекомендовал xfs для таблиц хотя ext4 нес ильно уступает. Пока все
Спасиб, полезная инфа...
eth0 сделал на одно ядро - все ок.
schedtool - есть такой пакет, поставил - не совсем понятно с taskset -cp 0 PID rybka1 , я делал :
taskset -cp 0 1703
pid 1703's current affinity list: 0-3
pid 1703's new affinity list: 0
и так далее ...но при выгрузке и загрузке движка PID меняется ....и что дальше ...можно по подробней...
libhugetlbfs - такого пакета нет по крайне мере в моих списках серверов ...
Еще у меня вопрос есть - частенько (особенно в первую загрузку) движок загружается нормально, включаеш анализ - 2 процесса (rybka-linux) работают на 100%, 2 на 50% .
По ядрам (где зеленые индикаторы сверху) htop показывает, что работают 3 ядра на 100%, 1 простаивает изредка немного нагружается ...
Такое у меня было с самого начала и по ssh и по порту с engineserver - проходит через какое то время само или перезапуск движка помогает...очень неприятная вещь...
Из за чего это может быть ?
Изменил(а) Lends, 22-01-2010 09:04
Да, при перегрузке движка PID конечно меняется, если хочешь привязать к ядру, то надо загрузить движок, отыскать PIDы и работать с ними.
Насчет загрузки на 50%, выход будет такой. на клиенте запусти
netRybka.exe
setoption name hash value 1024
запусти go, останови и закрой (или убей netRybka.exe).По ssh
зайди на сервер, набери ipcs должно показать что -то типа shmid
и числа, например 0, далее
ipcrm -m 0
и перезапускай движок, все будет нормально.
Если ipcs показывет отличное от нуля значение, то удаляй
ipcrm -m число (если несколько, то ipcrm -m число1 ipcrm -m число2 и т.д)
Странно, что нет пакета libhugetlbfs, у Debian/Ubuntu самый большой репозиторий. Можно из сырцов скомпилировать, но я большой противник установки пакетов в "обход" пакетного менеджера. На всякий случай вот страница их проекта. В свое время я с разработчиками вел интенсивную переписку.
http://libhugetlbfs.ozlabs.org/
vincent wrote:
Да, при перегрузке движка PID конечно меняется, если хочешь привязать к ядру, то надо загрузить движок, отыскать PIDы и работать с ними.
Насчет загрузки на 50%, выход будет такой. на клиенте запусти
netRybka.exe
setoption name hash value 1024
запусти go, останови и закрой (или убей netRybka.exe).По ssh
зайди на сервер, набери ipcs должно показать что -то типа shmid
и числа, например 0, далее
ipcrm -m 0
и перезапускай движок, все будет нормально.
Если ipcs показывет отличное от нуля значение, то удаляй
ipcrm -m число (если несколько, то ipcrm -m число1 ipcrm -m число2 и т.д)
Странно, что нет пакета libhugetlbfs, у Debian/Ubuntu самый большой репозиторий. Можно из сырцов скомпилировать, но я большой противник установки пакетов в "обход" пакетного менеджера. На всякий случай вот страница их проекта. В свое время я с разработчиками вел интенсивную переписку.
http://libhugetlbfs.ozlabs.org/
Ясно - я себе сделал "запускной" файл, где прописал все команды для оптимизации движка, чтобы постоянно не вводить одно и тоже.
По поводу случаев не полной загрузки ядер, мне в первую очередь хотелось понять из за чего это происходит, потому что твой совет не очень помог.
Я эту проблему попытался решить другим способом - заметил, что с твоими цифрами для hugepages :
# Shared memory 2GB
kernel.shmmax = 2147491840
# Huge pages 2GB
vm.nr_hugepages = 1024
У меня на команду :
setoption name hash value 1024
валит ошибки, типа измените размер kernel.shmmax, и только на 3й раз проходит.
Я подумал , что может это не нравится движку и изменил их на такие :
# Shared memory 2GB
kernel.shmmax = 1712000000
# Huge pages 2GB
vm.nr_hugepages = 1512
Теперь стало реже происходить такое, но бывает всеравно. В общую загрузку памяти я тоже вписываюсь, на движке ставлю хеш 1024.
Вообщем если ты знаешь из за чего такой косяк случается - напиши...
У меня еще вопрос - microwine сделан специально для рыбки ?, потому что другие движки uci я пытался сделать линуксовыми - не работают, валятся в ошибки ...
Еще по поводу кластера - я точно знаю как сделать это на линуксе, вернее даже делать там особо ничего не надо, все дело в движке - он должен быть скомпилирован с специальными библиотеками под кластер (openMPI, или MPICH2), тогда его нужно просто запустить как обычно он сам все найдет.
У Васика есть такая рыбка (rybka 4+) - нужно ее достать и узнать под какое решение кластера он ее компилил, все решения для винды есть и для линуха и даже быстрее там работают...
Достать бы эту версию рыбки, хотя бы для внутреннего тестирования ...
У меня тоже при первом запуске выдает ошибку о недостатке памяти, я всегда перезапускаю потом все нормально.
Я пытался прикрутить microwine к другим движкам и тоже безрезультатно, похоже что только под рыбку изначально написан.Хотя странно, фактически microwine-это избранные строки
wine, хотя microwine совсем не эмулятор, просто хитрая замануха как запустить рыбку на линуксе+прикручены huge pages -не самым лучшим образом, кстати, это мне парни из lighugetlbfs проекта писали. Я переписывался со Steinarом, что написал microwine но опыт общения с ним был не очень приятным, типа ты не соображаешь и отвали(наверное фашист чертов).
Насчет кластера-это к огромному сожалению не возможно.Это исключительно только у Васика.Проблем в следующем. раньше Васик высказывался о том ,что возможно, в будущем (бесконечном,ИМХО),он выпустит кластерный вариант в массы, но после довльно успешного выступления Deep Sjeng Cluster (занял второе место после Рыбки)-эта идея я как понял была отложена. Есть такой товарищ Suj с многоядерными компами (насколько я знаю, ему доступен комп с 4096 ядрами, не считая 32, 48, 64 128 и т.д)на его компе играл Sjeng.Выпуск кластерной рыбки в данном случае для Васика равносильно самоубийству. К тому же ему нужно превосходство во фристайлах и т.д. Это единственное разумное обьяснение почему кластерный движок мы не получим, отсюда же эта бредовая идея насчет аренды рыбки.Ну и естественно в итоге мы получим Рыбка4, конечно он будет сильнее, но не ТОП-версия, понятно , что ее начнут крутить эти хакеры что намутили этих клонов, но Васику будет до лампочки.
P.S. у меня стоит 1064 huge pages и тормозов нет.
На счет рыбки 4 ты прав, такой козырь и денежный трубопровод он не отдаст никому ...)
Но я думаю о неофициальных источниках - есть "рыбкин", который навел много шороху на кресбуке - я кстати думаю что это в полне реально дизасеблируя получить исходники ну или близкие исходники.
По крайне мере он может это сделать - ну а уж прикрутить туда библиотеку кластерную = это не проблеммы...вот и будет рыбка 4 в массках (неофициально). Но для этого нужно желание таких программистов как "рыбкин"
Я же в свою очередь - кластеры буду мутить дальше, хотябы с помощью общедоступных исходников fruit или еще чего нибудь - прикрутить туда библиотеки не должно быть очень сложным.
Я думаю, что задержка рыбки4 как раз связана с тем, что возможно
Васик путает код (есть такое в программировании), в итоге код будет несколько медленнее, но вскрыть его будет практически невозможно, ну и естественно накручивает ЭЛО до разумной с точки зрения будущих покупателей величины и удовлетворения собственного эго как автора самого сильного движка.Насчет fruit, его автор- Fabien Letouzey давно пишет нечто новое под названием chess64, но что-то не слыхать давно. Таланта и идей у этого парня хоть отбавляй.Васик и он наверное самые лучшие в этом деле.
microwine, насколько я понял, работатет только с ядром линукса, точнее с его подсистемой памяти, остальные факторы на него почти не влияют. последняя версия была наверное года 1.5 назад,
с того времени версии ядра поменялись с 2.6.27 до .32, так что возможно ввели что-то новое в в ядро. У Steinara проблем нет, он использует Debian, а тот как известно не отличается новшествами