Size: a a a

2019 November 15

AV

Alexander Vershilov in fprog_spb
Хороший и понятный пример это GC у Haskell и Go, первый throughput oriented, его идея в том, чтобы сделать больше работы за меньшее время итого отношение времени проведенном в GC ко времени проведенном в мутаторе низкое. А в Go latency oriented GC, его задача не мешать программе отвечать быстро, в итоге суммарно программа в GC проводит больше, зато это не мешает ответам (ну если всё идёт по плану)
источник

AV

Alexander Vershilov in fprog_spb
Задачи HPC thoughput oriented, ты послал задачу и можешь ждать месяцы пока посчитается, тебе важно, чтобы оно всё в итоге прошло; а если остальные запросы в это время будут выполняться за 10с, а не за 1 - тебя волнует не сильно.
источник

AV

Alexander Vershilov in fprog_spb
В low latency системах тебе важно, чтобы все запросы выполнялись скажем быстрее, чем за 1с. И то что задача полностью отработает за 2 месяца, а не за 1 тебя не сильно волнует.
источник

AV

Alexander Vershilov in fprog_spb
Тут уже не точно: при этом настоящий low latency будет в soft real time системах, но без жесткой гарантии, иногда ты можешь выходить за рамки. В hard realtime системах обычно времена ответов выше, но зато с гарантией.
источник

AV

Alexander Vershilov in fprog_spb
Сообщества HPC и realtime очень разные первое ближе к академии и вообще там много ученых, второе ко всяким индустриям и железячникам.
источник

YS

Yuriy Syrovetskiy in fprog_spb
первый раз слышу, что производительность 1 ответа не считали производительностью
источник

YS

Yuriy Syrovetskiy in fprog_spb
у академиков какой-то свой performance
источник

АХ

Алексей Худяков in fprog_spb
Произподительность = {время выполнения программы}^{-1}
источник

YS

Yuriy Syrovetskiy in fprog_spb
Алексей Худяков
Произподительность = {время выполнения программы}^{-1}
по этой формуле получается, оба варианта подходят
источник

YS

Yuriy Syrovetskiy in fprog_spb
в моём окружении производительность всегда была суммой latency и throughput
источник

PS

Peter Sovietov in fprog_spb
Alexander Vershilov
Сообщества HPC и realtime очень разные первое ближе к академии и вообще там много ученых, второе ко всяким индустриям и железячникам.
В realtime тоже много ученых. Это ученые-практики, которые разрабатывают эффективные алгоритмы цифоровой обработки сигналов. К слову, тот же Haskell смешно даже пробовать использовать для создания аудиоплагина, который должен работать в реальном времени. Но есть специализированный функциональный язык Faust, который предназначен именно для таких задач.
источник

АХ

Алексей Худяков in fprog_spb
Т.е. если программа варершается за 50мин вместо часа, то и славно, и плевать что там могут быть паузы ГЦ по секунде
источник

YS

Yuriy Syrovetskiy in fprog_spb
Alexander Vershilov
Сообщества HPC и realtime очень разные первое ближе к академии и вообще там много ученых, второе ко всяким индустриям и железячникам.
realtime — это fixed latency или predictable latency, но не всегда low
источник

AV

Alexander Vershilov in fprog_spb
Алексей Худяков
Т.е. если программа варершается за 50мин вместо часа, то и славно, и плевать что там могут быть паузы ГЦ по секунде
^ вот это вот
источник

АХ

Алексей Худяков in fprog_spb
Хотя если у вас вычисление распределённое, то трейдоффу могут стать сложнее, т.к. нужна коммуникация и долгие паузы могут останавливать сразу неск процессов
источник

YS

Yuriy Syrovetskiy in fprog_spb
Алексей Худяков
Т.е. если программа варершается за 50мин вместо часа, то и славно, и плевать что там могут быть паузы ГЦ по секунде
вопрос был про latency
источник

АХ

Алексей Худяков in fprog_spb
Часто понятия латенси вообще не существует. Работает программа, молотит данные, всё взаимойдествие с остальным миром сводится к: прочитал данные/записал результат. Единственное что интересует — время завершения работы
источник

YS

Yuriy Syrovetskiy in fprog_spb
латенси — это и есть время завершения работы по ответу на запрос
источник

PS

Peter Sovietov in fprog_spb
Часто и понятия throughput не существует. Работает себе решатель NP-полной задачи на суперкомпьютере, все крутится без доп. участия внешних данных. Есть ведь вполне определенное понятие потоковой задачи. Но не все задачи потоковые.
источник

АХ

Алексей Худяков in fprog_spb
Так нет никаких хапросов
источник