Size: a a a

2020 August 08

AC

A C in PHP
похоже в субботу мало кто захотел тебя послушать :D
источник

SM

Sergey Milimko in PHP
ну да, до утра выяснять что такое асинхронность это тяжело
источник

SM

Sergey Milimko in PHP
не то что задачи практические делать
источник

AM

Artem Molotov in PHP
Nex Otaku
Самая производительная система, как по мне, это N воркеров (процессов) на N + 1 ядер процессора, по ядру на воркер и плюс ядро на систему.

В каждом воркере обработчик сообщений плюс event loop для обработки асинхронных действий, чтобы ядро не простаивало. Тогда будет минимум оверхеда и эффективность максимальная.

Ну ещë можно постараться убрать все системные вызовы, чтобы вообще не блочилось.

Что будет быстрее такой схемы, не представляю.
> N воркеров (процессов) на N + 1 ядер процессора, по ядру на воркер и плюс ядро на систему

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

AM

Artem Molotov in PHP
Nex Otaku
Чем поток от процесса отличается знаешь?)
в книгах вот не знают чем они различаются
источник

A

Aleksandr Khristenko in PHP
Artem Molotov
в книгах вот не знают чем они различаются
потоки в рамках процесса шарят память
источник

AM

Artem Molotov in PHP
Aleksandr Khristenko
потоки в рамках процесса шарят память
Это незначительные детали. Процессы тоже могут шарить между собой память.
источник

NO

Nex Otaku in PHP
Sergey Milimko
А хотите опишу реальную задачу как раз на тему параллельности, асинхронности и т.д.? Вдруг кому интересно будет.
Давай, только если она из реальной практики, а не абстрактная.
источник

NO

Nex Otaku in PHP
Artem Molotov
> N воркеров (процессов) на N + 1 ядер процессора, по ядру на воркер и плюс ядро на систему

Выделяй ядро на систему или не выделяй, один хер зависит от задачи и эта схема не будет эффективной в каждом случае.
Ей и не надо быть эффективной в каждом случае )
источник

NO

Nex Otaku in PHP
Поток и процесс, это базовые знания. Даже в универе про это рассказывают.
источник

SM

Sergey Milimko in PHP
Nex Otaku
Давай, только если она из реальной практики, а не абстрактная.
Конечно. Она  нас висит в планах на разработку.
источник

SM

Sergey Milimko in PHP
Я решение придумал,но наш ML программист говорит что очень сложно это для него.
источник

SZ

Sergey Zolotov in PHP
ну давай уже свою задачу
источник

SM

Sergey Milimko in PHP
Исходные данные (инварианты):
1. P - количество доступных ядер процессора для выполнения вычислений.
2. M - размер доступной памяти (оперативной и видео).
3. На вход сервера поступает запрос обработка которого есть цепочка из N вычислительных модулей (нейронных сетей): mn->...->m2->m1. Порядок вычисления модулей задан.
4. Каждому модулю присваиваем вес равный его времени выполнения (примерно). Приоритет будет выше у того модуля у которого время выполнения больше.
5. Каждый модуль однопоточный и нагружает ядро процессора на 100%.
6. Каждый модуль выполняется определённое время и потребляет определённую память.

Цель: максимизировать количество одновременно выполняющихся цепочек и минимизировать время их выполнения с учётом потребления памяти цепочками.

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

SZ

Sergey Zolotov in PHP
странная задачка
источник

SZ

Sergey Zolotov in PHP
обычный work stealing чем не подходит то? то что еще нужно память учитывать?
источник

SZ

Sergey Zolotov in PHP
и норм наверное на питоне цифро дробилку делать?
источник

SZ

Sergey Zolotov in PHP
и мне кажется или вы пытаетесь свой велосипед написать вместо того же YARN?
источник

SM

Sergey Milimko in PHP
Сама нейронка написана на C++. Но на питоне вся обвязка, т.к. популярные библиотеки для работы с нейронками почему-то именно на питоне используют.
источник

SM

Sergey Milimko in PHP
Sergey Zolotov
и мне кажется или вы пытаетесь свой велосипед написать вместо того же YARN?
Ты про какой YARN?
источник