Препоръчано, 2024

Избор На Редактора

Разлика между симетрична и асиметрична многопроцесорна обработка

Съществуват два вида мултипроцесорни, симетрични и асиметрични процесори. Многопроцесорна система има повече от един процесор и те могат да изпълняват множество процеси едновременно. В Symmetric Multiprocessing процесорите споделят една и съща памет. В Асиметричен Multiprocessing има един главен процесор, който контролира структурата на данните на системата. Основната разлика между Symmetric и Asymmetric Multiprocessing е, че в Symmetric Multiprocessing всички процесори в системата изпълняват задачи в OS. Но, в Асиметрична Multiprocessing само главен процесор изпълнение задача в OS.

Можете да диференцирате симетричен многопроцесорен и асиметричен мултипроцесор на някои други точки, които са обсъдени в таблицата за сравнение, показана по-долу.

Сравнителна таблица

Основа за сравнениеСиметрично многопроцесорно обработванеАсиметрична многопроцесорна обработка
ОсновенВсеки процесор изпълнява задачите в операционната система.Само мастер процесор изпълнява задачите на операционната система.
процесПроцесорът приема процеси от обща готова опашка или може да има частна готова опашка за всеки процесор.Главният процесор възлага процеси на подчинените процесори или те имат някои предварително дефинирани процеси.
архитектураВсички процесори в Symmetric Multiprocessing имат същата архитектура.Всички процесори в асиметрична многопроцесорна обработка могат да имат същата или различна архитектура.
общуванеВсички процесори комуникират с друг процесор чрез споделена памет.Процесорите не трябва да комуникират, тъй като се управляват от главния процесор.
неуспехАко процесорът се провали, изчислителният капацитет на системата намалява.Ако главният процесор не успее, подчиненото устройство се обръща към главния процесор, за да продължи изпълнението. Ако един подчинен процесор се провали, задачата му се превключва на други процесори.
лекотаСиметричният многопроцесорен процесор е сложен, тъй като всички процесори трябва да бъдат синхронизирани, за да поддържат баланса на натоварването.Асиметричният многопроцесорен процесор е прост, тъй като главният процесор има достъп до структурата на данните.

Дефиниция на симетричната мултипроцесия

Symmetric Multiprocessing ( Симетрична многопроцесорна обработка) е тази, при която всички процесори изпълняват задачите в операционната система. Той няма връзка майстор-подчинен като асиметрична многопроцесорна обработка. Всички процесори тук комуникират чрез споделена памет .

Процесорите започват да изпълняват процесите от общата готова опашка. Всеки процесор може също да има своя собствена опашка от готови процеси, за да се изпълни. Трябва да се погрижи планиращият да не изпълнява един и същ процес.

Симетричното многопроцесорно обработване има правилно балансиране на натоварването, по-добра отказоустойчивост и също така намалява вероятността за затруднено процесорно устройство. Тя е сложна, тъй като паметта се споделя между всички процесори. В Symmetric Multiprocessing (Процес на симетрично многопроцесорно обработване) отказът на процесора води до намаляване на изчислителния капацитет .

Дефиниция на асиметричната многопроцесорна обработка

Асиметричното мултипроцесиране има връзката майстор-роб между процесорите. Има един главен процесор, който контролира оставащия подчинен процесор. Главният процесор извлича процеси до подчинен процесор или може да има определена предварително зададена задача.

Главният процесор управлява структурата на данните . Планирането на процесите, обработката на I / O и други системни дейности се контролира от главния процесор .

В случай, че главният процесор се провали, един процесор сред подчинения процесор се превръща в главен процесор, за да продължи изпълнението. В случай, че подчинен процесор се провали, другият подчинен процесор поема неговата работа. Асиметричната многопроцесорна обработка е проста, тъй като има само един процесор, който контролира структурата на данните и всички дейности в системата.

Основни разлики между симетрични и асиметрични мултипроцесии

  1. Най-различимата точка между симетричната и асиметричната многопроцесорна обработка е, че задачите в операционната система се обработват само от главния процесор в асиметричната многопроцесорна обработка. От друга страна, всички процесори в симетрична многопроцесорна обработка изпълняват задачите в операционната система.
  2. При симетрично многопроцесорно обработване всеки процесор може да има своя собствена частна опашка от готови процеси или те могат да приемат процеси от обща готова опашка. Но при асиметрична многопроцесорна обработка главният процесор възлага процеси на подчинените процесори.
  3. Всички процесори в Symmetric Multiprocessing имат същата архитектура. Но структурата на процесорите в асиметричния мултипроцесор може да се различава.
  4. Процесорите в симетрична многопроцесорна комуникация комуникират помежду си чрез споделената памет. Въпреки това, процесорите в Асиметричен Multiprocessing не трябва да общуват помежду си, тъй като те се контролират от главния процесор.
  5. В случай, че главният процесор е неуспешен, подчиненият процесор се превръща в главен процесор, за да продължи изпълнението. Но ако един процесор в симетрична многопроцесорна обработка се провали, изчислителният капацитет на системата се намалява.
  6. Асиметричният многопроцесорен процесор е прост, тъй като само главният процесор има достъп до структурата на данните, докато симетричният мултипроцесор е сложен, тъй като всички процесори трябва да работят в синхрон.

Заключение:

Мултипроцесорите увеличават скоростта на системата, тъй като могат да се изпълняват множество процеси едновременно. Асиметричната многопроцесорна обработка е проста, само един процесор (главен) има достъп до структурата на данните. Докато Symmetric Multiprocessing е сложна, тъй като структурата на данните се споделя между всички процесори и всички процесори трябва да работят в синхрон.

Top