117) эволюция мысли в Distributed RL Launch System
1) оказывается можно запускать несколько экспериментов на одной тачке. RTX 4090 (24Gb) вполне это позволяет и по памяти, и по загрузке 2) оказывается ВПС в селектеле можно делать прерываемым - это на 70% дешевле. Такой сервак правда может стопнуться в любой момент и работает не более 24 часов. В итоге можно сразу несколько ВПС-ок поднять 3) если запускать несколько экспериментов в лоб, то они будут наступать друг другу на пятки и конкурировать на одни и те же CPU. Значит, надо сделать так, чтобы эксперименты запускались на разных CPU 4) ещё выясняется, что если запускать каждый эксперимент изолированно друг от друга, то у каждого из них будет свой CUDA контекст. С одной стороны это хорошо, т.к. изоляция и вот это вот всё. Но с другой стороны за это приходится платить, т.к. появляется постоянное переключение контекстов. Выход: использовать MPS сервер. Это типа брокера, который выставляет один контекст и все его дружно используют. Таким образом накладные расходы от параллельных запуском снижаются 5) оказывается, что нужно ещё учитывать NUMA топологию. Если есть несколько CPU сокетов, то надо эксперименты запускать так, чтобы они по максимуму сидели на одной NUMA ноде. Иначе будут накладные расходы на доступ к памяти с одной ноды на другой. Плюс GPU тоже привязан к NUMA ноде. В итоге получается винегрет, как это было на baki. 6) ещё выясняется, что ВПС-ки лучше создавать в начале часа, т.к. стоимость их аренды гранулярна часу. Т.е. аренда ВПС-ки с 12:01 до 13:59 - оплатишь 2 часа, и 12:55 до 13:15 - тоже оплатишь за 2 часа.