[Компьютерное железо, Старое железо, Накопители, Настольные компьютеры] Чему нас может научить старая реклама жёстких дисков (перевод)

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
19-Апр-2021 13:31

Реклама старого компьютерного железа, и особенно жёстких дисков, часто встречается в забавных постах на компьютерных форумах и в нёрдской части Интернета1. Например, пару дней назад Гленн Локвуд опубликовал твит с этой старой рекламой:
Извините, данный ресурс не поддреживается. :(
По крайней мере, это не реклама HAMR-диска. 10 тысяч долларов по сегодняшним ценам.
Очевидно, что в начале 80-х эти диски обеспечивали скорость поиска 70 мс, скорости доступа порядка 900 КБ/с и объём до 10 МБ. Смехотворно, не правда ли? Но в то же время подобные рекламные объявления скрывают в себе намёки на очень важные тенденции, как ничто другое способные объяснить дизайн систем. Чтобы понять, что происходит, сравним этот дряхлый 10-мегабайтный диск с современным. Большинство потребителей уже не покупает магнитные диски, поэтому для сравнения возьмём ещё и SSD.
XCOMP 10MB
Современный HDD
Изменение
Современный SSD
Изменение
Объём
10 МБ
18 ТБ
В 1,8 миллиона раз
2 ТБ
В 200 000 раз
Задержки
70 мс
5 мс
В 14 раз
50 мкс
В 1400 раз
Пропускная способность
900 КБ/с
220 МБ/с
В 250 раз
3000 МБ/с
В 3300 раз
IOPS/ГиБ (QD1)
1400
0,01
В 0,00007 раз
10
В 0,007 раз
Или около того2. Начнём с магнитного диска: мы получили ОГРОМНЫЙ рост объёма хранения, большой рост пропускной способности, скромное снижение задержек и значительное снижение операций произвольного ввода-вывода на единицу хранения. Вас может это удивить, но SSD, несмотря на гораздо более высокую скорость, по всем аспектам вполне вписывается в общую тенденцию.
Это наблюдение ни в коей мере не является новым. 15 лет назад великий Джим Грей сказал «диск — это лента». Дэвид Паттерсон (ну знаете, лауреат премии Тьюринга, один из изобретателей RISC, и т.д.) написал в 2004 году великолепную статью Latency Lags Bandwidth, в которой сделал то же самое наблюдение. Он писал:
Меня поразило, что во многих технологиях наблюдается одинаковая тенденция: пропускная способность повышается гораздо быстрее, чем снижаются задержки.

и
За время, когда пропускная способность успела удвоиться, задержки снизились не больше, чем на коэффициент 1,2-1,4.

Может показаться, что разница не так велика, но помните, что мы говорим здесь об экспоненциальном росте, а это такая штука, которая взорвёт вам мозг. Если перемножить замеченную Паттерсоном тенденцию, то к тому времени, когда пропускная способность увеличится в 1000 раз, задержки снизятся всего в 6-30 раз. Примерно то же мы видим и в таблице: повышение пропускной способности в 250 раз и снижение задержек в 14 раз. Снижение задержек отстаёт от роста пропускной способности. Пропускная способность отстаёт от объёма.
Можно рассмотреть это на примере длительности считывания всего диска целиком последовательным потоком путём чтения произвольных блоков по 4 КБ. С диском 1980-х это заняло бы примерно 3 минуты. SSD потребовалось бы около 8 часов. Современному жёсткому диску потребуется около 10 месяцев. Ни для кого не является неожиданностью, что произвольный ввод-вывод небольшого объёма данных является медленным, но не каждый понимает, насколько он медленный. И эта проблема становится всё серьёзнее экспоненциальными темпами.
Ну и что с того?
Каждая создаваемая людьми система, хранящая своё состояние, имеет определённый компромисс между задержками, пропускной способностью и затратами на хранение. Например, стирающее кодирование 4+1 в стиле RAID5 позволяет системе пережить потерю одного диска. 2-replication может делать то же самое, но с увеличением в 1,6 затрат на хранение и с уменьшением до 2/5 затрат IOPS. Журналируемые базы данных, файловые системы и форматы файлов делают предположения о стоимости хранения, пропускной способности и произвольного доступа. Изменение соотношения между параметрами оборудования требует перепроектирования таких систем для соответствия параметрам нового оборудования: вчерашние ПО и методики просто не так эффективны, как сегодняшние системы.
Ещё один важный аспект — параллельность. Я немного сжульничал, выбрав использование QD1. Это очередь глубиной в единицу. Отправляем запрос ввода-вывода, ждём завершения операции, отправляем следующий. Реальные устройства хранения способны на большее, если одновременно передавать им несколько запросов ввода-вывода. Жёсткие диски работают быстрее благодаря трюкам с планированием, позволяющим им сначала обрабатывать «ближние» операции ввода-вывода. Операционные системы уже давно выполняли планирование ввода-вывода, а в последние два десятка лет диски стали достаточно умными, чтобы делать это самостоятельно. С другой стороны, SSD имеют реальную внутреннюю параллельность, потому что они не ограничены физическими головками чтения-записи. Благодаря большому количеству одновременных операций ввода-вывода в SSD производительность может повыситься аж в 50 раз. В 80-х годах параллельность ввода-вывода не имела значения, но сегодня она чрезвычайно важна.
Из этого практикующий проектировщик систем может сделать два вывода. Во-первых, стоит уделять внимание тенденциям развития оборудования. Будьте всегда любопытными и время от времени обновляйте собственные внутренние константы. Экспоненциальный рост может означать, что ваша мысленная модель производительности «железа» может быть совершенно ошибочной, даже если она устарела всего на пару лет. Во-вторых, дизайн систем устаревает. Компромиссы в реальном мире меняются, как по описанным причинам, так и по многим другим. Структуры данных и стратегии их хранения, описанные в вашем любимом учебнике, скорее всего, не пережили проверку временем. API ввода-вывода POSIX уж точно её не пережил.
Примечания
  • См., например, эту тему на Reddit, форумы unraid, этот сайт, и так далее. Информация есть повсюду.
  • Я взял эти числа из головы, но думаю, что они более-менее соответствуют современным распространённым NVMe и магнитным дискам корпоративного уровня.

На правах рекламы
Эпичные серверы — это быстрые VDS с мощными процессорами семейства AMD EPYC и надёжным дисковым хранилищем на основе NVMe дисков Intel. Каждый может создать тариф под себя!

оригинал
===========
Источник:
habr.com
===========

===========
Автор оригинала: Marc Brooker
===========
Похожие новости: Теги для поиска: #_kompjuternoe_zhelezo (Компьютерное железо), #_staroe_zhelezo (Старое железо), #_nakopiteli (Накопители), #_nastolnye_kompjutery (Настольные компьютеры), #_hdd, #_ssd, #_zhestkie_diski (жесткие диски), #_nakopiteli (накопители), #_blog_kompanii_vdsina.ru (
Блог компании VDSina.ru
)
, #_kompjuternoe_zhelezo (
Компьютерное железо
)
, #_staroe_zhelezo (
Старое железо
)
, #_nakopiteli (
Накопители
)
, #_nastolnye_kompjutery (
Настольные компьютеры
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 08:06
Часовой пояс: UTC + 5