Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » WinRAR (часть 5)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По вопросам лечения (кряки, патчи и т.д.), а также разблокировки архивов обращаемся в «Варезник».
Отдельная тема по сборкам WinRAR
Предыдущие части темы: 0 | 1 | 2 | 3 | 4



 
Официальный русский сайт: win-rar.com
Официальный e-mail разработчика WinRAR (писать по-русски): dev@rarlab.com
 
Стабильная английская версия: 7.13
Стабильная русская версия: 7.13


Последняя 32-разрядная версия (7.01): английская | русская


 
Список изменений на английском языке
(на родном – смотрите файл WhatsNew.txt в дистрибутиве на вашем языке)
Скачать RAR для macOS, FreeBSD, Linux, Android можно здесь.

Скачать ранее вышедшие версии можно с официального FTP
Список версий совместимых с различными ОС

Версия 3.62 (ru) с подарочным ключом (респект камраду elmorte)

Коллекция всех ранее выходивших 16- и 32-бит версий WinRAR 1.54b - 7.01 (1995-2024): скачать (342 МБ) [обновлено 12.05.2024]

вместо F.A.Q. || альтернативные архиваторы

Почему при русском разработчике задерживается русская версия, хотя на языке XXX она уже появилась? Не захламляйте тему подобными вопросами.

Кому не нравится новая тема оформления - скачайте с официального сайта rarlab.com (из раздела Themes) и установите себе WinRAR Classic theme by Francesco Indrio
Стандартная (48x36). Маленькие кнопки (24x24)

В теме активно отвечает на вопросы автор архиватора Евгений Рошал! Ситуация уникальная, прошу пользоваться. :)
 
Таблицы для наглядности с соотношением размера словаря к потребляемой ОЗУ:
с ключом mcx | без ключа mcx

Всего записей: 39598 | Зарегистр. 26-02-2002 | Отправлено: 08:31 31-07-2023 | Исправлено: Komandor, 10:46 02-08-2025
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneRoshal
Pasha_ZZZ
 
Так это аппаратное - технология Джонсона она же HT, "гипертреадинг" или виртуальная микропрограммная реализация SMP архитектуры (Симметричная Мультипроцессорная Система в которой ОС стартует на первом выдавшем после подачи питания сигнал READY процессоре и потом запускает остальные, а приложения работают на любом доступном процессоре): если в ЦП реализованы несколько потоков инструкций на ядро, то параллельно запустить два и более потока можно только в том случае если они не конкурируют за исполнительные блоки ALU (АЛУ, Арифметико-Логическое Устройство) т.к. в таких процессорах в каждом ядре содержится только одно АЛУ с программируемыми связями между узлами.  
 
И поэтому понятно что происходит - если задача порождает несколько сходных по используемым блокам потоков, то пока есть свободные АЛУ её подзадачи будут распределяться между ними, а когда они закончатся, то часть из них будет ждать освобождения АЛУ. Т.е  есть смысл использовать простую логику для выбора числа доступных на машине  потоков в зависимости от числа активных АЛУ и включения HT:
 
If IsHT(enabled) Then Number_of_Treads <= Get(Logical CPU)/2 Else Number_of_Treads <= Get(Logical CPU) End
 
 - всё одно быстрее железо не посчитает. По моему это самое простое решение...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 35257 | Зарегистр. 31-07-2002 | Отправлено: 01:20 28-12-2024 | Исправлено: Victor_VG, 01:35 28-12-2024
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EugeneRoshal

Цитата:
и перезагрузки Task Manager вроде как показывает созданные группы, но WinRAR без каких-либо изменений грузит все доступные 24 потока

Потому что NUMA node <> CPU group:
https://bitsum.com/general/the-64-core-threshold-processor-groups-and-windows/
 
Вроде как, судя по описанию, можно создать тред через CreateRemoteThreadEx и задать ему другую группу (в идеале - все остальные группы, кроме текущей) через SetThreadGroupAffinity. Тогда типа процесс станет мультигруппным.
https://learn.microsoft.com/en-us/windows/win32/procthread/processor-groups
 
Victor_VG

Цитата:
она же HT, "гипертреадинг"

Витя, не лезь туда, где ты понимаешь чуть менее, чем ничего...

Всего записей: 13291 | Зарегистр. 11-03-2002 | Отправлено: 08:02 28-12-2024 | Исправлено: Pasha_ZZZ, 08:56 28-12-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
 
