На имеющемся железе пробрасывает NVMe примерно на его родной скорости, и делает это в два с лишним раза быстрее штатного линуксового nvme-over-tcp. Дальше упирается в мой слабый клиентский комп, но на большом железе производительность растёт до миллионов IOPS через один диск. 50 GbE успешно загружал на полную катушку, был, практически, line rate.
Посмотрел на новом месте на штатный ядерный aoe (инициатор) и допиленный местными джедаями ggaoed (таргет), и написал свой, чисто ядерный.
Результат поразил, в первую очередь, прогрессом ядра за последние 10 лет в области сетевого стека и блочной подсистемы. Совершенно не напрягаясь, из 1.6 миллиона IOPS'ов, доступных локально на LVM, размазанном по нескольким NVMe, по 50-гигабитной сети удалось передать 1.55 миллиона. Вот даже картинка с локальным и удалённым запуском fio есть:
А по двум таким сетевухам, соответственно, 3 миллиона. Сеть пакеты дропает, кстати, особенно, при загрузке под потолок. 3 миллиона - это с ретрансмитами.
NVMeoF пока мимо, т.к. у них из рабочих транспортов, разве что, инфинибэнд, который вкорячивать через softroce - изврат тот ещё, а over ethernet ещё в разработке, и он, вроде, собирается быть L3, а не L2. Ну и кода раз в 20 меньше получилось.
Под впечатлением купил дешёвых 10-гигабитных сетевушек, буду домашнюю лабу на свой aoe переводить, а то с fiber channel то дети волокно оборвут, то SAN/NAS с 4-гигабитный QLogic'ом само резетится :)
В общем, надоело, что монитор гаснет при просмотре фильмов через браузерный флеш и когда играешь в вайне с геймпадом.
Сделал правило для 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 тем, что у меня оный не заработал, и он, вроде как, заточен только на флешик.
Две недели пользую на двумониторной конфигурации, полёт нормальный.
Российская компания МЦСТ объявила о запуске в производство опытной партии процессоров Эльбрус-8С с тактовой частотой 1,3 ГГц. Микрочипы, выполненные с соблюдением 28-нм техпроцесса, имеют вычислительную мощность 250 гигафлопс. Готовые образцы микросхем появятся в октябре 2014 года.
Выбираю систему для разворачивания у нас (если ещё удастся пробить её использование). Кроме определённых фич, хотелось бы получить знания/опыт работы с более популярным софтом, чтобы пригодилось в дальнейшем. Что используется у вас?
Если почитать SICP, то замыкания - это такое свойство функции, что, например, «мы говорим, что операция объединения данных обладает замыканием в том случае, если результаты объединения этой операции могут объединяться этой же операцией».
Поэтому я думал, что суть примера с языком описания изображений в том, что это круто, когда наши процедуры обладают этим свойством - из несложных операций с изображениями мы можем получать сложные, потому что операция над изображением - это изображение.
Но если прочитать вики, то «Замыкание (англ. closure) в программировании — функция, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции и не в качестве её параметров (а в окружающем коде).»
Ну и что? Получается просто, что процедура использует глобальные переменные, ничего примечательного тут вроде и нет.
Посоветуйте хорошие годные книги для человека, который хочет познакомиться с философией и в дальнейшем, возможно, изучать её. Что-нибудь основополагающее: основные философские течениея, идеи, концепции.И что-нибудь современное, относящиеся как к личности, так и к эпохе, в которой мы сейчас живем. Интересуют монументальные труды, годные книги.
Пытаюсь найти старый фильм про полёт в космос. Идея такова - разработан корабль, который должен приблизиться к скорости света, но из-за роста массы с увеличением скорости этого сделать не удаётся. Тогда находится способ аннулирования массы (на Земле изобретатель так интересно подвешивает в воздухе невесомую зажигалку), и корабль, достигнув скорости света, благополучно превращается в энергию. Надеюсь на помощь коллективного разума ЛОРа.
Думаю, наверняка есть люди, которые сейчас осваивают программирование под ядро или драйверы, и которым были бы интересны полезные советы по этому поводу от человека, который занимается ядром профессионально.
Пожалуй, не только советы по поводу того, как, но и небольшие экскурсы, например, почему исторически сложилось, что прерывания должны закрываться и открываться в одной и той же функции, эволюция планировщика, интерфейсов ядра и т.д.
Я занимаюсь этим делом порядка 3.5 лет, рассказать есть что. Вопрос в том, кто будет это читать. Когда я работал в школе и вел кружок углубленной математики по программе Малого Мех-мата, то на него ходило 4 человека из всей параллели. Для интернет блога такое число будет слишком маленьким, даже для 10 читателей что-либо затевать смысла нет, это будет неинтересно.
Собственно, дайте знать, кому это интересно. И тогда можно будет оценить целесообразность.
Площадка, думаю, может быть, любая, ЖЖ или там вконтактик, сейчас не суть.
Завершена публикация перевода на русский язык большой статьи Ульриха Дреппера «Как писать разделяемые библиотеки». Автор предварил статью такими словами:
Разделяемые библиотеки используются повсюду. Разработчики пользуются ими для разных целей и разрабатывают их точно так же, как и приложения. Но проблема в том, что для создания просто хорошо написанного кода на многих платформах требуется применять дополнительные методы. Еще больше знаний нужно при создании оптимизированного кода. Настоящая статья познакомит вас с необходимыми правилами и методами. Кроме того, будет представлено понятие стабильности интерфейса ABI (Application Binary Interface — двоичный прикладной интерфейс) и будет рассказано, как стабильностью управлять.
Доброго времени суток. Прошу помощи или подсказки, в какую сторону копать.
Задача: Из нескольких компов, возможно даже с разными конфигурациями собрать «отказоустойчивый» кластер. Главно особенностью должно быть,то что все компьютеры должны работать !параллельно. Не в плане что запустил одно приложение на главной машине и он пользуется мощностями остальных, А запустив приложение на 1 оно запускается на 2,3,... и работате как зеркала, выполняя все абсолютно оданаковы действия. И если один из компов упадет, остальные продолжат работать, как будто ничего не произошло. Тоесть не должно быть какого-то ведущего и ведомых машин.
Буду благодарен любой помощи.
Небольшой NAS-торрентокачалка имеет 5 дисков в софтовом рейде для хранилища и один диск для скачки торрентов. Когда собирал, решил таким образом снизить нагрузки на массив.
За все время использования сдох один торрент-диск и один диск в массиве.
Задумался над доработкой. И, поскольку в корпус влезает не более 6 дисков, рассматриваю возможность собрать 6 дисков в массив и качать торренты на него.
Рассматриваются варианты: оставить как есть(raid 5 на 5), сделать raid6 на 6 или сделать raidz2 на 6.
второй день бьюсь над следущей задачей: есть сеть класса С: 192.168.1.0, но часть машин из неё в другом городе (адреса не пересекаются). Надо сделать так, чтобы «всё было в одной сети». Ну, недолго думая, я поднял опенвпн с тап интерфейсами без адресов, и забриджевал на каждом конце сетевуху из локалки и соответствующий интерфейс впн. (ну, всё, как пишут в тысячах манов, например, вот тут: http://www.linux.com/learn/tutorials/305765-how-to-bridge-networks-with-openvpn) Только со стороны клиента впн не на шлюзе, а на одной из машин в сети 192.168.1.0 но блин! полезает только бродкаст-трафик!.. то есть, делаешь пинг (в любую сторону), арп-таблицы выстраиваются, а пинги не проходят..
В общем, работа за компом, подработка за компом, отдых чаще тоже за компом. Осанка естественно портится, пузо растет. Что бы как то держать себя в форме хожу в бассейн, за тренировку удается проплыть около 2000 метров, в неделю получается 6000-8000м, нормально ли это или стоит еще увеличить нагрузки?