All streams
Search
Write a publication
Pull to refresh
71
0
Антон Кортунов @ToSHiC

Программист

Send message
Дисковая полка, даже набитая 4ТБ винтами — это всего 100ТБ. В 10 раз меньше. И это ещё без какого-либо резервирования. Я же говорю, 1ПБ на одном сервере не завести никак, это несколько серверов в сети. А несколько серверов — это проблемы с консистентностью, за решение которых надо платить потерей IOPS и, скорее всего, скорости.

В то, что они какой-нибудь NetApp сторадж используют — не верится.
Подозреваю ещё, что обязательно зубы должны быть здоровыми/залеченными, до ближайшего дантиста тоже не как до Марса, но… :)
Кандидаты в РАЭ должны иметь высокую квалификацию, соответствующие дипломы об образовании, удостоверения, права на вождение машин, опыт работы, подтвержденные записями в трудовой книжке. Разнорабочие в экспедиции участия не принимают.
Кандидаты в РАЭ должны быть практически здоровыми для официального освидетельствования в специальных медицинских комиссиях.
Кандидаты в РАЭ должны обладать уравновешенным, доброжелательным, коммуникабельным характером и способны работать в замкнутых коллективах в отрыве от дома.

Чуть ниже Cholgaa запостил ссылку, откуда это скопировано.
Думаю, начать можно вот с этих контактов: www.aari.nw.ru/dept/kadry/index.html. Я сам в антарктике не был, читал несколько разных отчётов.
Кстати, для тех, кто считает, что правда готов полететь и только денег не хватает, есть отличная возможность проверить себя — можно записаться в Российскую Антарктическую Экспедицию на зимовку, там регулярно системные администраторы нужны. Ещё и денег заплатят на это. Условия в плане работы будут похожи на то, что будет в колониях: небольшое количество людей, живут обособленно, посменное дежурство для поддержания систем жизнеобеспечения (дизель-генератор), почти полная автономность.
Интересно, как они собираются гарантировать консистентность всего раздела, он ведь явно не на один сервер ляжет. Видимо, будет не особо быстро работать.
Ну вопрос то не в стоимости, а в возможности спастись, если дела пойдут фигово. Каторжников посылать, как чуть ниже написали — вариант, получится как в «луна — суровая хозяйка» у Хайнлайна. Но в любом случае, сначала надо закинуть туда реактор, запустить его, построить роботами бункеры, а уж только потом людей засылать.
У меня сразу возникло несколько вопросов:
1. Судя по статье обратного билета не предполагается. Это очень резко сокращает круг потенциальных колонистов.
2. Лететь туда на ЖРД? Год? У России есть замороженный с советских времён проект ядерного тягача, долетит за 3 месяца, ещё и обратно сможет вернуться. В НАСА активно разрабатывают ионные двигатели, европейские компании разрабатывают плазменный VASIMR.
3. Как решена проблема с жёсткой радиацией в межпланетном пространстве?

В России объявили, что в рамках космической программы на ближайшие 2 десятиления надо построить обитаемую станцию на Луне. С точки зрения технологий — всё то же самое, что и на Марсе, но лететь туда всего 2 суток, эвакуироваться в случае ЧП тоже намного проще. Да и сам процесс намного быстрее — не надо год ждать, пока долетят первые КА.
В файлы с DNS зонами часто залезаете? :)
Ну direct RF sampling максимум на сотне мегагерц будет работать без дорогого железа, если дальше по частоте лезть — это ж какая шина нужна будет, чтобы успеть обрабатывать. Да и зачем, если можно поставить какой нибудь MAX2112 за 5 баксов + AD9204 на 20 мегасемплов в секунду за 10 баксов, и работать в диапазоне 1-2 ГГц с полосой в 10МГц? 2 чипа, практически никакой аналоговой обвязки.

Можете вот тут приобрести готовый девайс 2-канальный. Мужик, который его проектировал, очень хорошо разбирается в свч SDR (половину существующих SDR GPS приёмников он спроектировал), работать должно хорошо.
Меня больше интересовал другой аспект — есть ли смысл потом прокладывать оптику через канализации, или радиолинк сильно дешевле.
Это понятно, интересовала именно экономическая составляющая в ближнем подмосковье.
Тогда круто. Но дорого :)

Кстати, сколько стоит воспользоваться кабельной канализацией?
Очень удобно было юстировать wifi параболы, довольно точно можно настроить просто глядя вдоль излучателя. Мне кажется, если бы производитель предусмотрел на корпусе 2 метки типа открытого прицела — было бы намного удобнее делать первоначальную грубую юстировку.
IP адрес, как вы знаете, состоит из 4 байт (октетов). Всего 32 бита. Подсеть можно указывать в 2 форматах:
как маску вида 255.255.255.0
(можно записать в бинарном виде 11111111 11111111 11111111 00000000)
или как количество бит в маске, установленных в единицу: /24

Соответственно, чтобы проверить, что IP адрес попадает в подсеть, достаточно сделать побитовое логическое И адреса и маски, если получится адрес подсети — то адрес в ней находится. Пример:
подсеть 192.168.10.0/24
адрес 192.168.10.87
умножаем его на 255.255.255.0
получаем 192.168.10.0 — он в подсети

Таким образом получить из 192.168.10.0/24 начало и конец диапазона элементарно: начало диапазона совпадает с собственно адресом, сети, а чтобы вычислить конец — надо прибавить инвертированную маску: для 255.255.255.0 это будет 0.0.0.255
то есть 192.168.10.0/24 соответствует диапазону 192.168.10.0 — 192.168.10.255

Очевидно, что не всегда получится сделать обратную операцию. Для этого необходимо из конечного адреса диапазона вычесть начальный, получившаяся цифра должна быть на единичку меньше какой-либо степени двойки. Если является — то надо из 11111111 11111111 11111111 11111111 вычесть ту самую цифру, оставшееся и есть маска.
Не, это тред в тредпуле IOCP должен создаться.
Это уже вопрос к разработчикам libuv :)
На сколько я понимаю, функцию PostQueuedCompletionStatus() дёргает поток, который обслуживает IOCP. Количество потоков, которые будут обслуживать собственно работу с IO задаются при создании completion port, параметр NumberOfConcurrentThreads, и они сразу создаются где-то, прозрачно для программиста, использующего IOCP. Т.е. в своём коде просто ассоциируем хэндл с CP, дальше с ним работаем.

Тут есть такая тонкость: надо уже иметь HANDLE на файл. Т.к. в случае с CreateFile никакого хэндла ещё нету, то приходится создавать свой поток-воркер, который открывает файл и сообщает в PostQueuedCompletionStatus, что удалось файл открыть. Для остальных операций такая штука не нужна.
Вы не так поняли меня, я не так понял ваш вопрос.

Вы, видимо, спрашивали, как работает event loop. Он блокируется только на те моменты времени, когда все коллбэки отработали, а новых событий из GetQueuedCompletionStatus()/epoll() ещё нету. Как только появляется событие — основной поток разблокируется и вызывает нужный коллбэк. Это самая что ни на есть асинхронная работа, по-честному.

Про блокировку с IO — это немного другое, когда вы зовёте aio_read(), который Native AIO — в ядре действительно вызывается настоящий read() из другого потока. Сейчас в ядре для этого используется workqueue. В POSIX AIO потоки прямо в userspace создаются.
В линуксе AIO так же сделан, я выше написал, почему.

Information

Rating
Does not participate
Location
Россия
Registered
Activity