Pull to refresh
1
0
Игорь Знаменский @finnist

User

Send message

Почему GPU обманывают о своей нагрузке и как с этим бороться

Reading time10 min
Views19K
В предыдущем посте я рассказывал о том, как мы строили свои суперкомпьютеры. В этом — поделюсь опытом, который мы накопили, эксплуатируя наши кластеры. Этот опыт будет полезен не только тем, кто обучает огромные ML-модели. На грабли, о которых пойдёт речь, легко наступить, даже если вы специалист с парой GPU.



Почему в распределённом обучении нельзя доверять утилизации GPU? Почему переход в эру распределённого обучения — фундаментальный сдвиг парадигмы мышления, к которому должен быть готов каждый ML-разработчик? Ещё больше «Почему» и ответов на них — под катом.
Читать дальше →
Total votes 75: ↑74 and ↓1+73
Comments8

Что почитать о блокчейн-технологиях: руководства, книги и статьи

Reading time6 min
Views25K
Мы собрали дайджест из материалов, посвященных принципам работы блокчейн-технологии и разработке децентрализованных приложений. В него вошли наши собственные статьи и ресурсы по теме, на которые рекомендовали обратить внимание резиденты Hacker News, Quora и Reddit.

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

Total votes 17: ↑16 and ↓1+15
Comments1

Откуда взялся 'do' в вопросах и отрицаниях?

Reading time5 min
Views10K

В июне на Хабре было сразу несколько интересных статей на лингвистические темы, и одну дискуссию из комментариев мне хочется вынести в отдельную статью: удивительная и, по-видимому, уникальная особенность английского — то, что в вопросах и отрицаниях обязательно должен быть вспомогательный глагол, даже когда утвердительные предложения обходятся без него. Откуда же английская грамматика почерпнула эту свою особенность?

Важно понимать, что вспомогательные глаголы для образования сложных времён — это не что-то особенное, и у нас они тоже есть: рус. буд.вр. он будет писать письмо, укр. дпр.вр. він був написав листа. Более того: колебания между использованием и неиспользованием вспомогательного глагола русскому языку тоже знакомы: в древнерусском было два простых прошедших времени (аорист, невѣжѧ писа недума каза "незнающий написал, недумающий показал", и имперфект, ѡни моляхуся аз же глумляхъся "они молились, а я шутил") и впридачу сложное, перфект: еси приходиле в русь "ты приходил в Русь", зарубати посылали есмо "мы посылали зарубать". Простые прошедшие времена исчезли из всех славянских языков, кроме болгарского и македонского; с перфектом же произошла более интересная история...

Читать далее
Total votes 47: ↑46 and ↓1+45
Comments11

Как запускается сервер: UEFI

Reading time9 min
Views29K

Ранее мы уже разбирали последовательность запуска сервера на примере устаревшего Legacy. Настало время познакомиться с UEFI поближе.

Первая версия того, что сейчас известно как Unified Extensive Firmware Interface (UEFI), разрабатывалась в 90-е годы прошлого тысячелетия специально под системы на Intel® Itanium® и называлась Intel Boot Initiative, а позже — EFI.

Желание «обновить» процесс загрузки было ожидаемо. PC-BIOS, именуемый ныне Legacy, предлагает работать в 16-битном real mode, адресует всего 1 МБ оперативной памяти, а загрузчик вместе с таблицей разделов должен размещаться в первых 512 байтах накопителя. Более того, PC-BIOS передает управление первому найденному загрузчику без возможности возврата назад. При этом обработку случаев с несколькими операционными системами возлагают на плечи загрузчика.
Читать дальше →
Total votes 57: ↑57 and ↓0+57
Comments16

NFC: Разбор технологии Near Field Communication

Reading time5 min
Views47K
Все мы привыкли к такой данности в смартфоне как NFC. И вроде бы всё с этим ясно.

Многие не покупают смартфоны, где нет NFC, думая что это только про покупки. Но есть куча вопросов.

Но знали ли вы что еще умеет эта технология? Что делать если в вашем смартфоне нет NFC? Как использовать чип в iPhone не только для Apple Pay? Почему она не работает, особенно с карточками Мир?

А еще через него можно заряжать устройства…



Сегодня мы расскажем как она работает и разберем все подробности. И главное — почему это самая недооцененная технология в вашем смартфоне!

Как работает NFC?


Вы наверняка знаете, что NFC расшифровывается как Near Field Communication или по-русски — связь ближнего действия.
Total votes 25: ↑25 and ↓0+25
Comments24

SMR (черепичные) жесткие диски без указания наличия SMR пошли в каналы продаж

Reading time2 min
Views70K

Все три производителя начали продажи относительно небольших, от 2ТБ HDD SMR дисков (черепичных), не указывая это в спеках: WD, Seagate, Toshiba

