powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Cache miss/hit detector in Java
146 сообщений из 146, показаны все 6 страниц
Cache miss/hit detector in Java
    #39504264
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги кто нибудь знает утилиты для подсчета cache miss/ cache hit в Java приложениях ?

Заранее спасибо.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504289
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichКоллеги кто нибудь знает утилиты для подсчета cache miss/ cache hit в Java приложениях ?

Заранее спасибо.

Там в общем то легко сделать свою внутреннюю статистику зачем еще один уровень над JPA городить. Обычно если не в кеше то пишешь в лог, что в кеше не оказалось иду в базу. По логу можно собрать в том же Splunk всю статистику когда и при каких обстоятельств не было в кеше.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504304
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504305
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichКоллеги кто нибудь знает утилиты для подсчета cache miss/ cache hit в Java приложениях ?

Заранее спасибо.
это от языка не зависит

1) счетчики performance для Linux - для любого приложения покажут. Я не использовал, хотя было нужно, т.к. работал "на живую" на продакшен сервере и ставить под рутом приложения, с которыми я первый раз сталкиваюсь, мне было боязно.

2) Intel VTune вроде с Java работать умел/умеет

https://software.intel.com/en-us/node/544058

если не побаловаться, а по серьезному... то кроме Intel VTune при всем богатстве выбора - другой алтернативы нет AFAIK. Но он платный. Java на нем НЕ профилировал, но вроде он с Java умеет работать.

Последняя trial версия, которую год назад видел, была вообще не рабочая ))) саппорт Intel рекомендовал взять/найти предыдущие версии ))) или купить ))) На фига выкладывать на сайт нерабочие trial версии - мне не понятно ))) такой хитрый маркетинг наверное )))
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504311
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VTuneAnalyzing Hardware Metrics

VTune Amplifier also provides an advanced profiling option of optimizing Java applications for the CPU microarchitecture utilized in your platform. Although Java and JVM technology is intended to free a developer from hardware architecture specific coding, once Java code is optimized for the current Intel microarchitecture, it will most probably keep this advantage for future generations of CPUs. You may use theHardware Event-based Sampling Collection data collection that monitors hardware events in the CPU's pipeline and can identify coding pitfalls limiting the most effective execution of instructions in the CPU. The CPU Metrics Reference are available and can be displayed against the application modules, functions, and Java code source lines. You may also run the Hardware Event-based Sampling Collection with Stacks when you need to find out a call path for a function called in a driver or middleware layer in your system.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504524
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
# perf list
....
  L1-dcache-load-misses                              [Hardware cache event]
  L1-dcache-loads                                    [Hardware cache event]
  L1-dcache-prefetch-misses                          [Hardware cache event]
  L1-dcache-prefetches                               [Hardware cache event]
  L1-dcache-stores                                   [Hardware cache event]
  L1-icache-load-misses                              [Hardware cache event]
  L1-icache-loads                                    [Hardware cache event]
  L1-icache-prefetches                               [Hardware cache event]
  LLC-load-misses                                    [Hardware cache event]
  LLC-loads                                          [Hardware cache event]
  LLC-stores                                         [Hardware cache event]
  branch-load-misses                                 [Hardware cache event]
  branch-loads                                       [Hardware cache event]
  dTLB-load-misses                                   [Hardware cache event]
  dTLB-loads                                         [Hardware cache event]
  iTLB-load-misses                                   [Hardware cache event]
  iTLB-loads                                         [Hardware cache event]
  node-load-misses                                   [Hardware cache event]
  node-loads                                         [Hardware cache event]
....
# perf stat -e LLC-load-misses,LLC-loads java .....
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504528
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichЯ про https://en.wikipedia.org/wiki/CPU_cache
Это задача далеко выходящая за рамки классического программирования на Java.
Спешу спросить.

А какие решения ты будешь принимать на основе полученных данных?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504554
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonsemensemenovichЯ про https://en.wikipedia.org/wiki/CPU_cache
Это задача далеко выходящая за рамки классического программирования на Java.
Спешу спросить.

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

Высокопроизводительные приложения на Java

Прошу только не задавайте мне вопрос почему мы не пишем на С и С++.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504555
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, chabapok,


спасибо.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504556
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapokкак-то так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
# perf list
....
  L1-dcache-load-misses                              [Hardware cache event]
  L1-dcache-loads                                    [Hardware cache event]
  L1-dcache-prefetch-misses                          [Hardware cache event]
  L1-dcache-prefetches                               [Hardware cache event]
  L1-dcache-stores                                   [Hardware cache event]
  L1-icache-load-misses                              [Hardware cache event]
  L1-icache-loads                                    [Hardware cache event]
  L1-icache-prefetches                               [Hardware cache event]
  LLC-load-misses                                    [Hardware cache event]
  LLC-loads                                          [Hardware cache event]
  LLC-stores                                         [Hardware cache event]
  branch-load-misses                                 [Hardware cache event]
  branch-loads                                       [Hardware cache event]
  dTLB-load-misses                                   [Hardware cache event]
  dTLB-loads                                         [Hardware cache event]
  iTLB-load-misses                                   [Hardware cache event]
  iTLB-loads                                         [Hardware cache event]
  node-load-misses                                   [Hardware cache event]
  node-loads                                         [Hardware cache event]
....
# perf stat -e LLC-load-misses,LLC-loads java .....



Коллега, простите за немный вопрос, а Вы не знаете аналогичной тулы для MacOs ?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504567
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504572
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichmaytonпропущено...

Это задача далеко выходящая за рамки классического программирования на Java.
Спешу спросить.

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

Высокопроизводительные приложения на Java

Прошу только не задавайте мне вопрос почему мы не пишем на С и С++.
Я не буду спрашивать про С++.

Обычно производительность современного приложения (бизнес-приложения)
зависит от производительности сети (если вы ее используете) дисков и БД.

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

Что у вас за алгоритм?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504612
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОбычно производительность современного приложения


Ох коллега как же вы далеки от разработки по настоящему серьезного софта.

То о чем Вы говорите это разработка энтерпрайз бизнес приложений.

Я занимаюсь несколько другими задачами.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504614
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так приблизьте меня, коллега. Устал я уже далеко так сидеть.

Что за алгоритм-то?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504615
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТак приблизьте меня, коллега. Устал я уже далеко так сидеть.

Что за алгоритм-то?

Для начала простой вопрос

Что быстрее ArrayList или LinkedList ?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504617
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504619
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichmaytonТак приблизьте меня, коллега. Устал я уже далеко так сидеть.

Что за алгоритм-то?

Для начала простой вопрос

Что быстрее ArrayList или LinkedList ?
О боже. Так издалека?

Тогда отвечу. Смотря на каких операциях. И давайте перейдем сразу к мясному меню.
Что там? Расчет сопротивления материалов? Рендеринг 3D? Копание bitcoins?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504620
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonsemensemenovichпропущено...


Для начала простой вопрос

Что быстрее ArrayList или LinkedList ?
О боже. Так издалека?

Тогда отвечу. Смотря на каких операциях. И давайте перейдем сразу к мясному меню.
Что там? Расчет сопротивления материалов? Рендеринг 3D? Копание bitcoins?

Конкретно я сортирую данные )))

Надо написать так дизайно хранения данных в памяти чтоб это было наиболее дружественно с точки зрения кешей CPU и соответственно достигалась бы скорость сортировки большая или равная той что выдает JDK Arrays.sort
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504621
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТогда отвечу. Смотря на каких операциях.

Какая из этих структур наиболее эффективно дает использование кешей CPU (минимизирует CACHE MISSES)
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504626
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichmaytonТогда отвечу. Смотря на каких операциях.

Какая из этих структур наиболее эффективно дает использование кешей CPU (минимизирует CACHE MISSES)
Ну...я-бы взял Array т.к. есть больше гарантий что соседние элементы (если они примитивы)
располагаются рядышком в адресной памяти и соотв у меня больше контроля над ситуацией.
Я могу работать блоками кратными кешам и соотв повышать эффективность отклика.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504627
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichmaytonпропущено...

О боже. Так издалека?

Тогда отвечу. Смотря на каких операциях. И давайте перейдем сразу к мясному меню.
Что там? Расчет сопротивления материалов? Рендеринг 3D? Копание bitcoins?

Конкретно я сортирую данные )))

Надо написать так дизайно хранения данных в памяти чтоб это было наиболее дружественно с точки зрения кешей CPU и соответственно достигалась бы скорость сортировки большая или равная той что выдает JDK Arrays.sort
А какой тип данных сортируется? Какой ключ? И каково value?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504635
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichа Вы не знаете аналогичной тулы для MacOs ?

Не знаю, я не яблофил.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504643
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichНадо написать так дизайно хранения данных в памяти чтоб это было наиболее дружественно с точки зрения кешей CPU и соответственно достигалась бы скорость сортировки большая или равная той что выдает JDK Arrays.sort

Кроме кэшей в процессоре есть целая куча других агрегатов, которые задействованы в алгоритме. И перфоманс каунтеры есть далеко не у всех агрегатов. Обычно на сколь-нибудь реальной (и даже синтетической) задаче, если вы оптимизируете алгоритм под дружественный для одного агрегата - то он будет недружественным для других агрегатов. А так, чтобы угодить всем и сразу - не бывает. Разумеется, это не означает, что вопрос производительности надо вообще забыть, а лишь означает, что особо надежд на подобного рода оптимизации лучше не возлагать.

Расскажу вам поучительную историю из личного опыта. Решил я разобраться с утилитой perf, заодно и код для оптимизации подвернулся - пример mandelbrot с сайта benchmarks game. Тут надо сделать такую ремарку. То, что на этом сайте меряется неправильно - это ясно. Однако основная цель была не мерять перфоманс - а пощупать утилиту perf. И вобщем, я внимательно посмотрел код: нашел несколько мест в которых можно, согласно моим представлениям, улучшить показатели - и поправил этот код. И ожидаемые показатели действительно улучшились, при этом все остальные либо остались на том же уровне, либо тоже улучшились. Ну супер же? Только вот, единственное, что возросло - это время исполнения. Перформенс-тюнер от бога, бгг )

На самом же деле, немножко поразмыслив над ситуацией, я понял, что там далеко не все обвешено счетчиками производительности, по крайней мере на amd. И я грубо говоря, переписав алгоритм, стал более активно использовать агрегат, у которого нет счетчика, и за счет этого получилась просадка.

