Теоретические рассуждения на тему о балансе
реклама
Эта работа была прислана на наш "бессрочный" конкурс статей.
Часто в компьютерных форумах можно встретить рассуждения о балансе системы. Так, например система на базе Pentium 4 1.7GHz с памятью PC133 SDRAM вполне вероятно будет считаться несбалансированной, т.к. процессор в большинстве задач будет простаивать в ожиданиях данных из оперативной памяти. Другим примером несбалансированности можно представить игровой компьютер, оснащенный процессором уровня Athlon XP 3000+ и видеокартой GeForce 4МХ 440. В данной ситуации знатоки скажут, что видеокарта имеет несопоставимо слабую производительность по сравнению с процессором. Опытные знатоки компьютерных комплектющих могут "на глаз" определить сбалансирована система или нет, но далеко не каждый имеет такое количество опыта. А для новых комплектующих оценка "на глаз" может быть невозможна.
Вот как раз на примере баланса между видеокартой и центральным процессором я бы хотел предложить некоторое подобие модели для анализа сбалансированности некоторых компонентов системы. Сразу хотелось бы оговориться, баланс между центральным процессором и видеоакселератором сам по себе является достаточно эфемерным явлением и может быть достигнут только в определенном разрешении в определенном игровом приложении. Так, изменив разрешение экрана, мы изменим нагрузку на видеоакселератор, практически не меняя нагрузки на процессор, тем самым разрушив баланс. Более того, некоторые игры могут быть более процессорозависимые и сбалансированная под них система уже не будет абсолютно сбалансированной в играх с более тяжелой графикой. Несмотря на все сложности, можно заметить, что игры в принципе имеют некоторое сходство в отношении необходимой вычислительной мощности процессора к вычислительной мощности графического акселератора. Поэтому имеет смысл говорить о некотором среднем балансе, т.е. сбалансированная система для одной игры, будет приблизительно сбалансированной для другой игры такого же уровня, но не более того.
Модель
В качестве модели я предлагаю использовать последовательную эквивалентную схему из двух "черных ящиков". Первым звеном является процессор, рассчитывая физику и геометрическое положение точек, вторым звеном является графический акселератор, формирующий картинку.
реклама
Количество кадров в секунду FPS (Frames Per Second) выдаваемое такой системой будет равно
где: время необходимое для формирования одного кадра, с
Соответственно может быть представленно как сумма:
где:
– время необходимое процессору для расчета одного кадра, с |
– время необходимое видеоакселератору для расчета одного кадра, с |
Сразу же возникает вопрос: допустим, процессор значительно быстрее, чем видеокарта, тогда, рассчитав данные для, например, кадра N, почему процессор не может начать рассчитывать кадр N+1 и к тому времени, когда видеоакселератор разделался с кадром N, кадр N+1 уже готов? В самом простейшем случае, потому что процессор должен рассчитать новое положение движущихся объектов как
а процессор "не знает" сколько займет у видеокарты просчитать кадр N и соответственно невозможно определить . (Всяческие оптимизации в коде вполне могут нарушать данное правило, делая данную модель частично или полностью неприемлемой).
реклама
Теперь измерив количество FPS в каком либо тесте или игровом приложении, мы легко можем определить по формуле (1.1). Немного сложнее разделить на составляющие и . Практически для этого необходимо провести два теста в аналогичных условиях, но изменив производительность одного из компонентов.
Допустим, мы уменьшим частоту процессора на 10% и предположим, что производительность процессора уменьшилась на те же 10% ( при больших изменениях частоты процессора нельзя говорить о пропорциональном изменении производительности из-за хотя бы такого фактора, как сильное изменение множителя). На основе двух тестов можно составить следующую систему уравнений (верхний индекс обозначает номер теста, а не степень):
где:
– время одного кадра в первом эксперименте, с |
– время одного кадра во втором эксперименте, с |
– время на рачет кадра процессором, с |
– время на расчет кадра видеоакселератором, с |
– коэффициент понижения/повышения производительности процессора |
– коэффициент понижения/повышения производительности видеоакселератора |
При небольших изменениях частоты, коэффициенты понижения/повышения производительности можно подсчитать как:
где:
– частота во втором эксперименте, MHz |
– частота в первом эксперименте, MHz |
Что бы система уравнений (1.4) и (1.5) имела решения, необходимо соблюдать условие:
Теперь просто сравнив значения и можно судить о сбалансированности () или несбалансированности ()системы.
Послесловие.
Я сразу предвижу вопросы о том, что процессор и видеокарта не являются единственными составляющими успеха, т.к. достаточно сильное влияние оказывает, например оперативная память, а так же память на видеоакселераторе. Да, в данной простой модели эти факторы просто распределяются между процессором и видеокартой в некотором загадочном отношении. Вполне возможно сделать больше тестов и, варьируя, например, частоту шины процессора, включить еще один фактор в модель. Насколько эффективно такое грубое приближение, я судить не берусь.
Более того, статья написана с целью донести некоторое подобие научного подхода к определению баланса в системе. Я надеюсь, что читателям будет просто интересно поэкспериментировать с чем-то новым и вполне возможно, не просто раскритиковать простую модель системы, а предложить что-то новое и более эффективное, учитывающее, например, больше факторов.
С уважением, dima333a
Ждём Ваших комментариев в специально созданной ветке конференции.
реклама
Лента материалов раздела
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают