Amgr & Cpu

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#1
Задача:
имея сетвет вин2003 64бит + 8 ядер проца + домино 8.5.1 + 4е агент менеджера
Как узнать на каких ядрах висит Amgr?
Есть у меня подозрение что теория(каждая задача домино ложится на отдельное ядно не верна в корне)
Что-то меня смущает что все 4е агента ложатся на один проц.
Ни таксменедржер ни ProcessExrplorer не показывают мне на каком ядре висит виндусовый просецц
как узнать и проверить?
И еще в нотес.ини помню был параметр жеско регламентирующий размещаться на разных ядрах, не помните его?
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#2
так как при агенте который делает локальную реплику на сервере в нужную мне папочку, все другие агенты морозятся хотя сказано, чтобы работало 4 агента паралелько
 

puks

Well-Known Member
Lotus team
03.02.2007
1 971
16
#3
В процесс эклорере правой кнопкой на процессе - сет аффинити. Там видишь на каких процессорах будет выполняться процесс.
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#4
В процесс эклорере правой кнопкой на процессе - сет аффинити. Там видишь на каких процессорах будет выполняться процесс
И так каждый раз после запуска :)
Либо скачать тулзу, которая умеет делать это автоматически.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#5
В процесс эклорере правой кнопкой на процессе - сет аффинити. Там видишь на каких процессорах будет выполняться процесс.
У меня там стоит галочка на всех 8ми ядрах но это не отвечает на вопрос какое конкретно ядро сейчас обслуживает конкретный Amgr процесс
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#6
У меня там стоит галочка на всех 8ми ядрах но это не отвечает на вопрос какое конкретно ядро сейчас обслуживает конкретный Amgr процесс
Это значит, система сама выбирает какой процессор занимается этой задачей.
А ты попробуй каждый Amgr на отдельный проц/ядро поцепить :blush:
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#7
Akupaka
но где ответ на каком ядре висит процесс? :blush:
 

puks

Well-Known Member
Lotus team
03.02.2007
1 971
16
#9
В двух словах не объяснишь, но по умолчанию система сама выбирает на какой процессор из списка разрешенных для данного процесса повесить шаг вычислений, следуя определенным правилам. То есть даже не процесс, и не тред, а именно шаг вычислений.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#10
В двух словах не объяснишь, но по умолчанию система сама выбирает на какой процессор из списка разрешенных для данного процесса повесить шаг вычислений, следуя определенным правилам. То есть даже не процесс, и не тред, а именно шаг вычислений.
не, это лотуса не касается, каждый процесс домино закрепляется за отдельным ядром и никогда его не покидает - это лично моё внутренне ощущение, я в какой-то теме уже возмущался, что это именно так и вроде никто не оспорил
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#11
не, это лотуса не касается, каждый процесс домино закрепляется за отдельным ядром и никогда его не покидает - это лично моё внутренне ощущение
Долго смеялся :blush:
Тоха, ну ты это, программист вроде, а не гадалка.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#13
Тоха, ну ты это, программист вроде, а не гадалка
я интуитивный программист :blush:

Рекомендую ]]>Windows® Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition]]>
винда не сделает того, если прога не заточена на многозадачность
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#14
винда не сделает того, если прога не заточена на многозадачность
Чтобы ехать пассажиром на автобусе не обязательно знать как им управлять.
Винда (вроде XP SP3+) умеет распределять задачи вычисления между процессорами.
На сколько она эффективно это выполняет для всех приложений, не знаю.
зы: Иначе все бы выполнялось на одном, я так думаю...
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#16
Винда (вроде XP SP3+) умеет распределять задачи вычисления между процессорами.
На сколько она эффективно это выполняет для всех приложений, не знаю.
зы: Иначе все бы выполнялось на одном, я так думаю...
плохо думаешь
берем игрушку, например Сталкер, запускаем на XP играемся - тормозит
выбираем процесс и видим что висит на одном ядре
ставим галочку на втором и о чудо - игра работает быстрее
распределиние происходит само, но игра не заточена