Читать дальше →
Total votes 90: ↑82 and ↓8+74
Comments270

Расшифровка данных в CAN шине VW Polo sedan

Reading time9 min
Views43K
Сегодня мы поговорим о методах расшифровки данных CAN шины на примере автомобиля VW Polo Sedan 2019 года выпуска. В интернете такие статьи часто называют Хаками CAN шины, но мне такое название не по душе.

В статье описаны методики поиска нужных данных в CAN шине автомобиля, примеры применения этих методик на VW Polo Sedan. В качестве оборудования для подключения к CAN шине используется Vega MTX. Еще чуть-чуть поговорим о телематике. Под катом много картинок по теме, несколько gif и видео.
Total votes 30: ↑28 and ↓2+26
Comments33

Активация discard (TRIM) на Linux для SSD

Reading time6 min
Views80K

Современные накопители данных такие как SSD нуждаются в команде TRIM интерфейса ATA и для этого в ОС построенных на базе ядра Linux предусмотрено два метода управления на уровне файловых систем:


  • discard — устанавливается как опция монтировании файловой системы. Позволяет ядру Linux сразу отправлять команду TRIM на устройство, как только об этом сообщит файловая система.
  • fstrim — утилита которая запускается вручную или по расписанию как сервис ОС, отправляет список удаленных блоков с ФС для зачистки их на устройстве.

Для включения fstrim достаточно активировать сервис fstrim.service в systemd, но лучше вместо сервиса, который будет висеть в памяти, использовать таймер fstrim.timer который будет запускать еженедельный TRIM.


Пример включения сервиса:


# Включение, старт и вывод статуса сервиса:
systemctl enable fstrim.service && \
systemctl start fstrim.service && \
systemctl status fstrim.service

Но этих мер недостаточно, если у вас файловые системы располагаются на томах LVM, а LVM в LUKS игла в яйце, яйцо в утке, утка в зайце:



Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments15

Кэш – король быстродействия: нужен ли процессорам четвёртый уровень кэширования

Reading time7 min
Views26K


Разрыв между быстродействием процессоров в общем смысле и быстродействием основной памяти DRAM, также в общем смысле, был проблемой в последние 30 лет – в этот период разрыв начал по-настоящему расти. И стоит честно сказать, что инженеры, разрабатывавшие как оборудование, так и программы, создавшие иерархию кэшей и ПО, способное воспользоваться её преимуществами, поступили просто гениально. Это одна из труднейших в реализации архитектур, когда-либо задуманных человеком.

Однако теперь, когда мы находимся на пороге появления постоянно расширяющейся иерархии памяти, когда начинает появляться энергонезависимая память типа Optane 3D XPoint (вариант памяти с изменением фазового состояния) в формате DIMM и SSD, а также новые протоколы (CXL, OpenCAPI, CCIX, NVLink и Gen-Z), возникает вопрос: не пора ли добавить серверам кэш четвёртого уровня? Поскольку от комплекса CPU зависит работа такого количества устройств – некоторые из которых расположены ближе, другие же дальше – логично задуматься над тем, не нужен ли нам ещё один уровень кэша, маскирующий задержки этих других видов памяти и увеличивающий пропускную способность всей системы.
Читать дальше →
Total votes 43: ↑26 and ↓17+9
Comments88

Оптимизация распределения серверов по стойкам

Reading time6 min
Views6.9K
В одном из чатов мне задали вопрос:

— А есть что-то почитать, как правильно упаковывать сервера в стойки?

Я понял, что такого текста не знаю, поэтому написал свой.

Во-первых, этот текст про физические сервера в физических дата центрах (ДЦ). Во-вторых, считаем, что серверов достаточно много: сотни-тысячи, для меньшего количества этот текст не имеет смысла. В-третьих, считаем, что у нас есть три ограничителя: физическое место в стойках, электропитание на стойку, и пусть стойки стоят в рядах, так что мы можем использовать один ToR свитч для подключения серверов в соседних стойках.
Ответ на вопрос сильно зависит от того...
Total votes 14: ↑14 and ↓0+14
Comments17

15 книг по машинному обучению для начинающих

Reading time5 min
Views156K
Сделал подборку книг по Machine Learning для тех, кто хочет разобраться, что да как.
Добавляйте в закладки и делитесь с коллегами!

Книги по машинному обучению на русском


1. «Математические основы машинного обучения и прогнозирования» Владимир Вьюгин.

О чем

Сначала изучите азы статистической теории машинного обучения, игр с предсказаниями и прогнозирования с применением экспертной стратегии. Их основы прекрасно объясняет автор книги, доктор физико-математических наук Владимир Вьюгин. Пособие рассчитано на студентов и аспирантов и в доступной форме излагает математические основы, необходимые для дальнейшей работы с машинным обучением.

2. «Верховный алгоритм» Педро Домингос.

О чем

