Sammenligningstabel
Grunnlag for sammenligning | multi | multithreading |
---|---|---|
grunn~~POS=TRUNC | Multiprosessering legger til CPUer for å øke datakraften. | Multithreading oppretter flere tråder av en enkelt prosess for å øke datakraften. |
Henrettelse | Flere prosesser utføres samtidig. | Flere tråder av en enkelt prosess utføres samtidig. |
Opprettelse | Opprettelse av en prosess er tidkrevende og ressursintensiv. | Oppretting av en tråd er økonomisk både i tid og ressurs. |
Klassifisering | Multiprosessering kan være symmetrisk eller asymmetrisk. | Multithreading er ikke klassifisert. |
Definisjon av Multiprosessering
Et multiprosesseringssystem er en som har mer enn to prosessorer. CPUene legges til systemet for å øke datamaskinens hastighet. Hver CPU har sitt eget sett med registre og hovedminne. Bare fordi CPUer er separate, kan det hende at en CPU ikke har noe å behandle og kan ligge tomgang og den andre kan være overbelastet med prosessene. I slike tilfeller deles prosessene og ressursene dynamisk mellom prosessorene.
Multiprosessering kan klassifiseres som symmetrisk multiprosessering og asymmetrisk multiprosessering . I symmetrisk multiprosessering er alle prosessorer fri til å kjøre noen prosess i et system. I asymmetrisk multiprosessering er det et master-slaveforhold blant prosessorene. Mesterprosessoren er ansvarlig for å overføre prosessen til slaveprosessorer.
Hvis prosessoren har integrert minnekontroller, vil tilførselsprosessoren øke mengden adresserbart minne i systemet. Multiprosessering kan endre minnetilgangsmodellen fra enhetlig minnetilgang til ikke- enhetlig minnetilgang . Den enhetlige minnetilgangen belaster samtidig for å få tilgang til noe RAM fra hvilken som helst prosessor. På den andre siden utgjør ikke-jevn minne tilgang lenger tid for å få tilgang til en del av minnet enn de andre delene.
Definisjon av multithreading
Multithreading er utførelsen av flere tråder av en enkelt prosess samtidig i sammenheng med den prosessen. La oss først diskutere hva som er en tråd? En prosessråd betyr et kodesegment av en prosess, som har sin egen tråd-ID, programteller, registre og stabel og kan utføre selvstendig. Men tråder som tilhører samme prosess, må dele eiendelene til prosessen som kode, data og systemressurser. Å skape separate prosesser for hver tjenesteforespørsel forbruker tid og eksossystemressurser. I stedet for å pådra seg denne overhead, er det mer effektivt å lage tråder av en prosess.
Å lage en tråd er økonomisk fordi den deler koden og dataene til prosessen de tilhører. Så systemet trenger ikke å tildele ressurser separat for hver tråd. Multithreading kan økes på multiprocessing operativsystem. Som multithreading på flere CPUer øker parallelliteten .
Nøkkelfordeler mellom flerprosessering og multithreading
- Hovedforskjellen mellom multiprocessing og multithreading er at multiprocessing tillater at et system har mer enn to CPUer lagt til systemet mens multithreading lar en prosess generere flere tråder for å øke systemhastigheten til et system.
- Multiprosesseringssystemet utfører flere prosesser samtidig, mens multithreadingssystemet utfører flere tråder av en prosess samtidig.
- Å lage en prosess kan forbruke tid og til og med avgjøre systemressursene. Men å lage tråder er økonomisk som tråder som tilhører samme prosess, deler eiendommene til den prosessen.
- Multiprosessering kan klassifiseres i symmetrisk multiprosessering og asymmetrisk multiprosessering, mens multithreading ikke er klassifisert videre.
Konklusjon:
Fordelene ved multithreading kan gradvis økes i multiprocessing miljøet, fordi multithreading på et multiprosesseringssystem øker parallelliteten.