Ты опять подходишь к железу как программист для которого есть только статичная программная модель со всем набором узлов, а на деле HT процессор это динамичная схема в которой все узлы соединены через внутренние коммутаторы, а устанавливаемые соединения вход-выход в коммутаторах микропрограммно управляются входными потоками инструкций и текущим состоянием ЗАНЯТО-СВОБОДНО узлов.  
 
Ну и немного не забывай что моя специальность 0608 - ЭВМ, структуры, сети и системы, а квалификация инженер-системотехник так что в этом я как-то слегка разбираюсь - просто по образованию и опыту...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 35257 | Зарегистр. 31-07-2002 | Отправлено: 11:57 28-12-2024
lvqcl

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG

Цитата:
так что в этом я как-то слегка разбираюсь

Нет.

Всего записей: 1297 | Зарегистр. 03-02-2007 | Отправлено: 13:11 28-12-2024 | Исправлено: lvqcl, 13:12 28-12-2024
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Victor_VG
Для особо тупых поясняю: гипертрединг тут вообще ни при чем. Речь о процессорных группах, но тебе что-то объяснять бессмысленно и бесполезно, ввиду полной непробиваемости, так что даже можешь не стараться отвечать.




Нарушение п. 2.4. главы VIII Соглашения по использованию

Всего записей: 13291 | Зарегистр. 11-03-2002 | Отправлено: 13:15 28-12-2024 | Исправлено: Maz, 11:44 29-12-2024
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ

Цитата:
Потому что NUMA node <> CPU group:

В общем случае - да, но судя по описанию команд bcdedit, для них на одном NUMA node должна размещаться одна CPU group. Собственно, тут дело не в терминологии. Мне нужно создать условия, в которых это API можно было бы оттестировать.
 
Вроде бы в Windows 7 у меня получилось этими командами ограничить выполнение WinRAR на одной CPU group. Еще, кажется, это получилось в Windows 11, что вообще-то странно, так как по документации она должна сама раскидать потоки по группам.
 
Еще и здесь:
https://answers.microsoft.com/en-us/windowserver/forum/all/how-to-overcome-processor-groups-affinity-in/1aa2989a-aac4-4dcf-a1b6-3ad508a63524  
пишут, что вопреки документации, приложения по-прежнему ограничены одной группой и на Windows Server 2022.

Цитата:
можно создать тред через CreateRemoteThreadEx и задать ему другую группу (в идеале - все остальные группы, кроме текущей) через SetThreadGroupAffinity.

Я пока разбираюсь, можно ли применить SetThreadGroupAffinity к потоку, созданному обычным CreateThread. Что любопытно, после вызова SetThreadGroupAffinity Task Manager и прочие утилиты отказываются сообщать process affinity - пишут access denied.

Всего записей: 2607 | Зарегистр. 29-04-2013 | Отправлено: 13:49 28-12-2024
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EugeneRoshal
Наверное потому что в GetProcessAffinityMask:
Цитата:
If the calling process contains threads in multiple groups, the function returns zero for both affinity masks.

Всего записей: 13291 | Зарегистр. 11-03-2002 | Отправлено: 13:56 28-12-2024
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Еще, кажется, это получилось в Windows 11, что вообще-то странно, так как по документации она должна сама раскидать потоки по группам.

Хотя Windows 11 все-таки раскидывает их как положено. Группы создает, в task manager показывает, что process affinity привязана к одной группе, а реально запускает потоки на всех группах. Попробую оттестироваться на Windows 7.

Всего записей: 2607 | Зарегистр. 29-04-2013 | Отправлено: 13:57 28-12-2024
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ссылку на BitSum я давал, там есть интересная утиль Group Extender. И сорцы на гитхабе. Она состоит из самой утили и либы. Вдруг поможет...
Кстати, их Process Lasso вроде как показывает группы...

Всего записей: 13291 | Зарегистр. 11-03-2002 | Отправлено: 14:00 28-12-2024
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ

Цитата:
Наверное потому что в GetProcessAffinityMask:

Да, действительно.

Всего записей: 2607 | Зарегистр. 29-04-2013 | Отправлено: 14:00 28-12-2024 | Исправлено: EugeneRoshal, 14:00 28-12-2024
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
Я выложил новую сборку beta 2, которая должна уметь работать с processor groups. Но на виртуальных groups с bcdedit проверить ее сколько-то получилось только в Windows 7. Windows 10 22h2 даже при наличии этих групп у меня запускает потоки на всех CPU без дополнительных усилий. Посмотрите, как оно на реальном железе, изменилось что или нет.
 