Книга, благодаря которой даже ничего не смыслящие в математике и статистике люди поймут, что такое алгоритмы машинного обучения и каково их применение в жизни. Профессор Педро Домингос рассказывает о пяти основных школах Machine Learning и о том, как они используют идеи из различных областей научного знания — нейробиологии, физики, статистики, биологии, — чтобы помогать людям решать сложные задачи и упрощать рутину с помощью алгоритмов.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments23

Как разрабатываются и производятся процессоры: основы архитектуры компьютеров

Reading time9 min
Views58K
image

Мы воспринимаем центральный процессор как «мозг» компьютера, но что это значит на самом деле? Что именно происходит внутри миллиардов транзисторов, благодаря которым работает компьютер? В нашей новой мини-серии из четырёх статей мы рассмотрим процесс создания архитектуры компьютерного оборудования и расскажем о принципах его работы.

В этой серии мы расскажем о компьютерной архитектуре, проектировании процессорных плат, VLSI (very-large-scale integration), производстве чипов и тенденциях будущего в области вычислительной техники. Если вам было интересно разобраться в подробностях работы процессоров, то начинать изучение лучше с этой серии статей.

Мы начнём с очень высокоуровневого объяснения того, чем занимается процессор и как строительные блоки соединяются в функционирующую конструкцию. В том числе мы рассмотрим процессорные ядра, иерархию памяти, предсказание ветвлений и другое. Во-первых, нам нужно дать простое определение тому, что делает ЦП. Простейшее объяснение: процессор следует набору инструкций для выполнения определённой операции над множеством входящих данных. Например, это может быть считывание значения из памяти, затем прибавление его к другому значению, и наконец сохранение результата в память по другому адресу. Это может быть и нечто более сложное, например, деление двух чисел, если результат предыдущего вычисления больше нуля.

Программы, например, операционная система или игра, сами по себе являются последовательностями инструкций, которые должен выполнять ЦП. Эти инструкции загружаются из памяти и в простом процессоре выполняются одна за другой, пока программа не завершится. Разработчики программного обеспечения пишут программы на высокоуровневых языках, например, на C++ или на Python, но процессор не может их понимать. Он понимает только единицы и нули, поэтому нам нужно каким-то образом представить код в этом формате.
Читать дальше →
Total votes 57: ↑54 and ↓3+51
Comments18

Доступное объяснение гипотезы Римана

Reading time20 min
Views146K
image

Посвящается памяти Джона Форбса Нэша-младшего

Вы ведь помните, что такое «простые числа»? Эти числа не делятся ни на какие другие, кроме самих себя и 1. А теперь я задам вопрос, которому уже 3000 лет:

  • 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, p. Чему равно p? 31. Каким будет следующее p? 37. А следующее p ? 41. А следующее? 43. Да, но… как нам узнать, каким будет следующее значение?

Придумайте суждение или формулу, которые (хотя бы с грехом пополам) прогнозируют, каким будет следующее простое число, (в любом заданном ряду чисел), и ваше имя навечно будет связано с одним из величайших достижений человеческого мозга. Вы встанете в один ряд с Ньютоном, Эйнштейном и Гёделем. Разберитесь в поведении простых чисел, и можете потом всю жизнь почивать на лаврах.

Введение


Свойства простых чисел изучались многими великими людьми в истории математики. С первого доказательства бесконечности простых чисел Евклида до формулы произведения Эйлера, связавшей простые числа с дзета-функцией. От формулировки теоремы о простых числах Гаусса и Лежандра до её доказательства, придуманного Адамаром и Валле-Пуссеном. Тем не менее, Бернхард Риман до сих пор считается математиком, сделавшим единственное крупнейшее открытие в теории простых чисел. В его опубликованной в 1859 году статье, состоявшей всего из восьми страниц, были сделаны новые, ранее неизвестные открытия о распределении простых чисел. Эта статья по сей день считается одной из самых важных в теории чисел.

После публикации статья Римана оставалась главным трудом в теории простых чисел и на самом деле стала основной причиной доказательства в 1896 году теоремы о распределении простых чисел. С тех пор было найдено несколько новых доказательств, в том числе элементарные доказательства Сельберга и Эрдёша. Однако до сих пор остаётся загадкой гипотеза Римана о корнях дзета-функции.
Читать дальше →
Total votes 112: ↑111 and ↓1+110
Comments55

Почему кремний и почему КМОП?

Reading time27 min
Views79K
Самый первый транзистор был биполярным и германиевым, но подавляющее большинство современных интегральных микросхем сделаны из кремния по технологии КМОП (комплементарный металл-оксид-полупроводник). Как вышло, что кремний стал главным из многих известных полупроводников? Почему именно КМОП-технология стала почти монопольной? Были ли процессоры на других технологиях? Что ждет нас в ближайшем будущем, ведь физический предел миниатюризации МОП-транзисторов фактически достигнут?