Эти все моменты, пока их сам не пощупаешь - они все равно не очевидны. Все равно тебе кажется - "щас вот тут подкручу - и станет лучше", но в большинстве случаев из этого ничего не получится. Касаемо Arrays.sort - это, мне кажется, вообще канонический случай, в котором подкрутить уже ничего не выйдет. Единственное что - это если известны некоторые особенности значений данных, которые лежат в массиве, то может можно как-то оптимизировать под эти конкретные особенности, за счет просадки на данных без этих особенностей. Вообще же, оптимизировать Arrays.sort - это примерно как сказать, что килограмм недостаточно килограммистый, англосаксы из международной палаты мер и весов охренели и диктуют миру неверное значение килограмма - и поэтому срочно нужен новый импортозамещенный эталон, дайте денег на это...
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504661
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapok, добавлю еще несколько наблюдений

1) Лет несколько назад я был не кодером а ДБА. Натурально. И вот как-то я заметил неоптимальность
в юзкейсах биллинговой системы. Я заметил что оператору приёма платежей не удобно искать услуги за последний
месяц и сортировку по дате услуги. Оператор делал проще. Он выбирал ВСЕ услуги клиента за все года и выводил
на экранчик PowebBuilder приложения top 10 услуг по дате. Я забил тревогу. Я видел в Oracle планы курсоров
которые бегают по всем услугам с 1996 года. Но оператору было пофиг он просто делал свою работу. Ему лень сделать
мышко-клик указывая последний месяц но не лень подождать пару-минут другую. Я крепо задумался. Сортировка - зло.
Она не нужна для всей выборки. Нужна сортировка последнего периода или двух.

2) Еще одно наблюдение. Очень часто задачи на собеседование предсавляют собой "сферическую сортировку" в вакууме.
Выставляются требования как в контестерах. Алгоритм должен работать не более чем 3000 мс и сортировать 1Гиг целых
чисел (к примеру). При этом за кадром остаются следующие вопросы
- каким образом эти данные туда попали? Телепортировались? Возможно они качались через wget/ftp/scp e.t.c. и прочее.
- как быстро процесс потребитель (consumer) или пользователь сможет этот 1Гиг данных осознать (обработать). Не лучше-ли ему дать Iterator от TreeMap? Не лучше-ли подготовить структуру данных наподобие TreeMap и тихонечко поддерживать ее в
актуальном состоянии в памяти а то и вовсе в БД (BerkeleyDB/B+Tree)?

3) Сортировка - самый тяжелый по КПД алгоритм. Можно сказать это краш-тест для канала памяти. В worst сценариях
она двигает каждый элемент коллекции и если у вас был 1Гиг worst данных - то весь Гиг будет перелопачен в памяти.
Никакому байтику не будет пощады. И с этой вводной я начинаю. Я не осуждаю сам алгоритм сортировки. К нему нет
претензии.

Я спрашиваю. Вам реально необходимо на каждое пользовательское событие сортировать? Или есть какие-то обходные
сценарии? Можно-ли изменить SR таким образом чтобы убрать сортировку за скобки нашего бизнес процесса?

Что-там с producer? Это БД? А пускай сортирует. У нее есть бесконечный объем $TMP и способность генерировать
сортированные курсоры гораздо гибче чем мы напишем на Java. SQL - реально лучший DSL для выборок. А мы прогоним
цикл транформаций на java уже по сортированной ResultSet и выдадим красивый и быстрый результат.

Не знаю что там у автора с MacOS. Явно не сервак. Не ставят серваки на Mac обычно.

4) Борьба с Arrays.sort. Выше автор попросил чтобы мы не спрашивали его о С++. Но я замечу в скобках что
часть внутренних функций типа строковых операций переписана на С++ для повышения перформанса. И возможно
что на некоторых методах Arrays::sort работает не java-кода а intrinsic. В этом случае автор попадает
в смешное положение. Впрочем автору это надо проверить.

Вообще человеку но осознать даже мегабайт сортированных данных. Ему нужна более мелкая под-выборка.
Вот ради этого и стоит пересматривать ТЗ.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504701
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapoksemensemenovichНадо написать так дизайно хранения данных в памяти чтоб это было наиболее дружественно с точки зрения кешей CPU и соответственно достигалась бы скорость сортировки большая или равная той что выдает JDK Arrays.sort

Кроме кэшей в процессоре есть целая куча других агрегатов, которые задействованы в алгоритме. И перфоманс каунтеры есть далеко не у всех агрегатов. Обычно на сколь-нибудь реальной (и даже синтетической) задаче, если вы оптимизируете алгоритм под дружественный для одного агрегата - то он будет недружественным для других агрегатов. А так, чтобы угодить всем и сразу - не бывает. Разумеется, это не означает, что вопрос производительности надо вообще забыть, а лишь означает, что особо надежд на подобного рода оптимизации лучше не возлагать.

Расскажу вам поучительную историю из личного опыта. Решил я разобраться с утилитой perf, заодно и код для оптимизации подвернулся - пример mandelbrot с сайта benchmarks game. Тут надо сделать такую ремарку. То, что на этом сайте меряется неправильно - это ясно. Однако основная цель была не мерять перфоманс - а пощупать утилиту perf. И вобщем, я внимательно посмотрел код: нашел несколько мест в которых можно, согласно моим представлениям, улучшить показатели - и поправил этот код. И ожидаемые показатели действительно улучшились, при этом все остальные либо остались на том же уровне, либо тоже улучшились. Ну супер же? Только вот, единственное, что возросло - это время исполнения. Перформенс-тюнер от бога, бгг )

На самом же деле, немножко поразмыслив над ситуацией, я понял, что там далеко не все обвешено счетчиками производительности, по крайней мере на amd. И я грубо говоря, переписав алгоритм, стал более активно использовать агрегат, у которого нет счетчика, и за счет этого получилась просадка.

Эти все моменты, пока их сам не пощупаешь - они все равно не очевидны. Все равно тебе кажется - "щас вот тут подкручу - и станет лучше", но в большинстве случаев из этого ничего не получится. Касаемо Arrays.sort - это, мне кажется, вообще канонический случай, в котором подкрутить уже ничего не выйдет. Единственное что - это если известны некоторые особенности значений данных, которые лежат в массиве, то может можно как-то оптимизировать под эти конкретные особенности, за счет просадки на данных без этих особенностей. Вообще же, оптимизировать Arrays.sort - это примерно как сказать, что килограмм недостаточно килограммистый, англосаксы из международной палаты мер и весов охренели и диктуют миру неверное значение килограмма - и поэтому срочно нужен новый импортозамещенный эталон, дайте денег на это...

Коллега спасибо за помощь и экспертизу

Подскажите, пожалуйста, а какие еще значимые агрегаты есть у процессора ?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504702
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКакой ключ? И каково value?

bytes
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504703
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapok Вообще же, оптимизировать Arrays.sort

Я не оптимизирую Arrays.sort

Просто мои данные преставлены не в виде Java объектов в в виде серилизованного потока байтов в специальном виде.

И надо из отсортировать со скорость как если бы это была сортировка аналогичного массива объектов при помощи Arrays.sort.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504707
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton не java-кода а intrinsic.

Работает всегда асеммблерный код в конечном итоге
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504714
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно смотреть доку по конкретному процу от производителя. Они есть как у интел, так и у амд. Там в каждой микроархитектуре по-разному. И в доках там все разрисовано более-менее подробно.

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

Просто про эти кэшмиссы полон интернет - и стало "модно" это оптимизировать.

У меня, например, создалось впечатление, что довольно легко просадить шину память-кэш, просто сделав одновременно по кэшмиссу каждым ядром. В этом случае (на конкретно моем компе) мало того, что идут просто кэшмиссы, так еще и шина передачи перегружена - и каждое ядро ждет не только свои данные - но освобождения шины, и это тоже занимает время. И счетчика на это нет. Это чисто по ощущениям. Возможно, на серверах пропускная способность этой шины выше, и такой проблемы нет. Еще у меня в проце есть некий общий stalled-cycles-backend, который говорит, мол 50% времени проц ничего не делал, это пропущенные циклы. А что именно он ждал - это ты уже сам догадывайся.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504725
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichПросто мои данные преставлены не в виде Java объектов в в виде серилизованного потока байтов в специальном виде.
И надо из отсортировать со скорость как если бы это была сортировка аналогичного массива объектов при помощи Arrays.sort().Э-э-э ...
И как вы себе это представляете, если у Arrays.sort() нет ни одной сигнатуры для сортировки "сериализованного потока байт"?
Ну и опять-таки, с "классическим" вариантом соперничать собрались или с Arrays. parallel Sort()?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504757
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichmaytonКакой ключ? И каково value?

bytes
В таком виде?

Код: java
1.
2.
3.
4.
class Pair {
  byte[] key;
  byte[] value;
}


А какова длина ключа и значения?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504773
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonsemensemenovichпропущено...


bytes
В таком виде?

Код: java
1.
2.
3.
4.
class Pair {
  byte[] key;
  byte[] value;
}


А какова длина ключа и значения?

ЯПросто мои данные преставлены не в виде Java объектов
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504776
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovsemensemenovichПросто мои данные преставлены не в виде Java объектов в в виде серилизованного потока байтов в специальном виде.
И надо из отсортировать со скорость как если бы это была сортировка аналогичного массива объектов при помощи Arrays.sort().Э-э-э ...
И как вы себе это представляете, если у Arrays.sort() нет ни одной сигнатуры для сортировки "сериализованного потока байт"?
Ну и опять-таки, с "классическим" вариантом соперничать собрались или с Arrays. parallel Sort()?

ЯЯ не оптимизирую Arrays.sort
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504781
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovich,

Это просто поразительно. Из тебя информацию надо тянуть клещами.
Я давно невстречал в форуме таких стеснительных


А теперь слушай месседж. Эффективность любого алгоритма сортировки
Основана на том что мы знаем гистограмм у данных которую надо сортировать

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

Иногда анализ монотонных последовательностей даёт возможности применить слияние и
Переключить алгоритм на другой.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504788
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonsemensemenovich,

Это просто поразительно. Из тебя информацию надо тянуть клещами.
Я давно невстречал в форуме таких стеснительных


А теперь слушай месседж. Эффективность любого алгоритма сортировки
Основана на том что мы знаем гистограмм у данных которую надо сортировать

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

Иногда анализ монотонных последовательностей даёт возможности применить слияние и
Переключить алгоритм на другой.

1) На ты мы с Вами не переходили.

2) mayton Эффективность любого алгоритма сортировки
Основана на том что мы знаем гистограмм у данных которую надо сортировать


