Форум: "Прочее";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];
ВнизПрограммы для модогядерных процессоров Найти похожие ветки
← →
DrPass © (2008-06-19 16:15) [40]
> KSergey © (19.06.08 16:05) [38]
> Я говорю о практических наблюдениях. Теория меня не интересует
Ну так и я в общем-то работал в свое время на 386 без сопра. Ничего, винда 3.1 вполне шустренько жужжала (на 8 мб ОЗУ). Это относительно современный софт сопр пользует по-полной где надо и не надо. А в начале 90-х без него вполне успешно обходились в большинстве случаев.
← →
stas © (2008-06-19 16:25) [41]Fin (19.06.08 13:01)
Смотря какое приложение, если сложных расчетов не делает не стоит заморачиваться, винда отдаст остальные ядра другим приложениям либо распределит между вашим и остальными приложениями.
А если ведутся какие-то расчеты типа перебор паролей в цикле, сжатие архива, обработка видео, тогда нужно определить сколько ядер в системе, и запустить столько циклов расчета (каждый со своими параметрами) в разных потоках.
← →
KSergey © (2008-06-19 16:56) [42]> DrPass © (19.06.08 16:15) [40]
> Ну так и я в общем-то работал в свое время на 386 без сопра.
> Ничего, винда 3.1 вполне шустренько жужжала (на 8 мб ОЗУ).
Я не говорю о том шустро или нет.
Я говорю о том, что без сопра одна и та же машина винду гоняла заметно медленнее. Вот и все.
А уж нафик ей FPU - я не знаю. Видимо координаты окон даблами описаны унутрях, либо синусы активно юзаются при перемещении окон :)
← →
Anatoly Podgoretsky © (2008-06-19 17:04) [43]> KSergey (19.06.2008 15:38:28) [28]
Это как нет надобности, тогда придется ждать когда процессор освободится, а так используется первый свободный.
← →
Anatoly Podgoretsky © (2008-06-19 17:06) [44]> KSergey (19.06.2008 15:39:29) [29]
Я имел удовольствие работать и с SX и DX разница небольшая есть, но далеко не в пользу SX или DX, а в пользу той платы где был установлен соопроцессор.
← →
stas © (2008-06-19 21:08) [45]Fin (19.06.08 15:53) [33]
Можно принудительно отправить поток на одно ядро, но єто может замедлить работу.
Делал такой опыт: Запускал программу кодирования видео (однопоточную), при этом нагрузка была на 2 ядра по 50% +1-5% других приложений, система работала без тормозов
стоило перекинуть процесс пережатия на одно ядро,
как все жутко начало тормозить, при этом 1 ядро загружено на 100%, 2-е 1-5%
← →
VirEx © (2008-06-20 07:54) [46]
> [45] stas © (19.06.08 21:08)
это да, к томуже читал статью о том как правильно настроить windows для работы на двуядернике: если в таск манагере графиг (кривые) загрузки первого и второго ядра разный, то это не есть гуд
← →
Anatoly Podgoretsky © (2008-06-20 09:00) [47]> VirEx (20.06.2008 7:54:46) [46]
Какая разница, если это не 100% то процессор простаивает, и без разницы простаивает одинаково или по разному.
Неправильно когда один нагружен на 100% а второй еле еле.
← →
VirEx © (2008-06-20 09:19) [48]
> Неправильно когда один нагружен на 100% а второй еле еле.
вот про это и говорю
← →
Anatoly Podgoretsky © (2008-06-20 10:22) [49]> VirEx (20.06.2008 9:19:48) [48]
Надо, что бы оба на 100%
← →
Fin (2008-06-20 11:07) [50]
> Anatoly Podgoretsky © (20.06.08 10:22) [49]
> > VirEx (20.06.2008 9:19:48) [48]Надо, что бы оба на 100%
как этого добиться или хотя бы приблизиться к таким показателям?
← →
DVM © (2008-06-20 11:09) [51]
> как этого добиться или хотя бы приблизиться к таким показателям?
много потоков создавай в каждом интенсивная работа - будет тебе 2 по 100
← →
KSergey © (2008-06-20 11:36) [52]> DVM © (20.06.08 11:09) [51]
> много потоков создавай в каждом интенсивная работаwhile true do
begin
i := i + 1;
end;
← →
Skyle © (2008-06-20 11:44) [53]
> KSergey © (20.06.08 11:36) [52]while true do ;
← →
Anatoly Podgoretsky © (2008-06-20 11:56) [54]> Fin (20.06.2008 11:07:50) [50]
Заменить программу.
← →
Fin (2008-06-20 12:16) [55]
> Anatoly Podgoretsky © (20.06.08 11:56) [54]
> > Fin (20.06.2008 11:07:50) [50]Заменить программу.
Ну это то конечно понятно.
Перефразирую вопрос. Собственно я уже упоминал, что сам процесс распоралеливания алгоритма выполняющего основную задачу оставляю за рамками обсуждения, добавлю только то, что исхожу из того, что он более или менее сбалансирован.
И вот тут интересно, то как (не именно код, а стратегия) управлять или распределять нагрузку по ядрам.
Как вариант вообще об этом не думать и то как поступит ОС так пусть и будет или имеет смысл вмешиваться.
← →
DVM © (2008-06-20 12:17) [56]
> или имеет смысл вмешиваться.
Лучше не вмешиваться.
← →
Котик Б (2008-06-20 12:27) [57]Уважаемый автор вопроса. Моё мнение таково:
- если вы не знаете зачем вам нужно распаралелить работу программы, то лучше пока этого не делать :)
- если ваша программа работает стабильно в один поток на 2х (3х-4х) процессоре - радуйтесь - она не мешает работать другим программам !
← →
KSergey © (2008-06-20 12:32) [58]> Skyle © (20.06.08 11:44) [53]
> while true do ;
Хотелось сделать работу поинтенсивнее :)
← →
Fin (2008-06-20 12:39) [59]
> Котик Б (20.06.08 12:27) [57]
- я знаю зачем распоралеливать! (и потом откуда вы вообще взяли, что я не знаю зачем это мне нужно?)
- я ещё больше буду радоваться когда она будет работать быстрее. Ну исходя из такой логики - зачем вообще что то делать, если в принципе работает. Ответ очень прост - это лично мне очень интересно, инетерсно послушать чужой опыт и нароботки в инетерсующих вопросах.
← →
Котик Б (2008-06-20 12:52) [60]Тогда мне непонятен ваш подход...
Вместо того чтобы найти и прочитать книжку или 2-3 статьи - вы хотите услышать сотни разных мнений, каждое из которых основано на собственном опыте.
Дабы не быть голословным - вот вам для затравки :)
http://www.dtf.ru/articles/read.php?id=39888
← →
VirEx © (2008-06-20 16:28) [61]
> [49] Anatoly Podgoretsky © (20.06.08 10:22)
> > VirEx (20.06.2008 9:19:48) [48]
>
> Надо, что бы оба на 100%
вот именно про это и говорю :)
← →
KSergey © (2008-06-20 17:32) [62]Наткнулся сегодня.
По-моему - очень интересная статья на заданную тему.
http://www.dtf.ru/articles/read.php?id=39888
← →
Fin © (2008-06-20 22:16) [63]
> KSergey © (20.06.08 17:32) [62]
уже было [60]
но статья интересная.
← →
полуиспользователь (2008-06-20 22:48) [64]Кстати, коль уж идёт речь о более одного процессорных системах, объясните пож., как это работает и чем управляется. Нагрузку на процессоры распределяет сама ОС, независимо от многопоточности приложения или оно должно быть многопоточным?
Я заметил при видеообработке на системе AMD Athlon 64 x2 XP5000+:
с Ulead VideoStudio 9, при кодировании уже непосредственно в DVD формат,
загружен только один процессор на все сто, другой же абсолютно бездействует. А вот при использовании Pinnacle Video Studio 10+, работают оба процессора на все сто. И интересно, что результат по скорости не в два раза а где-то в три, а то и поболее (субъективное измерение :-)) в пользу Pinnacle. Вот только Ulead Studio работает намного надёжнее: Pinnacle частенько виснет :-(
← →
Игорь Шевченко © (2008-06-20 22:58) [65]
> очень интересная статья на заданную тему.
интересная, хоть я к игрушкам никоим боком.
← →
Игорь Шевченко © (2008-06-20 22:59) [66]
> Нагрузку на процессоры распределяет сама ОС, независимо
> от многопоточности приложения или оно должно быть многопоточным?
>
Нагрузку распределяет сама ОС. Приложение должно быть многопоточным, чтобы выполняться одновременно на двух процессорах.
← →
полуиспользователь (2008-06-20 23:12) [67]
> Игорь Шевченко © (20.06.08 22:59) [66]
>
> Нагрузку распределяет сама ОС. Приложение должно быть многопоточным,
> чтобы выполняться одновременно на двух процессорах.
Спасибо. Я так и думал. Жаль, что Ulead Studio 9 кодирует в одном потоке. Есть конечно новые версии, но при каждом обновлении за всё нужно платить.
Вывод: если приложение, работающее в одном потоке и соответственно, неспособное распределиться по процессорам, переделать на многопоточность - можно сорвать дополнительные "бабки", разумеется, если оно интенсивно пожирает процессорное время.
← →
Игорь Шевченко © (2008-06-20 23:16) [68]
> Вывод: если приложение, работающее в одном потоке и соответственно,
> неспособное распределиться по процессорам, переделать на
> многопоточность - можно сорвать дополнительные "бабки",
> разумеется, если оно интенсивно пожирает процессорное время.
>
В случае, если его возможно распараллелить - безусловно.
← →
axis_of_evil © (2008-06-20 23:27) [69]> http://www.dtf.ru/articles/read.php?id=39888&page=5
Немного поэкспериментировав, я наконец выяснил, что наткнулся на распространенную проблему архитектур с распределенной памятью (shared memory architectures): одновременный доступ двух процессоров к близким участкам памяти заставляет внутренний контроллер сбрасывать кэш памяти.
После того, как я разнес структуры данных потоков на 256 байт путем добавления небольшого массива:
TMyThreadData data;
BYTE guard[256];
TMyThreadData data2;
Все стало на свои места:
...
Странно, но эта проблема не проявилась на HT-процессоре.
кто-нибудь может прокомментировать последнее?
// тесты автора, честно говоря, не разбирал - поверил на слово
← →
Игорь Шевченко © (2008-06-20 23:36) [70]
> Странно, но эта проблема не проявилась на HT-процессоре.
>
>
> кто-нибудь может прокомментировать последнее?
Могу только сказать, что HT - это не совсем полноценная многоядерность. В частности, кэш, насколько мне известно у них общий.
← →
boa_kaa © (2008-06-20 23:43) [71]
> axis_of_evil © (20.06.08 23:27) [69]
прочитал...
не пойму только одного: автор ставил хотфикс майкрософтовский?
← →
Leonid Troyanovsky © (2008-06-21 12:04) [72]
> axis_of_evil © (20.06.08 23:27) [69]
> кто-нибудь может прокомментировать последнее?
http://rsdn.ru/?article/baseserv/RUThreadingMethodology.xml
--
Regards, LVT.
← →
axis_of_evil © (2008-06-21 23:20) [73]
Игорь Шевченко © (20.06.08 23:36) [70]
> В частности, кэш, насколько мне известно у них общий.
это объясняет :>
спасибо - мне как раз было интересно, чем реализация НТ отличается от реализации двух процессоров
← →
KSergey © (2008-06-22 08:49) [74]> Fin © (20.06.08 22:16) [63]
> > KSergey © (20.06.08 17:32) [62]
> уже было [60]
И правда, извиняюсь за невнимательность. Хотя по тому посту у меня не хватило соображения ее почитать, наткнулся потом случайно :)
← →
KSergey © (2008-06-22 08:57) [75]> Игорь Шевченко © (20.06.08 22:58) [65]
> интересная
http://www.dtf.ru/articles/read.php?id=39888
Люди, а нет ли у кого доступа к комментариям? А то тама странные люди какие-то на этой сервере живут, только игрушечников пускают. А хотелось бы почитать, вдруг чего интересное есть.
← →
ol'ka (2008-06-22 21:49) [76]
> Dmitry S © (19.06.08 14:08) [8]
>
> > P.S. Моддинговые процессоры - а это идея.... :)
>
> Я както давно мечтал, чтобы на видеопроцессоре в качестве
> верхней поверхности микросхемы был маленький экран, который
> показывает тоже самое, что на мониторе:)
Этого мало нада еще к тому видеопроцессору такой здоровенный стеклянный сферический радиатор присобачить чтобы картинку увеличивал, бывают еще корпуса с прозрачной крышкой так вот можно его как проекционный экран использовать, боком на стол поставить и зырить ... чем черт не шутит может Apple свои модные маки так и делают у которых весь комп в мониторе!!!
← →
axis_of_evil © (2008-06-23 00:20) [77]
> Leonid Troyanovsky © (21.06.08 12:04) [72]
спасибо за ссылку :>
← →
stas © (2008-06-23 10:06) [78]полуиспользователь (20.06.08 22:48) [64]
Ulead кодирует медленно и неочень качественно, лучше maincondept, проблем никогда небыло использует многопоточность а также SSE и т.д.
← →
Slym © (2008-06-23 10:43) [79]А какже конвееры? они и на одном ядре "паралелят"
← →
Fin (2008-06-23 14:39) [80]
> Slym © (23.06.08 10:43) [79]
> А какже конвееры? они и на одном ядре "паралелят"
ну этот вопрос имхо вообще не из той оперы и что бы каким то образом ещё пытаться оптимальнее подстроиться под конвер, то скоре и писать программу надо как минимум на асемблере.
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];
Память: 0.62 MB
Время: 0.008 c