Pull to refresh
165
229.9
Сергей Ю. Каменев @inetstar

Алгоритмист. Автор. Поставщик SSD, RAID, серверов.

Send message

Go: жарим общие данные. Атомно, быстро и без мьютексов

Level of difficultyMedium
Reading time8 min
Views13K


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

Но в этой статье мы поговорим о другом. Современные процессоры имеют поддержку атомарных операций, что позволяет на основе них организовывать работу с общими данными до нескольких раз быстрее, чем с помощью общепринятых вариантов. Так как мьютексы реализованы на основе ОС, каналы сделаны на основе внутреннего кода Go с использованием тех же мьютексов из ОС под капотом, а атомарные операции делает сам процессор аппаратно за существенно меньшее количество тактов.
Пожарим омлет по атомному?

Слияние словарей в PyTorch: зачем нужно и подводные камни

Level of difficultyMedium
Reading time10 min
Views4.1K

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

Одним из способов решения этих проблем является разбивка датасета на куски, и обучение одной и той же нейросети параллельно на разных устройствах. Потом, очевидно, нужно каким-то образом слить обученные нейросети в одну. Обсудим в этой статье детальнее, зачем это вообще может быть нужно, и как это сделать более-менее правильно.
Сливаем клонов!

Работаем с PyTorch на CPU

Level of difficultyMedium
Reading time10 min
Views8.2K


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

Манипуляция рынком 16 марта 2023. Как дыры в законах и правилах Мосбиржи работают против розничных инвесторов

Level of difficultyEasy
Reading time4 min
Views8.3K


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

Однако 16 марта 2023 г. произошла серьёзная манипуляция рынком, на которую надзорные органы пока что никак не прореагировали в смысле отмены сделок или какого-либо наказания участников, хотя существует Федеральный закон от 27.07.2010 N 224-ФЗ (ред. от 07.10.2022) против манипуляций рынком.

И как же нагрели мелких инвеcторов?

Огненный монстр AMD FX-9370 из 2013 года: что может в 2022 году, разгон, Cyberpunk, upgrade и другие приколы

Reading time9 min
Views18K

В 2013 году вышли самые горячие (до 220 Вт) и частотные (до 5 Ггц) процессоры AMD — FX-9000 серии. Немного ностальгии, интересных фактов и разгона ниже.
Как здоровьице, FX-9370?

Регенерация нейронов. Генно-инженерный подход будущего

Reading time13 min
Views7.3K

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

TL;DR: Все программисты знают, что есть масса способов решить одну и ту же задачу. То же самое скоро будет и в биоинформатике: есть тысячи способов изменить геном так, чтобы получился новый "сложный признак". ДНК-код так же пластичен и универсален как и компьютерный код. Одним из первых применений “перепрограммирования на уровне ДНК” может стать способность нейронов восстанавливать свою функцию после повреждения (разрыва аксона), что позволит десяткам тысяч парализованных инвалидов-колясочников в буквальном смысле встать на ноги. При этом, как и в случае с привычным нам компьютерным кодом, добиться решения задачи можно несколькими способами - некоторые из которых - такие, как многоядерные нейроны, сращение синапсов на дендритных деревьях, активизация макрофагов для сращения - будут рассмотрены ниже, в данной статье.

Читать далее

Победа над раком с помощью информационных технологий

Reading time41 min
Views15K

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

Это лонгрид. Поэтому вначале будет оглавление, чтобы нетерпеливые могли нырнуть к самым горячим моментам: применяем IT-подход в биологии (пункт 4), наивная реализация контрольных сумм в ДНК (пункт 5.1), сложная реализация (пункт 5.2). Но перед комментированием желательно прочесть весь текст.

Идея пока ещё не обросла всеми нужными деталями для реализации. Предложения приветствуются. За найденные ошибки повышаю карму.
Поехали!

Клонируем GPT-диск с 512B-сектором на диск с 4K-сектором в Linux. Подводные камни с EFI, NTFS и LVM

Reading time9 min
Views14K

Для современного компьютера диск с 4К сектором выглядит предпочтительнее, чем с олдскульным 512B. Так как почти все современные ФС имеют размер кластера по-умолчанию 4KiB или больше. Поэтому использование 512B сектора несколько снижает производительность, а также увеличивает коэффициент умножения записи (Write Amplication) у SSD, что уменьшает ресурс.