Увидеть эффект можно только при упаковке или в Benchmark, распаковщику все равно столько потоков не нужно. И если перед запуском упаковки пользователь ограничил process affinity, WinRAR считает, что пользователь решил экономить ресурсы, и в этом случае не переносит потоки на другие CPU groups.
 
В Windows 11 этот перенос на другие processor groups не задействуется, она это должна делать сама.

Всего записей: 2607 | Зарегистр. 29-04-2013 | Отправлено: 17:27 28-12-2024
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EugeneRoshal
Как будто бы не помогло:
 
Вроде как только CPU Group 1 в работе.
 
WinRAR.exe с ЦП от &#8206;28 &#8206;декабря &#8206;2024 &#8206;г. 17:10:43 (14:10:43 UTC).

Всего записей: 13291 | Зарегистр. 11-03-2002 | Отправлено: 17:42 28-12-2024
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
А попробуйте запустить многопоточный benchmark или упаковку в https://rarlab.com/rar/.1/WinRAR.rar и пришлите мне потом rardeb.log, который он создаст на Desktop.

Всего записей: 2607 | Зарегистр. 29-04-2013 | Отправлено: 18:50 28-12-2024
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EugeneRoshal
#

Всего записей: 13291 | Зарегистр. 11-03-2002 | Отправлено: 19:04 28-12-2024 | Исправлено: Pasha_ZZZ, 00:55 29-12-2024
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Отчитаюсь по результатам добавления processor groups. Текущая сборка английской beta 2 поддерживает processor groups. На системе с 72 потоками у Pasha_ZZZ при упаковке в RAR она загружает максимально доступные для RAR алгоритма 64 процессора в двух группах. Предыдущие сборки могли использовать только 36 процессоров в одной группе.
 
Выигрыш от этого будет виден на числе процессоров больше 64, но не кратном 64.

Всего записей: 2607 | Зарегистр. 29-04-2013 | Отправлено: 13:26 29-12-2024
Engaged Clown



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не успел скачать, но у меня на последней бете утилизация не более 50%:


----------
Опросы ru-board'а

Всего записей: 8902 | Зарегистр. 08-06-2006 | Отправлено: 15:04 29-12-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Engaged Clown
EugeneRoshal
 
У меня слегка похоже - Xeon E5 2697 v2 12 ядер, 24 потока, HT включена, видно что частота ЦП поднялась относительно частоты простоя (1200 МГЦ, ратио 12) до 2400 МГц (ратио 24), но ЦП не сильно нагружен, т.к. его рабочая частота ниже базовой 2700 МГц (ратио 27) - его вычислительная мощность в данный момент избыточна:
 
счёт теста:
 

 
тест завершён, ратио 12 - 13, частота большинства ядер 1300, часть ядер работает на минимальной частоте 1200 МГц:
 

 
и по датчикам в процессе ЦП "нагрелся" аж до 38 °C, а обычно ~ 34 °C.


----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 35257 | Зарегистр. 31-07-2002 | Отправлено: 16:20 29-12-2024 | Исправлено: Victor_VG, 16:22 29-12-2024
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Engaged Clown
Возможно, в память уперлась. Кроме того, алгоритм параллелится не идеально, полностью загрузить 64 процессора может быть сложно.
 
Доработки, связанные с processor groups, вступают в силу только при количестве логических процессоров больше 64, а у вас их ровно 64. Так что в вашем случае изменения в свежей бете влиять не должны.

Всего записей: 2607 | Зарегистр. 29-04-2013 | Отправлено: 17:23 29-12-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Engaged Clown
Так речь же не про загрузку процессора была, у вас нормально по группам  и ядрам раскидано из-за ОС - Windows 11/Server 2025, а у Паши только одну группу задействовало на Windows 10.
http://forum.ru-board.com/topic.cgi?forum=5&topic=51203&start=2760#13
А на 100% такие мощные процессоры загрузить мудрено, это нужно понимать что их 2, т.к. 1 Xeon 6326 - 16 ядер / 32 потока HT.

Всего записей: 3379 | Зарегистр. 13-10-2006 | Отправлено: 20:07 29-12-2024 | Исправлено: lelik007, 20:30 29-12-2024
Inoz2000



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чё влез? Какое мудрено? Сказано же, что 64 потока умеет. Сидел бы молча

Всего записей: 5475 | Зарегистр. 23-04-2009 | Отправлено: 21:01 29-12-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180

Компьютерный форум Ru.Board » Компьютеры » Программы » WinRAR (часть 5)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru