jayrandom: (Default)
[personal profile] jayrandom
Сегодня был на курсах повышения квалификации - рассказывали о том, как пользоваться LSF (Load Sharing Facility) на суперкомпьютере - как правильно и как неправильно распараллеливать процессы, как выделять ресурсы, избегать дедлоков и проч.

В качестве плохого распараллеливания был приведён пример, где пользователь (лектор отказался называть имя, но проболтался, что это была she) запустила 15000 задач на полсекунды каждую. Пять часов ушло только на то, чтобы заслать все эти процессы в очередь, а остальное время - to cool down the administrators :). Если бы задачу не распараллеливать вовсе, то друг за дружкой она бы посчиталась за 7500 секунд, т.е. примерно за два часа.

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

Ещё на суперкомпьютере не рекомендуется запускать программы на языке программирования Java. Того, кто этот запрет нарушит, постигнет суровая участь: его имя будет раскрыто остальным (разъярённым) пользователям суперкомпьютера :)

Date: 2004-12-15 10:35 am (UTC)
From: [identity profile] ex-pva361.livejournal.com
последнее да, мудро :)

Date: 2004-12-15 10:46 am (UTC)
From: [identity profile] jayrandom.livejournal.com
Видимо, были прецеденты жестокого линчевания.

Date: 2004-12-15 11:12 am (UTC)
From: [identity profile] ex-pva361.livejournal.com
ка правильно, как верно :)

Date: 2004-12-15 11:36 am (UTC)
From: [identity profile] gnuzzz.livejournal.com
Ещё на суперкомпьютере не рекомендуется запускать программы на языке программирования Java.
"Вы не любите кошек? Вы просто не умеете их готовить!";)))

Date: 2004-12-15 12:20 pm (UTC)
From: [identity profile] jayrandom.livejournal.com
Ну уж нет, я в религиозные споры не ввязываюсь :)

;))))

Date: 2004-12-15 12:22 pm (UTC)
From: [identity profile] gnuzzz.livejournal.com
кста, а что понималось под "суперкомпьютером"? Linux-кластер? Или специализированное что-то?

Re: ;))))

Date: 2004-12-15 12:41 pm (UTC)
From: [identity profile] jayrandom.livejournal.com
Там смесь архитектур. LSF бежит поверх всех их, связывает. В основном это суперкластеры на базе Alpha5 (узлы - от 2 до 12 процессоров, стойки по 20 узлов, кажется) и обычные одномерные кластеры разнообразных Линуксов (IBM, HP/Compaq). Но ещё имеется экзотика вроде Sun-кластеров и SiliconGraphics-кластеров.

Date: 2004-12-15 11:57 am (UTC)
From: [identity profile] pendelschwanz.livejournal.com
То есть только ФОРТРАН?

Date: 2004-12-15 12:23 pm (UTC)
From: [identity profile] jayrandom.livejournal.com
Фортран, Си, Си++, даже Перл и Питон.
Хотя по поводу последних двух тоже слышилось поскрипывание зубами :)

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

Date: 2004-12-16 06:12 am (UTC)
From: [identity profile] suhov.livejournal.com
берёшь перегоняешь матлаб в си и.. правда эту штуковину-компилятор по-моему нужно покупать
а в бытность мою аспирантскую она поставлялась бесплатно самой MathWorks

слушай ну я фигею
"даже"
без ПерлА как можно жить вообще? :) а на шелловский скрипт там тоже скрипят зубами? :)

Date: 2004-12-16 07:37 am (UTC)
From: [identity profile] jayrandom.livejournal.com
Без ПерлА жить нельзя, ты прав. Тут очень много перлового кода задействовано, и он вполне конкурирует с компилированным по популярности.

Мне вот подумалось как-то, что если бы удалось красиво реализовать понятие хэш-таблицы на уровне компилятора Си, то Перл бы не имел такой популярности, как сейчас.

Date: 2004-12-16 04:08 pm (UTC)
From: [identity profile] suhov.livejournal.com
ну там не только хэш
там reg-exps..да и вообще обработка строк
си надо просто хорошую библиотеку для обработки строк
ну вот как на Яве сделали

Date: 2004-12-16 07:38 am (UTC)
From: [identity profile] jayrandom.livejournal.com
На шелл не скрипят, но на шелле никто и не пишет объёмных вычислений. А на Перле иногда пытаются. Вот тогда и скрипят :)

Date: 2004-12-15 03:52 pm (UTC)
sanmai: (Default)
From: [personal profile] sanmai
Гласность - сильная штука.
--
Интересно как там будет летать Doom 3. 8)

