LINUX.ORG.RU

Избранные сообщения Array

Намутил свой сетевой протокол для дисков

 ethblk, , ,

https://github.com/vtl/ethblk

На имеющемся железе пробрасывает NVMe примерно на его родной скорости, и делает это в два с лишним раза быстрее штатного линуксового nvme-over-tcp. Дальше упирается в мой слабый клиентский комп, но на большом железе производительность растёт до миллионов IOPS через один диск. 50 GbE успешно загружал на полную катушку, был, практически, line rate.

mv
()

Об светлом будущем C++

 ,

https://habr.com/company/1c/blog/429678/ Как мы перевели 10 миллионов строк кода C++ на стандарт C++14 (а потом и на C++17)

Ваше мнение об C++ /путях развития, .../?

vladimirmir2016
()

AOE

 , blk-mq,

Посмотрел на новом месте на штатный ядерный aoe (инициатор) и допиленный местными джедаями ggaoed (таргет), и написал свой, чисто ядерный.

Результат поразил, в первую очередь, прогрессом ядра за последние 10 лет в области сетевого стека и блочной подсистемы. Совершенно не напрягаясь, из 1.6 миллиона IOPS'ов, доступных локально на LVM, размазанном по нескольким NVMe, по 50-гигабитной сети удалось передать 1.55 миллиона. Вот даже картинка с локальным и удалённым запуском fio есть:

https://image-store.slidesharecdn.com/4617ff4c-c52e-4d37-98bf-564e33060a0c-original.png

А по двум таким сетевухам, соответственно, 3 миллиона. Сеть пакеты дропает, кстати, особенно, при загрузке под потолок. 3 миллиона - это с ретрансмитами.

NVMeoF пока мимо, т.к. у них из рабочих транспортов, разве что, инфинибэнд, который вкорячивать через softroce - изврат тот ещё, а over ethernet ещё в разработке, и он, вроде, собирается быть L3, а не L2. Ну и кода раз в 20 меньше получилось.

Под впечатлением купил дешёвых 10-гигабитных сетевушек, буду домашнюю лабу на свой aoe переводить, а то с fiber channel то дети волокно оборвут, то SAN/NAS с 4-гигабитный QLogic'ом само резетится :)

mv
()

Awesome disable DPMS when fullscreen: solution

 , , ,

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

Сделал правило для awesome, которое вызывается когда окно входит или выходит в фуллскрин/из фуллскрина. Если есть окна в фуллскрине - DPMS отключается. Если нет окон в фуллскрине - включается.

Может кому пригодится:

client.connect_signal("property::fullscreen", function(c)
    local fullscreened = false
    for key,value in pairs(client.get()) do
        if(value.fullscreen == true) then
            fullscreened = true
            break
        end
    end
    if fullscreened then
        disable_powersaving()
    else
        enable_powersaving()
    end

end)

function disable_powersaving()
        awful.util.spawn("xset s off")
        awful.util.spawn("xset -dpms")
end

function enable_powersaving()
        awful.util.spawn("xset s on")
        awful.util.spawn("xset +dpms")
end

Lua не знаю совершенно, да.

Эта штука лучше lightsOn.sh тем, что у меня оный не заработал, и он, вроде как, заточен только на флешик.

Две недели пользую на двумониторной конфигурации, полёт нормальный.

Засовывать в ~/.config/awesome/rc.lua

NeverLoved
()

В России началось производство 8-ядерных процессоров «Эльбрус»

 ,

Группа Hardware and Drivers

Российская компания МЦСТ объявила о запуске в производство опытной партии процессоров Эльбрус-8С с тактовой частотой 1,3 ГГц. Микрочипы, выполненные с соблюдением 28-нм техпроцесса, имеют вычислительную мощность 250 гигафлопс. Готовые образцы микросхем появятся в октябре 2014 года.

>>> Подробнее: (macdigger.ru)

Unununij
()

Используемая вами в production система управления конфигурациями

 bcfg2, cdist, , ,

