Linux SMP
6 отговора
273 прегледа
Linux SMP
kakwo e nuzhno za da se izpolzwat dwa ili poweche procesora na edna linux mashina? Dostatuchno li e samo qdroto da e kompilirano sus SMP i da si gi wizhda wsichkite procesori ili trqbwa i software da se precompilira s flagowe za multiprocessor support?
Re: Linux SMP
Nuzen ti e samo SMP na kernel-a - ako si s Debian i Intel Pentium si ima daze gotov. Ina4e Software si varvi rasbirase sas normalnite versii - ne e nusno d asi kompilirash sobstveni - osven ako ne si s Gentoo rasbira se :-)
Dokato sarezda kernel-a ti se pojavjavat gore v ljavo 2 pingvina a ne e edin , ina4e mozesh da vidish i v proc-sistemata
Viel Spaß
Dokato sarezda kernel-a ti se pojavjavat gore v ljavo 2 pingvina a ne e edin , ina4e mozesh da vidish i v proc-sistemata
Viel Spaß
тааака ли? :>
а на мен що не ми се появяват пингвини... :>
та чак пък два... много пиене ще да е било...
Re: тааака ли? :>
moge i poveche :) ... v zavisimost ot kolichestvoto :) ... ot kakvoto i da e
Mи и с Ентерпрайз кърнела си върви
Даже с хипер треадинг от 2 ЦПУ-тата стават 4.
го фигюр
:)))
го фигюр
:)))
Re: Mи и с Ентерпрайз кърнела си върви
Vjarno e - no te nesa kato realni - hyperthreading si ima predimstva i nedostataci - savisi ot application-a.
4 nevinage e pove4e ot 2
4 nevinage e pove4e ot 2
Предупреждение
Ако софтуерът, който използваш е направен с мисъл за поддръжка на много процесори, _може_ и да ти се наложи да го прекомпилираш. Не се знае. Обикновено не се налага. Малко теория, за да ме разбереш:
Вторият процесор не може директно да помогне на другия. Примерно единия да изпълнява четните, а другия нечетните по ред инструкции
. Обикновено в масовото програмиране се използва следния подход: задачата се разбива на няколко независими подзадачи, като всяка подзадача може да се изпълнява от втори (трети, ...) процесор. Ако нямаш свободен процесор, задачата чака, докато някой се освободи. Или, на нея се превключва от време на време (случаят, в който всяка задача работи в собствена нишка). Този подход е достатъчно добър в общия случай, няма особено големи синхронизационни проблеми.
Така че, ако създателите на софтуера са се погрижили да си разделят задачата на части, в 99% от случаите няма какво повече да правиш. Програмата просто ще почне да ползва втория процесор, ако го има.
Не съм виждал, но е възможно (с цел ефективност?) програмата да се компилира иначе за един процесор. Примерно защото малко или много нишките ядат ресурс и е възможно работата да се свърши по-бързо, ако не се губи време в превключване между нишките. Но едва ли, най-малкото защото този подход означава, че трябва да пишеш част от кода два пъти.
Та всъщност, предупреждението ми е, че ако програмата, която използваш не е мислена за много процесори, няма да спечелиш от втория си процесор. Разбира се, ако пуснеш втора програма, тя ще тръгне на него и ще си на делавера, но само една програма, ако не е мислена, няма да почне да работи по-бързо.
Вторият процесор не може директно да помогне на другия. Примерно единия да изпълнява четните, а другия нечетните по ред инструкции
Така че, ако създателите на софтуера са се погрижили да си разделят задачата на части, в 99% от случаите няма какво повече да правиш. Програмата просто ще почне да ползва втория процесор, ако го има.
Не съм виждал, но е възможно (с цел ефективност?) програмата да се компилира иначе за един процесор. Примерно защото малко или много нишките ядат ресурс и е възможно работата да се свърши по-бързо, ако не се губи време в превключване между нишките. Но едва ли, най-малкото защото този подход означава, че трябва да пишеш част от кода два пъти.
Та всъщност, предупреждението ми е, че ако програмата, която използваш не е мислена за много процесори, няма да спечелиш от втория си процесор. Разбира се, ако пуснеш втора програма, тя ще тръгне на него и ще си на делавера, но само една програма, ако не е мислена, няма да почне да работи по-бързо.