На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Закрыто kanes 17-02-2009: Введите причину закрытия темы здесь

Страницы: (1182) « Первая ... 764 765 [766] 767 768 ...  1181 1182  ( Перейти к последнему сообщению )  
> Windows vs Linux - Как десктоп , и игровая станция.
    Короче, если верить MSDN, шедулинг осуществляется так. Для каждого процессора из очереди процессов, желающих выполнить свои треды берется ближайший к началу очереди, имеющий наивысший приоритет. На него переключается этот процессор. Та же операция повторяется для всех цпу.
    То есть, если есть система с 2мя процессорами и на ней выполняется приоритетный процесс с двумя тредами, то треды займут оба процессора, но фиксироваться на конкретных процессорах они не будут. То есть между собой они могут меняться местами. По крайней мере опровержения этому, или какое-либо упоминание об affinity я не нашел.

    У best_lammer процесс занимал своим единственным рассчетным тредом скорее всего 1й процессор.
    Сообщение отредактировано: Unhealer -
      Цитата rusty_angel @
      Так ты о процессе или о потоке?
      Насколько я помню, в таскменеджере вендовом приоритеты процессам всё-таки назначаются.

      Приоритет назначается потоку. Процессу назначается класс приоритета, который учитывается при рассчёте приоритета его потоков.

      Надо полагать, произошло примерно следующее. В момент назначения процессу класса приоритета real-time, работал один поток с приоритетом time-critical. Назначение привело к получению потоком максимального приоритета. А при наличии в системе потока с максимальным приоритетом, другие потоки процессорного времени не получат. На многопроцессорных системах возможна одновременная работа потоков с приоритетом 31 и 30, но таких, видать, просто не было.
        Цитата rusty_angel @
        Процесс может занимать только один процессор? :) Действительно, где есть инфа о том, что такое на самом приоритет RT в винде на SMP-системах?

        Нет такой инфы, афаик. RT priority и SMP systems - несвязанные между собой вещи.

        Цитата wind
        А при наличии в системе потока с максимальным приоритетом, другие потоки процессорного времени не получат.

        Ну, это очень упрощенно, и вообще говоря, не так. Даже при наличии готового к выполнению потока с более высоким приоритетом, может выполняться менее приоритетный поток, если он давно не получал процессорного времени.
          Цитата Unhealer @
          Это ничего не даст, т.к. потоков будет несколько, вычисления будут идти в одном, т.к. остальные отвечают за гуй и подобные ему вещи.

          Но все равно интересно знать, сколько у него потоков. Если 2 и меньше, то это не факт, что система рассчитана на многопроцессорность. Если больше двух, то вполне похоже на многопроцессорную конфигурацию.

          Кстати, а не может быть все гораздо проще? Может в настройках или конфигах нужно задать количество процессоров? Или он их сам детектит? А как тогда отличить Hyper Threading от реальной многопроцессорности?


          Цитата rusty_angel @
          Мне кажется глупостью. :)

          Обоснуй. Речь идет о распараллеливании потока. Один поток не может выполняться одновременно на двух процессорах. Поэтому он может быть распараллелен только таким образом: сначала выполняется на одном процессоре, потом этот процессор переключается на другие потоки, а поток выполняется в это время на другом процессоре. Поскольку время переключения исчисляется миллисекундами, то мы и имеем 50% загрузку каждого ядра, т.к. ресурсоемкий поток занимает примерно половину времени работы каждого процессора.
            Цитата Hryak @

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

            А есть где-нибудь точное описание алгоритма работы? Просто "может" и "если давно" звучит очень расплывчато.

            Добавлено
            Цитата Smike @

            Кстати, а не может быть все гораздо проще? Может в настройках или конфигах нужно задать количество процессоров? Или он их сам детектит? А как тогда отличить Hyper Threading от реальной многопроцессорности?


            Блин, закрыли тему про ансис. Я уже сказал, что есть специальные настройки. Конкретно: параметр NUM_PROC или комманда /CONFIG,NPROC, которые задают число процессоров, которые будут использованы, и (именно и, а не или) выбор солвера, который называется AMG (за него нужно заплатить дополнительно).

            Все. Вопрос вроде исчерпан и нефиг его обсасывать.
            Сообщение отредактировано: Unhealer -
              Цитата Hryak @
              Ну, это очень упрощенно, и вообще говоря, не так. Даже при наличии готового к выполнению потока с более высоким приоритетом, может выполняться менее приоритетный поток, если он давно не получал процессорного времени.

              Хм. Информационные источники, которыми я располагаю, такую возможность не допускают. Да, возможно выполнение менее приоритетного потока при ожидающем высокоприоритетном, но только если высокоприоритетный не обладает максимальным приоритетом.

              Цитата Unhealer @
              А есть где-нибудь точное описание алгоритма работы? Просто "может" и "если давно" звучит очень расплывчато.

              Я сейчас смотрю в книжку Джеффри Рихтера "Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows".
                Цитата Smike @
                Если больше двух, то вполне похоже на многопроцессорную конфигурацию.

                Ну, вот у меня, например, в Проводнике 12 потоков. Под какую конфигурацию рассчитан Проводник? :)

                Цитата Unhealer
                Просто "может" и "если давно" звучит очень расплывчато

                Вот, заставил лезть в книжку.
                "может" - если разница в приоритетах меньше 15.
                "давно" - более 300 тиков системного таймера (для Windows2000, по крайней мере). Сколько в секундах - зависит от разрешения таймера, узнать которое можно вызовом GetSystemTimeAdjustment()

                Источник: Соломон, Руссинович "Внутреннее устройство Windows 2000".
                  Цитата Unhealer @
                  Все. Вопрос вроде исчерпан и нефиг его обсасывать.

                  Unhealer, полегче :) Только наметилась очередная тема обсуждения - скоро придут остальные линуксоиды и обрушатся с критикой форточкиного планировщика задач :lol: Мы же не в тематическом разделе.
                    Да, ксати, чтобы уж совсем закончить с ансисом. Солвер переключается так:
                    ExpandedWrap disabled
                      EQSLV, Lab, TOLER, MULT

                    В данном случае,
                    ExpandedWrap disabled
                      EQSLV, AMG,,


                    Добавлено
                    Цитата wind @

                    Unhealer, полегче :) Только наметилась очередная тема обсуждения - скоро придут остальные линуксоиды и обрушатся с критикой форточкиного планировщика задач :lol: Мы же не в тематическом разделе.

                    Ну вот, поэтому лучше пофлеймить, чем объяснять кому-то, почему его софт работает не так, как он ожидает :)


                    Цитата Hryak @

                    Вот, заставил лезть в книжку.
                    "может" - если разница в приоритетах меньше 15.
                    "давно" - более 300 тиков системного таймера (для Windows2000, по крайней мере). Сколько в секундах - зависит от разрешения таймера, узнать которое можно вызовом GetSystemTimeAdjustment()

                    Большое спасибо за инфу.
                      Цитата Hryak @
                      Ну, вот у меня, например, в Проводнике 12 потоков.

                      Для адаптации приложения под работу в многопроцессорной системе нужно побольше, чем наличие более одного-двух потоков :)
                        Цитата wind @
                        Хм. Информационные источники, которыми я располагаю, такую возможность не допускают. Да, возможно выполнение менее приоритетного потока при ожидающем высокоприоритетном, но только если высокоприоритетный не обладает максимальным приоритетом.

                        Ну, противоречия между твоими и моими источниками нет. Я ведь сказал про магическое число 15. Еще добавить то, что приоритеты реального времени (16-31) динамически не изменяются, получится тот факт, что поток с 31 приоритетом может вытеснить только другой поток с 31 приоритетом.

                        Цитата
                        Для адаптации приложения под работу в многопроцессорной системе нужно побольше, чем наличие более одного-двух потоков

                        Дык, и я про то же...
                        Сообщение отредактировано: Hryak -
                          Цитата Smike @
                          Может в настройках или конфигах нужно задать количество процессоров? Или он их сам детектит?

                          По дефолту АНСИС все сам детектит. И надо сказать что все определяет правильно. Но и в ручную все это тоже настраивается.

                          Цитата Unhealer @
                          Блин, закрыли тему про ансис.

                          Ладно бог с ним с АНСИСом :yes: разве мало ресурсоёмких программ под винду? :whistle:

                          Обидно другое а именно то что как такового выигрыша от самой многопроцессорности лично я не вижу в упор. Стоимость железа намного выше. Стоит отдать должное по крайней мере один плюс есть :yes: таскменеджер постоянно доступен всмысле даже если прога свалась нафиг и кушает все ресурсы какие только может скушать то все равно есть возможность ее вырубить. Но кроме этого :wall:
                          К чему я? У моего любимого MAC есть серия MAC Pro :wub: это вполне нормальная серия компов с 8 процами 16 ГБ ОЗУ и 3-4 ТБ харда. Лично мне она очень нравится и я хотел бы приобрести одину из таких малюток себе домой. Так вот к чему разговор. Если перенести ситуацию на этот комп с 8мью процами то выйдет что при выставлении приложению приоритета "реального времени" это приложение займет один из 8ми процов скушая его целиком а все остальные 7мь в это время будут спокойно охлаждатся до запредельно низких температур еще замерзнут поди без работы.
                          Это все к чему? Я конечно могу ошибаться и мало того я не претендую на истину но помоему данный бред нельзя называть "приоритетом реального времени" :wall: На однопроцессорной и однопользовательской системе для чего кстати и создана винда ее "приоритет реального времени" имеет хоть какойто смысл. Но с переходом на многопроцессорные системы а главное с увеличением числа процессоров этот самый приоритет "реального времени" в виндовом исполнении теряет всякую логику и смысл.
                          Сообщение отредактировано: best_lamer -
                            best_lamer
                            Ну вот. Больше говорить не о чем. Чувствую, что ты нифига не разобрался и не можешь послушать тех, кто что-то знает. То есть спорить с табой бессмысленно. Ты все равно не будешь слушать. Такое чувство, что если бы тебе сказали то же самое те, кто занимался их дизайном, один фиг, ты бы и им не послушал.

                            Цитата best_lamer @
                            На однопроцессорной и однопользовательской системе для чего кстати и создана винда ее "приоритет реального времени" имеет хоть какойто смысл. Но с переходом на многопроцессорные системы а главное с увеличением числа процессоров этот самый приоритет "реального времени" в виндовом исполнении теряет всякую логику и смысл.

                            Ты хоть прочитал то, что говорилось выше?

                            Цитата best_lamer @
                            По дефолту АНСИС все сам детектит. И надо сказать что все определяет правильно. Но и в ручную все это тоже настраивается.

                            Я еще повторю, что ничего он не детектит. Его нужно настраивать. Сколько раз нужно повторить, чтобы ты понял?
                            Сообщение отредактировано: wind -
                              Цитата Unhealer @
                              Ну вот. Больше говорить не о чем. Чувствую, что ты нифига не разобрался и не можешь послушать тех, кто что-то знает. То есть спорить с табой бессмысленно.

                              И ты нифига не желаешь слушать :tong: Зачем тогда винда на многопроцессорной системе
                              вообще нужна если она с ней по человечески работать не может? ;)

                              Цитата Unhealer @
                              Я еще повторю, что ничего он не детектит. Его нужно настраивать. Сколько раз нужно повторить, чтобы ты понял?

                              Да стоят в настройках 2 процессора! >:( Я хоть и ламер но не даун слава Аллаху. И стояли кстати сразу непосредственно после установки т.е. я их туда не вписывал а кроме меня остаются еще Ктулх и АНСИС! Я только чисто ради интереса посмотрел 2 ли там проца стоит - стояло 2!!! Так что 2 проца в настройки АНСИСА вписал Ктулх аминь.
                              Сообщение отредактировано: wind -
                                Цитата best_lamer @

                                И ты нифига не желаешь слушать :tong: Зачем тогда винда на многопроцессорной системе
                                вообще нужна если она с ней по человечески работать не может? ;)

                                Я-то как раз пытаюсь понять, в чем твоя проблема. Почему-то у моих людей все работает по человечески и никто не жалуется. И на винде, и на распределенных системах.


                                Цитата best_lamer @
                                Да стоят в настройках 2 процессора! >:( Я хоть и ламер но не даун слава Аллаху. И стояли кстати сразу непосредственно после установки т.е. я их туда не вписывал а кроме меня остаются еще Ктулх и АНСИС! Я только чисто ради интереса посмотрел 2 ли там проца стоит - стояло 2!!! Так что 2 проца в настройки АНСИСА вписал Ктулх аминь.

                                У тебя NUM_PROC равен двум? Солвер переключен? Лицензия на него есть? Проверь лицензию. Если ты все настроил, скорее всего дело в ней.
                                Сообщение отредактировано: wind -
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (1182) « Первая ... 764 765 [766] 767 768 ...  1181 1182
                                Закрыто kanes 17-02-2009: Введите причину закрытия темы здесь



                                Рейтинг@Mail.ru
                                [ Script execution time: 0.9173 ]   [ 14 queries used ]   [ Generated: 5.11.26, 10:19 GMT ]