ocehb: (Default)
[personal profile] ocehb
Придумал subj: как стандартными средствами в gnu уних/линух окружении
запустить на параллельное выполнение задачи, чтобы la не превышал какое-либо
значение. Например: есть каталог с тучей больших файлов, всех их надо
зипнуть или гзипнуть, задания можно запускать параллельно,
общий la не должен превышать 2.5.

пс. наверно пятничная задачка :)

Date: 2013-12-12 08:53 pm (UTC)
From: [identity profile] tarkhil.livejournal.com
Ну вообще-то один гзип дает LA=1...

Date: 2013-12-12 10:30 pm (UTC)
From: [identity profile] knutov.livejournal.com
Не все так просто :)

Если бы все упиралось только в проц - было бы LA=1. Но гзип не на ссд выест все дисковые иопсы и по цепочке тупить начнет всё. И вот как бы в этой ситуации придумать так, чтобы приоритет на иопсы от гзипа автоматически понижался чтобы LA не поднималось выше заданного - это действительно интересная задачка.

Вот только дешевле тупо просто вообще все перевести на ссд.

Date: 2013-12-12 11:19 pm (UTC)
From: [identity profile] nponeccop.livejournal.com
По условию задачи у нас гзип с тучей больших файлов и не 100500 ядер, а 2-3.

В такой ситуации gzip не выест ни IOPS, ни transfer speed. У Gzip никудышный по современным меркам алгоритм, скорость сжатия порядка 20 мб на ядро. Т.е. задача cpu-bound.

Но в условии не сказано, что крутится на машине. На непустой задаче мы вполне сможем упереться в IO, но, как я понимаю, загрузка всего лишь перейдет в графу wa, т.е. принципиально не важно, во что мы уперлись.

Можно попробовать слать гзипам стоп-конт, можно попробовать запустить процессы в cgroup и менять группе cpu.shares, но это linux specific/





Date: 2013-12-12 10:28 pm (UTC)
From: [identity profile] knutov.livejournal.com
А ответ будет?

Date: 2013-12-12 10:50 pm (UTC)
From: [identity profile] knutov.livejournal.com
Без разницы, мне просто интересно.

Date: 2013-12-12 11:24 pm (UTC)
From: [identity profile] knutov.livejournal.com
Круто. Я о таком варианте вообще не думал )

Date: 2013-12-13 12:30 am (UTC)
From: [identity profile] vlad (from livejournal.com)
в принципе правильно, но смахивает на читерство ;)

задачка из разряда: как передать параллельно кучу файлов с суммарной скоростью не больше 100кб/сек

Date: 2013-12-13 06:29 pm (UTC)
From: [identity profile] vlad (from livejournal.com)
ну тут в любом случае необходим некий диспетчер (сейчас это make), который будет следить за LA и ограничивать. можно его баше написать, можно на руби,js,C и тп, принципиальной разницы нет

Profile

ocehb: (Default)
ocehb

January 2021

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 7th, 2025 04:22 am
Powered by Dreamwidth Studios