Оценка производительности персональных компьютеров с использованием бенчмарков

 

Основная проблема современных персональных компьютеров состоит в том, что совершенно непонятно для кого большинство из них предназначены. Даже средние конфигурации (не говоря уже о лучших), все простые задачи «щёлкают», как белка орехи, а сложных задач большинство персональных компьютеров (ПК) практически не решают. Для перемещения (сёрфинга) по интернету, чтения почты, написания текстов и составления простеньких электронных таблиц, а также обработки любительских фотографий, сжатия в формат MP3 десятка CD с любимыми песнями, и прочих потребительских потребностей — вполне хватает простого компьютера. Поэтому объяснить пользователю, зачем ему нужен самый современный и производительный компьютер становится всё сложнее и сложнее.

Однако дело даже не в том, что компьютер «не загружен» — дело в том, что ни одну сложную задачу современные высокопроизводительные персональные компьютеры в разумный срок решить по-прежнему не способны. Сложными задачами по-прежнему занимаются суперкомпьютеры и прочие кластеры, в которых одновременно работают не 2 не 4, и не 8 — а сотни, тысячи ядер или больше. Дайте 1000-ядерный кластер в руки учёному — он очень быстро найдёт, чем его занять. Дайте 4-ядерную систему в руки домохозяйке — и она будет играть на ней в привычный пасьянс. Природа любит чёрный юмор, поэтому данная ситуация в точности повторяет гораздо более старую ситуацию: человечество весьма преуспело в лечении ОРЗ, и теперь от этого рода заболеваний можно избавиться уже чуть ли не за сутки, но лейкемия как была неизлечима, так и осталась. Количество увеличивается, но упорно не желает переходить в качество.

Ликуют одни поклонники игр: наконец-таки, появились игрушки, которые задействуют все возможности современных компьютеров. Правда, непонятно по какой причине это произошло. То ли разработчики игр научились использовать возможности 64-разрядных многоядерных процессоров для того, чтобы сделать свои игры ещё лучше, то ли поддержка 64-разрядности и многоядерности позволяет выпускать более сырые и неоптимизированные продукты, гордо заявляя о том, что на одноядерной системе в них играть никак нельзя.

Проблема состоит в том, что понятие «быстродействие» — изменилось, и глупо пытаться игнорировать этот факт. И тем более глупо пытаться игнорировать тот факт, что быстродействие былого фетиша компьютера — центрального процессора — в значительной степени перестало быть важным для множества современных задач, решаемых с помощью персонального компьютера большинством реальных современных пользователей.

Например, ОС Microsoft Windows 7 имела свой встроенный бенчмарк, определяющий условные баллы быстродействия того компьютера, на который она установлена. При этом тестированию подвергалось несколько основных подсистем компьютера, и результирующий балл представлял собой низший из всех протестированных подсистем. Во многих случаях низший балл не принадлежал процессору.

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

Первая причина: быстродействие современных персональных компьютеров и степень оптимизированности современных программ, позволяют в подавляющем большинстве случаев избегнуть ситуации, когда время выполнения некоего задания будет настолько долгим, чтобы его было невозможно «вставить» во время вынужденного простоя персонального компьютера.

Вторая причина: получение результата «на кончиках пальцев» (нажал кнопку — через 10 секунд получил результат) — по-прежнему в большинстве сложных случаев невозможно. Ждать придётся, это неизбежно. А час ждать или 20 минут — опять-таки, в большинстве случаев — почти всё равно. То есть, математически, 20 минут — это ровно в 3 раза меньше, чем 1 час, но субъективно — это вполне сопоставимые величины.

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

«Быстро» сегодня — это синоним «незаметно». Быстродействие современного персонального компьютера — это характеристика не столько даже количественная, сколько качественная. И означает она быстрое выполнение исключительно тех действий, которые в принципе можно (учитывая способности реально существующего компьютера) выполнить быстро.

Оценка производительности персональных компьютеров с помощью специальных тестов нужна, как по-прежнему нужны весы — только эта оценка тоже постепенно отходит от чугунных гирек к электронным табло.