Если вы хотите узнать ответы на все эти вопросы — добро пожаловать под кат. По просьбам читателей предыдущих статей предупреждаю: там много текста, на полчаса.
Читать дальше →
Total votes 118: ↑116 and ↓2+114
Comments243

Схемы электрические. Типы схем

Reading time4 min
Views520K
КДПВ


Привет Хабр!
Чаще в статьях приводят вместо электрических схем красочные картинки, из-за этого возникают споры в комментариях.
В связи с этим, решил написать небольшую статью-ликбез по типам электрических схем, классифицируемых в Единой системе конструкторской документации (ЕСКД).
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments61

История транзистора, часть 3: многократное переизобретение

Reading time14 min
Views18K


<< До этого: Из горнила войны

Более сотни лет аналоговая собака виляла цифровым хвостом. Попытки расширить возможности наших органов чувств – зрения, слуха, и даже, в каком-то смысле, осязания, вели инженеров и учёных на поиски лучших компонентов для телеграфа, телефона, радио и радаров. Лишь по счастливой случайности эти поиски обнаружили путь к созданию новых типов цифровых машин. И я решил рассказать историю этой постоянной экзаптации, во время которой инженеры электросвязи поставляли исходные материалы для первых цифровых компьютеров, а иногда даже сами проектировали и создавали эти компьютеры.

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

Однако ничего этого бы не произошло, если бы изобретение транзистора остановилось бы на работе Бардина и Бреттейна.
Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments3

Сети для самых маленьких. Часть нулевая. Планирование

Reading time7 min
Views2.1M
Это первая статья из серии «Сети для самых маленьких». Мы с товарищем thegluck долго думали с чего начать: маршрутизация, VLAN'ы, настройка оборудования.
В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.

Предполагается, что вы, как минимум читали о эталонной модели OSI (то же на англ.), о стеке протоколов TCP/IP (англ.), знаете о типах существующих VLAN’ов (эту статью я настоятельно рекомендую к прочтению), о наиболее популярном сейчас port-based VLAN и о IP адресах (более подробно). Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.

Схема сети

Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?
Читать дальше →
Total votes 104: ↑100 and ↓4+96
Comments134

Как погрешность превращается в грех

Reading time7 min
Views30K

Одна городская легенда гласит, что создатель сахарных пакетиков-палочек повесился, узнав, что потребители не разламывают их пополам над чашкой, а аккуратно отрывают кончик. Это, разумеется, не так, но если следовать такой логике, то один британский любитель пива "Гиннесс" по имени Уильям Госсет должен был не просто повеситься, но и своим вращением в гробу уже пробурить Землю до самого центра. А все потому, что его знаковое изобретение, опубликованное под псевдонимом Стьюдент, уже десятки лет используют катастрофически неправильно.


image


Рисунок выше приведен из книги С. Гланц. Медико-биологическая статистика. Пер. с англ. — М., Практика, 1998. — 459 с. Мне неизвестно, проверял ли кто-нибудь на статистические ошибки расчеты для этой диаграммы. Однако и ряд современных статей по теме, и мой собственный опыт говорят о том, что t-критерий Стьюдента остается самым известным, и оттого — самым популярным в применении, по поводу и без.

Читать дальше →
Total votes 78: ↑71 and ↓7+64
Comments33

Новый стандарт на базе PCIe 5.0 «свяжет» CPU и GPU — что о нем известно

Reading time3 min
Views23K
Консорциум CXL представил новый открытый стандарт — Compute Express Link (CXL). Он поможет организовать высокоскоростную связь между процессором и другими устройствами — GPU, FPGA и памятью. В основу CXL 1.0 лег интерфейс PCIe 5.0, спецификация которого ожидается в этом году. Поговорим о технических подробностях и аналогах решения.

Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments22

Big O

Reading time5 min
Views214K
Примечание. Сокращенный перевод, скорее пересказ своими словами.
UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах».


Big O нотация нужна для описания сложности алгоритмов. Для этого используется понятие времени. Тема для многих пугающая, программисты избегающие разговоров о «времени порядка N» обычное дело.

Если вы способны оценить код в терминах Big O, скорее всего вас считают «умным парнем». И скорее всего вы пройдете ваше следующее собеседование. Вас не остановит вопрос можно ли уменьшить сложность какого-нибудь куска кода до n log n против n^2.

Структуры данных


Выбор структуры данных зависит от конкретной задачи: от вида данных и алгоритма их обработки. Разнообразные структуры данных (в .NET или Java или Elixir) создавались под определенные типы алгоритмов.

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

Здесь мы будем использовать только массивы чисел (прямо как на собеседовании). Примеры на JavaScript.
Читать дальше →
Total votes 39: ↑30 and ↓9+21
Comments30

Information

Rating
Does not participate
Registered
Activity