Category: компьютеры

Category was added automatically. Read all entries about "компьютеры".

404

Медленно думая про новый десктоп

Сколько памяти нужно будет на ближайшие 5-10 лет? 32 Гб, 64Гб, 128Гб? Я вижу, в продаже есть планки по 16Гб. Тогда, при обычных для десктопа 4 слотах, получаем лимит в 64Гб. (разумеется, в первый заход я возьму либо 2х16, либо даже 1х16, оставив два слота на расплод).

... Или всё-таки брать 32-Гб модули? 1 шт для начала, остальное на расплод?

Следующий вопрос: насколько реалистично MBECC (multibit ECC) на десктопе?

(Если что, новый десктоп пока задумывается на базе AMD).

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

UPD: Вчитался в спеки. Насколько я понимаю, решает два параметра:

1. Частота (определяющая максимальную пропускную способность)

2. CAS timing, который все указывают в тиках, так что приходится перемножать на 1/частота, чтобы понять в секундах.

Вижу слеующее:

32Гб планки (best):

ECC — 15/2133 или 17/2400. Около 7.03ns

Non-ECC — 16/2666 — около 6ns

Если спуститься в 16Гб планки, скорости такие:

ECC: 18/2666 = 6.75ns
Non-ECC: 15/3200 = 4.6ns.

Таким образом, предварительный вывод: если ECC, то 32Гб, т.к. разницы почти нет между 16 и 32. И обратно, если 32Гб, то ECC — т.к. тоже разницы почти нет.

Для 16Гб вопрос сложный. 6.75 vs 4.6 — это 40% разницы.

Ну и главный вопрос: 4.6 vs 7.03 — это аж 52%, время доступа различается в полтора раза.

Понятно, что всё это сильно разбавляется кешированием всех видов, но acccess time — это же де-факто, нижняя граница производительности компьютера. Хочется её повыше.

Спускаться в 8Гб смысла нет, там лучшее — это16/3600 = 4.44ns, маргинальное изменение.

Итак, вопрос: ECC/32 или Non-ECC/16?

Для 32/ECC два sweet spot: 15/2133, 17/2400, практически неотличимые.

Для 16/Non-ECC: 17/3600 и 13/2666 (с очевидным преимуществом 17/3600, потому что там best case лучше).

Ещё интересное наблюдение, ECC-память в китах не продаётся.

404

оптимизации

Чем больше я оптимизирую (кеш предыдущих сканирований, etc), тем медленнее оно становится.

Ну почему херакнуть полярда floating points operations быстрее, чем тонко и оптимально засрать кеши процессора промахами по множеству дополнительных структур?

Т.е. я серьёзно. «Охота» за корнями дала 19 итераций и 308384 пикселов с переменной глубиной 22/41 за 680 секунд,

в то же самое время тупой грайнд с глубиной 29 занял всего  70 секунд, и нашёл 307605 корней.

Я не уверен, что это одни и те же корни (breadth vs depth), но разница по времени...

Collapse )
404

iops'ов не существует

Есть только latency и параметры бенчмарка (iodepth/blocksize). IOPS - это производная величина IOPS=(1/latency)*iodepth. bandwidth=(1/latency)*iodepth*blocksize.

Таким образом, iops'ы - это параметр мониторинга (устройство в настоящий момент обслуживает N операций в секунду), но не показатель производительности. Для результатов конкретного замера достаточно знать latency.