Да в курсе я.

А к чему это Вы собственно ?

Как это относится к мониторингу счетчиков процессора, о которых я завел тему.

Сортировку я вообще привел пример как задачу над которой я работаю.

Хотите мне поведать о других способах оптимизации алгоритма сортировки ?

Спасибо, мне это не нужно.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504807
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ок. Спасибо за прямоту.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504831
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichКак это относится к мониторингу счетчиков процессора, о которых я завел тему.

Сортировку я вообще привел пример как задачу над которой я работаю.


Работой называется не всякая деятельность, а только полезная. Ваш мониторинг счётчиков процессора - бесполезное занятие. Что вам на самом деле нужно - догадаться трудно. Некоторые участники обсуждения пытались. но не смогли, так как похоже вы сами не понимаете.

Высокопроизводительные вычисления (high performance computing) - это термин. Обозначает не то, что вы думаете и чем занимаетесь, а вычисления с распараллеливанием. Распараллеливание бывает между ядрами процессора, потоками, компьютерами в кластере и внутри GPU. Для сортировки возможны все эти способы, но мне неохота гадать, какой вам нужен. При распараллеливании скорость работы растёт обычно медленнее, чем число процессоров (Amdahl law - правило Амдаля) из-за того, что часть задачи остаётся нераспараллеленной. Но бывает явления суперлинейного ускорения (superlinear speedup), когда скорость растёт быстрее, чем число процессоров из-за того, что данные делятся на блоки, достаточно малые, чтобы попасть в кэш процессора. Таким образом, если бы у вас была настоящая работа, то можно было бы рассмотреть настройку алгоритма на использование суперлинейного ускорения (что более полезно, чем подсчёт попаданий в кэш), но у вас нет понимания задачи, поэтому углубляться не буду. В общем, попробуйте сообразить, что вам на самом деле надо (это не то, что вы тут написали).
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504859
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MsemensemenovichКак это относится к мониторингу счетчиков процессора, о которых я завел тему.

Сортировку я вообще привел пример как задачу над которой я работаю.


Работой называется не всякая деятельность, а только полезная. Ваш мониторинг счётчиков процессора - бесполезное занятие. Что вам на самом деле нужно - догадаться трудно. Некоторые участники обсуждения пытались. но не смогли, так как похоже вы сами не понимаете.

Высокопроизводительные вычисления (high performance computing) - это термин. Обозначает не то, что вы думаете и чем занимаетесь, а вычисления с распараллеливанием. Распараллеливание бывает между ядрами процессора, потоками, компьютерами в кластере и внутри GPU. Для сортировки возможны все эти способы, но мне неохота гадать, какой вам нужен. При распараллеливании скорость работы растёт обычно медленнее, чем число процессоров (Amdahl law - правило Амдаля) из-за того, что часть задачи остаётся нераспараллеленной. Но бывает явления суперлинейного ускорения (superlinear speedup), когда скорость растёт быстрее, чем число процессоров из-за того, что данные делятся на блоки, достаточно малые, чтобы попасть в кэш процессора. Таким образом, если бы у вас была настоящая работа, то можно было бы рассмотреть настройку алгоритма на использование суперлинейного ускорения (что более полезно, чем подсчёт попаданий в кэш), но у вас нет понимания задачи, поэтому углубляться не буду. В общем, попробуйте сообразить, что вам на самом деле надо (это не то, что вы тут написали).

Господи сколько же неадекватов налетело.

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

Вы всю эту байды своим джуниорам рассказывайте и лохам на собеседовании.

А я с Вами слава Богу не работаю и даст Бог не встречусь в реальной жизни.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504891
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichГосподи сколько же неадекватов налетело.

...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504895
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги ну есть же для троллинга ПТ.

Ну зачем превращать тему в болтовню, отличную от темы топика и лить сюда кучу своих мыслей, которые близко не лежали с темой.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504903
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MВысокопроизводительные вычисления (high performance computing) - это термин.


ЯВысокопроизводительные приложения


Я конечно понимаю что тут есть общее слово "Высокопроизводительные" - ну и что из этого ?

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

Blazkowicz,

Мой Вам совет не поддавайтесь стадному чувству - если один человек выдал тонну типа умного текста - а другой сказал ему про неадекватность - это еще не значит что у другого мания величия типа "я самый умный".
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504912
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichМой Вам совет не поддавайтесь стадному чувству - если один человек выдал тонну типа умного текста - а другой сказал ему про неадекватность - это еще не значит что у другого мания величия типа "я самый умный".
Даже не знаю что ответить. Могу, разве что, предложить поискать бревно в своём глазу. Поверьте, эту картинку я тут пощу не так уж и часто. И поведение других участников дискусии считаю на много более адекватным чем ваше здесь хамство.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504916
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczsemensemenovichМой Вам совет не поддавайтесь стадному чувству - если один человек выдал тонну типа умного текста - а другой сказал ему про неадекватность - это еще не значит что у другого мания величия типа "я самый умный".
Даже не знаю что ответить. Могу, разве что, предложить поискать бревно в своём глазу. Поверьте, эту картинку я тут пощу не так уж и часто. И поведение других участников дискусии считаю на много более адекватным чем ваше здесь хамство.

Это здоровое хамство, призванное отрезвить типа экспертов и знатоков - а то вместо начатой темы мне бы еще долго рассказывали про алгоритмы сортировки и параллельные вычисления.

У нас, видимо, разные представления об адекватности.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504917
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть мнение такое, что на иностранных форумах пытаются решить проблему топик-стартера, а на русских доказывают ТСу какой он му**к.
Мне этот топик напомнил один вопрос на стеке https://stackoverflow.com/questions/11227809/why-is-it-faster-to-process-a-sorted-array-than-an-unsorted-array
Проблема актуальная как для С++ так и для JAVA.
Тут возникла мысль, - можно переписать свой код на C++ и изучать проблемы взаимодействия с процессором там.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504921
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettЕсть мнение такое, что на иностранных форумах пытаются решить проблему топик-стартера, а на русских доказывают ТСу какой он му**к.
Есть такое. С той лишь разницей, что до stackoverflow адекватных англоязычных форумов не было в принципе. Всё более-менее адекватное было в мейл архивах, статьях, но никогда в форме обсуждения.
А у stackoverflow отличная политика модерирования и оценок, которая и привела к успеху ресурса. А рунет, просто остался таким же как был.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39504999
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Беда в том что тс задаёт вопрос в топике java не про java. Ну то есть на границе технологий.

А когда ты пытается понять специфику оптимизацией или того анализа - автор как
То странно отмалчивается либо говорит дескать это не про это... Да и вообще
Сортировка его не интересует.

Тогда я спрашаваю.

А что его собственно в этом топике интересует относительно java?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505062
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБеда в том что тс задаёт вопрос в топике java не про java.

На форуме нет топика "Оптимизации CPU".

С таким же успехом С++ ники заявили бы что я задаю вопрос в топике С++ не про С++.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505069
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichНа форуме нет топика "Оптимизации CPU".Зато есть два топика, для людей, не умеюших гуглить man и msdn.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505074
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovsemensemenovichНа форуме нет топика "Оптимизации CPU".Зато есть два топика, для людей, не умеюших гуглить man и msdn.

Топик надо переименовать из Java в RTFM ;)

Задаешь вопрос - а тебе на него отвечают "Чо в Гугле Шо ли Забанили )"

Ладно всем спасибо за внимание.

Пойду в stackOverFlow спрашивать )))
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505079
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Древний ЧАВО XFree86/2, первая пара вопрос-ответ:
В. Вы должны ...
О. Я никому ничего не должен.

Очень рекомендуется к осмыслению и запоминанию.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505080
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovДревний ЧАВО XFree86/2, первая пара вопрос-ответ:
В. Вы должны ...
О. Я никому ничего не должен.

Очень рекомендуется к осмыслению и запоминанию.

Вы бы лучше что по теме порекомендовали глядишь форум бы превратился из застойной полной срача помойки в экспертную площадку.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505093
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichВы бы лучше что по теме порекомендовалиТо, что порекомендовал я - вы проигнорировали. Как, впрочем, и остальные рекомендации.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505094
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovsemensemenovichВы бы лучше что по теме порекомендовалиТо, что порекомендовал я - вы проигнорировали. Как, впрочем, и остальные рекомендации.

Если Вы про "FreeBSD hardware CPU counters" то не проигнорировал.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505105
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichиз застойной полной срача помойки в экспертную площадку.
Мвуха-ха. Это юношеский максимализм вдруг проснулся? Эксперты такой фигней себя особо не утруждают. У нас тут узкий кружок любителей поумничать.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505107
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczsemensemenovichиз застойной полной срача помойки в экспертную площадку.
Мвуха-ха. Это юношеский максимализм вдруг проснулся? Эксперты такой фигней себя особо не утруждают. У нас тут узкий кружок любителей поумничать.

Да окей окей ради Бога.

Умничайте дальше )
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505218
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichГосподи сколько же неадекватов налетело.

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

Вы всю эту байды своим джуниорам рассказывайте и лохам на собеседовании.

А я с Вами слава Богу не работаю и даст Бог не встречусь в реальной жизни.

На самом деле, вы изначально неверно поставили вопрос. Скажем так, без учета особенностей менталитета. Дело в том, что особенность мышления типичного россиянина в том, что он хочет всегда все за всех решать, и, разумеется, лучше всех знает, что нужно или ненужно всем и каждому. А раз он знает это лучше всех - то, очевидно, он эксперт. А раз эксперт, то от него ожидают чего-то большего. Таким бОльшим является, например, не просто ответить на поставленный вопрос - а _спасти_ отвечающего. И поэтому когда вы спрашиваете вопрос, то первое о чем россиянин думает - это не ваш вопрос, а мысль "сейчас я его спасу!". И для этого нужно посмотреть на проблему более глобально, поэтому вместо вашего вопроса сначала мысленно задается вопрос "зачем это ему?". И дальнейшее движение произойдет, только если ответ на этот вопрос будет понятен, а иначе вам просто скажут, что это ненужно. И фишка в том, что учебные цели - это практически вся инфа, а вот практические цели - это НЕ вся инфа. И поэтому если вы сформулируете вопрос так, что как будто вам это нужно для учебных целей - то мозг отвечающего как бы проходит ворота на которых написано "а зачем это ему?", и только после этого начинает думать над конкретным ответом, и только тогда можно получить ответ.

