Windows Server 2008 R2 - Supporto multiprocessore asimmetrico
Salve a tutti!
Fino a Windows Vista/2008 il sistema operativo supportava motherboard multiprocessore con processori anche diversi tra di loro per Family e Stepping.
Ad esempio, diverse serie di Server venivano fornite nativamente con una motherboard multiprocessore, ma con un processore solo. Un secondo processore poteva essere acquistato e aggiunto successivamente qualora ci si fosse resi conto che era necessario.
Poteva però succedere che tra il momento dell’acquisto del server e l’acquisto del secondo processore, fosse passato del tempo, tale per cui il processore che veniva fornito non era più “esattamente” come il primo, ma magari poteva avere uno Stepping diverso, sebbene appartenente alla stessa Family.
Bene, fino a Vista/2008 non c’era problema, la configurazione era supportata.
O meglio, qualche problema poteva anche esserci, vedi ad esempio:
973879 You receive a "Stop 0x0000003E" error message when you try to install Windows Vista Service Pack 2 or Windows Server 2008 Service Pack 2 on a computer that has certain multiple processors
http://support.microsoft.com/default.aspx?scid=kb;EN-US;973879
ma essendo una configurazione supportata, veniva rilasciata una hotfix.
Ora, se invece si cerca di fare l’upgrade di un server multiprocessore che però ha processori diversi per Family e/o Stepping, si riceverà un errore bloccante tipo:
Stop: 0X0000003E "MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED" .
Il problema reale qui è il Logo Program.
Ufficialmente Microsoft non supporta hardware che non è passato attraverso il Logo Program.
Gli OEM, non presentano macchine al Logo Program con configurazioni miste di processori, perchè per loro non ha senso e perchè queste combinazioni sarebbero troppe. A causa di questo Microsoft non è in grado di certificare che una determinata combinazione potrebbe funzionare o meno.
Siccome quell’hardware non è passato attraverso il Logo Program, non è supportato.
Quindi, Windows Server 2008 R2 ufficialmente non supporta macchine multiprocessore dove i processori sono diversi tra di loro per Family e/o Stepping.
Se si cerca di installare Windows 2008 R2 su una macchina con quelle caratteristiche, il risultato sarà un Blue Screen con l’errore
Stop: 0X0000003E "MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED" .
Alla prossima!
Mario Raccagni
Senior Support Engineer
Microsoft Enterprise Platform Support
Comments
- Anonymous
January 01, 2003
Ciao Daniele, Grazie per il tuo commento e comprendiamo il tuo punto di vista. Da ulteriori verifiche è necessario distinguere come il check tra i processori avviene internamente e le policy di supportabilità. Tecnicamente il check avviene sulle "feature" che il processore espone, sul numero di Core per processore, il numero di processori logici per Core (Hyper-Threading) e alcuni altri parametri interni del processore (caratteristiche della cache, ecc.). Evidentemente i parametri citati devono essere identici tra tutti i processori, altrimenti l'OS dovrebbe gestire esplicitamente queste assimetrie. Dal punto di vista della supportabilità, come citato nel post, Microsoft ha sempre considerato supportata una piattaforma presente nel Windows Server Catalog. Per il motivo sopra esposto, un server con processori diversi, sia tecnicamente compatibili o meno, non è sottoposta ai testi di certificazione dal produttore. Quindi la situazione in cui il server genera uno STOP 0X0000003E "MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED" può ricadere in 2 casi principali:
- Processori tecnicamente incompatibili
- Altri problemi nel confronto delle feature (es. KB 973879, modalità in cui le feature dei processori sono esposte dall'HW, ecc.) Nel primo caso il bluescreen è correttamente sollevato, negli altri casi Microsoft non può prendersi carico di analizzare la causa alla radice del problema in quanto siamo in una condizione non certificata da parte del produttore e pertanto non supportata. Grazie e Buona giornata. Mario Raccagni
- Anonymous
October 09, 2010
Interessante articolo, ma deplorevole logica. Capisco il supporto hardware fornito tramite certificazione da parte Microsoft delle varie soluzioni, ma ciò significa che se voglio passare da una configurazione un monoprocessore (o biprocessore) su piastra dual socket (o quad socket) devo ricomprare 2 CPU (4 CPU) anzichè 1 (2) , poer essere certo di comprare CPU della stessa famiglia e dello stesso step di costruzione?? DIrei che in questo modo mi scordo la scalabilità del sistema operativo, soprattuto in ambiente virtuale!!