Я занимаюсь исследованием специального программного обеспечения ввода-вывода, которое будет работать на потребительском оборудовании. По сути, это сводится к сохранению огромных потоков данных для последующей обработки. Сейчас я ищу модель для оценки факторов производительности на x86.
Возьмем, к примеру, новый Macbook Pro:
высокоскоростная технология Thunderbolt I/O (ввод/вывод) обеспечивает потрясающую скорость передачи 10 гигабит в секунду в обоих направлениях
1.25 GB/s
звучит неплохо, но большинство современных процессоров работают на частоте 2 Ghz
. Наличие нескольких ядер не имеет большого значения, если на сетевой канал может быть назначено только одно ядро.
Таким образом, даже если программное обеспечение действует как миниатюрная операционная система и ограничивается операциями с сетью/диском, объем данных, поступающих в хранилище, не может превышать P / (2 * N)
[1] кусков в секунду. Хотя это намекает на грубый предел производительности, я чувствую, что он далек от адекватного.
Какие еще соображения следует учитывать при оценке производительности ввода-вывода в отношении частоты процессора и других характеристик оборудования? Для простоты предположим, что система хранения работает мгновенно при любых обстоятельствах.
[1] P - частота процессора; N – накладные расходы алгоритма