LINUX.ORG.RU

Сообщения ae1234

 

ищу прогу для равноправной репликации N to N серверов

нужна прога - которая бы могла реплицировать (ну хоть не реал тайм - но быстро) каталоги объемом около миллиона файлов - на N количестве серверах (N>=3)
репликация должна быть равноправной - то есть удалении файла на любой ноде локально - должно после репликации удалить этот файл и на всех других нодах
и изменение файла между репликациями - должно оставить на нодах самую свежию версию

что пробовал
rsync - не подходит - только пара серверов
csync2 - в принципе то что нужно - но ЖУТКИЙ тормаз
gluster - то что нужно - но (опять это но) это именно файловая система кластерная - и несмотря на свои приемущества всеже излишне - в частности когда ноды удаленные - их синхронизация да и вообще доступ долгий процесс (в сравнении с локальными файлами)

вот еслиб найти прогу которая - подобно gluster-у работая через FUSE - при старте сканировала каталоги - составляла список файлов - а потом просто учитывала изменяемые файлы - и раз в 5 минут - делало синхронизацию изменений с соседями - былоб идеально ...
пока склоняюсь к написанию своего собственного костыля ...

ae1234
()

«кластерная» vpn иль чтото похожее

так и не смог найти

нужная чтото вроде распределенной vpn
суть в том что нужен vpn и очень не хочеться кавото ставить главным сервером
чтоб все участники что входят в эту сеть были равноправными с другими - и соответственно при падении узлов автоматически перестраивали топологию

чтото вроде openvpn в которой все участники являються серверами для единой сети

ae1234
()

идентификация thread-a

надо странное - нужно чтоб при выполнении какого либо треда - он мог получить указатель на свою локальную область памяти с параметрами

условия такие что получить arg из вызова pthread_create нельзя

вот и вопрос - как такое сделать ?

пока ничего лучше вызова pthread_self и по полученному id искать в какой нить таблице где перечислены все треды
но это как то нарадекость криво

ae1234
()

WoW Eve Starcraft2 rgl патчик

продолжение
http://www.linux.org.ru/forum/games/6045628

rgl патчик (реальное заюзывание 2ядер) на WoW и SC2 работает идеально

терь просьба проверить его на Eve - тем кто в нее играет

caм патчь http://www.aewi.info/rgl/rgl.patch.gz
я протестировать то протестировал но везде ровно 60 фпс - где найти большию нагрузку и не знаю (оно там вообще то есть ?)

ae1234
()

WoW wine rgl patch optimization

http://www.aewi.info/rgl/rgl.patch.gz
новая версия патча для оптимизации работы WoW под вайном
(начало тут http://www.linux.org.ru/forum/games/5908454)

эта версия - в отличии от прошлой - можно назвать патчем (а не хаком)
из известных глюков - падает при попытке воспроизведении видео со стартовой странички

нужна проверка на стабильность - лучше всего если будет найдена ситуация
которая точно воспроизводиться - чтоб можно было искать проблему в коде

ae1234
()

упорядочивание администрирования/настроек

хочу просто узнать - мож такое уже есть - иль я один хачу чегото странного

вот скажем - ставим сервер - установка OS - достановку нужных пакетов
а потом настройка сервисов под функции

изменяються установленные конфиги
раскладываються файлы с данными - настройка всякая на них

но - както это нетак
забываеться что где настраивал - что и как делал и так далее

а что если - на установленную систему - все измененные конфиги и файлы с данными - собрать в одином месте - а на нужные места симлинки покласть (иль хард линками)
при этом будет хотябы точно известно - что где менялось от дефолтной системы

и вопрос - еслть ли более красивые варианты такого упорядочивания администрирования?

ae1234
()

wow linux wine optimizer

http://www.aewi.info/rgl/wine-1.3.13_rgl.patch.gz

патчь(хак) оптимизирующий работу World of Warcraft в Wine
просьба затестить - прирост фпс-а должен быть до 2 раз на двуядерной и выше системе (в 2 раза это теоретический максимум)
этот патчь затачивает wine именно на WoW - другая 3д программа скорее всего просто не пойдет с этим вайном

суть работы - изначально WoW обсчитывает логику и выводит графику в одном потоке (как работает под виндой даж не знаю)

патчик - делает следующее - собирает все вызовы opengl фунций из основного потока в буффер и посылает на исполнение второму потоку

тем самым достигается этакий тройной кадровый буфер
первый кадр считает логика WoW - и все команды на вывод собираются в буфер
второй кадр - дополнительный поток посылает на видеокарту
и третий кадр - то что показывает видяха


недостаток работы WoW в линуксе по сравнению с виндой - очень и очень древние - почему так - незнаю

производительность в игре можно точно замерять след методом - после команды /script SetTexiBenchmarkMode(1); след полет на такси в конце выдаст статистику
тем и можно тестить

комментарии приветствуются :)

