Category: транспорт

Category was added automatically. Read all entries about "транспорт".

404

(цинично)

То, что ракета взлетает интересно - признак технического несовершенства. Интересно ездят первые автомобили. Интересно ездят паровозы.

Электрички ездят почти неинтересно. И уж совсем неинтересно как приезжает/отъезжает трамвай.
404

ttd - проще и проще...

Простая неблокирующая развязка 2х2.



Главное преимущество по сравнению с двумя кольцами: (как вторая станция на рисунке) - в том, что если у нас один поезд разгружается/загружается, то следующий поезд на той же линии прийдёт на платформу №2, а не будет ожидать освобождения №1.

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

Если в дороге класть пути не впритык (зачем?), то схема даже чуток упрощается (меньше изгибов на въезде-выезде)
404

ttd 3x3

(заканчивая задалбывать общественность скринами из ттд)

Коммутационная матрица 3х3 (без оптимизации по размеру)



Собственно, идея простая:

Дано: N платформ, M путей.

Из N платформ создаются ветки N* (N->1) (т.е. N штук объединений всех веток в 1).

Из N объединённых веток делается ветвление N*(1->M) (каждая из M объединённых веток делится на M веток).

Если не экономить на пространстве, то это N*M параллельных путей (доказательство, что мы одновременно можем обработать любую коммутацию - с любого m на любое n у нас идёт отдельная ветка).

Далее, делается объединение M* (M->1), из каждой объединённой N-ветки берётся одна линия, эти линии объединяются в одну. Таких веток у нас M штук.

Получившиеся M веток - и есть пути.

Всего нам потребуется (если не экономить на семафорах), N*(N+1) + N*(M+1) + M*(M+1) (забавно, формула не симметричная). Лего посчитать, что для
3x3 коммутации это 9 линий, 24 семафора. Для 4х4 это 16 линий, 60 семафоров. Для 4x2 (два пути, 4 платформы), это 28 семафоров.

Чисто для смеха: Коммутационная панель 12х12 - 144 путя, 468 семафоров.

Уровень устойчивости: сломавшийся паровоз блокирует собою в худшем случае M (N) линий из M*N; в лучшем, 1 линию из N*M.

PS Для чего всё это, собственно, нужно? Указанная схема в сравнении, с например, просто 3 линии на три платформы по циклу (что было бы самым простым решением) обладает куда больше устойчивостью - поломка поезда на развилке не приводит к блокировке той платформы, на которую едет поезд.
404

ttd

Да, та схема внизу, она на самом деле неправильная. Точнее, неполная. Это не 2x3, это 2x2->3. Она одновременно может принять не больше 2х поездов. А должна бы принять три. Дорисую позже.

Пока мысль вот какая:

по сути своей разруливание поездов мало отличается от обработки Ethernet-фреймов.

А схемы коммутации - они как раз чётко показывают разницу между сетевым оборудованием.

Просто перекрестные пути - по сути своей cut-though концентратор. Дающий минимальную задержку для фрейма, но споткающийся о "битые" фреймы и коллизии (застрявшие поезда на перекрёстке).

Перекрёстные пути с предсигналом - это store-forward с общей шиной, работающей на скорости среды. В один момент времени может быть принят только один фрейм. Остальные не принимаются (ждут на перекрёстке). Задержка выше, зато никакой фигни с застреванием.

"извращения" (вроде того, которое ниже) - это уже коммутация. принимаются все поезда (фреймы) по всем линиям (разумеется, store-forward), направляются на "нужный" (в нашем случае - свободный) порт/платформу. Заметим, схема внизу чуть-чуть мухлюет - у неё коммутация не на скорости среды. А вот если доделать до честного 3х2 (или, о ужас, 3х3), будет обычная коммутирующая матрица. Способная без проблем коммутировать "всех со всеми".

А вот коммутации с общей шиной не получится. Точнее, получится, но т.к. скорость шины равна скорости среды, будет медленно.

Что же у нас с маршутизацией... Обычная IP-маршрутизация. Указан адрес получателя, на каждом узле принимается решение о том, по какому из доступных маршрутов направлять поезд.

Отсутствие RIP, OSPF, BGP (лол, анонсирование автономной мультихоумед платформы...) - плохо. Предложить для реализации в oTTD?

PS А главное - TTL! Не приехал на станцию за 255 хопов, умирай.
404

ttd

Предположение:

развязка, способная разруливать два поезда одновременно (обычная смычка-разделение способна разрулить только ОДИН поезд одновременно).

Интуитивно ощущаю, что можно упростить. Но идея именно такая: 2 входящие линии. Каждая ветвится на две, ветви соединяются попарно и разводятся на три линии.

Получаем формулу: 2*(1->2) + 2* (2->1) + 2* (1->3) - итого примерно 20 "хвостов" (т.е. 20 светофоров). Я ещё не уверен ни в формуле, ни в том, что развязка правильная... Но уже вижу свет в конце тунеля (и это свет монорельса).