На самом деле, меня тоже бесит привычка интернет-экспертов (в том числе реальных, а не диванных) вместо конкретного ответа просто заявить, что это мне ненужно и точка. Решение о том, что нужно а что нет, принимаю только я! А когда просто говорят "ненужно" даже если действительно ненужно - хочется хамить и убивать. К сожалению, очень много народу не способно этого понять. И поэтому, фишкой "это для учебных целей" я пользуюсь, и обычно она помогает. К сожалению, не всегда, потому что они иногда подозревают, что цель практическая. По этой причине, практические вопросы, которые проходят в ворота "а зачем это?" лучше задавать в практическом ключе.

Касаемо этого вопроса - вы уже спалились, что цель практическая. Это значит, они не понимают зачем это вам, и поэтому ответа про кэш вам не дадут, можете забыть. Возможно, они смогут выведать у вас особенности данных и что-нибудь предложить. В этом случае, в их понимании, они вас "спасут".
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505231
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapoksemensemenovichГосподи сколько же неадекватов налетело.

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

Вы всю эту байды своим джуниорам рассказывайте и лохам на собеседовании.

А я с Вами слава Богу не работаю и даст Бог не встречусь в реальной жизни.

На самом деле, вы изначально неверно поставили вопрос. Скажем так, без учета особенностей менталитета. Дело в том, что особенность мышления типичного россиянина в том, что он хочет всегда все за всех решать, и, разумеется, лучше всех знает, что нужно или ненужно всем и каждому. А раз он знает это лучше всех - то, очевидно, он эксперт. А раз эксперт, то от него ожидают чего-то большего. Таким бОльшим является, например, не просто ответить на поставленный вопрос - а _спасти_ отвечающего. И поэтому когда вы спрашиваете вопрос, то первое о чем россиянин думает - это не ваш вопрос, а мысль "сейчас я его спасу!". И для этого нужно посмотреть на проблему более глобально, поэтому вместо вашего вопроса сначала мысленно задается вопрос "зачем это ему?". И дальнейшее движение произойдет, только если ответ на этот вопрос будет понятен, а иначе вам просто скажут, что это ненужно. И фишка в том, что учебные цели - это практически вся инфа, а вот практические цели - это НЕ вся инфа. И поэтому если вы сформулируете вопрос так, что как будто вам это нужно для учебных целей - то мозг отвечающего как бы проходит ворота на которых написано "а зачем это ему?", и только после этого начинает думать над конкретным ответом, и только тогда можно получить ответ.

На самом деле, меня тоже бесит привычка интернет-экспертов (в том числе реальных, а не диванных) вместо конкретного ответа просто заявить, что это мне ненужно и точка. Решение о том, что нужно а что нет, принимаю только я! А когда просто говорят "ненужно" даже если действительно ненужно - хочется хамить и убивать. К сожалению, очень много народу не способно этого понять. И поэтому, фишкой "это для учебных целей" я пользуюсь, и обычно она помогает. К сожалению, не всегда, потому что они иногда подозревают, что цель практическая. По этой причине, практические вопросы, которые проходят в ворота "а зачем это?" лучше задавать в практическом ключе.

Касаемо этого вопроса - вы уже спалились, что цель практическая. Это значит, они не понимают зачем это вам, и поэтому ответа про кэш вам не дадут, можете забыть. Возможно, они смогут выведать у вас особенности данных и что-нибудь предложить. В этом случае, в их понимании, они вас "спасут".

Да собственно я не просил меня спасать.

Я просто думал что коллеги как то мониторят такие счетчики под макосью и всего то просил поделиться как :)

Я был в курсе про Intel VM Analyzer, был в курсе про FreeBsd Counters;

Про команду perf под Linux не слышал - спасибо.

Но дело в том что у меня MacBook.

И мне ну очень лениво только из за счетчиков ставить на него Linux, я фанат яблока.

Вот собственно и весь топик )))

Но сдается мне что народ банально не знает как такие счетчики под макосью профилировать - а темка цепляет - вот и пишут все подряд что в голову придет. Плюс вопрошающий (тобишь я) там чего то выпендриваться начал - непорядок - надо бы и заодно потролить и повоспитывать )))
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505234
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно виртуалку поставить и там запустить.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505254
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichЯ просто думал что коллеги как то мониторят такие счетчики под макосью и всего то просил поделиться как :)

Казалось бы, при чем тут Java?

semensemenovichПро команду perf под Linux не слышал - спасибо.

Как же так-то?
http://www.brendangregg.com/linuxperf.html

semensemenovichНо дело в том что у меня MacBook.
И мне ну очень лениво только из за счетчиков ставить на него Linux, я фанат яблока.

Так там же операционка тоже форк Unix-а.

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

semensemenovich- а темка цепляет - вот и пишут все подряд что в голову придет.

Цепляют хамы, которые ничего из себя не представляя, с ходу хамят уважаемым участникам форума.

semensemenovichнадо бы и заодно потролить и повоспитывать )))
Моралиста видно за версту. Воспитатель ты наш.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505258
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz ничего из себя не представляя,

Blazkowiczс ходу хамят уважаемым участникам форума.

"
- В нашу партию будут избраны только достойнейшие.
- Простите а кто будет решать кто достойнейший а кто нет ?
- Как кто - достойнейшие )))
"

Уважаемый, по моему мнению Ваш троллинг и прочая оторванная от технических аспектов риторика
не выдает в Вас эксперта и наводит на мысль что как раз Вы ничего из себя не представляете.

BlazkowiczТак там же операционка тоже форк Unix-а.


Спасибо КЭп.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505261
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichне выдает в Вас эксперта и наводит на мысль что как раз Вы ничего из себя не представляете.

Дык я этого и не скрываю в отличие от вас.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505266
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczsemensemenovichне выдает в Вас эксперта и наводит на мысль что как раз Вы ничего из себя не представляете.

Дык я этого и не скрываю в отличие от вас.

Ну и славно, на это поскольку конструктива в данном разговоре ровно 0 предлагаю закончить.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505269
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovich предлагаю закончить
А получится?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505273
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczТак там же операционка тоже форк Unix-аLinux Is Not UniX
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505280
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapok Это значит, они не понимают зачем это вам

Это то и пугает

