|
128 / 85 / 22
Регистрация: 24.05.2014
Сообщений: 331
|
|
Как увеличить загрузку процессора?24.08.2017, 19:45. Показов 7576. Ответов 15
Метки нет (Все метки)
Всем добрый вечер.
Характеристики ПК: Процессор Intel(R) Pentium(R) CPU J2900 4 ядра 2,4 ГГц ОЗУ 4 Гб ОС Win 8.1 Рассчитываю статистические оценки для большого числа моделируемых данных по зацикленному макросу в Excel-2007. При этом процессор загружен примерно на 35%, в том числе ЭКСЕЛЕМ на 28%. Память загружена на 40%, в т.ч. ЭКСЕЛЕМ на 30%. Расчёт всех моделей занимает около 2 месяцев чистого времени. Для сравнения: ноутбук Acer Travel Mate 5730 процессор Intel(R) Core (TM2) Due CPU P800 2 ядра, 2,26 ГГц память 2 ГБ ОС Win Wista Эксель-2003 Считает при загрузке процессора и памяти 100%, и в результате в 1,5 раза быстрее, хотя процессор менее мощный. Пробовал также на ноутбуке с процессором i3 (6 ядер 3,0 ГГц), 4 Гб, Win-8.1, Excel-2010. Считает в 2 раза медленнее, чем первый ПК, при загрузке процессора около 20%. Возможно ли увеличить загрузку процессора первого ПК для увеличения скорости расчёта? Или, может быть, нужна другая версия Excel?
0
|
|
| 24.08.2017, 19:45 | |
|
Ответы с готовыми решениями:
15
После замены процессора система саботирует повторную загрузку Как определить загрузку процессора? [РЕШЕНО] STM. Как определить загрузку процессора? |
|
|
|
| 24.08.2017, 19:49 | |
|
При такой постановке задачи, чтобы увеличить загрузку процессора нужно поставить 2-ух или еще лучше одноядерный процессор.
Дело в том что выполняется однопоточное вычисление. Программу нужно переписать так чтобы было многопоточным иначе не получится задействовать все ядра процессора.
1
|
|
|
Форумчанин
5959 / 4193 / 406
Регистрация: 28.12.2013
Сообщений: 24,134
|
|
| 24.08.2017, 19:50 | |
|
1
|
|
|
128 / 85 / 22
Регистрация: 24.05.2014
Сообщений: 331
|
|
| 24.08.2017, 19:59 [ТС] | |
|
Но работают 4 логических процессора. Прилагаю скрин. Цифровые показатели неверные, т.к. скрин сразу после остановки макроса, иначе не сделать скрин. Или всё равно один поток? Я не совсем в курсе.
0
|
|
|
128 / 85 / 22
Регистрация: 24.05.2014
Сообщений: 331
|
|
| 24.08.2017, 20:03 [ТС] | |
|
0
|
|
|
|
|||
| 24.08.2017, 20:29 | |||
|
Правда не понятно, откуда рисуется загрузка процессора в 100%. Но фиг знает, как там на висте считалось/рисовалось Добавлено через 2 минуты На висте памяти всего 2 гига. Т.е. возможно имеет место быть нехватка памяти. Т.е. 100% загрузки процессора скорее всего берётся из того, что, грубо говоря, одно ядро занимается расчётами, а второе занимается неблагодарной работой по перекачке памяти на диск и обратно. Т.е. 100% загрузка процессора получается из-за того, что процессор делает много ненужных вещей. Это просто как один из вариантов объяснения
1
|
|||
|
128 / 85 / 22
Регистрация: 24.05.2014
Сообщений: 331
|
||||
| 24.08.2017, 20:59 [ТС] | ||||
|
Насчёт марки и загрузки процессора в Висте прилагаю скрины. Цифры для процессора неверны, т.к. после остановки макроса, но по диаграмме видно, что 100%.. Ещё вопрос: использовать ПК с 8 ядрами и 16 ГГб, видимо, ничего не даст?
0
|
||||
|
128 / 85 / 22
Регистрация: 24.05.2014
Сообщений: 331
|
|
| 24.08.2017, 21:00 [ТС] | |
|
0
|
|
|
|
||||||
| 25.08.2017, 15:37 | ||||||
|
Добавлено через 4 часа 1 минуту В любом случае у тебя тут имеет место быть зоопарк из excel'ей и он тоже может влиять, а не только зоопарк из процессоров
1
|
||||||
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
| 25.08.2017, 22:48 | |
|
Evg, Насчёт распараллеливания можно понять одно: Excel считает каждую ячейку в отдельном потоке. Что безусловно очень хороший ход при использования маркёра растягивания.
Мне вот интересно: Каким макаром вычисления статистических данных, а насколько это понятно - это вероятности, могут занимать так много времени? Я понимаю, что мы имеем дело с бесконечно зацикливающимися рядами (наподобие числа, где бесконечно идёт корень в корне и т.п.), но если учитывать инженерную точность в 10 знаков после запятой, то можно получить не более 15-20 минут работы в одном потоке для работы этого вычисления в 500 тыс. начальных данных. Для вероятностей же есть специальные функции в Excel и опять же они вычисляют ряды попроще. Наилучшим путём будет создание программы, которая раскидает вычисления на чётное число потоков и они используя всю мощность вашего процессора рассчитает вам это быстрее в число раз кратное числу потоков обработчиков.
1
|
|
|
|
||
| 26.08.2017, 10:05 | ||
|
Но по приведённым данным я не могу понять различие во времени на разных конфигурациях. Особенно графики загрузки. Т.е. я вижу противоречие между графиками из постов #4 и #7. Противоречие софтовое. В моём понимании в первую очередь речь идёт о том, что excel работает по разному. Я это связывал с разными версиями excel'я. Из твоих слов в принципе может получаться так, что подход "каждую ячейку в отдельном потоке" не может нагрузить полностью процессор, например, из-за того, что происходят частые ожидания. Это могло бы объяснить неполную загрузку в посте #4 или, например, различное поведение при двух и четырёх ядрах. Но без хорошего понимания, как построен счётный процесс, сложно что-то конкретное порекомендовать ТС'у: что ему критично - быстрое ядро или количество ядер. Понятно, что покупка 7700k увеличит скорость в разы, но это может оказаться дорогим по финансам
1
|
||
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
| 26.08.2017, 10:59 | |
|
Evg, Я бы порекомендовал обратится к программисту, работающему с базами данных.
Попробуем взглянуть иначе: Если учитывать, что первые массовые многоядерные процессоры появились в 2007-2008 году, то наилучшем решением будет порекомендовать ТС ту версию Excel, которая использует многоядерную архитектуру, например, Microsoft Excel 2010, поправьте если ошибаюсь. Дополнительно выходит два набора: 1) Intel Core I7 c HTT, начиная с Sandy Bridge с разгоном до 4000-4500 МГц и оканчивая Haswell + ОЗУ DDR3 от 1600 МГц, дальше особого смысла нет - слишком много денег уйдёт впустую. 2) Intel Core I5 или I7 с HTT от 6 ядер(Haswell-E, Broadwell-E, Сhipset X99) + ОЗУ DDR3 от 1866 МГц в многоканальном режиме работы. Можно взять относительно бюджетный XEON, он хорошо разгоняется и имеет достаточно мощные 4 ядра. Что-то аналогичное можно найти и от AMD.
1
|
|
|
128 / 85 / 22
Регистрация: 24.05.2014
Сообщений: 331
|
|
| 26.08.2017, 19:15 [ТС] | |
|
Я поставил для пробы на ноутбук с ВИСТОЙ версию ЭКСЕЛЬ-2007.. Скорость расчёта не изменилась. Видимо, всё-таки дело в скорости ядер независимо от их количества, и может быть, в ОС. И, наверно, надо написать оптимальный макрос, поскольку имеющийся написан через макрорекордер. Но это уже из другого раздела.
Прилагаю электронную книгу - может быть, кому-то любопытно. В столбце В моделируется выборка из десяти значений равномерно распределённой случайной величины. В ст. К они преобразуются в бета-распределение с некоторыми параметрами. В столбцах С..J промежуточные расчёты. В L3:Q3 окончательный расчёт шести статистических критериев. Макросом 7 (Ctrl-ф) эти значения копируются в соседние ячейки уже в виде чисел, а затем блок R2:W50002 перемещается на одну сроку вниз. Макрос 8 (Ctrl-и) зацикливает макрос 7. В каждом цикле числа из столбца В обновляются, и соответственно пересчитываются значения критериев. Остановка макроса - клавиша Esc. Вообще, таких строк надо 1 млн. для каждого из 4х бета-распределений, но сразу ставить на 1 млн. - будет очень медленно. Поэтому делаю 20 раз по 50 тыс. Но потом надо ещё всё то же самое для выборок объёмом 20, 30, 40, 50, 100, 150, 200, 300, или хотя бы для части из них. Потом все эти результаты надо обработать, но это уже мелочи. Писать специальную программу без использования ЭКСЕЛЯ, наверно, нет смысла, т.к. просчитываю много разных статистических задач, не писать же каждый раз новую программу. Кроме того, в такую программу надо включать обработку результатов. Благодарю всех, кто откликнулся.
1
|
|
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
| 26.08.2017, 20:13 | |
|
retros, Вопрос на засыпку: Сколько времени занимает работа процессора на обработки 1000 строк данных? Попробуйте засечь и выдать как можно более точное время.
Работа с база данных и Big Data уже давно известна среди программистов. Если требуется обработать действительно миллионы исходных данных, то тут используют мощности уже не процессора, а видеокарты. Технологии CUDA и OpenCL вам в ознакомление. Так же можно использовать софт, который в многопоточном режиме решит вашу задачу намного быстрее чем Excel 2007. Но переубеждать не буду. Тема закрыта.
1
|
|
|
128 / 85 / 22
Регистрация: 24.05.2014
Сообщений: 331
|
|
| 27.08.2017, 22:05 [ТС] | |
|
0
|
|
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
| 28.08.2017, 13:35 | |
|
retros, Я думал будет быстрее. Хотя уже выше привёл оптимальный вариант ответа на ваш вопрос. Возможности Excel тут выгодно использовать для ввода исходных данных и вывода итогового результата с последующей постройкой графика по нему. В противном случае вы очень много времени теряете на перерисовку окна(repaint window - в программирование это так называется), а использование одного потока ничего в итоге не даст, кроме как потери нервов, сил и времени на попытки разогнать его. Перерисовкой я могу объяснить неполную загрузку процессора - процессор часть времени просто "простаивает"(see your messages with screenshots of task messager).
1
|
|
| 28.08.2017, 13:35 | |
|
Помогаю со студенческими работами здесь
16
Как уменьшить загрузку процессора на виртуальной системе? Как просмотреть в форме загрузку процессора в Win2k
Как определить загрузку процессора на сервере центоз через php Как найти загрузку процессора для каждого запущенного процесса в процентах? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2.
Номеклатура. . .
|