Более того, сложно найти современные диски более 4ТБ с сектором 512N. Если диск и рапортует сектор в 512 байт, то, как правило, это 512E — эмулируемый, который используется в основном для совместимости со старыми контроллерами. А в реальности на физическом уровне используется 4К или даже больше (больше в основном у SSD).

Поэтому при покупке нового диска я выбрал диск с сектором 4КiB. И передо мной встала задача клонирования старого диска с 512B сектором (GPT) на новый c сектором 4KiB. Я хотел сохранить установленные Linux, Windows 10, Windows 7 и тома LVM, чтобы не заниматься переустановками ОС. В процессе чего всплыло несколько подводных камней.
Поехали!

Разговор с майнером Chia, имеющим 1ПБ ёмкости

Reading time15 min
Views315K

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


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


Для лучшего понимания всего что связано с этой криптовалютой, вашему вниманию предлагается расшифровка моего разговора с майнером Chia, который состоялся вечером 21 апреля 2021 года. Я выступаю в роли продавца SSD, а майнер в роли повторного покупателя, который в ходе разговора делает coming-out. В ходе этого разговора я узнал много нового о Chia.



 

Читать дальше →

Ускорение дисковой подсистемы Qemu KVM в Linux

Reading time7 min
Views50K


Иногда я берусь за различные задачи по настройке серверов. Некоторое время назад ко мне обратился владелец небольшой хостинговой компании, с интересной проблемой. Он хотел бы на своих серверах, где уже стоял Ubuntu 18.04, запускать виртуальные машины с Windows под KVM.

Однако проведённое им тестирование показало, что дисковая система KVM прилично отставала от показателей, которые у него были под Hyper-V. Он хотел раскочегарить qemu на своих Ubuntu серверах, чтобы избежать закупок дорогих серверных лицензий Windows (бесплатная версия Microsoft Hyper-V Server не устраивала из-за своих ограничений).
С убеждённостью в том, что возможно превзойти настройки по-умолчанию, я взялся за работу.

Тестирование SSD на надёжность: 3dnews vs JEDEC vs здравый смысл. Где правда, брат?

Reading time13 min
Views53K


Всем известно легендарное тестирование SSD на надёжность от 3dnews (публикация от 2018.01), по результатам которого некоторые бюджетные накопители превзошли заявленный производителем ресурс в десятки раз.

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

Узнать истинный ресурс бюджетных накопителей

Флеш-ускорители PCI-E от 800GB до 6.4TB: от рассвета до жизни в обычном ПК/сервере

Reading time6 min
Views46K


Были времена, когда накопители на основе флэш-памяти стоили настолько дорого, что как накопители их даже никто и не рассматривал. Десятки тысяч долларов. Они позиционировались как нечто революционное, способное придать космическую скорость системам хранения данных. Прямо как Intel Optane в последнее время, но о нём пока не будем, пока ещё слишком дорог.

Наверное, тогда маркетологи и придумали такое название как Flash Accelerator (флеш-акселератор или флеш-ускоритель).

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

Мотивация


  • Хотелось ли вам за разумные деньги купить SSD размером в несколько терабайт?
  • Чтобы ресурс был на десятки петабайт?
  • Такой, что что бы вы ни делали, вы бы не смогли его исчерпать?
  • При этом с защитой по питанию и сделанный из самых качественных деталей и самой стойкой памяти?

Поехали!

NILFS2 — пуленепробиваемая файловая система для /home

Reading time7 min
Views27K


Как известно, если неприятность может произойти, то она обязательно произойдёт. Наверное, у каждого были случаи, когда случайно был стёрт свежий важный файл, или случайно был выделен и уничтожен текст в текстовом редакторе.

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

Для решения подобных проблем прекрасно подойдёт файловая система NILFS2.
Читать дальше →

Что не так с Copy-on-Write под Linux при копировании

Reading time7 min
Views41K


Предупреждение: эта статья относится ко всем CoW файловым системам в Linux, поддерживающим reflink при копировании. В данный момент это: BTRFS, XFS и OCFS2.