Date: 2004-12-16 03:18 am (UTC)
From: [identity profile] jayrandom.livejournal.com
Чтобы Дум там летал, его нужно хорошо распараллелить. Потому что сами процессоры на кластерном суперкомпьютере не сильно отличаются от тех, что в магазине можно купить. Ну, максимум в пару раз, а то и вообще такие же. Ускорение же в том, что их много.

Кроме того, насколько я понимаю, bottleneck'ом тут станет как раз пропускная способность канала с видеокартой. Нарисовать-то нарисовали в памяти, а дальше это всё надо быстро-быстро успевать отображать. А это не самая сильная сторона суперкомпьютера.

Date: 2004-12-15 06:13 pm (UTC)
From: [identity profile] b-my.livejournal.com
Задумался...
А ведь и верно, простым алгоритмом пакуют нынешние машины несколько быстрее, чем прокачивают в винт/сетевуху... Но чтобы _значительно_ускорить_ этим?.. Разве что надо очень большие объемы гнать и пропускной способности не хватает физически... ну так это от задачи зависит.

А эта рекомендация насчет зипа - она безусловная? Что-то тут явно не то.

Date: 2004-12-16 03:22 am (UTC)
From: [identity profile] jayrandom.livejournal.com
Видимо, в меру. Нам просто сказали, что если ваш алгоритм порождает/анализирует большие потоки текста, то be nice to your colleagues и пакуйте этот свой текстовый I/O на лету в обе стороны - сэкономите себя и машину.

Кстати,

Date: 2004-12-16 05:29 am (UTC)
From: [identity profile] gnuzzz.livejournal.com
запустила 15000 задач на полсекунды каждую. Пять часов ушло только на то, чтобы заслать все эти процессы в очередь, а остальное время - to cool down the administrators
Оно что, пока в очередь все на запихает, работать не начнет?%)

Re: Кстати,

Date: 2004-12-16 05:55 am (UTC)
From: [identity profile] jayrandom.livejournal.com
Конечно, начнёт. Просто большинство задач могло повиснуть в очереди по разным причинам. В том конкретном случае был очень сильно перегружен планировщик очередей, а сам суперкомпьютер, можно сказать, "простаивал".

Date: 2004-12-16 06:14 am (UTC)
From: [identity profile] azgar.livejournal.com
Три тысячи задачек в час, по секунде на задачку? Нешустро они стартуют...
Запаковка ввода-вывода перед передачей -- интересная идея.
А вот за что они так Жабу нелюбят? Нешто у них нету нормальной JVM, которая будет треды по узлам раскладывать?

Date: 2004-12-16 07:58 am (UTC)
From: [identity profile] jayrandom.livejournal.com
Стартуют столько, сколько может пропустить менеджер очереди. Это специальный выделенный блин кластера, который только тем и занимается, что по гигаэзернету дёргает остальные блины, опрашивает их статус, раздаёт им задачки, принимает ответы, разливает-сливает данные, итэдэ.

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

Насчёт запаковки я ещё такую штуку придумал. Можно же заливать на суперкомп исходник. А там его компилировать (для разноархитектурных блинов в разный код) и сразу же запускать. Жалко, юниксовый шелл не умеет такие штуки делать - "запустить слинкованный код, переданный по пайпу" :)

Насколько я знаю, для Жабы нет специального внутреннего шедуляйзера, вся планировка работает через LSF. А LSF не предназначена для внутреннего дробления процессов. Она просто берёт процесс как целое, меряет его разными мерками и запускает на подобающем железе.

Но даже не multi-shitty-threading - проблема Жабы. А неэффективный garbage collector, который "отложил и неизвестно". Вот это действительно ужас ужасов, особенно при разделяемых ресурсах. По сравнению с ним в Перле сборка мусора осуществляется достаточно эффективно: как только на объект исчезла последняя ссылка, он ресайклится. Конечно, его можно обмануть (например, слить ссылку в файл, как число, и стереть из памяти), но в основном такие примеры искусственны.

Date: 2004-12-17 12:57 am (UTC)
From: [identity profile] azgar.livejournal.com
Ну, Жаба, в общем-то, на параллельные вычисления особо и не затачивалась, на сколько я знаю. То есть, на раскидывание тредов по кластеру. Там кластеризация немного на более высоком уровне делается.

Profile

jayrandom: (Default)
jayrandom

January 2026

S M T W T F S
    1 23
45678910
111213141516 17
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 19th, 2026 01:55 pm
Powered by Dreamwidth Studios