PS Я понял, чем меня эта задача заинтересовала. По своей сути развязывание узлов на станции - это обеспечение возможности неблокируемого проезда максимального количества поездов при минимальном количестве путей/платформ. Так вот, по своей "метафизической" составляющей это и есть задача резервирования оборудования: минимальное количество оборудования обеспечивающее максимальное количество незавязанных друг на друга маршрутов (для сетевого оборудования) или копий (для данных). "Блокировка" в смысле ttd означает "смерть канала"/"смерть носителя" для задач резервирования. Причём, поезда себя ведут очень похоже на тупые программы, которые так же выбирают маршрут/порт/сервер исходя из чего попало, совсем не похожего на возвышенные идеи администратора о том, что следует выбрать. И задача администратора создать такое расположение данных/маршруты, чтобы даже самый тупой выбор (в рамках неких простых правил) всегда бы приводил к тому, что хочет администратор. Чтобы поезд не поехал по встречке, чтобы свернуть на соседний путь, чтобы дамп Б/Д не перекидывался циклом между серверами в момент высокой загрузки.

Это интересно.


...


Два часа спустя. Это называется пикселхантинг - выяснение, какой режим у светофора, который к тебе повёрнут задницей.

Но вот более компактная версия с тунелями.



PPS Принципиально - использую только схемы без поворота на 90 градусов.

PPPS Я не зря показываю только один "угол" маршрута. Мысль о повторении схемы минимум 4 раза ради одного круга приводит в душевное содрогание (8 часов с учётом перекура и обеда...).

PPPPS Сделал полный круг с длинным маршрутом (чтобы не выглядело как извращение). Супер. 2x2 линии на примерно 100 тайлов длины, трёхплатформенные станции, 20 поездов. Слегка притормаживают (и иногда ждут), но отлично возят.




Да, чтобы не устрашать такой жуткой схемой, вот схема для формулы 2х2. (заодно эксперимент с noise reduction по отношению к диттерингу...)

404

Transport Tycoon

Aхтунг! Это касается только обычных светофоров, post-pre изучаются

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

Поясню, что это означает: нельзя делать сложные развязки. Сколько бы вы не умничали, поезд обязательно будет "умнее" вас и поедет именно таким путём, который сделает дедлок, причём максимальному количеству поездов.

Отсюда печальный вывод. Если мы хотим иметь много платформ и много путей (что хочется иногда для пропуска этак 10+ поездов), то они будут иметь узкое место, способное обрабатывать только один поезд за раз.

Collapse )
404

О жизни за пределами Питера

Уехал в коммандировку. Далеко, сильно далеко. 8 часов на поезде.

Общие ощущения: рассказы про то, что за пределами Питера жизни нет - наглая ложь! Жизнь бурлит. Машины в 8 рядов в пробках. В метро толпы. Цены дикие. Однако, вежливая милиция и обходительный персонал. В гостинице мне даже бесплатно заменили посеянный ключ от номера.

Набрёл на интернет-кафе. После полу-часа возни с их идиотским шеллом и защитой от инициативного пользователя, получил доступ к mstsc и подключился домой. (заодно и политики домена поправлю, про которые вспомнил, что надо поправить). Шелл смешной, кстати. Заменяет OpenFile на свой (в котором нет диска C), запуск exe'шников запрещён. mstsc (RDP) в списке доступных программ нет.

К их несчастью у них была опера. А у оперы можно переназначать обработчики хэндлеров. mailto превратился в mstsc.exe ^_~. Ах, да, опера тоже не фигурировала в списке разрешённых, зато висела на обработчике http (блокнот, свойства страницы, свойства принтера, справка HP по кнопкам на морде принтера открыла оперу - дальше всё просто).

Особо удивили и порадовали поезда. За последние 10 лет они сильно (внутри) поменялись. Мне нравится, в общем и целом. Хотя то, что дизайнер поезда в нём не ездит, всё-таки ощущается в некоторых мелочах. С другой стороны, прогресс есть и это хорошо.
404

(админское)

В жизни админа есть приятные моменты. Когда в одном окошке House M.D. тонко флиртует с 82-летней бабушкой, а в другом пуття со свежим дебианом. Не торопясь конфигуришь простой сервер, времени вагон, всё хорошо... бинд, зоны (мысль: кажется, хранить slave ns'ы в /etc не лучшая мысль, наверное, стоит их перенести в /var/..), сквид, экзим, чуть-чуть апача для сквидовой статистики, да, забыл internal написать, но это потом, что ещё, ntp, кажется всё...
404

новая сторона TTD

Да, не поездами едиными жив человек...

Задача - получить развитую карту на следующих условиях 64x64, terrain, no industry, low cities, high water, год старта - самый младший.

(десять лет балансирования на грани окупаемости двух автобусов...)
404

фэнское

Я бы в токио-3 переехал только ради того, чтобы остановки в метро объявляла Хаясибара...