Прошу воздержаться от холиваров о том, какая ФС лучше: Btrfs, XFS, Reiser4, NILFS2, ZFS или какая-то неупомянутая.

Читать дальше →

Команда cp: правильное копирование папок с файлами в *nix

Reading time3 min
Views202K


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

Допустим нам нужно скопировать всё из папки /source в папку /target.
Читать дальше →

Upgrade компа серверным SATA SSD на 1.92TB с ресурсом записи от 2PB и выше

Reading time3 min
Views36K


Есть люди, которые любят использовать качественные комплектующие из корпоративного сегмента в быту. Они хотят быть уверенными в том, что их SSD не накроется внезапно из-за сбоя по питанию или write amplification при ежедневном скачивании огромных 4K-торрентов на фрагментированный NTFS-раздел с размером кластера 4K или при очередной компиляции Gentoo из исходников.

Конечно, такие опасения редко сбываются на практике, однако очень приятно пользоваться SSD с Power Loss Protection (1, 2, 3), который имеет практически безграничный ресурс записи. И даже когда ёмкость его станет малой для текущих задач, он всё равно может быть использован как флэшка или как дополнительный диск, подарен или продан.

В этой статье приведён список корпоративных SSD ёмкостью 1.92ТБ, которые сейчас подешевели до уровня потребительских SSD (< $300), но обладают ресурсом записи от 2 Петабайт и выше.
Читать дальше →

Правила эффективного общения в групповых чатах

Reading time5 min
Views114K
Групповые чаты — модный и эффективный инструмент для организации мероприятий, тематических обсуждений. Многие предпочитают чаты традиционным группам, так как часто ответ может прийти моментально, а о каждом новом сообщении возможно получать уведомление.

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

Читать правила

Транзакции в глобалах InterSystems IRIS

Reading time8 min
Views1.5K
InterSystems IRIS and transactionСУБД InterSystems IRIS поддерживает любопытные структуры для хранения данных — глобалы. По сути это многоуровневые ключи с различными дополнительными плюшками в виде транзакций, быстрых функций для обхода деревьев данных, блокировок и своего языка ObjectScript.

Подробнее о глобалах в цикле статей «Глобалы — мечи-кладенцы для хранения данных»:

Деревья. Часть 1
Деревья. Часть 2
Разреженные массивы. Часть 3

Мне стало интересно как реализованы транзакции в глобалах, какие там есть особенности. Ведь это совершенно иная структура для хранения данных, чем всем привычные таблицы. Намного более низкоуровневая.
Читать дальше →

Upgrade дисковой подсистемы старого сервера с шиной PCIe 1.0 — 2.0

Reading time7 min
Views15K
Почему темой данной статьи выбран апгрейд дисковой подсистемы
Понятно, что в первую очередь нужно, как правило:

  1. Увеличить оперативную память. Это настолько очевидный ход, что я даже не счёл нужным писать об этом в основной статье
  2. Поставить дополнительный процессор(ы) или заменить оба процессора на максимально производительные версии поддерживаемые сокетами сервера.

Для старых серверов, что память, процессоры, как правило, можно найти по бросовым ценам.

В определённый момент перед любым владельцем собственного сервера становится вопрос — upgrade или новый сервер.

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

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

В статье приведён список серверных SSD PCI-E 2.0 x8, которые сильно подешевели сейчас, указаны рейд-контроллеры с поддержкой SSD-кеширования и испытан SATA III SSD на интерфейсе SATA II.
Читать дальше →

PHP-модуль для работы с иерархическими данными в InterSystems IRIS

Reading time7 min
Views2.3K
image PHP с начала своих времён славен (и критикуем) тем, что поддерживает интеграцию с массой библиотек, а также с практически со всеми СУБД существующими на рынке. Однако в силу каких-то странных причин в нём не было поддержки иерархических баз данных на глобалах.

Глобалы — это структуры для хранения иерархической информации. Они чем-то напоминают базы «key -> value» только с тем отличием, что ключ может быть многоуровневым:
Читать дальше →

Information

Rating
16-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
From 500,000 ₽
SQL
Python
Linux
MySQL
Database
Golang
High-loaded systems
OOP
Docker
PostgreSQL