То есть народ не занимается при разработке ПО учетом Temporal Locality и Spatial Locality
(что это описано тут https://stackoverflow.com/questions/16699247/what-is-cache-friendly-code).

Я бы понял если бы меня спросили о том как расположены данные в памяти, а также о том как я осуществляю к ним доступ, но вместо этого "эксперты" начали рассказывать мне о методах оптимизации сортировок а также о методах распаралеливания вычислений;
Что это ? люди просто тролят ? Или РЕАЛЬНО не понимаю что такое разработка ПО с использованием Data Oriented Design.

Я даже вопрос про ArrayList and LinkedList задал - "эксперт" даже видимо не понял к чему это и принял это за джунское оскорбление после чего и вовсе перешел на ты и на личности.

Я бы поклонился и нарек мастером того кто бы начал разговаривать по теме - но ведь ни одного человека не нашлось.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505283
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovich, я вас прошу простить если я вас обидел.

Но я здесь в форуме с 2004 года. И троллить я не умею. Не моё это.

Но если проследить переписку по топику - то руку на отсечение даю что топик
для меня выглядел как консультация по оптимизации чего-то. Я спрашивал навоящие
вопросы. Вы - отвечали. Вы не возражали. Я думал - парень бъется головой
об выгрузку из БД или еще там чего. Ну... блин. Трешак вобщем.

Вы - бы сразу сказали что вы изучаете Cache Friendly в общем без отсносительно
к конкретному алгоритму. Я-бы понял.

Еще раз прошу меня извинить. Я думаю что коллеги подтвердят и впишутся
что я - известный здесь читатель и писатель и если-б троллил то был-бы уже
давно зобанен.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505284
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichДа собственно я не просил меня спасать.

Ооо, чувак... Это вы еще спасибо скажите, что спасать решили. Могли решить и защитить...

Насчет макоси - надо было сразу сказать.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505286
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichТо есть народ не занимается при разработке ПО учетом Temporal Locality и Spatial LocalityИ это вполне логично, т.к. все эти "дружественные к кэшу" алгоритмы предполагают вполне конкретную монополизацию железа.
Оглядывая свою эпсилон-окрестность, я вижу, что куча софта крутится в пробирках. Даже тогда, когда софт в пробирках не крутится, монополизация одного ящика одним приложением - редкость.
А разводить толерастические сопли ради ещё одного лентяя, которому сложно задать корректный вопрос в тематическом форуме - увольте.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505291
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov, которому сложно задать корректный вопрос в тематическом форуме - увольте.

ЯКоллеги кто нибудь знает утилиты для подсчета cache miss/ cache hit в Java приложениях ?



И что здесь, простите, некорректного, то что утилиты работают не только для Java приложений ?

Я надеялся что тут найдутся люди которые пишут на Java и задумываются реально о кешах процессора а не просто бряцают этим на форумах толком не понимая как эти знания можно и нужно применять в работе для увеличения производительности.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505292
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovвполне конкретную монополизацию железа.

Моя последняя оптимизация в коде как раз с улучшением Spatial locality привела к росту перфоманса в полтора раза и это было видно и на моей рабочей макоси и на линуксовых серверах и у клиентов на солярке.

Так что, умоляю, не надо со мной делиться своей типа экспертизой в стиле "Все тлен" и "Все мы когда нибудь умрем".
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505293
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichТо есть народ не занимается при разработке ПО учетом Temporal Locality и Spatial Locality
(что это описано тут https://stackoverflow.com/questions/16699247/what-is-cache-friendly-code).


Есть такой Роман Елизаров. У него есть доклады про это, можно поискать на ютуб. Простые смертные этим не занимаются так как это java, она сама все это делает или не делает. Программист не имеет возможностей на это нормально влиять.

semensemenovichЧто это ? люди просто тролят ? Или РЕАЛЬНО не понимаю что такое разработка ПО с использованием Data Oriented Design.


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


semensemenovichЯ даже вопрос про ArrayList and LinkedList задал - "эксперт" даже видимо не понял к чему это и принял это за джунское оскорбление после чего и вовсе перешел на ты и на личности.
надо спрашивать более прямо. А у вас какой-то флирт с намеками. Это тоже неправильно.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505294
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapokПрограммист не имеет возможностей на это нормально влиять.


Да еще как имеет эти возможности.

Java вообще от плюсов отличается тем что не дает гибкости настроек всяких барьеров память предоставляя только дуболобный volatile ну и шкафообразный гц заставляет использовать.

Во всем остальном тут есть все те же механизмы что и в плюсах и уж точно в Java возможно оптимизировать код с учетом кешей процессора.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505296
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichИ что здесь, простите, некорректного, то что утилиты работают не только для Java приложений ?Характер моей работы, так уж получилось, прокачивает скилл "отсекать нужное от всякой хни".
Если бы ваш вопрос был "условно корректен", то задавали бы его теме про хрюниксы и звучал бы он примерно так:
"Использую MacOS версии X.Y, для тонкой оптимизации приложения нужно получить данные с аппаратных счётчиков процессора. Пользовался тем-то, не устраивает то-то."
И всё - нет вопросов что и почему вы оптимизируете. Просто потому, что речь сразу идёт о вполне конкретных инструментах и методах работы с этими инструментами.
А это сильно отличается от вашего "я тут Обстрактной хренью занят, но даже гуглить ничего не стал".
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505297
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovsemensemenovichИ что здесь, простите, некорректного, то что утилиты работают не только для Java приложений ?Характер моей работы, так уж получилось, прокачивает скилл "отсекать нужное от всякой хни".
Если бы ваш вопрос был "условно корректен", то задавали бы его теме про хрюниксы и звучал бы он примерно так:
"Использую MacOS версии X.Y, для тонкой оптимизации приложения нужно получить данные с аппаратных счётчиков процессора. Пользовался тем-то, не устраивает то-то."
И всё - нет вопросов что и почему вы оптимизируете. Просто потому, что речь сразу идёт о вполне конкретных инструментах и методах работы с этими инструментами.
А это сильно отличается от вашего "я тут Обстрактной хренью занят, но даже гуглить ничего не стал".

Мне давеча кто то говорил что jmh позволяет снимать данные этих счетчиков.

Это вроде как к джавистам, не ?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505299
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichМне давеча кто то говорил что jmh позволяет снимать данные этих счетчиков.
http://openjdk.java.net/projects/code-tools/jmh/ Code Tools: jmh
JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targetting the JVM.
Лично я в упор не вижу, чтобы справка проекта хоть как-то упоминала бы "CPU Counters" ни вместе, ни по отдельности.
Но, вероятно, вы сможете ткнуть меня носом в мои заблуждения?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505300
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот здесь говорят что JMH под макосью статистику не собирает - нужен perf.

Однако интересен вот этот ответ:

If you're ok with disabling macOS kernel security (loading only signed kernel module), you can use Intel Performance Counter Monitor .
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505301
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что из "проговорённого" вы уже проверили на своей системе?
Да пять минут гуглежа без единого вопроса на форуме полноценно загружают рабочий день человека, которому интересно решить свою задачу.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505302
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы никто не задавал вопросов на форуме то и гуглешь бы не помог.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505303
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettМожно виртуалку поставить и там запустить.
Думаю что виртуалка нам покажет парадоксальный результат.

Нам сложно будет отделить эффект влияния гостевой ОС на кеш L3 от нашего
полезного эффекта от приложения.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505304
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Нет, вы посмотрите на этого поца ..."
Мне, значит, помог, а ему, видите ли - нет.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505306
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov"Нет, вы посмотрите на этого поца ..."
Мне, значит, помог, а ему, видите ли - нет.

Боюсь спросить, кто Вам помог ?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505311
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichБоюсь спросить, кто Вам помог ?
Следите за рукамиКогда вы соизволили уточнить, что у вас - MacOS X, я спросил у гугла "FreeBSD CPU Counter". В первом десятке ссылок было две результативные:
1. Штатный PMC: может не быть в MacOS X или его функционала недостаточно, но это уже вам проверять - я быстренько пробежался по man-страничкам;
2. Intel VTune, о котором вам уже говорили. Я пробежался по списку изменений и обнаружил запись "с версии такой-то совместим с макосью версии сякой-то". Опять-таки - вам проверять.
Стесняюсь, но, всё-таки, спрошу - как и чем помогли бы мне форумы?

P.S. Могу обоснованно предположить, что если бы на форумах было меньше идиотских вопросов, то выдача гугла была бы ещё более результативной.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505312
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovsemensemenovichБоюсь спросить, кто Вам помог ?
Следите за рукамиКогда вы соизволили уточнить, что у вас - MacOS X, я спросил у гугла "FreeBSD CPU Counter". В первом десятке ссылок было две результативные:
1. Штатный PMC: может не быть в MacOS X или его функционала недостаточно, но это уже вам проверять - я быстренько пробежался по man-страничкам;
2. Intel VTune, о котором вам уже говорили. Я пробежался по списку изменений и обнаружил запись "с версии такой-то совместим с макосью версии сякой-то". Опять-таки - вам проверять.
Стесняюсь, но, всё-таки, спрошу - как и чем помогли бы мне форумы?

P.S. Могу обоснованно предположить, что если бы на форумах было меньше идиотских вопросов, то выдача гугла была бы ещё более результативной.

Я призываю лично Вас не реагировать больше на мои посты в форуме.

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

Но лично Вы обходите их стороной.

Никто Вас лично не заставляет мне отвечать и чего то там гуглить.

Не нравится вопрос, идиотский, ткнули в другую тему форума и жизнь стала немного светлее.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505313
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichЯ призываю лично Вас не реагировать больше на мои посты в форуме"Не указывайте мне, что я должен делать и я не стану объяснять, куда вам надо пройти".
Так доходчивее?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505314
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovsemensemenovichЯ призываю лично Вас не реагировать больше на мои посты в форуме"Не указывайте мне, что я должен делать и я не стану объяснять, куда вам надо пройти".
Так доходчивее?

Я не указываю, я призываю.

Нормальный человек стороной обходит идиотские вопросы я не разводит соплями по стеклу.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505350
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapokфлирт с намеками.
Очень красиво пишите)))))
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505369
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichНормальный человек стороной обходит идиотские вопросы я не разводит соплями по стеклу.
Вот и я говорил что не получится. Закатываешься истерикой по каждому коментарию. Не нравятся ответы - не отвечай, а то развел своих соплей на весь форум.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505944
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы бы хоть набросали код какой оптимизируете в джава по кэш миссам. А то оптимизируете оптимизируете, и тут бац надо посчитать как на оптимизировали, и на оптимизировали ли вовсе.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505955
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Вы бы хоть набросали код какой оптимизируете в джава по кэш миссам. А то оптимизируете оптимизируете, и тут бац надо посчитать как на оптимизировали, и на оптимизировали ли вовсе.

Местные гуру запинали меня ногами.

На этом форуме можно только идиотские вопросы про Java.util.properties задавать про джарники в джейбосе и прочую фигню - такая лажа тут в почете и корифеи с удовольствием подтирают джунам *ады.

Мой вопрос местные карифаны не оценили

Так что не будет Вам никакого кода.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505968
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Вы бы хоть набросали код какой оптимизируете в джава по кэш миссам. А то оптимизируете оптимизируете, и тут бац надо посчитать как на оптимизировали, и на оптимизировали ли вовсе.
Недавно просматривал статьи по SLRU, 2Q, ARC, e.t.c. и заметил что все методы "эффективного кеширования"
не имеют никакой общей теоретической формулы эффективности. Во всех случаях авторы
брали какие-то конкретные данные из внешнего мира. Файлы в файловой системе. URL-s на
прокси или в игровом клиенте. Тоесть говорить к примеру о том что 2Q лучше LRU можно
только после прогона на реальных выборках. С повторами... характерными для веб-сервинга,
актокорреляциями и прочее. Мне кажется что тут есть аналогия с топиком. Мы не можем
просто говорить о том что где-то в космосе существует стек аппаратных кешей и мы
кодим исходя из cache friendly. Некоторые отсылки к кешам есть в семинаре по Disruptor .
Но дизраптор это та еще херня. Попробуй его натянуть на реальное приложение. Бесконечный
тюннинг получается. Тут подкрутил - там упало. А может Unsafe memory как в Hazelcast ? Вариант!
Но кто этот Хозел-Каст купил с лицензией и отреверс-инжинерит? Или кто исходники Apache Cassandra
разберет? Чтоб проанализировать юзает ли эта тётка cache-friendly или нет.

Из практики БД еще пример. Ты тут из кожи вон лез... оптимизировал аналитический SQL query.
Скобками его загнал в определенный order joins. Хинтов добавил. Пабеда!
Быстро летает ночью. День начинается и капец. Конкуренция sessions. Бафер пул "вымывается" другими query.
Фигли.. у тебя индексных чтений больше. Всё затормозило и сдулось. А прерыдущий план - вообще
по дискам бегал. Мультиблочным. Медленнее данные собирал но никому не конкурировал.
И нахер тогда я старался? Директивно всё оптимизировал когда все по дефолту прилично работало.
По рукам себя линейкой....

Вобщем сорян за лирическое отступление.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505988
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonsemensemenovichпропущено...


Какая из этих структур наиболее эффективно дает использование кешей CPU (минимизирует CACHE MISSES)
Ну...я-бы взял Array т.к. есть больше гарантий что соседние элементы (если они примитивы)
располагаются рядышком в адресной памяти и соотв у меня больше контроля над ситуацией.
....
1) послать в топку стандартные коллекции, взять http://fastutil.di.unimi.it/
IMHO в 95% случаев нужны/требуются именно примитивные типы. При боксинге/un-боксинге говорить о производительности просто неприлично.

2) если работа с датами - то joda time. Говорить о производительности вычислений с датами при immutable типах просто неприлично.
У joda тоже не все хорошо со скорости, сериализация/десериализия timestimp сделана через одно место AFAIK. Хотел переписать, но руки не дошли.