Будущее оценки производительности персональных компьютеров — за тестированием временной комфортабельности ощущений в процессе работы в привычном (банальном и несложном) программном обеспечении, а не за тщательными замерами времени выполнения многочасовых ресурсоёмких процессов. Ресурсоёмкие процессы необходимо оставить тем, для кого они по-прежнему актуальны - серверам, рабочим станциям, кластерам.

 

 

38.5. Реальная производительность компьютеров

С какой бы стороны не рассматривать компьютер, главным стимулом его развития было и остается повышение эффективности процессов решения задач. Эффектив­ность зависит от производительности компьютеров, размеров и структуры их оперативной памяти, пропускной способности каналов связи. Но в не меньшей, если небольшей, степени она зависит также от уровня развития языков программирования, компиляторов, операционных систем, численных методов и многих сопутствующих математических исследований. Если с этой точки зрения взглянуть на приоритеты пользователей, то они всегда связаны с вы­бором тех средств, которые позволяют решать задачи более эффективно.

Эффективность — понятие многоплановое. Это: удобство использования тех­ники и программного обеспечения, наличие необходимого интерфейса, простота доступа и многое другое. Но главное — это достижение близкой к пиковой производительности компьютеров. Данный фактор настолько ва­жен, что всю историю развития компьютеров и связанных с ними областей можно описать как историю погони за наивысшей эффективно­стью решения задач.

Конечно, такой взгляд отражает точку зрения пользователей. Но ведь имен­но пользователям приходится "выжимать" все возможное из имеющихся у них компьютеров и приводить в действие все "рычаги", чтобы достичь максимальной производительности компьютеров на своих конкретных задачах. Поэтому им нужно знать, где находятся явные и скрытые возможности по­вышения производительности и как наилучшим образом ими воспользо­ваться.

Реальная производительность сложным образом зависит от всех составляющих процесса решения задач. Можно иметь высокопроизводи­тельный компьютер, но если компилятор создает не эффективную программу, ре­альная производительность будет малой. Она будет малой и в том случае, если не эффективны используемые алгоритмы. Не эффективно работающая программа — это прямые потери производительности компьютера, средств на его приобретение, усилий на освоение и т. п. Таких потерь хотелось бы избежать или, по крайней мере, их минимизировать.

Технология обнаружения «узких» мест процесса реализации программы плохо алгоритмизирована. Опыт показывает, что для повышения эффективности приходится рассматривать все этапы действий, начиная от постановки задачи и кончая изучением архитектуры и структуры компьютера, через выбор численного метода и алгоритма, тщательно учитывая особенности языка программирования и даже компилятора. Основной способ обнаружения «узких» мест — это метод проб и ошибок, сопровождающийся большим числом прогонов вариантов программы. Необходимость многих экспериментов объясняется скудностью информации, получаемой от компилятора после каждого прогона. К тому же ни один компилятор не дает никаких гарантий относительно меры эффектив­ности реализуемых им отдельных конструкций языка программирования. С самого начала пользователь ставится в такие условия, когда он не знает, как надо писать эффективные программы. Получить соответствующую информацию он может только на основе опыта, изучая почти как «черный ящик» влия­ние различных форм описания алгоритмов на эффективность.

Исследования показывают, что большинство из «узких» мест может быть объединено в три группы.

Первая группа «узких» мест связана собственно с компьютером. На любом параллельном компьютере не все потоки данных обрабатываются одинаково. Какие-то потоки реализуются предельно эффективно, какие-то - достаточно плохо. Изучая особенности структуры компьютера, очень важ­но понять, что представляют собой те или другие потоки и описать их матема­тически.

Вторая группа «узких» мест определяется структурой связей между операциями про­граммы. Не в каждой программе обязаны существовать фрагменты, реализуемые эффективно на конкретном компьютере.

И, наконец, третья группа «узких» мест зависит от используемой в компиляторе технологии отображения программ в машинный код.








Дата добавления: 2015-09-29; просмотров: 1379;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.