LINUX.ORG.RU

Linux и симметричная многопроцессорная система


0

0

В статье разобраны идеи, стоящие за многопроцессорной обработкой и созданием приложений для Linux, использующих SMP. Быстродействие системы Linux вы можете увеличить разными способами, и один из наиболее популярных -- увеличить производительность процессора. Очевидное решение -- использовать процессор с большей тактовой частотой, но для любой технологии существует физическое ограничение, когда тактовый генератор просто не может работать быстрее. При достижении этого предела вы можете использовать гораздо лучший подход и применить несколько процессоров. К сожалению, быстродействие имеет нелинейную зависимость от совокупности параметров отдельных процессоров.

>>> Подробности

Re: Linux и симметричная многопроцессорная система

Это очень даже хорошо. Но если требуется увеличение производительности одной программы, а не всей системы в целом...

Статья интересная для общего развития.

Quasar ★★★★★ ()

Re: Linux и симметричная многопроцессорная система

>уществует физическое ограничение, когда тактовый генератор просто не может работать быстрее.

На сколько мне известно, там несколько другое ограничение. Хотя и связанное с тактовой частотой. ;)

anonymous ()

Re: Linux и симметричная многопроцессорная система

> Системные требования Для запуска примеров из данного руководства минимальные системные требования следующие: компьютер с ОС Microsoft Windows XP с установленным ПО AIDE и Apache Tomcat V5. Интерфейс приложения JMX (API) входит в платформу Java 2 стандартной версии (J2SE) V5.0, поэтому особой установки не требуется (если у вас установлен J2SE V5.0).

Эта пять!

Virun ()

Re: Linux и симметричная многопроцессорная система

>Это очень даже хорошо. Но если требуется увеличение производительности 
>одной программы, а не всей системы в целом... 

>Статья интересная для общего развития.

Хм.
Не программист, но мысль интересна.
А что мешает на один проц повесить системму, а на остальной(ые) - задачи?
Причем, избранные.

Если не прав, то поправьте.

ИМХО, для вирутализаций - должно, классно помочь.

ManJak ★★★★★ ()

Re: Linux и симметричная многопроцессорная система

Статья не понравилась. Бросаются в глаза "неточности".

>Ранние SMP системы Linux были слабосвязанными многопроцессорными системами, то есть построенными из нескольких отдельных систем, связанных высокоскоростным соединением (таким как 10G Ethernet, Fibre Channel или Infiniband). Другое название такого типа архитектуры -- кластер

Бугага, это уже не smp, а многомашинная система. Тоже мне, сравнили usb с пальцем.

Хотя сами же выше пишут

>Архитектура SMP -- одна из тех, где два или более идентичных процессоров соединены друг с другом посредством разделяемой памяти.

Я бы еще общую ОС добавил, ну да ладно, не буду уже к "деталям" придираться. :D

Лучше все же черпать знания из проверенных источников.

anonymous ()

Re: Linux и симметричная многопроцессорная система

>Вспомните, что сила SMP заключается в TLP.

Эта пять! Если учесть, что tlp во всем тексте встречается лишь единожды, тут. Может кто-то перевести?

буга.. сила smp в абвгд. :D

anonymous ()

Re: Linux и симметричная многопроцессорная система

> А что мешает на один проц повесить системму, а на остальной(ые) - задачи?

Ничего не мешает. Хотя, вру, сломанный пакетный манагер может помешать.

Gharik ()

Re: Linux и симметричная многопроцессорная система

> А что мешает на один проц повесить системму, а на остальной(ые) -
> задачи?

ничто не мешает. много где примерно так и делается. но если делать так, то в случае одной задачи нет никакой разницы сколько там ядер. под одну задачу задействовано будет максимум одно ядро.
в смысле что девять женщин все равно не родят ребенка за месяц :) а требуется именно это

Tester ★★★ ()

Re: Linux и симметричная многопроцессорная система

>в смысле что девять женщин все равно не родят ребенка за месяц :) а требуется именно это

Ух ты! Хоть кто-то на лоре читает классическую литературу. =О 8)

anonymous ()

Re: Linux и симметричная многопроцессорная система

Кто знает что-то типа фреймворка в котором можно управлять очередью задач. Что-то очень простенькое, но в тоже время эллегантное :) Достаточно приоритетов и управления порядком выполнения.

Типа: queue_task -maxtasks 5 queue_task -run task1 queue_task -run task2 queue_task -run wait3 -wait task1 queue_task -remove task1 queue_task -list

anonymous ()

Re: Linux и симметричная многопроцессорная система

Кто знает что-то типа фреймворка в котором можно управлять очередью задач. Что-то очень простенькое, но в тоже время эллегантное :) Достаточно приоритетов и управления порядком выполнения.

Типа: queue_task -maxtasks 5

queue_task -run task1

queue_task -run task2

queue_task -run wait3 -wait task1

queue_task -remove task1

queue_task -list

anonymous ()

Re: Linux и симметричная многопроцессорная система

>А что мешает на один проц повесить системму, а на остальной(ые) - задачи?

>ИМХО, для вирутализаций - должно, классно помочь.

Ага, если еще каждому процессору назначить свой винчестер, сетевку и др. то поможет :)

По поводу статьи, лично меня покоребила фраза "При достижении этого предела вы можете использовать гораздо лучший подход и применить несколько процессоров" --- ИМХО, несколько процессоров --- это не гораздо лучший подход, а вынужденный, так как частоту поднимать не удается...