3) Очень жаль, что нет нормального способа java String туда же (в топку) послать (((, многие с java String через unsafe работают... но на мой взгляд это совсем извращение, пытался код из И-нета повторить - от смены версии java все начинает падать....unsafe он и есть unsafe.

IMHO & AFAIK

как-то так, а уж потом промахи кэша В JAVA смотреть. Смысла смотреть промахи кэша (за исключением synchronize/Lock/Atomic) - не вижу. Ну посмотрел ты на них и что? Есть промахи кеша, есть промахи предсказателя переходов, есть ошибки TLB ... повлиять в коде то все равно на них никак не можешь (можно частично повлиять настройками командной строки JVM). А 95 % времени можно терять ни в прикладном коде, а в JVM, GC или вообще где нибудь в между-thread пространстве.

IMHO & AFAIK
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39505989
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichЯ просто думал что коллеги как то мониторят такие счетчики под макосью и всего то просил поделиться как :)

Я был в курсе про Intel VM Analyzer, был в курсе про FreeBsd Counters;

Про команду perf под Linux не слышал - спасибо.

Но дело в том что у меня MacBook.
....

Может быть с этого стоило начинать? В первом посте есть слова Java, но вот о mac'е нет ни слова.

а то как в анекдоте "сколько программистов нужно, что бы вкрутить лампочку? Ни одного, it is a hardware problem".
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39506082
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

Возникли следующие мысли:

1. Наш сферический алгоритм в вакууме (далее САВ ) должен иметь понятие о том в окружение какого железа он существует.
Cortex? Intel? Amd?

Здесь надо признать что мы делаем шаг в сторону от классического java кодинга и пытаемся приоткрыть занавес платформы.

2. После того как мы получили тип железа - мы далжны собрать максимум сведений о топологии кешей и о всех их количественных
Характеристиках.

Чуть позже я приаттачу поясняющую картинку.

3. Мы должны ввести в САВ вектор параметров который даст нём возможность регулировать влияние на каши и топологию.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39506164
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevМожет быть с этого стоило начинать? В первом посте есть слова Java, но вот о mac'е нет ни слова.

а то как в анекдоте "сколько программистов нужно, что бы вкрутить лампочку? Ни одного, it is a hardware problem".

А типа это бы как то помогло )))

Единственный кто примерно тут указал как это делается для MAC - это был я (погуглил и скинул линку) ))))

Остальные КОНСТРУКТИВНЫЕ ответы были для Linux и FreeBsd.

То есть народ вообщем не особо в курсе.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39506175
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichТо есть народ вообщем не особо в курсе.
Потому что оно нахрен никому не нужно и к Java отношения не имеет. Кому вообще упал fine tuning под процессор на Java под десктопную платформу? JIT в следующей версии поменяется и все ваши оптимизации пойдут лесом. Зачем выжимать что-то из десктопного CPU вообще загадка. Вопрос про MacBook вообще убил. Вы многопользовательские сервера на них хостите? Или big data обсчитываете?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39506177
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczsemensemenovichТо есть народ вообщем не особо в курсе.
Потому что оно нахрен никому не нужно и к Java отношения не имеет. Кому вообще упал fine tuning под процессор на Java под десктопную платформу? JIT в следующей версии поменяется и все ваши оптимизации пойдут лесом. Зачем выжимать что-то из десктопного CPU вообще загадка. Вопрос про MacBook вообще убил. Вы многопользовательские сервера на них хостите? Или big data обсчитываете?

У тебя там джун в соседней ветке никак не может java.util.Properties сконфигурить - отправляйся как ты туда экспертизу повышать,
тем более как ты сам сказал

BlazkowiczПотому что оно нахрен никому не нужно


А здесь, быть может, появятся люди которым это таки нужно.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39506179
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichМестные гуру запинали меня ногами.

Вы им льстите.

semensemenovichНа этом форуме можно только идиотские вопросы про Java.util.properties задавать про джарники в джейбосе и прочую фигню - такая лажа тут в почете и корифеи с удовольствием подтирают джунам *ады.
Невероятно. На форуме по Java обсуждают Java API, а не макось. Вот так неожиданность.

semensemenovichМой вопрос местные карифаны не оценили

Мммм. Какой крутой вопрос. Апплодисменты. Побольше бы таких крутых вопросов. Только в профильном бы форуме.

semensemenovichТак что не будет Вам никакого кода.
Обидели мышку...
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39506183
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichУ тебя там джун в соседней ветке никак не может java.util.Properties сконфигурить - отправляйся как ты туда экспертизу повышать,
тем более как ты сам сказал
Я там уже всё разрулил. У меня в этой ветке истерику никак не свернут.

semensemenovichА здесь, быть может, появятся люди которым это таки нужно.
Они уже на подходе.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39506252
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЯ там уже всё разрулил.


Хороший мальчик, возьми с полки пирожок.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39507848
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пару лет назад 18093734 я поднимал тему трех бенчмарков. В разрезе
популярных ЯП (C++/Python/Delphi/C# e.t.c) и изначально заданными задачами.
А именно:
1) CPU
2) Доступ к памяти
3) Производительность I/O

Из всех трех удалось реализовать только первый (CPU). Бенчмарк граф. алгоритма трассировки
луча с использованием вещественных чисел. Фактически нужный код
был написан. Спасибо сообществу. Остались неоконченными универсальные
shell-скрипты для тестинга всех ЯП на всех платформах. Эта цель так и осталась целью. Что впрочем
не мешало активным мемберам тихонько тестить 2-3 разных ЯП на своих
конфигурациях и репортить таблички с отчотами. Отчоты пролили много
интересных фактов. Как например провальные результаты Python по сравнению
с другими системами. Это кстати ставит под сомнение тезис Зимаргла к том
что Python быстрее чем "C" и тезис другого чела в ПТ который доказывал
что строки в Python это самые быстрые строки в мире ... впрочем
кто это был я забыл да и топик уже не помню.

Приятно также порадовал компиллятор Rust который в рамках небольших погрешностей
был где-то быстрее чем С/C++ реализации.

Но остались еще 2 теста которые я так и не смог сформулировать в виде
постановки.

И мой интерес к этому топику возник именно в разрее теста номер (2).
Я долго думал какую постановку взять для тестирования бенчмарков
по memory но так и не придумал. Мне нужны были алгоритмы которые
мощно и равномерно грузят полный диапазон бортовой памяти вашей
рабочей станции или сервера (2/4/8/16G) и не только диапазон но
и также интенсивные аллокации-деаллокации (malloc/free,
new/delete e.t.c.). И здесь алгоритмы сортировки не подходили.
Они обычно не используют явные аллокации-деаллокации и соотв
мой тест был-бы не полным.

Как вариант я рассматривал реализации кешей (LRU/2Q/MQ/ARC)
+ некая гипотетическая задача которая будет делать интенсивные
поисковые операции по кешам. Например поиск пароля по хешу.
Ну ... что-то вроде rainbow-table (по сабжу я не знаю пока как
работает радужня табличка но надеюсь что ей полюбому нужен
какой-то доступ к дисковым хранилищам уже расчитанных хешей
объем которых уже давно превысил оперативку. Это как раз
удобная постановка для кеша). Сюда-же можно включить
несколько бенчмарков.
1) Рост кеша (population)
2) Стационарная фаза (обычная работа)
3) Деградация (вытеснение старых ключей полностью новыми)

Но вобщем-то если у кого-то будут мысли - то пишите.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39507903
semensemenovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton...

У Сергея Куксенко есть роскошная презентуха по теме

https://jug.ru/2014/10/сергей-куксенко-железные-счётчики-н/
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39507916
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovich,

хороший плакат https://shipilev.net/talks/devoxx-Nov2012-perfMethodology-mindmap.pdf
скачал себе.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39507924
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На 16-й минуте - примерно такой фрагмент слайда.

PMU события:
-Платформозависимые
сильно различаются у разных производителей

могут сильно менятся у одного производителя при смене микроархитектуры.

Это то о чем я говорил где-то выше. Это не просто выходит за рамки Java.
Это даже в native выходит за рамки обычного анализа. Нам придется
учитывать что стоит на борту. Intel или AMD.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39508689
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semensemenovichА типа это бы как то помогло )))

Единственный кто примерно тут указал как это делается для MAC - это был я (погуглил и скинул линку) ))))

Остальные КОНСТРУКТИВНЫЕ ответы были для Linux и FreeBsd.

