Applicazioni influenzate dalle prestazioni della memoria [chiusa]

-1

Sto scrivendo un articolo sull'argomento delle applicazioni interessate più dalle prestazioni della memoria rispetto alle prestazioni del processore. Ho scritto molto riguardo al divario tra i due, tuttavia non riesco a trovare nulla sulle applicazioni che potrebbero essere influenzate più dalle prestazioni della memoria che dalla velocità del processore.

Suppongo che si tratti di applicazioni che fanno una grande quantità di riferimenti alla memoria, ma non ho idea di quale tipo di applicazioni possa fare un numero così elevato di riferimenti per farlo risaltare? Forse i database?

Potresti darmi qualche suggerimento su come procedere, alcuni link ai documenti? Sono davvero bloccato.

    
posta robotron 20.10.2013 - 01:42
fonte

2 risposte

0

Le applicazioni che conservano nella loro cache molti oggetti o grafici di oggetti profondi potrebbero essere candidati per la tua carta.

Le speculazioni sull'architettura dei motori di ricerca di Google potrebbero costituire una buona carta. Ecco perché:

  1. Il crawler dei motori di ricerca di Google può archiviare i risultati in un data store massicciamente distribuito, ma quando si effettua una query sul motore di ricerca, la richiesta HTTP non esegue la query in un database (sarebbe troppo lento) .
  2. Invece, la tua richiesta HTTP interroga alla fine una sorta di cache in memoria . Non ci dovrebbe essere troppo da calcolare, e quindi non troppo da fare per la CPU. Interrogare la cache è la parte importante e, pertanto, le prestazioni sono strongmente basate sul modo in cui la cache viene indicizzata e, in effetti, sulle prestazioni della memoria.

Nota: Sono sicuro che Google potrebbe fornire macchine allo stato dell'arte con CPU all'avanguardia per eseguire la scansione del Web, ma sono raggruppate in modo che non possano 't deve essere . L'algoritmo del crawler web è certamente di natura distribuita, così che l'aggiunta di più macchine al cluster migliorerebbe le prestazioni del crawler web.

Inoltre, la scansione del Web potrebbe essere concepibilmente un'attività che richiede molta CPU, ma l'interrogazione dei risultati di ricerca non dovrebbe essere.

    
risposta data 20.10.2013 - 02:06
fonte
0

Trasposizione della matrice, moltiplicazione della matrice, convoluzione sono tutti esempi che vengono in mente. Molti problemi di calcolo scientifico sono numericamente piuttosto semplici (la moltiplicazione della matrice è piuttosto banale, è solo un paio di aggiunte e moltiplica), ma il calcolo di una singola voce di una matrice richiede l'accesso a un'intera riga del primo operando un'intera colonna del secondo operando. Il risultato è che, indipendentemente dal modo in cui la matrice viene archiviata in memoria, è difficile da implementare in modo tale da mantenere le parti rilevanti nella cache (o persino in memoria in alcuni casi).

Una considerevole quantità di ricerche è andata allo sviluppo di versioni efficienti per cache di queste operazioni e le implementazioni più veloci di solito richiedono ottimizzazioni della cache dipendenti dal sistema. Vedi BLAS e FFTW ( link ).

    
risposta data 20.10.2013 - 04:04
fonte

Leggi altre domande sui tag