Выбираю систему для разворачивания у нас (если ещё удастся пробить её использование). Кроме определённых фич, хотелось бы получить знания/опыт работы с более популярным софтом, чтобы пригодилось в дальнейшем. Что используется у вас?

  1. не используется 561 (73%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. puppet 98 (13%)

    *******************************************************

  3. другое 51 (7%)

    *****************************

  4. chef 48 (6%)

    ***************************

  5. ansible 20 (3%)

    ***********

  6. salt 15 (2%)

    ********

  7. cfengine 11 (1%)

    ******

  8. bcfg2 5 (1%)

    **

  9. juju 4 (1%)

    **

  10. cdist 2 (0%)

    *

Всего голосов: 815, всего проголосовавших: 765

selivan
()

Не понимаю, что такое замыкание (closure)

 ,

Если почитать SICP, то замыкания - это такое свойство функции, что, например, «мы говорим, что операция объединения данных обладает замыканием в том случае, если результаты объединения этой операции могут объединяться этой же операцией». Поэтому я думал, что суть примера с языком описания изображений в том, что это круто, когда наши процедуры обладают этим свойством - из несложных операций с изображениями мы можем получать сложные, потому что операция над изображением - это изображение.

Но если прочитать вики, то «Замыкание (англ. closure) в программировании — функция, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции и не в качестве её параметров (а в окружающем коде).» Ну и что? Получается просто, что процедура использует глобальные переменные, ничего примечательного тут вроде и нет.

Так что такое замыкание? Помогите разобраться.

mentalmenza
()

великая китайская подделка рассыпалась

http://rt.com/art-and-culture/news/great-wall-china-collapse-355/

Бггг.сочинили традисторики китаю историю чтоб было в 100 раз круче чем у всех, а все равно природа берет своё, сколько не выдумывай.

а ведь предупреждали их:

http://lenta.ru/news/2008/12/16/swiss/

не выпендривайтесь, все ходы записаны.

ckotinko
()

Философские труды

 ,

Доброго времени суток, ЛОР!

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

Заранее спасибо!

Sektor
()

Вспомнить фантастический фильм

 ,

Пытаюсь найти старый фильм про полёт в космос. Идея такова - разработан корабль, который должен приблизиться к скорости света, но из-за роста массы с увеличением скорости этого сделать не удаётся. Тогда находится способ аннулирования массы (на Земле изобретатель так интересно подвешивает в воздухе невесомую зажигалку), и корабль, достигнув скорости света, благополучно превращается в энергию.
Надеюсь на помощь коллективного разума ЛОРа.

riki
()

Ядро linux для начинающих и интересующих

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

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

Я занимаюсь этим делом порядка 3.5 лет, рассказать есть что. Вопрос в том, кто будет это читать. Когда я работал в школе и вел кружок углубленной математики по программе Малого Мех-мата, то на него ходило 4 человека из всей параллели. Для интернет блога такое число будет слишком маленьким, даже для 10 читателей что-либо затевать смысла нет, это будет неинтересно.

Собственно, дайте знать, кому это интересно. И тогда можно будет оценить целесообразность.

Площадка, думаю, может быть, любая, ЖЖ или там вконтактик, сейчас не суть.

ttnl
()

Как писать разделяемые библиотеки

 , ,

Группа Документация

Завершена публикация перевода на русский язык большой статьи Ульриха Дреппера «Как писать разделяемые библиотеки». Автор предварил статью такими словами:

Разделяемые библиотеки используются повсюду. Разработчики пользуются ими для разных целей и разрабатывают их точно так же, как и приложения. Но проблема в том, что для создания просто хорошо написанного кода на многих платформах требуется применять дополнительные методы. Еще больше знаний нужно при создании оптимизированного кода. Настоящая статья познакомит вас с необходимыми правилами и методами. Кроме того, будет представлено понятие стабильности интерфейса ABI (Application Binary Interface — двоичный прикладной интерфейс) и будет рассказано, как стабильностью управлять.

>>> Перевод (rus-linux.net)

vikos
()

Отказоустойчевый кластер, как?

Доброго времени суток. Прошу помощи или подсказки, в какую сторону копать. Задача: Из нескольких компов, возможно даже с разными конфигурациями собрать «отказоустойчивый» кластер. Главно особенностью должно быть,то что все компьютеры должны работать !параллельно. Не в плане что запустил одно приложение на главной машине и он пользуется мощностями остальных, А запустив приложение на 1 оно запускается на 2,3,... и работате как зеркала, выполняя все абсолютно оданаковы действия. И если один из компов упадет, остальные продолжат работать, как будто ничего не произошло. Тоесть не должно быть какого-то ведущего и ведомых машин. Буду благодарен любой помощи.

z3r0s
()

AES256-GCM + IPSEC + AES-NI = fail?

Настраиваю ipsec на strongswan, должен шифровать канал почти в гигабит.

Косяк в том, что в режиме GCM (как самом быстром на интелях, в других скорость не более 200-300мбит) у меня аес с ключем более 128 бит не работает.

Т.е. aes128gcm пашет, а на 192 и 256 ругается что не может добавить SA в ядро. Если отрубить AES-NI в ядре то пашет.

Это такое ограничение интеля или ядра? Не то чтобы я особо параноил насчет 128 бит, скорее просто интересно.

ЗЫ: В этом режиме, кстати, удалось выжать 1.1Гбит/с шифрования между двумя виртуалками на разных хостах. На голом железе будет еще шустрее.

blind_oracle
()

включённые формулы, перенос

 

http://ompldr.org/vZzZ1dA/screen.png. как избавиться от вылезания за пределы текста?

thunar
()

5*storage-mdadm + torrent-hdd vs 6*storage-mdadm

 , , ,

Всем привет!

Небольшой NAS-торрентокачалка имеет 5 дисков в софтовом рейде для хранилища и один диск для скачки торрентов. Когда собирал, решил таким образом снизить нагрузки на массив. За все время использования сдох один торрент-диск и один диск в массиве.

Задумался над доработкой. И, поскольку в корпус влезает не более 6 дисков, рассматриваю возможность собрать 6 дисков в массив и качать торренты на него. Рассматриваются варианты: оставить как есть(raid 5 на 5), сделать raid6 на 6 или сделать raidz2 на 6.

Что посоветуете?

Спасибо!

ien
()

о tty, chvt...

 ,

как определить какой tty активен, если сама программа, написанная для этого, запущена в другом(этом же) tty/работает как демон?

perplexus
()

бриджевание сетей

 ,

привет!

второй день бьюсь над следущей задачей:
есть сеть класса С: 192.168.1.0, но часть машин из неё в другом городе (адреса не пересекаются). Надо сделать так, чтобы «всё было в одной сети».
Ну, недолго думая, я поднял опенвпн с тап интерфейсами без адресов, и забриджевал на каждом конце сетевуху из локалки и соответствующий интерфейс впн. (ну, всё, как пишут в тысячах манов, например, вот тут: http://www.linux.com/learn/tutorials/305765-how-to-bridge-networks-with-openvpn)
Только со стороны клиента впн не на шлюзе, а на одной из машин в сети 192.168.1.0
но блин! полезает только бродкаст-трафик!.. то есть, делаешь пинг (в любую сторону), арп-таблицы выстраиваются, а пинги не проходят..

Чего же я упустил?
Заранее спасибо!

Upd: фаервола нет с обоих сторон.

aol
()

reboot -> md127 software raid

После перезагрузки md4 становится md127. В чем может быть ошибка?

mdadm --create /dev/md4 --level=0 --raid-devices=2 /dev/sda /dev/sdb
mdadm --detail --scan > /etc/mdadm.conf
cfdisk /dev/md4
mkfs -t ext4 /dev/md4
mount -t ext4 -o discard /dev/md4 /vz
reboot

После перезагрузки

# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sdd2[1] sdc2[0]
      524276 blocks super 1.0 [2/2] [UU]

md2 : active raid1 sdd3[1] sdc3[0]
      1258291064 blocks super 1.0 [2/2] [UU]
        resync=DELAYED

md3 : active raid1 sdd5[1] sdc5[0]
      1658862928 blocks super 1.0 [2/2] [UU]
      [=======>.............]  resync = 35.5% (589269696/1658862928) finish=267.7min speed=66584K/sec

md0 : active raid1 sdd1[1] sdc1[0]
      12582840 blocks super 1.0 [2/2] [UU]

md127 : active raid0 sda[0] sdb[1]
      468861952 blocks super 1.0 512k chunks

unused devices: <none>

# mdadm --detail --scan
ARRAY /dev/md/rescue:4 metadata=1.0 name=rescue:4 UUID=9932debb:3287ecb1:a5386486:f4732b2d
ARRAY /dev/md/0 metadata=1.0 name=rescue:0 UUID=4eb39521:4e8636d0:52f09f22:cbb26c61
ARRAY /dev/md/3 metadata=1.0 name=rescue:3 UUID=20a9a2bc:16df577b:6d687f37:b67370c4
ARRAY /dev/md/2 metadata=1.0 name=rescue:2 UUID=e276ec46:b5d9d957:b6aacb1d:737c3cf1
ARRAY /dev/md/1 metadata=1.0 name=rescue:1 UUID=b46dcc3f:30e9e8d5:551fc2da:814c440b

В messages

Jan  2 14:29:34 venus kernel: [    6.856040] md: bind<sda>
Jan  2 14:29:34 venus kernel: [    6.857669] md: bind<sdb>
Jan  2 14:29:34 venus kernel: [    6.859864] md: raid0 personality registered for level 0
Jan  2 14:29:34 venus kernel: [    6.860044] bio: create slab <bio-1> at 1
Jan  2 14:29:34 venus kernel: [    6.860114] md/raid0:md127: md_size is 937723904 sectors.
Jan  2 14:29:34 venus kernel: [    6.860181] md: RAID0 configuration for md127 - 1 zone
Jan  2 14:29:34 venus kernel: [    6.860249] md: zone0=[sda/sdb]
Jan  2 14:29:34 venus kernel: [    6.860368]       zone-offset=         0KB, device-offset=         0KB, size= 468861952KB
Jan  2 14:29:34 venus kernel: [    6.860479] 
Jan  2 14:29:34 venus kernel: [    6.860545] md127: detected capacity change from 0 to 480114638848
Jan  2 14:29:34 venus kernel: [    6.861043]  md127: unknown partition table

poiuty
()

Как не стать троглодитом.

 осанка

В общем, работа за компом, подработка за компом, отдых чаще тоже за компом. Осанка естественно портится, пузо растет. Что бы как то держать себя в форме хожу в бассейн, за тренировку удается проплыть около 2000 метров, в неделю получается 6000-8000м, нормально ли это или стоит еще увеличить нагрузки?

splinter
()