Задать вопрос
QWERTYUIOPas
@QWERTYUIOPas
КраткоОСеБе

Как гуглу удаётся работать так быстро? Какая у него память?

About 2,050,000 results (0.29 seconds)
По запросу "Самая быстрая память в мире"
выдало это
SK hynix сегодня объявила о разработке самой быстрой в мире мобильной памяти DRAM LPDDR5T (Low Power Double Data Rate 5 Turbo) и предоставила образцы клиентам. Оперативная память LPDDR5T работает со скоростью передачи данных 9,6 Гбит/с, что на 13% быстрее, чем у LPDDR5X, представленной в ноябре 2022 года.
Считаю: 2,050,000 * примерно 512 байт на результат = примерно 1 ГБ = 8Гбит.
Но самая быстрая быстрая память даёт на чтение столько инфы только за секунду, Гугл же дал за втрое меньшее время.
К тому же, гуглу надо всё это обработать.
Как гуглу удаётся работать так быстро? Какая у него память?
  • Вопрос задан
  • 5960 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 5
@Everything_is_bad
Считаю: 2,050,000 * примерно 512 байт на результат = примерно 1 ГБ = 8Гбит.
а с чего ты так решил считать? Почему тут не учитывается параллельность, а так же, то что для "About 2,050,000 results (0.29 seconds)" не нужно точных вычислений, достаточно аппроксимации
Ответ написан
Комментировать
@Drno
Если про поиск - то там огромный кластер серверов, который обрабатывает запросы параллельно, разделяя их..
и тут дело далеко не в памяти, а в ПО
Ответ написан
Комментировать
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
- Многоканальная оперативная память (2, 4, 8 итд. каналов), этот процесс в контексте оперативной памяти обычно связан с такими технологиями и концепциями, как двухканальный (dual-channel), трехканальный (triple-channel) и многоканальный (multi-channel) режимы работы памяти.

- Параллельное чтение для увеличения пропускной способности и уменьшения задержек чтения данных из оперативы с нескольких модулей памяти единовременно (Striped Memory Access или Parallel Memory Access), аналогично принципу работы торрентов, где данные загружаются частями сразу с нескольких источников.

- В Linux так же имеется несколько способов организовать параллельное чтение и запись данных с использованием уже с жестких дисков (опять же, по примеру торрентов), чтобы увеличить производительность и надежность системы хранения данных. Эти методы включают в себя RAID-массивы, LVM (Logical Volume Manager) и файловые системы, специально разработанные для работы в распределенных и параллельных средах.
Ответ написан
Комментировать
@rPman
Во первых, количество результатов не гарантирует что это действительно так... это приблизительная оценка, эжто видно особенно когда начинаешь искать редкие вещи, и количество результатов - десятки страниц, уже на пятой результаты заканчиваются.

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

В третьих, запрос может быть распределенным на несколько машин, т.е. не каждый запрос на свою машину, это само собой, а именно один пользовательский запрос напрягает одновременно целый кластер. Мало того, я почти на 99% уверен что у гугла свое железо используется по полной (с момента как они стали активно использовать ИИ в своих алгоритмах поиска и построения индексов, уже лезт 10 гугл свои TPU пилит, минимум третья итерация, и в задачах ИИ они на пару порядков эффективнее GPU).

В четвертых, гугл использует SSD, переход на них они начали почти 10 лет назад, на хабре была статья про это, т.е. им не нужно хранить индексы в оперативной памяти.

Про софт - я не знаю, статей про это не помню, но нисколько не сомневаюсь, что такая компания как гугл могут запилить свой софт, работающий с хранилищем данных немного иначе чем это делают классические linux/win, когда каждый запрос к диску делает чуть ли не два копирования в оперативную память (это еще на уровне posix, затем пользовательский софт сериализацией занимается, это еще копирования), занимая ценный кэш процессора, но физически данные с дисков могут быть прочитаны в нужную область памяти вообще минуя процессор, как минимум nvme это могут штатно, так как висят на pci-e шине, да и sata точно есть механизмы, которые с помощью старого DMA могут копировать данные с указанных портов напрямую в области в памяти, точно читал о таких разработках в linux но до практически потрогать не доходило.

p.s. первое что нагуглил по теме dma для nvme, обсуждают именно методы реализации инструментария в linux чтобы удобнее и быстрее с этим было работать из userspace (а не уровня драйверов)

про tensor processing unit у них оказывается уже 5-ая ревизия должна быть (вот сравнение 4-ой ревизии, пишут про 20-кратное понижение carbon emission что бы это не значило)
Ответ написан
@denizkino_mesto
Кластеры, шмастеры, управляющий элемент на входе и выходе данных всегда один, он и есть узкое место пропускной способности, сбора всех данных в один результат и его выдачу
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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