PDA

View Full Version : [NEWS] Vista SP1: Modifiche Copia File, Dettagli


c.m.g
06-02-2008, 19:01
6 febbraio 2008 alle 17.45

http://www.tweakness.net/imgarchive/Vista_SP1.jpg

Mark Russinovich, Microsoft Fellow e massimo esperto delle componenti interne di Windows, ha pubblicato un lungo ed interessante intervento (http://blogs.technet.com/markrussinovich/archive/2008/02/04/2826167.aspx) sul suo blog personale per descrivere nel dettaglio le modifiche che il colosso di Redmond ha implementato in Windows Vista SP1 (RTM da due giorni) per quanto riguarda i miglioramenti nelle funzioni di copia dei file. Russinovich spiega accuratamente e tecnicamente (http://blogs.technet.com/markrussinovich/archive/2008/02/04/2826167.aspx) il funzionamento della copia dei file nelle precedenti versioni di Windows, le modifiche introdotte in Windows Vista, e le correzioni ed ottimizzazioni integrate in SP1.

Ricordiamo che Vista SP1 (http://www.tweakness.net/news.php?&keys=vista%20sp1&wherenews=HEADER) include una serie di miglioramenti rispetto alla release originale del sistema per quanto riguarda compatibilità con le applicazioni, supporto per i dispositivi, gestione energetica, sicurezza ed affidabilità. Una lista dettagliata di tutte le modifiche introdotte in SP1 è disponibile nel documento whitepaper "Notable Changes in Windows Vista Service Pack 1 (http://download.microsoft.com/download/d/3/b/d3b63d2f-8016-4abe-9e76-cbd2fe89631e/Notable_Changes_in_Windows_Vista_Service_Pack_1_Release_Candidate.doc)", pubblicato recentemente da Microsoft sul suo Download Center.

Una delle novità evidenziate dal colosso riguarda il miglioramento delle performance nella copia dei file in svariati scenari, tra cui la copia di file in locale sullo stesso disco, la copia di file da sistemi remoti non-Vista, e la copia di file tra sistemi con Vista SP1.

Nel motore di copia file di sistema integrato nelle release precedenti a Windows Vista (come Windows XP), veniva sfruttato un approccio "cached mode": il motore apre entrambi file (sorgente e destinazione) e procede nella lettura e copia di 64KB alla volta (60KB per le copie di rete in base al limite del protocollo SMB1.0). La procedura di copia in questo caso viene svolta dal Windows Cache Manager che si occupa di gestire la memoria, le operazioni in background, e l'esecuzione del read-ahead asincrono.

In Windows Vista il motore di copia file è stato potenziato per svariati scenari chiave e problematiche, come la copia di grandi quantità di dati e il doppio-caching locale che si verificava nella copia dei file da un sistema remoto. Il motore è stato aggiornato in modo da preferire I/O asincroni di grandi dimensioni non-cached, con riduzione dell'utilizzo della CPU. Questo metodo ha tuttavia esposto altre problematiche, come la difficoltà nella stima accurata del tempo di avanzamento e il continuo spostamento della testina del disco in caso di copia di una gran numero di file di piccole dimensioni. Il team di sviluppo ha quindi implementato un algoritmo che si occupa di utilizzare "I/O cached" per i file più piccoli di 256KB, e "non-cached I/O" per i file più grandi (in base ad una matrice interna per determinare numero e dimensioni degli I/O).

[continua a pagina 2]

Link per approfondimenti:
Russinovich Blog (http://blogs.technet.com/markrussinovich/archive/2008/02/04/2826167.aspx)
Notable Changes in Windows Vista SP1 (http://download.microsoft.com/download/d/3/b/d3b63d2f-8016-4abe-9e76-cbd2fe89631e/Notable_Changes_in_Windows_Vista_Service_Pack_1_Release_Candidate.doc)


Fonte: Russinovich Blog (http://blogs.technet.com/markrussinovich) via Tweakness.net (http://www.tweakness.net/index.php?topic=4339)

Pagina 1 di 2

c.m.g
06-02-2008, 19:04
06 febbraio 2008 alle 17.45

http://www.tweakness.net/imgarchive/Vista_SP1.jpg

[continua da pagina 1]

Pur rappresentando un miglioramento rispetto al motore precedente, questo algoritmo presenta alcuni svantaggi, come le operazioni di scrittura "out-of-order" durante la copia di file attraverso una rete. Un problema più grande nell'utilizzo degli "I/O non-cached" è il calo di prestazioni in alcuni scenari, come la copia di gruppi di file in un "file share" che rappresenta i contenuti di un sito web. Inoltre durante la copia di grandi gruppi di file tra 256KB e decine di MB, le prestazioni di copia possono sembrare significativamente peggiori rispetto a Windows XP (questo è stato uno dei principali motivi di lamentela da parte degli utenti di Vista).

Questo problema è dovuto al fatto che nell'implementazione non-cached di Vista Explorer viene forzato ad attendere il completamento di ciascuna operazione di scrittura prima di eseguirne altre, ed infine ad attendere che tutti i dati siano sul disco prima di indicare il completamento della copia. In Vista, Explorer attende inoltre 12 secondi prima di effettuare una stima della durata della copia e l'algoritmo di valutazione è sensibile alle fluttuazioni nella velocità di copia (cosa che si traduce in frustrazione per gli utenti).

In Vista SP1 Microsoft ha deciso di modificare nuovamente il motore di copia per migliorare le prestazioni sia reali sia quelle "percepite dagli utenti". In Vista SP1 vengono nuovamente utilizzati i "cached I/O" per tutte le copie file, sia locali sia remote, ma con un eccezione. Nelle copie remote viene sfruttato il "Windows client-side remote file system driver" Rdbss.sys per evitare il problema del doppio-caching, istruendo il driver in modo da non eseguire il cache del file remoto sul sistema locale mentre questo sta venendo letto o scritto. Un altro miglioramento per le copie remote è rappresentato dai "pipelined I/O" eseguiti dal driver di sistema SMB2, srv2.sys (introdotto in Windows Vista e Windows Server 2008).

Il motore di copia è stato inoltre modificato in modo da eseguire I/O di più grandi dimensioni sia per il read-ahead sia per il write-behind, migliorando le performance, riducendo accessi e seek del disco e permettendo una migliore gestione della memoria da parte del Cache Manager. In alcuni casi tuttavia, le modifiche introdotte in SP1 potrebbero risultare in performance più lente in determinati scenari rispetto all'implementazione originale di Vista, come per la copia da o verso un sistema Server 2003 attraverso una rete lenta. Un altro caso di questo tipo si verifica nella copia di grandi file sullo stesso volume.

Un ultima modifica degna di nota, introdotta in SP1, è che Explorer esegue stime della durata della copia molto prima rispetto alla release originale di Vista, e l'algoritmo di valutazione è più accurato.




Link per approfondimenti:
Russinovich Blog (http://blogs.technet.com/markrussinovich/archive/2008/02/04/2826167.aspx)
Notable Changes in Windows Vista SP1 (http://download.microsoft.com/download/d/3/b/d3b63d2f-8016-4abe-9e76-cbd2fe89631e/Notable_Changes_in_Windows_Vista_Service_Pack_1_Release_Candidate.doc)


Fonte: Russinovich Blog (http://blogs.technet.com/markrussinovich) via Tweakness.net (http://www.tweakness.net/topic.php?id=4339&pag=2)

Pagina 2 di 2