ae1234
()

теоритический вопрос по параллельному программированию

просто теоретическое рассуждение

скажем программа - и мультипроцессорная машина

в программе - есть определенный уровень параллельности
весьма много частей кода - обрабатывают разные независимые данные

вопрос - как сделать наиболее оптимальную параллельность ?
имеется ввиду весьма низко уровненная параллельность

скажем - по алгоритму - можно выделить 10-20 возможно параллельных участков - которые также динамически прибавляются-убавляются

так что - на каждый этот участок делать нить? которая тока и будет что сидеть и ждать свой семафор?


а что если сделать число нитей - равное число процессоров - и в каждой ните сделать внутренний шедуллер кусков кода и кусков данных - которые были бы описаны - описано их взаимовлияние
и по этом правилам - внутренний шедуллер и распределял бы задачи на реальные процессоры

что в данной ситуации являеться более оптимальным ?

ae1234
()

gtx470 overclock

затарился новой видяхой - и с удивлением увидел что опций по оверклокингу в нвидивской утилитке нет

Coolbits включен - пробовал 15 и 31 значения
кулером на видяхе вполне управляеться
а закладка по оверклокингу просто осутствует

но старой видяхе и на сторонней - она была и вполне регулировалсь

может кто знает - как исправить иль ждать новых дриверов ?

ae1234
()

wine wow cataclysm smp cpu fix

тестирую панимаш бету катаклизмы - и заметил что в опции настройки граффики - качества текстур - для максимального качество придупреждение что требуеться для него 2ядерный проц и так далее

машина то и так двуядерна - ну и полез выйснять где неправильно говорит вайн программе про колво цпу

выйснил - вот патчик - покрайнеймере с ним - терь игра точно позволяет включить максм качество текстур (тоесть признает что машина более чем двуядерна)

патч определеляет машину как 2 ядра без гипертрединга

--- dlls/kernel32/process.c_old	2010-08-20 23:23:50.000000000 +0600
+++ dlls/kernel32/process.c	2010-09-16 19:24:22.000000000 +0600
@@ -3333,11 +3333,36 @@
  */
 BOOL WINAPI GetLogicalProcessorInformation(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION buffer, PDWORD pBufLen)
 {
-    FIXME("(%p,%p): stub\n", buffer, pBufLen);
-    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-    return FALSE;
+    *pBufLen=sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION)*3;
+    if(buffer==NULL){
+       SetLastError(ERROR_INSUFFICIENT_BUFFER);
+       return FALSE;
+       }
+
+    buffer[0].ProcessorMask=3;
+    buffer[0].Relationship=1;
+    buffer[0].NumaNode.NodeNumber=0;
+    buffer[0].Reserved[0]=0;
+    buffer[0].Reserved[1]=0;
+
+    buffer[1].ProcessorMask=1;
+    buffer[1].Relationship=0;
+    buffer[1].ProcessorCore.Flags=1;
+    buffer[1].Reserved[0]=0;
+    buffer[1].Reserved[1]=0;
+
+    buffer[2].ProcessorMask=2;
+    buffer[2].Relationship=0;
+    buffer[2].ProcessorCore.Flags=1;
+    buffer[2].Reserved[0]=0;
+    buffer[2].Reserved[1]=0;
+
+//    FIXME("(%p,%p): stub\n", buffer, pBufLen);
+    return TRUE;
 }
 
+
+
 /***********************************************************************
  *           GetLogicalProcessorInformationEx   (KERNEL32.@)
  */
ae1234
()

Multikey repeat в иксах (патчик инклюде)

патчик на иксы - который делает повтор до 6ти нажатых и удерживаемых клавиш вместо одной

внятной инфы так и недобился - почему именно только одна клавиша повторяться в стандартной системе - в ядре и в иксах
поэтому раскопав исходники сделал патч

делает такой автоповтор на любых клавах - хоть юсб хоть ps/2

http://188.72.205.144/mkr/xorg-server-1.7.7mkr.patch
патчик хоть и мелкий - но тщательно нетестировал еще - пока вроде робит :)