mky ★★★★★ ()

Re: Linux и симметричная многопроцессорная система

>Типа: queue_task -maxtasks 5
>queue_task -run task1

man qsub
man qhold


>queue_task -remove task1

man qdel

>queue_task -list

man qstat

А еще лучше сразу  man xpbs (для домохозяек ;))

http://www.doesciencegrid.org/public/pbs/xpbs.html

А вообще список уже привели ... ну можешь еще глянуть cleo из альтернатив.


PS: Сам юзаю Torque

sS ★★★★★ ()

Re: Linux и симметричная многопроцессорная система

ну.. с другой стороны после 9 месяцев у вас появится сразу 9 детей вместо одного, что фактически означает, что прирост производительности 9 женщин по сравнению с одной составляет 800%. Если у вас пероиод времени на выполнение задачи по увеличению населения больше чем 9 месяцев, то это очень хороший способ повысить производительность )).

ЗЫ. Читать так: если произведение П = (времени, нужного для выполнения задачи на одном процессоре * на количество задач) достаточно велико, чтобы быть заметным человеку, и частное Ч = П/(количество процессоров N) для человека заметно меньше П, и задачи легко разделяются между процессорами (как вынашивание детей между женщинами:) ) то многопроцессорная система даст заметное для человека увеличение производительности. Моё скромное мнение.

AndreyKl ★★★★★ ()

Re: Linux и симметричная многопроцессорная система

Каждый раз когда я читаю в переводе новости с ибм, мне кажется что перевод делает какой то бот.

Уж точно не технарь для которого русский - родной. И слишком много воды, мусора ни о чем. Вроде бы ит ресурс, для итишников, а чувствуется обращение как в психушке - врача с "потцыэнтом" - "да вы не волнуйтесь так, все будет хорошо, дада, именно так, голубчик, вот лучше скушайте таблетку и выпейте микстуру, это вам поможет".

Полезной информации как правило от силы 1%.

anonizmus ()

Re: Linux и симметричная многопроцессорная система

> Кто знает что-то типа фреймворка в котором можно управлять очередью задач. Что-то очень простенькое, но в тоже время эллегантное :) Достаточно приоритетов и управления порядком выполнения.

Спасибо всем посоветовашим!

anonymous ()

Re: Linux и симметричная многопроцессорная система

asmc это типа из оперы с тесла и pciexpress карточками с cell'ом.

Получаюется дешевле любого кластерного решения во многие разы. Хотя всетаки и не бросовой.

anonymous ()

Re: Linux и симметричная многопроцессорная система

> >Вспомните, что сила SMP заключается в TLP.

> Эта пять! Если учесть, что tlp во всем тексте встречается лишь единожды, тут. Может кто-то перевести?

> буга.. сила smp в абвгд. :D

скорее всего thread-level parallelism хотя статью не читал, гуглить про гранулярность параллелизации

filin ★★ ()

Re: Linux и симметричная многопроцессорная система

вообще, главная проблема как всегда в головах :(((

"Крупный банк в одной из Скандинавских стран, в течение полутора лет силами группы из 15 разработчиков создавал систему на базе технологии CORBA. За три месяца до пуска системы было «неожиданно» принято решение о прогоне тестов на производительность, в высоких показателях которой ни у кого из разработчиков не возникало и тени сомнения. По спецификациям, система должна была обеспечивать работу до тысячи биржевых брокеров, одновременно торгующих акциями.

Первые же тесты показали, что при симуляции уже лишь 120 «виртуальных пользователей» один шаг аутентификации (login) занимал около 40 секунд. При более детальном анализе выявилось, что несколько базовых модулей системы совершенно не масштабируемы. Классический подход типа «а мы добавим еще два 4-процессорных сервера» дал прирост производительности всего лишь на 15%. Доводка системы неожиданно для руководства проекта потребовала тысячу дополнительных человек-часов. В результате проект был сдан на два месяца позже ожидаемого срока, так и не придя в соответствие с требованиями. Его окончательная доводка проводилась «на лету» в течение полугода после начала коммерческого использования."

http://www.osp.ru/os/2002/05/181457/_p2.html

filin ★★ ()

Re: Linux и симметричная многопроцессорная система

>корее всего thread-level parallelism хотя статью не читал

А там и читать нечего

PS: TLP - да, это thread level parallelism

есть еще ILP - instruction level parallelism

sS ★★★★★ ()

Re: Linux и симметричная многопроцессорная система

превед Сергей,

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

"Parallel Execution Models

You can compare the available models for parallel programming on two features: granularity The relative size of the unit of computation that executes in parallel: a single statement, a function, or an entire process...

Process-Level Parallelism...

Thread-Level Parallelism...

Statement-Level Parallelism..."

http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/srch27@internationalizin g%20your%20app/0650/bks/SGI_Developer/books/T_IRIX_Prog/sgi_html/ch10.html

instruction-level parallelism это не программная, а железная модель распараллеливания (ну или набор приёмов/технологий/хаков используемых цпу-строителями) не доступная программно (на серийно выпускаемых наверное только за исключением итаника http://en.wikipedia.org/wiki/Itanium, да и то не уверен, используется ли она хоть кем-то или чем-то на итанике кроме компилера)

filin ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.