Anslut till Senaste Tekniska Nyheter, Bloggar, Recensioner

Multiprocessorsystem: Den andra fördelen

Med två processorer som knasar iväg på data som vilar fridfullt på din hårddisk och i ditt minne, som AnandTech redan tog upp med den första multiprocessoravbetalningen (se Multiprocessor Systems: The More the Merrier?), ställdes frågan, är de enda välgörare från denna teknik de som kör de mest komplexa CAD/Drafting-applikationerna? Eller de som renderar 20 MB bilder eller sätter ihop flera miljoner radfiler med till synes oändlig kod? Absolut inte, genom att begränsa benchmark-testerna från den ursprungliga artikeln till avancerade applikationer som var speciellt skrivna för multiprocessorsystem ignorerar vi uppenbart den andra fördelen som multiprocessorsystem erbjuder oss alla, ökad multitasking-prestanda.




Windows 9x-användare har ingen tur



Varje gång Microsoft är redo att släppa en ny version av deras operativsystem hör du ett antal buzzwords kring releasen, ett av de mest använda är produktivitet, och mer specifikt “ökad produktivitet”. Bytet till Windows 95 gav alla Windows-användare möjligheten att verkligen multitaska, även om en funktion som Linux-användare hade tagit för given ganska länge före den releasen, för de flesta användare var det ett märkbart hopp i effektivitetsnivåerna för deras dator var kapabel att uppnå. Istället för att behöva vänta på att en process ska slutföras innan du startar en ny, som att kopiera en katalog full av filer från en enhet till en annan medan du väntar på att använda Microsoft Word eller Corel WordPerfect, kan du nu kopiera filerna och köra dina applikationer på samtidigt. Wow, vilken prestation, vem skulle ha trott att det skulle ha tagit den större delen av PC-industrin så lång tid att komma med en så teoretiskt enkel lösning?


Bortsett från argumenten för effektiviteten i operativsystemet, var slutsatsen att med Windows 95 sänktes möjligheten att multitaska till hemanvändarens nivå. Ungefär som känslan du får när du introduceras för en ny, lat-framkallande produkt som du inte verkar släppa taget om, multitasking blev ett sätt att leva för en hel del användare som tidigare aldrig hade tänkt på ämnet. Alla de plötsliga användarna fick slut på minne för att hålla sina 3 webbläsare, 2 kontorssviter och utvecklingsprogram igång samtidigt, och missbruket växte till mycket mer än en enkel ökning av “produktiviteten”, snarare blev det ett sätt att bearbeta liv. Det väsentliga problemet med detta krav på multitasking-prestanda, åtminstone under Windows 9x, var det faktum att Windows 9x var fundamentalt begränsad av dess uni-processor-stöd, vilket gör att det enda sättet att öka prestandan är en uppgradering till en snabbare processor eller mer minne . Tyvärr är den totala prestandaökningen som ses av en uppgradering från en Pentium II 266 till en 400 till exempel inte så stor i jämförelse med den teoretiska prestandaökningen i multitasking-scenarier att lägga till en andra processor skulle ge dig.


Detta innebär att Windows 9x-användare återigen har otur med den högsta möjliga prestanda från ett system, vilket gör att den idealiska testbädden är Windows NT. Eftersom AnandTech fortsätter den pågående täckningen av multiprocessorsystem kommer koncentrationen av benchmarks att förbli Windows NT, men i framtida artiklar kan du förvänta dig benchmarks under Solaris och Linux för att illustrera operativ plattformsskillnader mellan identiska multiprocessorkonfigurationer.




Utmaningen



Du har två saker att göra, på två olika platser, samtidigt. Fysiskt omöjligt, eller hur? Korrekt. Detta var problemet som AnandTech tog upp i den ursprungliga artikeln, och jämförelsevis sett skulle sättet som en dator kan ta itu med ovannämnda dilemmat vara genom att lägga till en andra processor för att hantera den andra uppgiften. Logiskt sett är det helt vettigt, men som du kanske kan förvänta dig fungerar det inte så smidigt som alla skulle vilja ha det.


En processor är förmodligen en av de mest ointelligenta skapelser som människan känner till, den kan bara säga om en siffra är en 1 eller en 0, framgången för den stationära processorn beror på dess förmåga att göra miljontals av dessa jämförelser per sekund. Det är grundläggande datavetenskap i sin enklaste form, men vad händer när du lägger till en sekund av de mest ointelligenta skapelser som människan känner till i ekvationen? Två processorer kan inte nå en “kompromiss” sinsemellan om att bestämma vilken processor som ska hantera vilka operationer, och därför går en betydande andel av processorkraften som delas mellan de två processorerna förlorad i fördelningen av uppgifter, ett fel hos båda operativsystemet och multiprocessorsystemets arkitektur också.


Processorerna kommunicerar sinsemellan med samma hastighet som minnesundersystemet kommunicerar med chipsetet och med samma hastighet som processorn kommunicerar med chipsetet, denna frekvens kallas vanligen Front Side Bus eller FSB för kort. Den allmänna tumregeln här är att ju snabbare processorerna kan kommunicera med varandra, desto snabbare kommer systemets övergripande prestanda att bli, men som du snart kommer att få reda på finns det en begränsning för hur långt denna “regel” kommer att vägleda dig med flerprocessorsystem, åtminstone under Windows NT.


Den största svårigheten som man stötte på när man verkligen försökte visa prestandaskillnader i multitasking mellan enkel- och multiprocessorsystem under Windows NT var naturligtvis formuleringen av riktmärkena. Eftersom det inte finns någon fördefinierad uppsättning riktmärken som verkligen testar multitasking-förmågan hos ett multiprocessorsystem, fick AnandTech ta fram en anpassad, intern uppsättning riktmärken som enkelt kan reproduceras av alla som har tillgång till ett fåtal lättillgängliga verktyg. Innan vi går in i testmetoderna, låt oss ta upp några saker som har förändrats sedan den ursprungliga artikeln.