очень прикольный эффект когда в электронной таблице удерживаеш клавишу 1 и клавишу вниз :)

ae1234
()

tc htb sfq и так далее

есть старая задача - так и недоделанная
суть в том - какими средствами в стандартном дистрибе добиться определенного распределения траффика

условия
клиент должен получать четко определенный бурст четко определенное колво времени и скорости
после чего у него должен включаться нормальная скорость

тоесть клиент - 1мбит нормальаня скорость
но он должен получить бурст скажем до 5ти мегабит на секунд 5-10

как нидумал на стандартном htb это нерешаеться - или решаеться но очень криво
на htb можно сделать класс на 1 мбит с указанием бурста в величину равную 5мбит*10 секунд - и в этом классе добавить класс который установливает скорость во время бурста

тоесть класс1мбит,бурст=1000000байт содержит класс5мби,бурст стандартный

но при этом - приходиться верхнему классу rate ставить равное ceil-у - иначе после выборки бурста - она будет усреднять скорость с учетом его



думал также над тем - чтобы выделить этот бурст в отдельный класс - но стандартными средстами ненашел как

может ктото решал такую задачу - и есть какоето просто решение ?

ae1234
()

Мультиклавишный автоповтор в линуксе и в иксах

решил написать для того - что самому понять - являеться ли это в линуксе недоработкой или так и было задумано

основной вопрос в том - что если нажать на 2 клавиши - почему повторяеться только одна ?

скажем я в электронной таблице нажимаю вних и вправо - и вообщето ожидаю что курсор побежит по диагонале - но он прет только в одном направлении

почему ? это недаработка иль так и должно быть ?

я для себя нашел в ядре и в иксах места что за это отвечают - они как нистранно почти одинаковы что в ядре что в иксах

а теория такова = если некасаться ps/2 клавиатур - то суть вот в чем usb клавиатура отслает в комп чисто события нажатия и отжатия клавиш - причем это 8 байтный пакет - 1 байт состояние клавиш модификаторов - 2ой бай резерв - 3-8 байты коды нажатых клавиш
именно поэтому usb клавиатура теоритически могет обслужить только 6 одновременных нажатий (без учета модификаторов)

таки вот - автоповтором usb клавиша вообще незанимаеться - в сиситеме что в ядро что в иксах - за автоповтор отвечает обычный таймер - который включаеться при нажатии клавиши - и чреез нужные промежутки добавляет нажатие типо
но он сделан так - что автоповторяет только одну клавишу

вот и у меня вопрос - это недаработка или так и должно быть ? имеет ли смысл делать такой патчь иль просто юзать для себя

ae1234
()

WoW и автоповтор клавиш

мож камунить пригодиться

при игре в WoW очень часто по ходу боя приходиться спамить какиенибуть клавиши - буть то спеллы-удары-заюзывание вешей

эт очень надоедает + к тому добавляеться лаг некоторый (от несвоевренного нажатия)

игроки на винде используют-ставят программы автоповторители - которые грубо говоря позволяют для определенных клавиш включить автоповтор

у меня же - была такая ситуация - давненько при смене версии дистрибутива - у меня отчеото в вов стали клавиши странно работать - грубо говоря непонятно от чего включился автоповтор их тоесть при удержании клавиши - обычное повторение буквы - игрой стало восприниматься как быстрое нажатие+отжатие клавиши

тоесть если в игре нажать на пробел (прыжок) и удерживать клавишу - то персонаж будет подпрыгивать постоянно - а по умолчанию в игре на винде персонаж подпрыгнет 1 раз

мне эт поведение весьма понравилось :) так и юзал это

но недвано переставив систему - игра в вайне перестала это делать - и обрабатывало нажатие как обычьно - ну я и полез выяснять изза чего это и как вернуть автоповтор

--------------------------

ну и вот что выяснил - в Иксах грубо говоря нет понятие автоповтора - обычный повтор символа передаеться клиенту как нажатие-отжатие (на винде по умолчанию это разделено) но + к этому - выяснилось что при наличии Xkb в вайне включаеться детект автоповтора

вот этот код wine-1.2-rc2/dlls/winex11.drv/x11drv_main.c строка 658

#ifdef HAVE_XKB

if (use_xkb && XkbUseExtension( data->display, NULL, NULL ))

XkbSetDetectableAutoRepeat( data->display, True, NULL );

#endif

ну и вот - если хотите заполучить автоповтор клавиши просто коментарите и рекомпилите вайн

ae1234
()

RSS подписка на новые темы