Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Dmitry.Karpov
Зарегистрирован: 30.11.2003 Сообщения: 415 Откуда: Moscow
|
Добавлено: Вс Май 02 2004 11:02 Заголовок сообщения: Распараллеливается ли компиляция ядра по процессоррам? |
|
|
Как известно, не всякая программа допускает распараллеливание своего выполнения, и тогда на многопроцессорной системе она будет выполняться не быстрее, чем на однопроцессорной. Кроме того, у каждой пограммы есть лимит параллельно выполняющихся ветвей.
Мне интересно, распараллеливается ли компиляция/сборка ядра FreeBSD на многопроцессорной машине, и на сколько процессоров она м.б. распараллелена (хотя ответ типа "на 23 процессора" имеет скорее чисто теоретическую ценность).
Ну а также интересно, как распараллеливаются др.программы типа MySQL, Squid и т.п. _________________ Благословен Бог, сотворивший меня сисадмином! |
|
Вернуться к началу |
|
|
ryabinkin
Зарегистрирован: 01.12.2003 Сообщения: 152 Откуда: Moscow
|
Добавлено: Вс Май 02 2004 16:06 Заголовок сообщения: Да... |
|
|
Насколько мне известно, компиляция может быть распараллелена на n потоков опцией make -j n _________________ Из двух спорящих виноват тот, кто умнее. |
|
Вернуться к началу |
|
|
TechNoir
Зарегистрирован: 22.08.2003 Сообщения: 1632 Откуда: Moscou
|
Добавлено: Вс Май 02 2004 16:10 Заголовок сообщения: |
|
|
Немного не в тему >
А для чего тут народ MySQL использует? _________________ Vive la Russie! |
|
Вернуться к началу |
|
|
Dmitry.Karpov
Зарегистрирован: 30.11.2003 Сообщения: 415 Откуда: Moscow
|
Добавлено: Пн Май 03 2004 12:43 Заголовок сообщения: |
|
|
TechNoir писал(а): | А для чего тут народ MySQL использует? |
Думаю, для транзакций - самопальные скрипты при параллельной работе обычно "валят" базу вопросов и ответов. Это если "тут" == "на http://forum.citforum.ru/". _________________ Благословен Бог, сотворивший меня сисадмином! |
|
Вернуться к началу |
|
|
совсем незнакомый
Зарегистрирован: 24.12.2003 Сообщения: 183 Откуда: Israel
|
Добавлено: Вт Май 04 2004 14:58 Заголовок сообщения: |
|
|
Не вижу никакой разницы между компиляцией ядра или обыкновенной программы.
но вопрос интересный :)
Мне конечно понятно, что если gcc умеет паралеллить и бегущее ядро с SMP - то и ядро он закомпиляет распараллеллено.
Но тут же возникает несколько вопросов:
ты спрашиваешь о "курице и яйце"(1) или если компиляция происходит на поддерживающем SMP ядре(2) ?
и вообще - ты хочешь чтобы просто несколько gcc компиляли несколько .С файлов или же чтобы сама компиляция каждого из файлов распределялась на несколько процессоров ?
:)
если 1. => есссно - нет никакой параллелизации.
если 2. => и gcc пересобран с поддержкой SMP.
а вот насчёт второго своего вопроса ... не знаю что и ответить :) |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Май 04 2004 18:18 Заголовок сообщения: |
|
|
Думаю компиляция Фряхи, Линукса, Tru64 и других ОС не очень оригинальны в исполнении.
Запускается make с нужными опциями и вперед.
make будет запускать gcc не в порядке очереди, а сразу несколько экзмепляров. Таким образом организуется загрузка процессоров SMP-системы и результат компиляции ядра можно получить несколько быстрее.
Не все проги можно так компилить, а особенно линковать. |
|
Вернуться к началу |
|
|
|