Comments 75
На работе вынужденно иногда приходится иметь дело одновременно с несколькими тяжелыми программами, и это грустно.
возможно на SSD такой проблемы не будет — но ~500ки мне пока что дороговаты, а меньший объем бесполезен.
А по сути — не по статье, не по сайту, не понятно насколько наглядны те изменения которые производит ваше приложение? Т.е. могу ли я не полагаться на нейросеть, а вручную задать, что вот этому приложению отдать все, что оно потребует, а вот эти обращения к диску — означают, что вот эта пакость опять начала обновляться и ее можно заблокировать навечно…
И если ваш ответ «нет», то скажите, разве встретив в 2013 году приложение которое обещает решить ваши проблемы, но только его авторы знают как — вы бы его поставили на свой компьютер? Или предпочли бы бы все равно пилить свой велосипед, в котором по крайней мере понимаете, что происходит и зачем?
В середине статьи, уже почти решил опробовать ваше приложение. Но вот «использование нейросети» — как то ничуть не плюс (для меня). Вероятно я просто не из вашей ЦА. В любом случае — удачи!
Так же на сайте у нас есть подробное описание функций по PLAY и PRO:
_http://winperst.ru/wps_play_details
_http://winperst.ru/wps_pro_details
Кроме этого, есть ещё официальная группа в ВК, где можно задать вопросы по приложению или оставить отзыв.
— Ты слышал про операционную систему «Друг»?
— Нет, не доводилось.
— Ее придумал и написал Дао, — торжественно произносит Кис. — Это единственная в мире операционная система с искусственным интеллектом. Она способна самообучаться, совершенствоваться, развиваться.
навеяло…
ИМХО в целом, все эти «оптимизаторы- улучшатели» приносят больше проблем, чем решают
Кроме того, реклама весьма ненавязчива, однако, если хочется пользоваться без рекламы, рекомендую купить лицензию и поддержать отечественного производителя ;)
https://www.youtube.com/watch?v=1z-M6rGyIQc
Полная версия без монтажа:
https://www.youtube.com/watch?v=qI40Gz9NrZo
В данном случае быстродействие как таковое меня не особо интересует, ибо комп довольно шустрый: i5-6600, 16Gb DDR4, SSD старенький Vertex, GTX 1060 OC. Все это на Win7, т.к. лень переходить на 10-ку.
Интересно как эта штука повлияет на время работы Node.js и сборки веб-проектов. Т.к., не смотря на комп, продакшн-версии собираются вебпаком довольно долго.
Если что-то станет шустрее, напишу :)
Связка PhpStorm + Photoshop + Chrome + Webpack как работала, так и работает.
Когда антивирус (Nod32) решил запустить первичное сканирование (я его обновил), Chrome начал подлагивать. Посмотрел по загрузке — проц загружен копеечно, видимо приоритеты выставились не слишком правильно.
Может быть просто совпадение, но Dropbox весь день не мог загрузить 40 Мб к себе на сервер. Исходящий канал у меня конечно Г, но не настолько.
И еще одно замечание: просьба при удалении программы выставлять приоритеты процессам «как было». А то пришлось перезагружаться, чтобы ручками не щелкать все процессы.
При удалении, возвращать параметры приоритетов на исходные не получится, т.к. приложение удаляет своё ядро, однако, достаточно перезагрузить ПК, чтобы параметры вернулись на исходные.
AMD A8-3850, 8gb озу, видеокарты нет.
Дед шпилит в самолёты и танки, я одновременно смотрю блу-рей образ на тв (подключен по hdmi). Оно может решить проблему периодического подлагивания в фильме?
Спасибо.
=)
Скорее «интегрированная»…
По теме — у вас проблема скорее всего с одновременным доступом к диску и решить ее наиболее дешево можно установкой второго винта… На один винт ОС и игры, на второй — образы фильмов…
Скорее всего у вас «лагает» когда грузится карта в танках/самолетах…
Но гарантий я конечно не дам.
Установка обновлений занимает 15% процессора когда свободно еще 75%, и занимает целых 3,2 Гб оперативной памяти, когда свободно еще 54%.
Вот если бы рядом висел рендеринг в 3Ds MAX, а служба обновлений у него отжимала ресурсы, я бы понял о чем идет речь.
Сразу вспоминается utorrent и цикл статей https://geektimes.ru/post/107637/ — иногда без вмешательства действительно не обойтись
Следующим этапом было написать локальный алгоритм обучения, который по входным параметрам определял бы назначение приложения. За основу была взята математическая модель нейросети с нейронами на основе пороговой передаточной функции, но на тот момент не учитывались весовые коэффициенты, которые мы добавили позже. Эта нейросеть сначала училась только на базовых параметрах времени работы с приложением, его имени, правилом в конфигурации и расположением на жёстком диске (например, если много приложений постоянно используются и не работают в фоне, расположены в одной корневой папке типа «C:/Games/», то скорее всего все последующие приложения запускаемые из этой папки будут использоваться активно и понижать их приоритет в фоне не нужно).
То есть ваша нейросеть используется только для определения "назначения приложения"? А что она берет в качестве данных для обучения?
Вот, скажем, банальный такой пример. У меня есть приложение X, которое активно нагружает жесткий диск, память, процессор и видеокарту. Я его запустил, поработал как с основным, затем что-то сделал, и свернул его в фон. Нагружает систему оно при этом так же.
Внимание, вопрос: что с ним сделает ваша программа? А если я параллельно открою медиаплейер, который играет файл с сетевого ресурса?
Если говорить про Ваш кейс, то приложение Х при этих данных, будет в фоне использовать все доступные ресурсы, но не больше, чем будет оставлено заглавным приложением. Если откроете медиаплейер, и приложение Х при этом не будет воспроизводить звук, то выше приоритет будет у медиаплеера. Если приложение Х будет при этом воспроизводить звук, то приоритет ЦП будет одинаковый, но у приложения Х приоритет ввода-вывода будет ниже.
Пардон за сумбурное пояснение, надеюсь понятно, наглядно можно представить только в виде блок-схемы.
Нейросеть для обучения использует множество параметров исполняемого файла, например, дерикторию, флаги, модули, время работы в фоне и в заглавном режиме, наличие отображаемых или скрытых окон, доступ к видеокарте, доступ к звуковому выходу и т.п. всё это формирует таблицу зависимостей, которая по «весу» каждого параметра и времени, которое этот параметр актуален, формирует вытесняемую таблицу приоритетов.
Это все входные данные. Но для обучения нужен еще training set с правильными ответами. Как вы его формировали?
Если говорить про Ваш кейс, то приложение Х при этих данных, будет в фоне использовать все доступные ресурсы, но не больше, чем будет оставлено заглавным приложением.
А меня это не устраивает. Медиаплейер — это развлечения, а фоновое приложение — работа. И оно должно получать столько ресурсов, сколько вообще возможно.
Если приложение Х будет при этом воспроизводить звук, то приоритет ЦП будет одинаковый, но у приложения Х приоритет ввода-вывода будет ниже.
Вот тоже, почему приоритет ввода-вывода у приложения X ниже, если у него как раз нагрузка-то на дисковую подсистему сильно выше (а медиаплеер ее и не видит совсем).
Ваше фоновое приложение для работы будет получать ровно столько ресурсов, сколько возможно при отсутствии тормозов плеера.
А мне надо, чтобы вся остальная система (кроме инфраструктуры) получала ровно столько ресурсов, сколько остается после фонового приложения.
Traning set содержется в конфиге, на его основе как раз определяеются параметры схожих приложений
И кто его задает?..
Изначальный пресет задаётся группой разработки (нами) но может быть изменён через встроенный конфигуратор.
В таком случае, Вы можете установить приложение Х в специальную папку на любом жёстком диске (например c:/games/X) или в конфигураторе приложения задать для папки с приложением Х то правило, которое Вам необходимо.
Омг, для папки. Но зачем? Я бы еще понял "кликните на приложение в списке, скажите "Don't limit"", но вот с папками возиться я вообще не вижу смысла.
Вернемся к вопросу про нейросеть. Для обучения нейросети нужно иметь обучающий набор вида "входные данные — правильные выходные данные". В вашем случае входные данные — это "время работы с приложением, его имя, правило в конфигурации, расположение на жёстком диске, параметры положения окна, тип компьютера, количество оперативной памяти, тип процессора/количество ядер, конфигурация дисковой подсистемы, etc", а выход — это "правила" ("FOREGROUND (доступны все ядра, приоритет выше среднего, приоритет ввода-вывода высокий, оперативку в SWAP не сбрасываем)").
Так вот, где вы взяли этот обучающий набор, какого он размера, и дообучается ли программа в процессе работы?
Обучающий набор мы написали сами, на основе тестирования большого количества приложений и проб результатов производительности. Как такового no limit у нас быть не может, т.к если компьютер не загружен, то даже самое фоновое приложение не имеет ограничений по производительности. Однако, чтобы задать максималный приоритет, можно выбрать правило Realtime, но это может негативно сказать на доступных ресурсах для остальных частей системы.
Обучающий набор мы написали сами, на основе тестирования большого количества приложений и проб результатов производительности.
Какого он размера? Дообучается ли программа в процессе работы?
Как ваша нейронная сеть работает с символьной информацией (имя приложения, расположение на жестком диске)?
Размер можно оценить открыв файл конфигурации.
Где посмотреть на файл конфигурации, не устанавливая вашу программу?
Конечно же дообучается, но новые процессы не затирают имеющийся набор, а дополняют его.
Что является "правильными выходными данными" во время обучения программы?
Символьная информация обрабатывается в юникоде по иерархии дерева.
Эмм. Нейросети — они работают с числами, ну природа у них такая. Как вы конвертируете символьную информацию во входные данные нейросети? Вот, возьмем например, ваш же пример: "для приложений, находящихся в C:\Games, приоритет такой-то". В каком виде C:\Games попадает на вход нейросети, и что будет, если у меня все игры лежат в d:\steamapps?
Правильными выходными данными являются параметры процесса, при которых он не тормозит заглавное приложение, не тормозит системные процессы и не фризует сам, если относится к одной из выделенных категорий.
По поводу строковых, всё верно, поэтому строка этот один из «весовых» параметров, и чем больше процессов из одной директории имеют правило «игр», тем выше становится вес этой дериктории при определении назначения приложения, запущенного по этому же пути. Но т.к. это не единственный параметр, то во время работы самого приложения накапливаются дополнительные данные.
Если все игры лежат в d:\steamapps, то все они будут определены как игровые. Если при этом, в этой же папке лежат служебные процессы, то они будут иметь «вес» параметра папки выше, чем у других служебных процессов, но не будут повышены до игр, если будет определено, что это не игровое и не мультимедийное приложение.
Правильными выходными данными являются параметры процесса, при которых он не тормозит заглавное приложение, не тормозит системные процессы и не фризует сам, если относится к одной из выделенных категорий.
И как это определяется?
По поводу строковых, всё верно, поэтому строка этот один из «весовых» параметров, и чем больше процессов из одной директории имеют правило «игр», тем выше становится вес этой дериктории при определении назначения приложения, запущенного по этому же пути
… то есть пользователь должен руками разметить эти правила. Так?
чем больше процессов из одной директории имеют правило «игр», тем выше становится вес этой дериктории при определении назначения приложения, запущенного по этому же пути.
Это императивное правило или это эмпирическое наблюдение за поведением нейросети?
Если при этом, в этой же папке лежат служебные процессы, то они будут иметь «вес» параметра папки выше, чем у других служебных процессов, но не будут повышены до игр, если будет определено, что это не игровое и не мультимедийное приложение.
Определено кем и как?
-Нет, по умолчанию правила заданы в пресете + определяются нейросетью. Пользователь может просто подсказать, какое правило лучше использовать.
— Это правило, которое заложено во входные данные и определяет один из весовых коэффициентов для принятия решения по выходным данным.
— Определено нейросетью на основе анализа рассматриваемого процесса.
Подождите-подождите, так что же, все-таки, на выходе нейросети — тип приложения или правило производительности? Или это одно и то же?
(ну и чтобы два раза не вставать, у вас сеть с одним выходом или по количеству элементов классификатора?)
Тут важно учитывать, что приложение не состоит только из нейросети, нейросеть выполняет роль анализа входных данных, а движком по сути является диспетчер задач, который на основе выходных данных нейросети применяет параметры производительности. При этом, связка выходных параметров анализа и параметров производительности настраиваемая, благодаря чему, можно сделать тонкую подстройку с помощью изменения конфигурации (например настроить систему для работы с процессами как в игровой консоли, или сделать мягкую систему реального времени).
Если говорить про выходной параметр нейросети, то это тип приложения.
Приведите примеры типов.
Тут важно учитывать, что приложение не состоит только из нейросети, нейросеть выполняет роль анализа входных данных
В хабе "машинное обучение" интерес представляет как раз нейросеть.
А как насчет серверных ос и терминальной работы? Мне так бы хотелось чего либо подобного!
Казалось бы, причем здесь mvn --version… Особенно впечатляет финальный штрих в виде подписи сертификатом Your Company Name. Как-то очень на болгенос похоже.
Неужели ваше приложение лучше нативных реализаций в Windows 10?
По сути, изучая архитектуру ОС Windows я постоянно находил множество отличных механизмов, которые позволяют выстроить производительность в системе идеально при условии одного «НО». НО, если программисты, которые пишут своё ПО будут сообщать операционной системе что их ПО делает, для чего оно предназначено (игры, фильмы и т.п.) и с каким приоритетом оно должно обращаться к ЦП/RAM/HDD.
В жизни же, получается, что только малая часть ПО пишется с учётом программной архитектуры Windows, большинство производителей, в т.ч. очень серьёзных и крупных, пишут ПО без указания этих параметров и ОС использует всё по умолчанию.
И это не говоря про службы, которые совершенно беспардонно отъедают любые доступные ресурсы как только поступает эвент к действию (типа скачивания и установки обновлений). Желающие проверить ситуацию на своём ПК могут открыть диспетчер задач и отобразить столбец «базовый приоритет» во вкладке с процессами.
Немного данную ситуацию исправляет MMCSS, но он слишком мягко влияет на процессы, почти не затрагивая их фактическую производительность.
В идеальном мире, наше приложение не могло быть лучше нативных реализаций, но на практике 95% всего софта работает с CPU, ROM и RAM с настройками по умолчанию, что негативно влияет на конечную производительность. И чем больше у Вас такого софта есть, тем ощутимее будет прирост от использования WPS.
Включаешь->смотришь рекламу->сообщение «доступно обновление»->обновляешься-…
Второй раз смотришь рекламу бл…
Чудес короче не произошло. Кряканье не исчезло
Windows Performance Station или как я учил комп работать эффективно