теперь по процессам лотуса, особенно агентов.
Привидите мне ситуацию где лично вам удалось хоть как-то ускорить агент с помощью ядер?

Моё опровержение: имеет одну базу реплику между разными колекциями серверов, где агент(берем конкретный агентище, который меньше чем за 10 минут не пашет) запускаемый на всех репликах отрабатывает в одно и тоже время несмотря на то, что часть серверов много ядерные, много-много ядерные и одноядерные. В чем парадокс то?

Ко всему прочему ИБМ и не опровергала никогда, что доминошные процессы не могу распределяться.
Вспомните хотябы апдейтер, которые ибм просит запускать в количестве равное количеству ядер.
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#17
Не понял, почему я плохо думаю? Что я сказал неверно?
Приложение не заточено, распределение происходит средствами ОСи + технической базы.
Я что-то иначе утверждал?

А то, что агенты работают так как им вздумается, так это вопросы к ИБМ.
Возможно, они вообще сделали какой-то внутренний диспетчер задач, который сам (!) говорит кому сколько выполняться.

Вот у меня вид строится около полтора часа. При этом в диспетчере видов видно, что вид растет по паре сотен килобайт за минуту.
Но сервер технически мощный, система показывает, что железка не загружена абсолютно!
А Домино занимается непонятно чем.
 

puks

Well-Known Member
Lotus team
03.02.2007
1 971
16
#18
Не надо путать распределяемость по ядрам, т.е. одновременное выполнение на нескольких, и переключение между ядрами.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#19
Akupaka
Чтобы ехать пассажиром на автобусе не обязательно знать как им управлять.
Винда (вроде XP SP3+) умеет распределять задачи вычисления между процессорами.
вот из-за чего ты плохо думаешь:
Винда не может распределить то, что изначально под это не затачивалось, - полагаться что винда всё сделать потому что она ОСь - плохо

Вот у меня вид строится около полтора часа. При этом в диспетчере видов видно, что вид растет по паре сотен килобайт за минуту.
Но сервер технически мощный, система показывает, что железка не загружена абсолютно!
А Домино занимается непонятно чем.
это то о чем я писал, апдейтер висит исключительно на одном ядре и всего одно ядро занимается перестройкой конкретного вида.

Простыми словами ИБМмовцы считают большинство процессов исключительно последовательными действиями из-за чего не хотят думать где и что можно запалелить и фиг с ним, но предоставлять нам разработчикам какие либо команды/инструментарий где мы могли бы задавать многопоточность тоже не хотят.

Один из ярким примеров, то на что напоролся я:
- агент создаёт реплику, не вписывается в свой таймаут И
- дальнейшее выполнение ДРУГИХ агентов уже не предусмотрено несмотря на то, что сказано паралельно запускать Х агентов
- репликатор(или же кусок ядра агента) после завершения создания реплики пытается опросить запускаемый его агент, который системой наполовину вырублен
- через время срабатывает "паралелизм" и в кеши сервера оседалет что недобитую реплику нужно ПОСТОЯННО реплицировать с себя на себя но в папку не ДАТА
- лечится только dbcache flush в 50% случаях или перезапуском сервера
- не дай боже в этот момент начнется перестрояка индексов вида

очень надеюсь что это просто исключительная ситуация и как баг будет подправлен и исключен.
но такой паралелизм меня попросту убивает как и выполнение серверным агентом команды agent.runonserver - вы думаете этим займется другое ядро? :)
 
A

am4

Гость
#20
Вот у меня вид строится около полтора часа. При этом в диспетчере видов видно, что вид растет по паре сотен килобайт за минуту.
Но сервер технически мощный, система показывает, что железка не загружена абсолютно!
А Домино занимается непонятно чем.
С перестроением индексов видов кстати да, реальный косяк - использование ресурсов стремиться к 0 что на сервере, что на клиенте, а индексы перестраиваются в час по чайной ложке. А оптимизировать процесс практически невозможно.