Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Привожу усредненные результаты (в секундах). Делалось по 10 прогонов с каждым набором параметров. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2008, 11:12 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Alexey Maslovно есть подозрение, что Аткин масштабируется лучше. В алгоритме Аткина больше вычислений и меньше обращения к глобалам. Это особенно сильно скажется на рядах таких размеров, когда глобал перестанет помещаться в кэш глобалов целиком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2008, 13:09 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Решил напоследок погонять в тяжелых условиях, когда глобал в кэш не влезает. Гонялись те же два лидера, что и прошлый раз. Собиралась статистика (GLOSTAT) по итогам каждого прогона. Вот что получилось: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. Для меня это лишнее подтверждение необходимости "нагрузочного" тестирования. По поведению программы в ситуации, когда все глобалы помещаются в кэш, выводы о качестве алгоритма/кода делать рано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 12:21 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Забыл упомянуть, что размер кэша специально был уменьшен до 64Мб. Размер глобала простых чисел составил около 170Мб, до какой степени глобалы "пухли" во время работы, я не знаю, знаю только, что расширения 8Гб базы не было :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 17:21 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Смог минимизировать воздействие ОС - запустил решето Эратосфена в режиме single user . Сразу почувствовал результат - задача стала стабильнее и быстрее работать, HDD сразу стал себя нормально вести. Результат таков: время выполнения ~= 160+-1 сек, количество процессов~=10(мин=8, макс=15). Пробовал прогонять Ваши задачи. К сожалению, длительность периода послезаписи (задача заканчивает свою работу, а обращения к диску ещё продолжаются) при числах, больших 1000000 сводит на нет ценность результата. HDD придется поменять... Alexey MaslovНикак не выходим :) Наверное, мы просто не решаем таких задач. Кстати, и в случае Hang точность примерно 0.5 сек: Решил проверить, как все-таки работает HANG 0.1 при помощи такой программки: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 22:56 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov Для меня это лишнее подтверждение необходимости "нагрузочного" тестирования. По поведению программы в ситуации, когда все глобалы помещаются в кэш, выводы о качестве алгоритма/кода делать рано. Согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 09:12 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Может быть, есть смысл уменьшить тайм-аут до 0.01 сек на малом количестве (1000000) и посмотреть результат? Дело в том, что разница у Вас на Аткин в большинстве прогонов не превышает 0.22 сек (по одному ожиданию в каждом цикле синхронизации), а number имеет два значения - число и номер (целое). Так что вполне может быть, что HANG реагирует на ближайшее действительное число. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 20:01 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
al-veliev, Алексей Маслов и другие А Вы могли бы обобщить результаты Ваших исследований и в качестве рекомандаций выложить на форум, лучше на форум ИнтерСистемс. Ведь Вы проделали большую работу, и сделали для себя ряд выводов, поделитесь, пожалуйста, теперь уже общими соображениями. "Не пропадет Ваш скорбный труд ..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 10:35 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Ув. AlexKB, спасибо Вам за Ваше предложение. Я это обязательно сделаю, но пока ещё не полностью готов. Кстати, у меня к Вам просьба - если не затруднит и есть такая возможность, проверить HANG 0.1 в Cache(программка в одном из предыдущих постов). Для меня это достаточо важно, так как затрагивает достаточно большой пласт задач, ранее не решавшихся, а Вы сможете также внести свою лепту в общее дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 18:06 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
H 0.1 проверял на Cahe' 5.2 под Win XP, результат зависит от нагрузки на систему (запущенные другие задачи Windows). Получалось в среднем где-то около 0,23 сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 09:39 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
al-veliev, Я когда-то проводил такие работы и пришел к такому выводу: Если у меня есть один доминирующий процесс в котором нужны некоторые таймауты, а все остальные процессы оптимизированы под максимальное быстродействие и под минимальную нагрузку на сервер, и еще ОС ничем не занята кроме моих задач, то удавалось пользоваться более менее контролируемыми таймаутами по 20 мсек (H 0.02) и даже доверять им. При этом доминирующему процессу поднимался приоритет. Дальше я пришел к такому выводу, что лучше использовать механизм обмена сообщениями между процессами Cache. В этом случае многократные опыты показали, что если один процесс отправил сообщение другому, который в данный момент спит и ждет такое сообщение, то второй просыпается практически мгновенно и тут же вступает в работу. При этом общее тактирование по времени находилось вне сервера. Промышленный контроллер, с жестким временем цикла в 50 мсек, регулярно выбрасывал пакеты данных по Com порту, на DLL-ку, которая принятый пакет преобразовывала в формат данных понятный COS и выбрасывала в сервер ТСР, реализованный на Cache, который в свою очередь принятый пакет выкладывал в буферный глобал и отправлял сообщение спящему процессу обработки. Проснувшийся процесс обработки вынимал пакет из буферного глобала, выполнял массу преобразований и вычислений (порой очень сложных с трехэтажными формулами и итерационными методами, табличной интерполяцией и прочей требухой). Далее сформированная порция новых данных подвергалась обработке в технологических алгоритмах и формировались данные для подсистемы отображения и подсистемы печати. Подсистема печати тоже поднималась со спячки вышеописанным способом, и выполняла построчную печать на матричный принтер практически мгновенно. Подсистема отображения каждые 100 мсек (тут был Н 0.1) выгребала данные из буфера отображения и выполняла отрисовку без заметных задержек рывков и т.п. Реализация Cache + Makova SMWrap. Все это потребовалось для стендов испытания авиационных двигателей. Именно такой механизм взаимодействия позволил принимать, обрабатывать, архивировать, отображать каждый входной пакет данных без потерь и пропусков. Другие способы с применением других технологий на давали подобных результатов. Причем нужно было обеспечить главное требование - не пропустить ни один пакет, что и удалось. Вся работа вмещалась примерно в 13-17 мсек и оставался достаточный запас для нового пакета данных. Загрузка процессора колебалась в пределах 15-30 %. Оптимизировать код приходилось отлавливая микросекунды, использовать макросы и много чего другого. Я опустил еще целый ряд ньюансов (контроллеров было несколько, пакеты принятые от разных контроллеров должны были быть синхронными, на контроллеры отправлялись управляющие воздействия строго синхронные и т.д.). Весь этот бред я написал для того, что не всегда таймаут который есть в Win стабилен, и там где есть критические участки следует искать разные пути. Причем без разницы где организовывать такую задержку (Бейсик, Билдер, Дельфи, Cache ведут себя примерно одинаково, хуже в SCADA прдуктах). И еще, некоторые материнские платы, при минимальной загрузке, довольно стабильно держат 10 мсек, другие только 15 мсек и выше, а некоторые только начиная с 20 мсек. Почему не знаю, разбираться не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 12:14 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Спасибо Вам за Ваши ответы. Со своей стороны могу сообщить пока только то, что Linux с GT.M ведут себя более-менее прилично до Hang 0.1 , т.е. тайм-аутам от 1 сек до 0.1 сек можно вполне доверять. А относительно повышения точности у меня большие сомнения, т.к. K.S. Bhaskar в документации по команде View прямо указал на предел реагирования ОС в 0.001 сек. И к чему эти Гигагерцы ??))) Вообще меня, честно говоря, очень удивляет тот факт, что в других командах ( Open , Read и Use ) тайм-аут настолько грубый и нет возможности его подправить. Особенно для систем, которые позиционируются как медицинские. Как-то не верится, что с 1969 года никто из медиков не попросил давление померять, пульс посчитать, объём легких вычислить, показания приборов проконтролировать и т. п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2008, 18:53 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
al-veliev А относительно повышения точности у меня большие сомнения, т.к. K.S. Bhaskar в документации по команде View прямо указал на предел реагирования ОС в 0.001 сек. Хотелось бы почитать насчет этого. Мои исследования показали, что все задержки ниже определенного порога превращаются в Hang 0, т.е. Н 0.01 может быть 10-11 мсек, а Н 0.009 уже будет с нулевой задержкой (тут опасность может быть) al-veliev Вообще меня, честно говоря, очень удивляет тот факт, что в других командах ( Open , Read и Use ) тайм-аут настолько грубый и нет возможности его подправить. Особенно для систем, которые позиционируются как медицинские. Как-то не верится, что с 1969 года никто из медиков не попросил давление померять, пульс посчитать, объём легких вычислить, показания приборов проконтролировать и т. п. Сам с этим постоянно мучаюсь и ищу обходные пути. Также интересен тот факт, что при передаче по Com-порту 75 байт(цифра может быть неточной), команда W исполняется мгновенно, если хотя бы на 1 байт больше, то команда W исполняется уже более 30 мсек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2008, 09:44 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
AlexKBХотелось бы почитать насчет этого. Мои исследования показали, что все задержки ниже определенного порога превращаются в Hang 0, т.е. Н 0.01 может быть 10-11 мсек, а Н 0.009 уже будет с нулевой задержкой (тут опасность может быть) Привожу Вам выдержку из документации по GT.M Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. Hang GT.M при значениях тайм-аута менее 0.1 сек начинает врать, но в бОльшую сторону. Но исходя из написанного в документации можно предположить, что такой порог тоже должен быть. Возможно в версии 5.3 по другому, надо посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2008, 21:24 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
al-veliev, Ой нет, по GT.M я не в теме. Поднимаю руки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2008, 10:12 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Ув AlexKB, я привел Вам всю цитату только для одной строки - где K.S. Bhaskar обрисовал проблему с точки зрения таймера ОС, где теряется точность за счёт округления сверхмалой величины и описал её (тайм-аут менее 1 мкс округляется системой до нуля, о потом даже миллион итераций длительностью 1 с равен нулю). Я далек от мысли агитировать Вас за тот или иной транслятор. Единственное, что мог бы сказать в этом плане - это предложить Вам попробовать Cache в Linux single user (это что-то наподобие DOS с поддержкой многозадачности), может быть там результат окажется чуть-чуть лучше. Сообщение с вопросом насчет "точности" Open Use, Read я выставил сегодня на comp.lang.mumps. Посмотрим, что янки скажут на этот счёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2008, 19:36 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Ув. AlexKB, Уже есть первая ласточка по теме. Оказывается , стандартом тайм-аут не фиксируется до целых секунд, т.е. у нас есть шансы получить в будущем адекватное решение вопроса. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2008, 19:56 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
al-velievу нас есть шансы получить в будущем адекватное решение вопросаУв. Ал. Велиев, представители разработчиков мне в свое время заясняли, что для появления какой-либо новой "фичи" фирма должна чувствовать некий финансовый стимул (прямой или косвенный). Вот сумели бы Вы заинтересовать, к примеру, фирму Fidelity реализовать в полной мере (фактически, перевыполнить) данное требование Стандарта? (например: вы такую супер-пупер систему на GT.M разработаете, что и у Вас, и у них продажи резко возрастут, одного вам для этого не хватает: дробного времени ожидания). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 12:00 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov, лучше подбить их добавить $LB(), самим небось понравится))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 12:30 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
ceshkaлучше подбить их добавить $LB()Подбить их добавить что-либо, как показал наш опыт, весьма сложно, даже при условии, что разработку берете на себя. А сами они добавляют новые фичи лишь при наличии коммерческого интереса. Впрочем, не только они, альтруистов на рынке нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 14:54 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov, интересно пролучается: у ИС интерес в $LB() есть, а у них нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 15:12 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
$LB() в позднем OpenM/раннем Cache появились, когда фирма взялась за переписывание своего SQL-движка с добавлением объектной функциональности, т.е. во второй половине 90-x. Очевидно, кто-то решил, что так будет лучше (понятнее, удобнее, производительнее...) реализовать новую стратегию хранения Cache Storage. Каковы были коммерческие мотивы такого решения, думаю, каждый может домыслить сам :) Ну а Fidelity/Sanchez в своем SQL-движке (который лишь недавно обрел статус отдельного продукта) как-то обошлась без столь радикальных мер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 15:50 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Alexey Maslovдля появления какой-либо новой "фичи" фирма должна чувствовать некий финансовый стимул (прямой или косвенный) Позиционирование продукта на новом сегменте рынка - разве не достаточный стимул для саморазвития? Тем более, что технических усилий для этого нужно не так много. Остальное, конечно, сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 22:04 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
al-velievПозиционирование продукта на новом сегменте рынка - разве не достаточный стимул для саморазвитияУв. Al.Veliev, я-то не против, Вы их (разработчиков) попробуйте убедить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 12:28 |
|
||
|
Что же главное в Cache?
|
|||
|---|---|---|---|
|
#18+
Ув. Alexey Maslov, вот ответ от FNFIS: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 22:23 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35684092&tid=1557930]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
133ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 471ms |

| 0 / 0 |