А конструктивных ответов, как это делается на ZX Spectrum, IBM z-Series и прочих платформах даже от Вас нету (((

Вы тут практическую помощь хотите получить или докторскую диссертацию по IT-технологиям с анализом 100500 существующих операционных систем и аппаратных платформ?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39508739
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

Он решил зобанится. Жаль. Сабж был интересен только стартовал как то слишком скомкано.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39508827
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не интересен топик ни разу, т.к. сильно OS-specific.
В линуксах есть perf, которого нет в BSD-подобных, в которых, вроде, dtrace. И все они отличаются от виндовых счётчиков, где есть ещё и ETL.

P.S. Чтобы хоть немного остаться "в теме явы": Java-разработчики не осознают проблему с профилировщиками .
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509780
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovДа не интересен топик ни разу, т.к. сильно OS-specific

По моему наоборот это делает его интересным.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509782
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОн решил зобанится


Это не я решил, это модераторы.

Полагаю что этот ник скоро снова забанят.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509787
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.Семенович, это все замечательно.

Но нам нужна повестка.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509818
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСемен.Семенович, это все замечательно.

Но нам нужна повестка.

Кроме Вас лично тема никому больше неинтересна, скорее даже раздражает.

Гуру не чувствуют себя сильными в теме и поэтому им это неинтересно.

Начинаются отмазки в стиле "это не совсем Java".
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509828
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.СеменовичКроме Вас лично тема никому больше неинтересна, скорее даже раздражает.
Ему она тоже не интересна в контексте MacOS. Так что ты тут один.

Семен.СеменовичГуру не чувствуют себя сильными в теме и поэтому им это неинтересно.
Напонимаю что флейм начался с твоего хамства.

Семен.СеменовичНачинаются отмазки в стиле "это не совсем Java".
От чего отмазки-то? ROFL.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509835
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЕму она тоже не интересна в контексте MacOS. Так что ты тут один.


Я так понимаю она ему в принципе интересна как и мне.

А ОС -специфике приклеились гуру как к отмазке от собственной слабости в теме.


BlazkowiczНапонимаю что флейм начался с твоего хамства.


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


BlazkowiczОт чего отмазки-то? ROFL.


Отмазки от собственной слабости в теме.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509847
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот настоящий эксперт делает доклад ровно по теме на Java конференции

https://jug.ru/2014/10/сергей-куксенко-железные-счётчики-н/

И он не говорит публике о том что нам это ненужно
О то что это ОС - специфик

И проче бла бла )
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509848
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.СеменовичОтмазки от собственной слабости в теме.
Ну, то есть ты тут тупо потроллить. Создал тему к форуму отношения не имеющую, про экзотическую, с точки зрения тюнинга, проприетарную ось. Чтобы в каждом втором комментарии лошить всех кто решил поучаствовать в обсуждении. При этом особенно забвано смотрится что для тебя, как человека занимающегося производительностью в Java, доклады Шипилева и Куксенко это прямо открытие.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509852
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу, то есть ты тут тупо потроллить.


Тупо троллить начал ты, а я с самого начала был серьезен - серьезнее не придумать.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509853
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.СеменовичИ он не говорит публике о том что нам это ненужно
О то что это ОС - специфик

Потому что там про серверную платформу.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509854
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczдоклады Шипилева и Куксенко это прямо открытие.

Я эти доклады уже 100 лет назад видел, жаль что для многих экспертов это открытие.

Впрочем неудивительно.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509855
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczСемен.СеменовичИ он не говорит публике о том что нам это ненужно
О то что это ОС - специфик

Потому что там про серверную платформу.

Да какая разница.

Java же :)
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509867
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.СеменовичmaytonСемен.Семенович, это все замечательно.

Но нам нужна повестка.

Кроме Вас лично тема никому больше неинтересна, скорее даже раздражает.

Гуру не чувствуют себя сильными в теме и поэтому им это неинтересно.

Начинаются отмазки в стиле "это не совсем Java".
У меня здесь другой интерес. Я уже говорил что делаю бенчмарки memory.
И возможно я сделаю форк от этого топика. А пока я хотел просто
проговорить названия технологий, утилит и архитектур о которых
собсно будет идти речь. Чистая java уже не канает. Нужна информация
из environment.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509876
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСемен.Семеновичпропущено...


Кроме Вас лично тема никому больше неинтересна, скорее даже раздражает.

Гуру не чувствуют себя сильными в теме и поэтому им это неинтересно.

Начинаются отмазки в стиле "это не совсем Java".
У меня здесь другой интерес. Я уже говорил что делаю бенчмарки memory.
И возможно я сделаю форк от этого топика. А пока я хотел просто
проговорить названия технологий, утилит и архитектур о которых
собсно будет идти речь. Чистая java уже не канает. Нужна информация
из environment.

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

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

Например глубокое понимание как работают кеши, что такое False Sharing что такое аннотация @Contentend, что такое Cache Line.

Инфы полным полно в докладах уже упомянутых Сергея и Алексея.

На интереснее всего трогать эти кеши руками.

Например наблюдать как при правильном Spatial Locality скорость сортировки увеличивается в разы.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509884
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.Семенович, мои бенчмарки касаются семейства языков программирования (С++/C#/Java/Delphi).
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509891
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСемен.Семенович, мои бенчмарки касаются семейства языков программирования (С++/C#/Java/Delphi).

Язык программирования тут не так важен.

Кстати а вы знаете как перфоманс оверхед вносит просто вызов virtual функции ?

Это актуально например когда в компараторе мы дергаем функцию сравнения из внешнего апи (virtual call) или напрямую инлайним сортировку в компаратор.

В С++ есть возможность сделать метод невиртуальным )
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509911
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.СеменовичmaytonСемен.Семенович, мои бенчмарки касаются семейства языков программирования (С++/C#/Java/Delphi).

Язык программирования тут не так важен.
Давай соберем в список что вообще важно для того чтобы САВ
(сферический алгоритм в вакууме) работал быстро.

Мы предполагаем что сам алгоритм уже написан. Принципиально
он не меняется (не меняется асимптоматика). Но
- регулируя свойства структур данных и конфигурации:
(разрядность структур, padding, адресацию, опции компилляции
32/64-pointers, размер блока данных которым мы оперерируем,
кратность этого блока L1/L2, использование
систем команд FPU/SSE) и используя априорные сведенья
о состоянии кешей ДО ТОГО как мы начали эксперимент,
- используя сведения об операционной системе, о классах
мультизадачности (сюда-же приоритеты и affinity threads/processes)
- используя сведенья о железе на борту Intel/AMD и их
специфичных свойствах. Управляя режимами экономии. Выключая их.
(Дада дорогие друзья на ваших модных лаптопах тактовая частота
плавает и сложно гарантировать нужное число мегафлопов при
повторных запусках. Про машины эконом класса такие как планшеты
и телефоны я вообще молчу. Вся их история создания - это цепочка
прорывов в области экономии тепла и электричества). Используя
всякие Bust, Burst, управление тактовой частотой и оверклокингом.
- используя иммитационное моделирование нашего САВ
с разными характеристиками (я об этом писал выше). Использование
генетических алгоритмов для отбора наилучшей конфигурации САВ.

Вот так мы можем получать какой-то профит.

Профит заключается в ФАКТИЧЕСКОМ уменьшении времени работы
нашего САВ (такая себе цель №1).

Профие профиты такие как "дружественность" к кешу я рассматриваю
с большим подозрением. Я не считаю что это цель. Это скорее странное
пожелание которое не ведет нас к цели №1. Оно ведет нас к другим
самым разным целям например к благоприятной работе других
процессов ОС. Но это все - вторичные цели.

Если вы считаете что все что я перечислял выше - неважно. Тогда
я вас спрошу. А что вообще важно?

Вы хотите достигать перформанса для вашей пользователькой задачи
но при этом хотите оставаться в мире pure-Java?

Не выйдет, дорогие друзья. Собственно зрелость senior java developer
или architect начинается тогда, когда ты понимаешь что тебе уже
не хватает java. Есть еще и реальный мир с железом и его сложными
свойствами. И тюнить просто САВ больше нет возможности.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509913
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фразой "Язык программирования тут не так важен" я имел ввиду лишь одно:

для понимания как работают кеши - ЯП неважен.

>>Профие профиты такие как "дружественность" к кешу я рассматриваю
с большим подозрением

Это говорит о том что Вы никогда не занимались низкоуровневым джава перфомансом, а тюнили диск, сеть и расставляли хинты к запросам в оракле.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509928
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.Семенович>>Профие профиты такие как "дружественность" к кешу я рассматриваю
с большим подозрением

Это говорит о том что Вы никогда не занимались низкоуровневым джава перфомансом, а тюнили диск, сеть и расставляли хинты к запросам в оракле.
Может быть. Я вообще в программирование пришел из администрирования.

Но это офтопик. С моим главным тезисом maytonПрофит заключается в ФАКТИЧЕСКОМ уменьшении времени работы
нашего САВ (такая себе цель №1).
вы согласны?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509936
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonвы согласны?

Согласен с чем ? С тем что увеличение производительности это уменьшение времени работы ?

Ну в большинстве случаев да.

Хотя наверное можно ставить в качестве задачи и количество занимаемой памяти.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509943
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.Семеновичmaytonвы согласны?

Согласен с чем ? С тем что увеличение производительности это уменьшение времени работы ?

Ну в большинстве случаев да.

Отлично.

Хотя наверное можно ставить в качестве задачи и количество занимаемой памяти.
Нет-нет. Мы тогда запутаемся. Оптимизация памяти - это другая задача.
И если у нас была мемоизация как часть оптимизации перформанса,
то оптимизация памяти в первую очередь ударит по вопросу хранения
расчетных данных, материализовнных views, программных кешей и прочее. А это автоматически
приведет нас к отказу от цели №1.

Тоесть цель №1 любыми средствами.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509946
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТоесть цель №1 любыми средствами.

Не всегда.

Иногда качеством кода не жертвуют ради выигрыша в 10 мс.

Зависит от людей.

Но в целом да.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509975
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК. Продолжим. Мне сложно оперировать с сферическим железом в вакууме.
Поэтому я буду опираться на конкретное.

Я приаттачу скрин с описанием железа вполне себе бюджетной рабочей станции
и попробую порассуждать что там есть и что я могу использовать для
оптимизации кешей (пока без привязки к ЯП).
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509980
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что нам будет интересно.
1) Количество ядер и количество threads.
2) Размеры кешей данных L1/L2/L3.

Топология. Я нагуглил картинку которая по чистой случайности
действительно соответствует архитектуре кешей Intel-Core-i3.

Она не полная. Но если что - дорисуем на ней недостающие связи.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39509993
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глядя на вторую картинку. Можно заметить что несмотря на 4 вычислительных CPU-Thread
Здесь по терминологии. В разных книгах по железу очень часто путают
процессы и потоки. В Windows/Unix архитектура потоков также отличается
и во избежание терминологических споров я буду писать CPU-Thread имея
в виду одно из четырех модулей или АЛУ которые нарисованы на картинке
и отдельно я буду писать Java-Thread имея в виду другое.

У Елизаорва или Куксенко (я не помню щас точно) есть утверждение
о том что для AMD например такое понятие как ядро (Kernel) уже давно
стало маркетинговой приманкой и в реальности размыто и не соответствует
понятию ядра в "старых" системах. Тоесть это точно не процессор. Поэтому
и я расслаблюсь и не буду ни с кем спорить. Я просто аппелирую к картинке
и топологии. Есть какая-то хрень имеющая свойсва АЛУ и она СЧИТАЕТ
и она использует кеши. Остальное мне не важно.

Посмотрите. На картинке Core0 содержит внутри себя Thread-0,Thread-2. При
этом вся эта система топологически связана с кешом данных L1 размером 32к. И кешом
L2 размером 256к.

Далее. Гипотеза 1.

Реально мы можем без конкуренции использовать только 2 процесса(потока) операционной
системы которые мы должны закрепить строго за определённым набором CPU-Threads.
САВ должен конфигурироваться исходя из имеющейся топологии.

По определенным причинам. Меня не устраивает работа стандартного Windows-диспетчера.
Специфика задачи такая что Я решаю где стартовать поток и для меня это ВАЖНО. Но
я полностью признаю пользу автоматической диспетчеризации для других потоков ОС.


Далее. Гипотеза 2.

Существуют посторонние процессы ОС и той-же JVM которые влияют на L1/L2 результат нашей
разработки САВ.


Я не знаю что с этим делать! Я не знаю как минимизировать их влияние!
Я предполагаю что только объем транзакций по памяти и их кучность позволит мне
в какой-то мере владеть данными в L1/L2

Отсюда следует что САВ должен максимально МНОГО и ИНТЕНСИВНО использовать L1/L2.
САВ должен состоять из 2х вычислительных потоков (Worker-Threads) которые должны
быть закреплены за физическими CPU-Threads 0,2.

САВ должен в каждый момент времени наполнять L1/L2 актуальным стеком информации
нужным ТОЛЬКО для решения его (САВ) задачи.

Далее я беру паузу. И занимаюсь для себя этим вопросом. А именно.
- можно ли закрепить конкретный java-thread за определённым набором CPU-Thread.
- покурить taskset
- покурить start
- покурить JavaProcessBuilder
- покурить опенсорцные библиотеки affinity для Java и нативного кода.

У кого есть мысли по поводу Гипозез - прошу пишите каменты.

P.S. Картинка с топологией неполна. Я-бы дорисовал больше связей. Если у кого есть мысли - пишите.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510002
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЧто нам будет интересно.
1) Количество ядер и количество threads.
2) Размеры кешей данных L1/L2/L3.

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

