Come evitare i bottleneck di I / O nella selezione e nell'analisi hardware del PC?

Sono consapevole che la velocità di trasferimento dei dati e la quantità di memory memorizzata nella cache della CPU possono determinare la velocità di funzionamento di un PC. Ci sono probabilmente anche un gruppo di altri fattori che influenzano le performance di un sistema.

Per me e per molti altri, quali informazioni dobbiamo sapere per evitare i colli di bottiglia quando stiamo costruendo un sistema informatico? Non ho molto familiarità con l'hardware, perciò vi prego di portrmi con me. L'objective è quello di capire quali sono le aree più probabili in cui un sistema avrà un collo di bottiglia e come posso analizzare le specifiche del sistema per capire se è probabile che ci sia un collo di bottiglia che rallenterà inutilmente le cose.

  1. Processore MHz vs RAM MHz?
  2. Processore MT / s vs scheda madre MT / s?
  3. Larghezza di trasferimento dei cavi dati 16 bit?
  4. Velocità di trasferimento del disco rigido Gb / s rispetto alla quantità di memory accettata dalla RAM in una sola volta?
  5. Qualunque altra cosa?

Praticamente tratto da Wikipedia – La gerarchia della memory e la mia esperienza personale:

La Gerarchia di memoria del computer

È inevitabile che, minore la gerarchia della memory che si va, più saranno le velocità di trasferimento dei dati. Quindi, "la corrispondenza" dei tassi di trasferimento dei dati non sarà ansible. Tuttavia, per get performance ottimali, è necessario assicurarsi che i dati che devono essere modificati o essere accessibili più frequentemente siano mantenuti nei "livelli superiori" della piramide. Ad esempio, se si accede a un pezzo di dati 12 volte al secondo, sicuramente non si desidera che questi dati risiedano nella parte inferiore della piramide, nel livello di backup del nastro! Avrebbe alless voluto che fosse sul disco rigido, anche se personalmente penso che appartenga alla RAM.

Un design ottimale delle performance (di software, servizi, sisthemes, ecc.) È stato progettato per tener conto delle limitazioni e delle realtà della gerarchia della memory. In altre parole, se il software in esecuzione ei requisiti dei dati che si sta trasferendo sono stati progettati in modo tale che i dati più grandi e less utilizzati siano memorizzati in fasi inferiori della gerarchia di memory e le più piccole e i dati più utilizzati vengono memorizzati nelle fasi più alte della gerarchia di memory, avnetworking esperienza di "buone performance".

Questo ha molti modi possibili di implementazione:

  1. I programmi che accedono molto ai dati molto frequentemente, quali i driver per i dispositivi grafici, devono costantemente leggere e scrivere dati di pixel. Questo dato di pixel viene visualizzato sullo schermo alless 60 volte al secondo. Per un uso così frequente, questi dati risiedono quasi sempre a livello RAM o al livello di cache del processre, che è molto veloce, ma la quantità di archiviazione è molto limitata.

  2. I programmi che ti permettono di suonare con grandi quantità di dati che vengono e vengono, come i processri di testi, hanno bisogno di memorizzare un po 'di frequente quantità di dati moderati. Ad esempio, quando si digita un documento di Word o un post in un browser Web, la memorizzazione immediata di ciascun carattere sul disco rigido o sul nastro sarà molto lenta, pertanto vengono memorizzati in RAM finché non si salva il file. Ci sono molti programmi e sottosisthemes del sistema operativo che "memorizzano" i dati in RAM, il che significa che lo memorizzano temporaneamente in RAM o nella cache del processre fino a quando non si decide di buttare via i dati o di salvarlo in modo permanente sul disco.

  3. Gli utenti che archiviano file di grandi size, come le collezioni di musica e video, devono gestire con precisione questi dati. Quando archivi i tuoi dati per l'archiviazione a lungo termine, puoi ripristinarli su DVD, dischi BluRay o anche su nastro magnetico – ma questi supporti non sono ideali per il recupero veloce a causa della necessità di impostare fisicamente nastri e dischi, e grazie alle performance di lettura e scrittura relativamente lente (masterizzazione di un disco richiede diversi minuti). Quindi la situazione ideale è che memorizzerai la maggior parte dei supporti che hai bisogno / desideri accedere più frequentemente sul disco rigido. Viene quindi temporaneamente copiato in memory quando viene decodificato e riprodotto in tempo reale. Quindi, mentre andate dal "media" (archiviato su DVD), "immediatamente accessibile" (su disco rigido), a "attualmente in riproduzione" (in RAM), si sposta la piramide.