2014-09-10 3 views
1

Когда я прочитал об определении масштабируемости на разных веб-сайтах. Я узнал в контексте программного обеспечения CPU &, что означает, что по мере добавления количества процессоров производительность программного обеспечения улучшается.Каково официальное определение масштабируемости?

Принимая во внимание, описание масштабируемости в книге на «Введение в параллельное программирование Питера Пачеко» отличается, который, как:

«Предположим, что мы проводим параллельную программу с фиксированным числом процессов/потоков и фиксированный размер ввода, и мы получаем эффективность E. Предположим, что теперь мы увеличиваем количество процессов/потоков, которые используются программой. Если мы сможем найти соответствующую скорость увеличения размера проблемы, чтобы программа всегда имела эффективность E , то программа масштабируема. Мой вопрос - это то, что является правильным определением масштабируемости, и если я выполняю тест на масштабируемость параллельного программного обеспечения, какое определение из двух должно я смотреть на него?

ответ

1

Масштабируемость - это способность приложения правильно функционировать и поддерживать приемлемый пользовательский интерфейс при использовании большим количеством клиентов.

Желательно, чтобы эта способность была достигнута благодаря элегантным решениям в коде, но там, где это невозможно, дизайн приложения должен обеспечивать горизонтальный рост с помощью аппаратного обеспечения (добавление большего количества компьютеров, а не увеличение производительности одного компьютера).

Масштабируемость является проблемой, которая растет с размером бизнеса. Отличные примеры: Facebook (video) и Dropbox (video). Кроме того, здесь есть great explanation различных подходов к масштабируемости с сеанса в Гарварде.

Масштабируемость также относится к способности user interface адаптироваться к различных размеров экрана сохраняя при этом пользовательский опыт.

Смежные вопросы