|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Dima T Intel Optane . Только мутно с ней все, сплошная реклама и никаких технических деталей. В продаже только SSD на ее основе. Где-то-в-инетахТехнологии постоянной памяти (PM) позволяют использовать в новых серверах второго поколения Intel® Xeon® Scalable запоминающие устройства с атрибутами как хранилища, так и памяти (Storage Class Memory, SCM – память как класс хранилища). Модули постоянной памяти на основе технологии 3D XPoint™ с интерфейсом DDR4 по пропускной способности и задержкам приближаются к традиционным DRAM модулям памяти (одновременно поддерживая побайтную адресацию, а также подключение по DDR шине), но являются энергонезависимыми, как SSD или HHD диски Постоянная память от Intel (Intel® Optane™ DC) может использоваться в трех режимах (модах): Memory Mode – байт адресуемая память, видимая операционной системой и приложениями как обычное ОЗУ; App Direct (application direct) – побайтноадресуемое хранилище, видимое как DAX filesystem и требующее от приложений умения с ним работать; Storage over App Direct mode – блочное хранилище, видимое ОС и приложениями как обычный диск. В одном сервере Intel® Optane™ DC может использо ваться сразу в нескольких режимах. Basil A. Sidorov Leonid Kudryavtsev, ни в одной из ваших ссылок нет главного - времени доступа к ячейке и времени (пере)записи. С флэшем все эти технологии могут и, возможно, будут конкурировать с памятью ... "Меня опять терзают смутные сомнения". Это нужно в подфоруме C просить. Пусть автор и владелец "вектора на триллион" протестирует и нам расскажет ))) У меня дома всего лишь Athlon с 8 Gb, мне не до Optane ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:39 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Там где триллион или где Амазончик продает (сдает в аренду) железку на 4Терабайта возможно NUMA. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 16:47 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
ИМХО у энергонезависимой памяти есть ограничение по количеству циклов записи. Современные SSD могут записать чуть больше петабайта (2^50) до ухода в отказ. Рассмотрим носитель 256 Гб (2^38) и получается 2^(50-38) = 4096 раз можно записать в одно место. Всего лишь 4096 !!! Современные SSD это ограничение обходят хитромудрыми алгоритмами смены места записи, но хз как им это решать если они станут оперативной памятью. Кому надо счетчик работающий до 4096 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 20:56 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Dima T, +1 Да это интересная мысль. Если с файловой системой там можно было как-то схильнуть. Буферизировать. То память должна обеспечивать какое-то соглашение по видимости изменений и фиксацию мнгновенно без задержек. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 21:18 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Где-то полвека назад работали с ЦМД (память на цилиндрических магнитных доменах). Сейчас, как я понимаю, это MRAM и "ограничения на количество перезаписей" у неё примерно такие же, как у НЖМД - никаких. Из того, что я читал лет десять назад, сложилось впечатление, что по времени доступа MRAM сравнима с DRAM (десятки наносекунд), но сильно уступает по плотности ячеек (~180нм). С другой стороны, если делается "какойнить токен", которому десятка мегабайт на сотне мегагерц - за глаза, то вай бы, собственно, и нот? P.S. Это я всё к тому, что технологий энергонезависимой памяти - больше одной. И даже больше двух. Поэтому не надо проецировать недостатки одной технологии на все варианты энергонезависимой памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2020, 04:17 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
когда скорость дисков достигнет скорости оперативной памяти, в последней не будет необходимости и ей удалят из архитектуры и всё будут размещать на диске ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 10:49 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Roman Mejtes когда скорость дисков достигнет скорости оперативной памяти, в последней не будет необходимости и ей удалят из архитектуры и всё будут размещать на диске Я-бы сказал что движение идёт в обратную сторону. Файловая система как концепция - постепенно уходит. Само понятие - диск уже потеряло смысл. Уже лет 10 нету никаких дисков, секторов, шпинделей и блоков головок. Особенно в mobile-сегменте. Я не говорю что файлы не нужны. Они наверное остануться. Просто такой API как fopen()/fseek()/fread/fwrite/fclose() постепенно выйдет из использования. Его заменит memory-mapping. Если уже не заменил. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 12:46 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
mayton, вряд ли 1) кроме ноутбуков существуют еще сервера и хранилища данных 2) последовательный доступ всегда был и будет быстрее случайного. Даже, внезапно, на RAM. Старенькая РУ5 в Zx Spectrum с 64 Kbit памяти и то имела циклы: установка адреса строки, установка адреса колонки/ячейке в строке, запись или чтение данных. Соответственно, последовательный доступ был быстрее, т.к. адрес строки банально не нужно было менять/передавать в микросхему. Подозреваю, в современной памяти все так же, только еще хуже ))). Интерфейсы взаимодействия между блоками компьютера все более и более из паралелльных становятся последовательными. Throughtinput возрастает, а latency или то же или даже замедляется. Для RAM, скорее всего (точно не знаю), размер оптимального блока 64 байта - размер строки cache линии процессора Для SSD - 512/4Kb на чтение и 64/256 Kb (или больше) на запись Для жестких дисков и RAID массивы - мегабайты и даже, от самой ячейки это не сильно зависит, т.к. между ячейкой памяти и процессором еще будут располагаться: IDE / SATA / SCSII - контроллер массива, дисковой полки - FibreChannel / SCSII / Inifiniband / Ethernet - свитч и метры кабеля - плата / контроллер в компьютере - PCI-E - процессор Все инфраструктуру на DDR4-микросхему не запихать, а даже если и запихать ))), даже для обычной RAM, в многопроцессорных конфигурациях тут же на NUMA наталкиваемся. Когда даже доступ к оперативной памяти может подразделяться на "своя память" и "чужая память" Т.ч. пока вместо упрощения иерархии доступа к памяти, существует потребность еще более усложнить иерархию памяти. Т.к. например адекватной поддержки NUMA в средствах разработки и языках программирования, вот лично я не знаю. Взять Java, видел ряд работ в Инете, где пытались Heap и Thread под NUMA оптимизировал, не получилось... получилось хуже, чем работать с усредненной памятью. Усредненной, это когда или повезет и попадется быстрая или не повезет и попадется медленная ))) - но в среднем, все более-менее работает. IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 13:42 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 1) кроме ноутбуков существуют еще сервера и хранилища данных что им мешает хранить данные в памяти? Leonid Kudryavtsev 2) последовательный доступ всегда был и будет быстрее случайного. Даже, внезапно, на RAM. в памяти расклад такой же, как и на диске - последовательные адреса. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 13:59 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton, вряд ли 1) кроме ноутбуков существуют еще сервера и хранилища данных 2) последовательный доступ всегда был и будет быстрее случайного. Согласен. Мы до сих пор используем утилиту tar (Tape Archive) без глубокого понимания ее предназначения. А оно было в том чтобы сливать на магнитную ленту файлы одним потоком. И конечно те датацентры которые продают услугу - будут испльзовать API дешевых носителей в соотношениий цена в центах на 1 гигабайт самого ностителя. Но это - сегмент который от нас далек. В потребительском я имею в виду следующее. В прикладных языках разработки доминирующим остается streamable-API который вообще с файлами работает последовательно (text, xml, json .etc) и собственно скрипты и активное содержимое. Но что находится под капотом - мы не знаем. В топике с Алексеем Розой мы дошли то того что в Linux фунекция malloc уже сразу работает с mmap. Грань между диском и памятью уже стерта. И она может бысть стерта и в обратку. Точно также и open может работать не с файлом а с виртуальным куском памяти который намаплен на файл. Это дает сразу коробочные механики кеширования. Stremable - слава богу. А если Random access - ну тоже ничего так. Потерпит система. А если есть те кто садо-мазохист и хочет сырого диска - то пускай какие-то DIRECT_IO опции ищет. Ему видать нужнее. Но % таких юзкейсов будет стремительно падать. На этих выходных мы можем поднять топик обсуждения файловых API будущего. Что будет с файлом? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 14:03 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Соответственно, последовательный доступ был быстрее, т.к. адрес строки банально не нужно было менять/передавать в микросхему. 100% согласен. Я всем и себе рекомендую использовать последовательный доступ до тех пор пока это возможно. Это рационально. Лаконично. Ситуация когда прикладик полез в Random-Access - это значит он разрабатывает свой бинарный формат (во много раз превышающих heap) и требующий позиционирования seek . А дальше этому прикладнику надо решить что будет он создавать свою БД и тогда ему дорога в другую сторону. Или все такие ему стоит пересмотреть алгоритм и понять зачем ему нужно работать с блочным рандомным доступом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 14:08 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Т.ч. пока вместо упрощения иерархии доступа к памяти, существует потребность еще более усложнить иерархию памяти. Т.к. например адекватной поддержки NUMA в средствах разработки и языках программирования, вот лично я не знаю. Взять Java, видел ряд работ в Инете, где пытались Heap и Thread под NUMA оптимизировал, не получилось... получилось хуже, чем работать с усредненной памятью. Усредненной, это когда или повезет и попадется быстрая или не повезет и попадется медленная ))) - но в среднем, все более-менее работает. Мне кажется NUMA это все таки далеко не потребительский сегмент. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 14:14 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Roman Mejtes когда скорость дисков достигнет скорости оперативной памяти, в последней не будет необходимости и ей удалят из архитектуры и всё будут размещать на диске Сомневаюсь что достигнут. На сегодня самые производительные SSD раз в 10 медленнее средней DDR4. Не думаю что у производителей SSD есть задел на такой рывок. И потом производители оперативной памяти тоже на месте не стоят. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 14:33 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Интерфейсы взаимодействия между блоками компьютера все более и более из паралелльных становятся последовательными. Throughtinput возрастает, а latency или то же или даже замедляется. ИМХО не от хорошей жизни это происходит. Думаю это плата за миниатюризацию железа, чтобы банально не получить разъем больше чем цепляемый им девайс, да и места все меньше и меньше в ноутах и прочих девайсах. Там где требуются высокие скорости - параллельные шины никуда не деваются, например оперативную память никто не предлагает последовательно к процу цеплять. Или обсуждаемые высокоскоростные SSD NMVe используют 4 последовательных PCIe шины. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 14:42 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Возможно формулировка не совсем верная. Интерфейс ide который был полностью параллельным, был заменён на последовательный и более надёжный SATA. Это было инженерное решение в духе времени. Дешевле было собрать электронику которая модулировала и передавала по кабелю бит за битом как ethernet дисковые команды чем изготовлять эти широченный ремни и исправлять уже в них помехи другого рода. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 14:50 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Меерз ещё говорил, что ничего быстрее последовательного считывания ячеек нет и не будет. Оно и ещё и предсказуемое весьма. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 15:20 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
mayton Я не говорю что файлы не нужны. Они наверное остануться. Просто такой API как fopen()/fseek()/fread/fwrite/fclose() постепенно выйдет из использования. Его заменит memory-mapping. Если уже не заменил. Тут еще один важный момент теряется - целостность данных. При использовании API идет работа с копией данных, которая только по завершению пишется на диск. А тут мы все промежуточные изменения делаем в энергонезависимой памяти - любой сбой во время работы и наши данные хрен пойми в каком состоянии. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 15:29 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Dima T mayton Я не говорю что файлы не нужны. Они наверное остануться. Просто такой API как fopen()/fseek()/fread/fwrite/fclose() постепенно выйдет из использования. Его заменит memory-mapping. Если уже не заменил. Тут еще один важный момент теряется - целостность данных. При использовании API идет работа с копией данных, которая только по завершению пишется на диск. А тут мы все промежуточные изменения делаем в энергонезависимой памяти - любой сбой во время работы и наши данные хрен пойми в каком состоянии. Не совсем так. Во многих файловых API которые работают поточно. Есть буферизация потока. И программист может форсировать запись "хвостика" условной командой flush() которая на всех уровнях (на прикладном) и на уровне ФС командует сделать фиксацию изменений на внешний носитель. Она блокирующая. Очень часто операция close() привязана к flush() или вызывает ее. Тоесть работаем с файлом как угодно но когда требуем close - требуем консистентности. Для Linux файловых API есть команда fsync которая должна гарантировать что механизмы софтверной буферизации самой файловой системы тоже сброшены. Тоесть если мы чувствуем что запахло жареным. Сервер должен уйти в ребут - то сначала делаем flush + fsync на это уйдут доли секунды и дальше спокойно ребутаемся. Обычно даже после кнопки Power на современных системниках ОС успевает все таки синкнуть буферы. С базами данных - тоже-самое только рандомные операции с блоками сначала пишуться в кольцевой журнал и в память. По сути в 2 места. А после аварии БД или ребута или после старта БД сначала смотрит в журнал и находит те записи которые еще не согласованы с датафайлами и последовательно их накатывает. И многие ФС такие как ext4, xfs тоже имеют такой журнал. Разница может быть в том что они туда пишут чисто инфу или мета-инфу по изменениям каталога файловой системы. Это по сути тоже попытка уйти от рандомного и жесткого доступа к последовательному к более мягкому с точки зрения загруженности диска. В особенности для магнитных. По поводу того как достигается синхронизм между mmap-областью памяти и диском - можно посмотреть исходник SQLite. Ониж как-то решали вопросы аварийного ресета. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 16:17 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
mayton Мне кажется NUMA это все таки далеко не потребительский сегмент. P.S. Внезапно, среди серверов тоже есть потребительский сегмент. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 17:01 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Dima T Тут еще один важный момент теряется - целостность данных. При использовании API идет работа с копией данных, которая только по завершению пишется на диск. А тут мы все промежуточные изменения делаем в энергонезависимой памяти - любой сбой во время работы и наши данные хрен пойми в каком состоянии. Записи на диск прекрасно теряются и "данные хрен пойми в каком состоянии". Надёжная запись - предмет для отдельных усилий. Часто - весьма значительных и весьма наклАдных. Запись в энергонезависимую память гарантировать гораздо проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 17:06 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
mayton Не совсем так. Во многих файловых API которые работают поточно. Есть буферизация потока. И программист может форсировать запись "хвостика" условной командой flush() которая на всех уровнях (на прикладном) и на уровне ФС командует сделать фиксацию изменений на внешний носитель. Она блокирующая. ... Мы тут тереотизируем про прямой доступ процессора к диску энергонезависимой памяти, т.е. изменение сохраняется мгновенно, следовательно синхронно, т.к. нет смысла во всяких буферизациях на разных уровнях. Я о том что прерваться работа может в любом месте, например случайно на ноль поделили, процесс вылетел, а записанное им сохранилось. mayton Тоесть если мы чувствуем что запахло жареным. Сервер должен уйти в ребут - то сначала делаем flush + fsync на это уйдут доли секунды и дальше спокойно ребутаемся. Обычно даже после кнопки Power на современных системниках ОС успевает все таки синкнуть буферы. С базами данных - тоже-самое только рандомные операции с блоками сначала пишуться в кольцевой журнал и в память. По сути в 2 места. А после аварии БД или ребута или после старта БД сначала смотрит в журнал и находит те записи которые еще не согласованы с датафайлами и последовательно их накатывает. ... Basil A. Sidorov Записи на диск прекрасно теряются и "данные хрен пойми в каком состоянии". Надёжная запись - предмет для отдельных усилий. Часто - весьма значительных и весьма наклАдных. Запись в энергонезависимую память гарантировать гораздо проще. Вот вы оба и подтвердили что прямая запись из своего приложения никому не нужна, т.к. нужна гарантированная транзакция, т.е. прямой доступ к энергонезависимой памяти удел студенческих поделок, а качественная запись должна производится проверенным ПО, типа СУБД и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 18:53 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Dima T т.к. нужна гарантированная транзакция функция что-то считает, а потом результат пишет в память там не нужен тот уровень транзакций, который в БД нужно своевременно скидывать данные на диск ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 22:06 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
Dima T процесс вылетел, а записанное им сохранилось. Сейчас усилия СУБД тратятся и на то, чтобы перенести данные из памяти на диск и на то, чтобы гарантировать восстановление при сбоях. Если убрать перенос данных из памяти на диск - задача существенно упрощается. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 05:09 |
|
SSD в кач-ве памяти
|
|||
---|---|---|---|
#18+
mayton ... Точно также и open может работать не с файлом а с виртуальным куском памяти который намаплен на файл. Это дает сразу коробочные механики кеширования. ... Оно уже с DOS "коробочно", утилита SMARTDRV.EXE ))) Какая разница какое API верхнего уровня. Беда то, что на нижнем уровне все равно нужно преврашать "отдельные байты" в _блоки_ _большего_ размера, иначе производительность будет ниже плинтуса (упремся в latency, а нам нужно максимально выбрать through input шины / устройства). Для передачи данных через интерфейсы, что DDR, что SATA, что Ethernet / SoE / etc, байт совершенно неподходящий размер блока, поэтому необходимость кэшей на всех уровнях никуда не девается, что RAM - аппаратный кэш процессора, что диски и файловая система и меммори маппед - програмный кэш ОС и аппаратный кэш RAID. От смены API на другое (обычный ФС на меммори маппед), ничего не меняется и не поменяется ! Может, только, программистам станет чуть удобнее. Но, как показывает мой опыт, попытка сделать что-то удобнее для программиста ==> меньше думаем и больше делаем хрени ))) IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 13:34 |
|
|
start [/forum/topic.php?fid=25&msg=39995522&tid=1480994]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 144ms |
0 / 0 |