При этом latency не имеет нормального распределения (я недавно постил картинки), так что её нельзя описывать одним-двумя параметрами. При этом кривая распределения вероятности latency (или, по-бытовому - "сортированная выборка из журнала latency всех операций") очевидно зависит от параметров бенчмарка (как минимум, blocksize, iodepth, паттерн рандомизации IO, span (отношение области тестирования к ёмкости устройства), и время теста.

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

Вот одна и та же плохая SSD под 90 секундной и 900 секундной нагрузкой:

90 seconds VS 900 seconds of benchmark

Она настолько различается, что KS-тест отвергает null-hypothesis (что это одно и то же), т.к. D>crit:

D = 0.0754, p-value < 2.2e-16
crit 0.02145362 (α=0.01)

Заметим, это крайне стерильные условия теста, и он воспроизводится при повтороном запуске.

Выводы? Всё сложно.
404

Продолжение истории с WB/WT для LSI

Если кто-то упустил драму про writeback/writetrhough у LSI, то пересказываю в кратце:

Есть утверждение от документации LSI, которое говорит, что разница в WB/WT состоит в том, когда отправляется подтверждение о записи: когда данные попали в кеш или когда данные были приняты нижележащими устройствами, из чего можно сделать вывод, что WT никак не может быть быстрее. (WB=writeback, WT=writethrough). См этот комментарий для подробностей: https://amarao-san.livejournal.com/3436627.html?thread=21645139#t21645139

И есть экспериментальные данные, которые показывают, что на быстрых SSD отключение WB и режима Cached (перевод в Direct) увеличивает производительность. В моём бенчмарке более чем в два раза.

Вот на этом графике можно понять, что на самом деле происходит при переключении между WB и WT. Sample1=WB (розовый), Sample2=WT (зелёный). Это график latency запросов, точнее, плотность вероятности, даунсэмплинг до 2000 запросов. Шкала X - log2.

WB/WT chart
Видно, что первый пик у "розового" там же, где основной пик у зелёного. А дальше тупняк от WB, у которого забился кеш. Я утверждаю, что WT обеспечивает лучшую производительность именно из-за отсутствия этих "тупняков".
404

ненаучно-фантастическое: continuity

Есть у меня представление (мечта?) о вещи, которая совершенно по силам современным компьютерам, но совершенно не по силам современной индустрии.

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

Чтобы я мог переключиться между изучением Rust'а, исправлением багов в influx, чтением Рассела (да, я сел его читать), и ещё кучей всего интересного или важного.

Чтобы оно в себя включало всё (как? не знаю) и умело автоматически его группировать (как? Не знаю). И чтобы трекало across devices. Чтобы мне не нужно было мучительно вспоминать что там где там и как его открыть, или ещё хуже, помнить, что книжка на телефоне, а видео остановлено на паузе на рабочем компьютере, а рядом с ним пачка табов по вопросу.

... А ещё, чтобы онтологические отношения выстраивало - иерархию таких объектов.

Фантастика? Нет, совершенно по силам компьютеру?
Научная? Нет, не будет такого.
404

системный HDD

Осознал, что уже несколько лет не имел ОС на HDD. Сейчас досталась. Потрясающее уныние. Т.е. для данных - ещё ок, но как системный диск... Как люди раньше жили?
404

светлое (тёмное?) будущее

Ввод от пользователя настолько ничтожный, что любой объём метаданных на вводе не ощутим.

Каждое нажатие кнопки - это не scancode, это комплект информации, который дополняется по мере прохождения по стеку приложений:

* серийный номер клавиатуры, модель, scancode.
* серийник usb контроллера, принявшего нажатие
* Версия usb-hid драйвера и его ОС
* Заметки libinput и OC по обработке события. (Первый таймстемп goes here)
* PID и имя userspace процесса, получившего event. Имя пользователя.
* Мнение процесса о себе (версия)
* Мнение подпрограммы (библиотеки), сконвертировавшей автодополнением cl(tab: ass) Foo( b(tab down, down:aseClass)
* Время сохранения (конкретных keystroke)
* Время коммита (конкретных кейстрок, имя коммитящего пользователя)
* Мержд (кто и что именно)
* compile info (с референсом в блоб метаданных с всеми keystroke), с информацией о том кто билдил и т.д., из которого генерируется версия, ссылающаяся на блоб (для дописывания к результатам работы программы)

Имея на руках компьютер и открыв в нём книгу можно проследить всю историю каждого нажатия клавиш, от драйвера видеокарты до коммита в гите того редактора, в котором шла редакторская правка книги перед публикацией, историю merge request'ов в том http-сервере, который эту книгу отдал и тех раутеров, которые пересылали пакеты этих книг.

Много метаданных, да. Зато полная история. С большой вероятностью невозможная в режиме "дописывать в файл". Когда метаданных копится слишком много, они где-то сохраняются и на это "где-то" делается персистентная ссылка (ipfs-подобная, докинуть блокчейна по вкусу).

Теоретически хочется иметь возможность не просто узнать всё запущенное и напечатанное, но и всё про то, как писалось то, чем компилировалось то, что сейчас запущено. И так до foundation records, когда эта система только запускалась.

Глобальный реестр метаданных, сохраняющий человеческую компьютерную историю, позволяющий воспроизвести эту историю на эмуляторе.
404

2018->2006

У меня внезапно заглючила мамка домашнего компьютера. То всё висло непонятно когда, то вообще не стартовала, только подёргивая кулером. БП в порядке.

Почесав в затылке я нашёл старую мамку с старым процессором. Asus P5Q + Core 2 (то ли Duo, то ли Quad), 8 Гб планками по 2Гб. Воткнул в неё (уже постаревшую) NVIDIA GTX 680 от старого-нового компьютера, зодно использовал старую же 40Гб SSD'у (Intel 320). И...

... И застрял на проблеме с сетью (проводной нет, wifi на мамке нет, буду решать, едет Wifi донгл). Но дебиан встал и работает.

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

А вот есть некоторые впечатления, которые от старой мамки лучше.

1) Есть обычная загрузка. MBR и вперёд. На предыдущей (новой) мамке было только UEFI и я его пламенно ненавидел из-за возможности сломать загрузку компьютера из биоса насовсем.
2) Все настройки тривиально сгруппированы и легко понятны. Минимум странностей.
Наивный флопповод и PATA, пины для COM-порта, SPDIFF, ещё чёрта в ступе.

Из проблем - скончалась батарейка для биоса, каждый раз забывает настройки при ребуте.
404

об онтологии

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

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

Если бы компьютерщики так придумывали названия, то у нас были бы дистальные овальные тельца, соединяемые нитями Шугарда с трёххолмовым постериальным уплотнением. Сравнить с "ssd-диски при помощи sas-кабеля подключаются к SAS=контроллеру на материнской плате".

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

Перелом баланса

А в какой момент произошло так, что новый софт перестал быть в радость? Я же помню, с каким интересом я ждал загрузки нового с кассеты, дискеты, или даже CD. А сейчас наоборот - новый софт, новая головная боль.

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

А сейчас я два дня искал как мне файл в syslog писать. С inotify'ями. Стопятьсот мегагигасистемобработкилогов одна энтерпрайзнее другой, а чтобы inotify поюзать - этого нет. Зато пачка DSL'ов, вырвиглазный синтаксис и тонны dependencies. Спасибо, новый rsyslog в imfile это умеет. Не умел бы - была бы почти катастрофа.