Действительно ли твердотельные диски достаточно хороши, чтобы прекратить вызывать беспокойство о дисковых IO узких местах?

Посмотрите этот дублирующийся вопрос.

Один объект, который Вы забываете, существует доступность. Основанные на таблице разметки не переводят также, если необходимо использовать программу экранного доступа, например. И если Вы действительно работаете на правительство, поддерживание доступных браузеров как программы экранного доступа может быть , потребовал .

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

, Если Вы знаете то, что Вы делаете и имеете хорошие инструменты, CSS действительно имеет значительные преимущества перед таблицами для расположения. И в то время как каждый объект отдельно не может выровнять по ширине таблицы отказа, взятый вместе это вообще стоит того.

6
задан Larsenal 17 July 2009 в 16:08
поделиться

11 ответов

Короткий ответ, вероятно, нет. Известный исследователь по имени Джим Грей сделал доклад о хранении и производительности, который включил эту замечательную аналогию . Предполагая, что ваш мозг является процессором, для доступа к регистру требуется 1 такт часов (числа слева), что примерно эквивалентно той информации, которая находится в вашем мозгу. Доступ к памяти занимает 100 тактов часов, что примерно эквивалентно получению данных где-нибудь в городе, в котором вы живете. Доступ к стандартному диску занимает примерно 10 ^ 6 тактов, что эквивалентно хранению данных на плутоне. Куда ему подходит твердотельный? Текущая технология SSD находится где-то между 10 ^ 4-10 ^ 5 в зависимости от того, кого вы спросите. Хотя они могут быть на порядок быстрее, все еще существует огромный разрыв между чтением из памяти и чтением с диска.

9
ответ дан 8 December 2019 в 12:22
поделиться

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

Это подталкивает узкие места к шинам, кешам и другим частям, кроме механизма чтения / записи (который в любом случае является последним в цепочке).

Если процесс не связан дисковым вводом-выводом, я думаю, вы можете его найти становится связанным планировщиком, который ограничивает количество инструкций чтения / записи (как и все инструкции процесса).

Чтобы в полной мере воспользоваться безграничной скоростью ввода-вывода, вам потребуется реагирование в реальном времени и очень агрессивное управление кешами и т. Д.

Когда диски становятся быстрее , то же самое происходит и с RAM и процессоры и спрос на устройства . Узкое место осталось прежним, рабочая нагрузка только увеличивается.

3
ответ дан 8 December 2019 в 12:22
поделиться

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

Иерархии внешней памяти - неотъемлемая проблема вычислений.

2
ответ дан 8 December 2019 в 12:22
поделиться

Нет. Текущие твердотельные накопители предназначены для замены дисков. Каждый уровень, от контроллера SATA до драйвера файловой системы, рассматривает их как хранилище.

Это не проблема базовой технологии, NAND flash. Когда флеш-память NAND напрямую отображается в память и использует вращающуюся систему хранения журналов вместо файловой системы, основанной на именованных файлах, это может быть довольно быстрым. Основная проблема заключается в том, что NAND Flash хорошо работает только при обновлении блоков. Обновление метаданных файла вызывает дорогостоящие операции чтения-изменения-записи. Кроме того, блоки NAND намного больше, чем типичные дисковые блоки, что тоже не способствует производительности.

По этим причинам будущее SSD будет за SSD с лучшим кэшированием. DRAM скроет накладные расходы, связанные с плохим отображением, а небольшая резервная копия суперконденсатора позволит SSD быстрее фиксировать записи.

2
ответ дан 8 December 2019 в 12:22
поделиться

У меня есть твердотельный накопитель, и нет, это не устранит узкое место ввода-вывода. SSD хорош, но не , что хорош.

На самом деле нетрудно освоить примитивы IPC вашей системы или построить что-то поверх TCP. Но если вы хотите придерживаться своего дискового материала и сделать его быстрее, ramdisk или tmpfs могут помочь.

2
ответ дан 8 December 2019 в 12:22
поделиться

Joel on Software опубликовал статью о своем опыте перехода на твердотельный накопитель. Не совсем та же проблема, но мой вывод был следующим:

Твердотельные накопители могут значительно ускорить операции ввода-вывода, но многие вещи (например, компиляция) все еще привязаны к процессору.

2
ответ дан 8 December 2019 в 12:22
поделиться

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

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

1
ответ дан 8 December 2019 в 12:22
поделиться

Нет, к сожалению, нет. Однако они делают его более интересным: у SSD-дисков очень быстрое чтение и нет времени синхронизации, но их запись почти такая же медленная, как и у обычных жестких дисков. Это означает, что вам захочется читать большую часть времени. Однако, когда вы делаете запись на диск, вы должны записывать как можно больше в одном и том же месте, поскольку SSD-диски могут записывать только целые блоки за раз.

0
ответ дан 8 December 2019 в 12:22
поделиться

Как насчет использования оперативной памяти вместо диска? Вам бы не пришлось ничего переписывать. Просто укажите на другую файловую систему. Они есть в Windows и Linux. Убедитесь, что у вас много памяти на машине, и создайте виртуальный диск, на котором достаточно места для вашей обработки. Я сделал это для системы, которая прослушивала несколько протоколов в сети. Я никогда не знал, какой пакет собирался получить, а данных было слишком много, чтобы хранить их в памяти. Я записывал его на RAM-диск, и когда что-то было завершено, я перемещал его и позволял другому процессу получить его с RAM-диска на физический диск. Таким образом я смог справиться с действительно загруженными сетевыми картами серверного класса. Удачи!

0
ответ дан 8 December 2019 в 12:22
поделиться

Вот что следует иметь в виду:

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

Мне однажды пришлось прибегнуть к этому, и я обнаружил это - индикатор диска НЕ вообще не загорался, пока данные продолжали записываться.

0
ответ дан 8 December 2019 в 12:22
поделиться

, но это был самый простой способ наладить работу. Обычно я нахожу, что гораздо дешевле подумать хорошо один раз собственной головой, чем заставить процессор думать миллионы раз напрасно.

-2
ответ дан 8 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: