All streams
Search
Write a publication
Pull to refresh
4
0.3
Send message

По идее на скорость это влиять то не должно.

Почему? Объединить половинки в RAID0 и получить... RAID0.

По идее они могли бы точно также параллельно данные писать на разные блины

То ли проблема в погрешностях при изготовлении и установке пластин (разный Repeatable Runout на разных пластинах?), то ли ещё в возмущениях при опускании нескольких головок. А так бы имели ускорение до 22 раз (11 пластин, 22 поверхности) - на последовательном чтении/записи были бы скорости PCIe Gen4 SSD.

  • по пути где-то потеряли ST24TB00000.

  • есть одно упоминание образца с названием ST30000NM001K

  • в розницу они ни фига не выпустили, но всё же HAMR-диски есть в составе их СХД Exos Corvault

  • что в рознице обнаружилось, так это восстановленные (factory recertified) диски ST22000NM000C (и 24/26/28), судя по предупреждению о "class 1 consumer laser product" - они с HAMR.

Это всё понятно, просто я недооцениваю сложность оптимизаций, о которых пишу.

Если бы zpugcc умел сводить возврат структуры к простому укладыванию её полей на стек, я бы сказал "ага!".

Но не скажу.
int foo() {
	return 444;
}

struct S {
	int a, b, c;
};

struct S bar() {
	return (struct S){.a=111, .b=222, .c=333};
}

~~~~~~~~~~~~~~~~~~~~~~
gcc -S -Os test.c
~~~~~~~~~~~~~~~~~~~~~~
...
foo:
	im 444
	nop
	im _memreg+0
	store
	poppc
...
bar:
	im -8
	pushspadd
	popsp
	loadsp 40
	im 8
	pushspadd
	storesp 24
	storesp 24
	im 12
	loadsp 0
	storesp 16
	im .LC0
	storesp 12
	loadsp 20
	storesp 8
	storesp 16
	impcrel (memcpy)
	callpcrel
	loadsp 12
	storesp 12
	loadsp 16
	storesp 8
	loadsp 20
	storesp 4
	impcrel (memcpy)
	callpcrel
	loadsp 20
	im _memreg+0
	store
	im 10
	pushspadd
	popsp
	poppc
...

Гелию 11 лет и он во всех дисках от 12 ТБ. Всё-таки он оказался беспроблемным, иначе бы мы последние лет 5 слушали постгарантийные истории об утекшем гелии и наблюдали печальную статистику от Backblaze.

будут генерироваться функции возвращающие одно значение. И возврат многих значений будет лишь синтаксическим сахаром.

Он и так синтаксический сахар, потому что ведь нет разницы с упаковкой переменных в структуру, возвратом структуры и распаковкой обратно в переменные, если компилятор зачёркнутое соптимизирует.

В C есть щепотка сахара в этом направлении - можно создать структуру на месте через compound literal (return (fooRetTuple){.a=4, .b=2, .c=3};). В C++ почти 100% сахара (structured binding и std::tuple).

Хотя это отвлечённые рассуждения. Посмотрел на Nim из своего списка - он 2 строки компилирует в 200 КБ сишного кода, не вариант.

Как именно он компилирует в Си возврат нескольких значений

2 строки из документации:

proc returnsTuple(): (int, int, int) = (4, 2, 3)

let (x, _, z) = returnsTuple()
nim c -c -d:release test.nim

typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
	NI Field0;
	NI Field1;
	NI Field2;
};

// ...

N_LIB_PRIVATE N_NIMCALL(tyTuple__47w2DboNEPf69aPgubZdd7Q, returnsTuple__test_u1)(void) {
	tyTuple__47w2DboNEPf69aPgubZdd7Q result;
	NI colontmp_;
	NI colontmp__2;
	NI colontmp__3;
	colontmp_ = ((NI)4);
	colontmp__2 = ((NI)2);
	colontmp__3 = ((NI)3);
	result.Field0 = colontmp_;
	result.Field1 = colontmp__2;
	result.Field2 = colontmp__3;
	return result;
}

// ...

N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
	tyTuple__47w2DboNEPf69aPgubZdd7Q tmpTuple;
NIM_BOOL* nimErr_;
nimErr_ = nimErrorFlag();
	tmpTuple = returnsTuple__test_u1();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	x__test_u25 = tmpTuple.Field0;
	z__test_u26 = tmpTuple.Field2;
	BeforeRet_: ;
	nimTestErrorFlag();
}
}

Может, ещё из этого списка чем-то получится вдохновиться:
https://rosettacode.org/wiki/Return_multiple_values

А вообще реальность-то прозаична. ЖМ в виде ртути или натрия-калия задолбает плохой смачиваемостью прежде, чем что-то случится. А с обычным ЖМ не "не взлетело", а серийно полетело в приставках (PS5, PS5 Pro) и ноутбуках.

Другое дело, как SMR поделие вообще совмещать с RAID.

При виде SMR думают про Device-Managed SMR и ругают именно его, но тут Host-Managed SMR, его случайно встретить нельзя.

Да ни фига они не выпустили. История обещаний HAMR запечатлена в википедии: первые HAMR-диски Seagate планировал выпустить в 2019, после многочисленных отмен и переносов 30-32 ТБ с HAMR были запланированы на прошлый год, потом на 1-й квартал этого, потом первый квартал кончился и Seagate выпустил на бумаге модели ST30TB00000 / ST32TB00000 ("Limited Availability"). В продажу за год они так и не вышли, а мы находимся под новостью уже о следующих дисках на те же 30/32ТБ - ST30000NM004K / ST32000NM003K, находящихся в более тяжёлом состоянии "Stay Informed".

Вода в новости не важна: например, нет у WD дисков с HAMR и надёжность у этой технологии, которая 6 лет находится в стадии "выйдет в следующем году", вероятно, так себе.

Те же 30-32 ТБ можно получить традиционными методами - впихиванием 11-й пластины (DC HC690 от WD, в открытой продаже нет).

Выше 500 МБ/с разгоняются диски с двумя независимыми блоками магнитных головок - Exos 2X14, 2X18. WD сначала сказал, что у него тоже такие есть будут (DC HS760), но потом упоминания убрал. Seagate эти диски выпустил на самом деле, не на бумаге.

На втором месте устаревшие диски на 15 000 об/мин, могут быть быстрее 300 МБ/с.

Картинка с рейтингом
предыдущая версия

Разбавлю скепсис в комментариях, SSD на E31T потребляет в 2 раза меньше своих предков на E26. Контроллер сделан на 7 нм (E26 - 12 нм) и попроще - нет поддержки DRAM-кэша, меньше каналов памяти. Он всё равно "горячий" (Techpowerup получил троттлинг при установке менее крупного радиатора), но это уже потребление на уровне многих PCIe Gen4 SSD.

а llvm отследил варианты предсказуемой инициализации массива (например, константой отличной от нуля) и массив из экзешника выпиливал.

Обращение к памяти можно запретить как-либо оптимизировать. Обратиться к массиву через указатель на volatile, например. И раз компилятору запрещено для оптимизаций "заглядывать внутрь" этого обращения, ему придётся оставить предыдущие шаги - сам массив в памяти и его инициализацию.
https://godbolt.org/z/59PfdPKsh

Потом из-за нужды в стандартном способе затирания паролей в C появился memset_explicit (но не в C++). По ссылке есть другие варианты решения помимо volatile.
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2897.htm#:~:text=volatile%20pointer

Зенон[1]: доказывает апориями, что многое не существует, потому что невозможно неподобному быть подобным и наоборот.

Современные философы: было бы понятнее, что он имел в виду[2], если бы сохранился хоть один труд самого Зенона помимо пересказов... наверняка можно сказать только одно - если его апории объявить решёнными, публиковаться на эту тему станет затруднительно.

[1] Ссылка на абзац в "Пармениде" Платона.
[2] философы это произносят как "most challenging and enigmatic of Plato's dialogues".

Деградацией были серьёзно озабочены владельцы PS3 (но с какой-то версии крышку стали намертво крепить на термоклей и интернет пополнился хорошими картинками располовиненных кристаллов).

Насчёт именно прокладок не знаю, но пасту могут загущать/модифицировать до состояния жвачки, чтобы не выдавливало термоциклированием. Интеловский патент: "Decreasing the modulus excessively can increase the risk of pumping out the fillers during reliability testing", "silicone crosslinkers ... may also be included".

---
Гугл по "pure indium solder TIM" говорит, что чистый индий тоже может использоваться: припой от Kester и статья от Indium Co, в которой ещё про уменьшение пустотности добавлением серебра.

разминая

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

на основе индия с добавлением олова и иногда серебра

А в них не чистый индий?

Вообще, крышки сейчас почти всегда паяют, термопаста встречается у AMD в APU (в т.ч. в последних 8700G) и у Intel до 10 вроде поколения.

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

Хм, хотя серверные нераспаянные процессоры тоже обросли крышками в 2000-2003, AmpereOne с голым кристаллом - это среди них исключение. В PlayStation 2 и 3 крышки были.

Натрий-калиевый сплав на самом деле гораздо лучше - в 3 раза выше теплопроводность и действует решительнее, а не травит людей годами.

Ну, её вообще на видеокартах нет. Или даже так: есть только там, где пользователь по неосторожности может повредить кристалл.

(ещё один аргумент за то, чтобы определить поведение через -fwrapv или -fno-strict-overfow)

Ну и -О3 такой коварный ключ, надо смотреть, что там накомпилировалось.

Проверка на переполнение через if (a + b < 0) может выкидываться на -O1 (пример отсюда).

Одна сторона: меня исключили за название работы
Другая анонимная сторона: его исключили за название работы, но это лишь повод.
Третья анонимная сторона (archive.org): я его исключил, я разбирал жалобу

Вы: его по неизвестной причине лишили бесплатной поездки в Польшу
Я: достаточно сказать, что он там участвовал

Вы: он мог участвовать дистанционно
Я: и что?.. оплатить членство в любом случае надо

Вы: а интерьеры во Вроцлаве были богатые
Я: ???

Вы: не принципиально, ведь его лишили и следующих бесплатных поездок

Досюда мы дошли за 3400 слов. Откуда у вас взялась оплата поездок? На обсуждение этого уйдёт ещё столько же.

И так далее, слишком сильно разговор затянется

Потом ещё столько же, что все 3 стороны признали жалобу и исключение произошло из-за неё, а не по неизвестным причинам.

И ещё - о том, что он не переделывал чужую работу, а стал соавтором.

И ещё - что вопросов к значимости P3352R0 не может быть, ведь она в виде N3128 прошла в стандарт С (да и волноваться должен основной соавтор, он же автор N3128, Юккер).

А "Статью не читай @ комментарии пиши" - всего 5 слов.

если он сокращал "undefined behavior" до "U.B.", и коверкал произношение, то из-за плохой связи "The U.B. Question" могло послышаться как "the Jewish Question"

Вот такая опора на факты.

По-моему, в любом случае получается драма / поучительная история на тему инклюзивности. Если жалоба была лишь поводом для исключения, то ещё и история об опасности сомнительных поводов. Невероятной история не кажется - в нашем мире и инклюзивные словари есть, называющие blackbox и whitespace терминами угнетения.

Information

Rating
2,452-nd
Registered
Activity