Я уже примерно объяснил, что на самом деле нужно. Повторяю, чтобы здешний флейм кого-нибудь не сбил с толка.
Для выскопроизводительных вычислений нужно распараллеливание вычислений. Оно бывает в кластере компьютеров, внутр компьютера между процессорами/ядрами, и внутри GPU. Эти способы могут применяться и совместно. Например, в библиотеке машинного обучения Microsoft CNTK есть одновременное распараллеливание в кластере, между несколькими GPU в одном компьютере и внутри GPU (библиотеки машинного обучения требуют большого объйма вычислений, поэтому их авторы стараются применить распараллеливание).
При распараллеливании производительность обычно растёт медленнее числа процессоров (правило Амдаля). Но иногда наблюдается явление суперлинейного ускорения - когда приозводительность растёт быстрее числа процессоров). Оно вызвано тем, что для распараллеливания набор данных делится на части и размер одной части может стать достаточно маленьким для её попадания в кеш. Подробно об этом написано в литературе по высокопроизводительны вычислениям. Но суперлинейное ускорение не очень важно - если и есть, то даёт прирост корости в проценты, ну в десятки процентов. Важнее избежать ошибки "ложного распараллеливания", когда программа кажется распараллеленной, но на самом деле нет из-за общих переменных и других причин. В таких случаях производительность растёт медленнее чем по правилу Амдаля. Это явление надо обнаружить и устранить вызвавшую его ошибку.
Итак, надо разработать способ распараллеливания. При этом требование испольщовать только Java - глупость,показывающая неготовность автора темы решать задачу. Довольно успешная библиотека машинного обучения H2O написана на Java, но для организации работы в кластере использует Hadoop.
На этом участие в теме прекращаю ввиду её флеймовости. Автор может сколько влезет размышлять о свойствах кеша.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510011
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MНет. Автор темы не понял задачу и неправильно её поставил.


Какую задачу я не понял ?
Я начинал с какой то задачи ?

Еще раз повторю - правильность понимания задачи проверяйте у своих джунов.

Partisan MВ действительности ему не надо измерять процент попаданий в кеш.


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

Partisan MНо если ему охота заниматься фигнёй, то зачем ему давать советы, как это лучше делать. Пусть организация, в которой он работает, и даёт ему задания на фигню.


Фигня это нанимать таких псевдоэкспертов как Вы.

Это и ежу понятно что в случае распараллеливания и деления вычислений на чанки мы получаем прирост производительности.

https://ru.wikipedia.org/wiki/Green_threads

Вот Вам еще ссылка по теме, как раз выделением кванта времени под каждую задачу.

Тут еще бонусом и уход от Context Switching получаем.

Только какое это имеет отношение к задаче ?

Мы не всегда можем распараллелить то что уже и так распараллелено и дальше начинаем ускорять внутри одного потока.

Далее встает вопрос об организации хранения структур которые будут обрабатываться одним тредом (без распараллеливания).

Все тот же вопрос про LinkedList и ArrayList.

Эксперт блин.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510014
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan M, спасибо за мысли. Я думал про GPU. Я конечно погорячился когда сказал
что рассуждаю безотносительно ЯП и алгоритма. Язык появляется когда ты думаешь как это
реализовать для бизнеса. Я читал разные статьи по майнинг биткоинов и криптографические
задачи с использованием Nvidia/CUDA e.t.c. Но у всех у них есть своя специфика.
Например - очень хороший параллелизм. Например можно запустить на 512 ядрах
подбор пароля по хешу. При этом каждое ядро имеет свой диапазон паролей. При
довольно средней производительности каждого CPU, общая производительность
умножается на 512. То-же самое с рисованием текстур. Каждый процессор рисует
отдельную свою текстуру в общую память. Блокировок по памяти нет. Там - грязный
доступ. Поэтому все очень красиво летает и бегает.

Ну вобщем я сначала сделал ошибку обозвав наш алгоритм САВ. Действительно
майнинг паролей и рендеринг текстур тоже подходят под определение САВ.

Но я думаю что такой класс алгоритмов нам не подходит.

Семеныч? Что скажешь?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510015
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДалее. Гипотеза 1.

Реально мы можем без конкуренции использовать только 2 процесса(потока) операционной
системы которые мы должны закрепить строго за определённым набором CPU-Threads.
Да, мопвашуять, не ваша эта проблема!
СтоИт у меня на полке книга, оригинал которой был издан в 1997 (2-е издание), а перевод - в 1998. И уже там рассказывается, что нормальный планировщик потоков нормальной системы обязан учитывать сродство кэшей (cache affinity).
Вы (и особенно автор топика) правда считаете, что аппаратные счётчик, доступ к которым сурово зависит от операционной системы надо обсуждать в рамках виртуальной ява-машины?
Может, объясните, мне, убогому, чем профилирование одной разделяемой библиотеки отличается от профилирования другой разделяемой библиотеки?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510016
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСеменыч? Что скажешь?


А что тут сказать.

Фейспалм да и только.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510019
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.СеменовичВ действительности чем больше мы работам с кешом тем сильнее наблюдаем прирост производительности - это и ежу понятно.

В бытность своего занятия Dbms Oracle мы часто сравнивали две ентерпрайзные БД по т.н. Buffer Cache Hit Ratio.

И вот что мы заметили. На очень плохих по перформансу БД этот коэффициент был великолепен и на хороших
он был - так себе. Это не было системой. Было и наоборот. И это не было искусственной накруткой счетчика.

Просто так легли карты. Была одна бестолковая транзакция которая долбила в какой-то блок и поднимала
счетчик ввысь. Но эта ее бестолковость не делала пользы для продуктивной БД в целом.

И я для себя сделал вывод. Мы можем смотреть в этот счетчик. Но в совокупности с другими метриками.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510021
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovmaytonДалее. Гипотеза 1.

Реально мы можем без конкуренции использовать только 2 процесса(потока) операционной
системы которые мы должны закрепить строго за определённым набором CPU-Threads.
Да, мопвашуять, не ваша эта проблема!
СтоИт у меня на полке книга, оригинал которой был издан в 1997 (2-е издание), а перевод - в 1998. И уже там рассказывается, что нормальный планировщик потоков нормальной системы обязан учитывать сродство кэшей (cache affinity).
Вы (и особенно автор топика) правда считаете, что аппаратные счётчик, доступ к которым сурово зависит от операционной системы надо обсуждать в рамках виртуальной ява-машины?
Может, объясните, мне, убогому, чем профилирование одной разделяемой библиотеки отличается от профилирования другой разделяемой библиотеки?
Василий. Я тебя умоляю...

Я-же пишу. Гипотеза. Это значит что я ПРЕДПОЛАГАЮ что это так. И вообще.
Зачем так бурно реагируешь?

Давай - пиши опровержение. Я не против. Но только без лишних эмоций.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510023
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.СеменовичmaytonСеменыч? Что скажешь?


А что тут сказать.

Фейспалм да и только.
Да я не про это. Я про то что САВ нам в топике не подходит.

Нам нужен бизнес-САВ.

БСАВ.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510026
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЗачем так бурно реагируешь?Потому, что толерантность хороша только гомеопатических дозах. Если человек гонит пургу - не надо выискивать жемчужное зёрнышко в навозной куче.
Если человек занимается финальной оптимизацией - его квалификация должна быть на соответствующем уровне. Он же не домашним хобби занят и не фрилансит задёшево.
Или когда сеньор задаёт вам юниорские вопросы, вы тоже начинаете терпеливые объяснения основ? Или, всё-таки, указываете на неполное служебное?
Ну и старое правило нетикета не надо забывать: "Правильно сформулированный вопрос должен содержать, как минимум, половину ответа".
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510028
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСемен.Семеновичпропущено...


А что тут сказать.

Фейспалм да и только.
Да я не про это. Я про то что САВ нам в топике не подходит.

Нам нужен бизнес-САВ.

БСАВ.

Мой опыт показал, что существует теоретический подход к правильной организации данных в памяти.

И этот подход не зависит ни от операционной системы, ни от бизнес задачи.

Можно сколько угодно обсуждать что на Земле каждый день меняется температура, однако законы термодинамики при этом не меняются.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510030
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovПотому, что толерантность хороша только гомеопатических дозах.
Если человек гонит пургу - не надо выискивать жемчужное зёрнышко в навозной куче.


Золотые слова.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510031
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.СеменовичМой опыт показал, что существует теоретический подход к правильной организации данных в памяти.

И этот подход не зависит ни от операционной системы, ни от бизнес задачи.

Можно сколько угодно обсуждать что на Земле каждый день меняется температура, однако законы термодинамики при этом не меняются.
Смотри. Выше Партизан написал дескыть при правильном параллелизме - берите Хадуп и всё у вас летает.
Все верно. Он попал пальцем в небо. Но он говорил об классе задач. Это задачи с высокой степенью
параллелизма. Это все что соответствует map-reduce. Это select ... group by. Это аналитика. Это
копание биткоинов и подбор паролей. Эти все задачи идеально параллелятся. Особенно если
читаемые данные редко пересекаются.

Но я щас говорю не о задачах параллелизма а о задачах concurrency. Когда идет OLTP. Когда идут
интенсивные модификации памяти. Когда есть много блокировок. Когда данные пересекаются
постоянно и много. Когда LRU. Когда EhCache. Когда InfiniSpan. Вот о чем я.

Я изначально говорил о другом КЛАССЕ задач.

Так вот я тебя повторно спрашиваю. Тебе нужен какой класс задач?
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510035
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТак вот я тебя повторно спрашиваю. Тебе нужен какой класс задач?

Для какого класса задач создали ArrayList ?

Да для любого правда ?

Зачем задавать такие вопросы ?

Считайте что я пишу JDK коллекции.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510036
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семен.СеменовичСчитайте что я пишу JDK коллекции.
Ну хоть какая-то ясность.
...
Рейтинг: 0 / 0
Cache miss/hit detector in Java
    #39510037
Семен.Семенович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Представляю себе ДагаЛи пишущего ArrayList.

"Ой блин зачем я тут думаю о кеш локалити - можно же распараллелить работу с эррей листом - закон же ландау у меня и чанки.
Гуру со скуля там че то умное про это писали."

Цирк.
...
Рейтинг: 0 / 0
146 сообщений из 146, показаны все 6 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Cache miss/hit detector in Java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]