Как стать автором
Обновить

Для ядра Linux предложили систему прозрачного переноса потоков на разные ядра и хосты: Popcorn Linux

Время на прочтение4 мин
Количество просмотров13K
Всего голосов 36: ↑36 и ↓0+36
Комментарии20

Комментарии 20

Вот именно так скайнет будет распространяться по компьютерам всего мира.
Интересно, для общей виртуальной памяти ARM как-то переключают в little-endian и компилируют соответственно? И при компиляции все выравнивания переменных по «наихудшему» из поддерживаемых процессоров?
Зачем его переключать, если для ARM Little Endian является режимом «по умолчанию»?

>>И при компиляции все выравнивания переменных
When compiling for a ARMv6 or ARMv7-A/R processor, the ARM Compiler will assume that it can use unaligned accesses.

В любом случае. при компиляции переменные и так выравниваются для всех архитектур, если не указывать pack.
А, ну да, действительно (не имел дела с ARM, помнил, что они поддерживают оба варианта endianness, но почему-то в голове сидело, что там всё не так, как на x86).
Спасибо.

Но работать будет менее эффективно же, если невровненные данные. Плюс ARMы разные бывают, но, очевидно, что в первую очередь будут пилить под мэйнстрим.

Поэтому их и выравнивают.
Внутри кэш строки доступ к невыровненным данным может быть бесплатен,
а вот при при пересечении кэш-строки пенальти и на последних Intel будет.
www.7-cpu.com/cpu/Skylake.html
64-bytes range cross penalty = 7 cycles

www.7-cpu.com/cpu/Ice_Lake.html
64-bytes range cross penalty = 6 cycles
4096-bytes range cross penalty = 7 cycles (1 additional cycle over 64-bytes cross penalty).
Интересно, какой оверхед.

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

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Когда-то был проект OpenMosix. Очень похоже.

И еще был просто Mosix, без Open. Мы оба пробовали. Хорошо работало.

Любая достаточно сложная распределённая программа содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Erlang.
"Десятое правило Гринспена"

Слушайте, all — а какой юзкейс сего чуда?
От падения ноды это не защитит, размазать нагрузку — положим, но я не думаю что есть так уж много задач где Rythen/Xeon не осилит… Мы сегодня решаем это балансировкой входа-выхода и live migration виртуалок.


Правда интересно.

HPC. Когда 64TB памяти мало.

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

Ну, условно, если трафик гоняется по некому 100 Gb Ethernet, то получается скорость передачи а пределе 12,5 гигабайт в секунду. Я не знаю ни одного SSD, который смог бы так же.

Когда мы начинаем говорить про 100Gb Ethernet, можно смело начинать сорить деньгами на raid0 из EDSFF/U.2 SSD. Будет всё равно дешевле при той же скорости.

Хотя я не уверен в количестве доступных PCI-E линий у таких монстров, если честно. Сложно найти спецификации.
Я не готов спорить предметно, но что-нибудь вроде RAID на Infiniband наверняка быстрее, если не по throughput, то по latency. При этом наверняка дешевле и накладные расходы со стороны ПО ниже.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий