Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> Programmazione >> Java Programming >> .

Cos'è un programma Bound Bound?

Un programma rilegato in calcolo è un programma il cui tempo di esecuzione è determinato principalmente dalla quantità di calcolo che esegue, piuttosto che dalla quantità di operazioni I/O (input/output) che deve fare. In altre parole, trascorre la maggior parte del suo tempo a scricchiolare numeri, eseguire calcoli o altri compiti ad alta intensità di CPU e relativamente poco tempo in attesa che i dati vengano letto o scritti su disco, rete o altre risorse esterne.

Ecco una rottura:

* Falmato di calcolo: Il nucleo del programma prevede operazioni matematiche complesse, simulazioni, elaborazione dei dati o altri algoritmi che richiedono computazionalmente. Pensa a cose come:

* Simulazioni scientifiche (previsioni meteorologiche, dinamica molecolare)

* Formazione del modello di apprendimento automatico

* Operazioni crittografiche

* Elaborazione di immagini/video (in particolare ad alta risoluzione)

* Analisi dei dati che coinvolgono set di dati di grandi dimensioni

* I/O-Limited (contrasto): Al contrario, un programma legato all'I/O trascorre la maggior parte del tempo in attesa che le operazioni di I/O siano completate. Esempi includono:

* Server Web (in attesa di richieste)

* Applicazioni di database (in attesa di letture/scritture del disco)

* Programmi che si affidano fortemente alla comunicazione di rete

Caratteristiche chiave dei programmi legati al calcolo:

* Utilizzo elevato della CPU: Durante l'esecuzione, la CPU sarà utilizzata al 100%.

* Esecuzione lenta: Anche con un potente hardware, il programma richiederà molto tempo per completare a causa della complessità intrinseca dei calcoli.

* Migliorato con processori più veloci: Il tempo di esecuzione può essere significativamente ridotto utilizzando una CPU con velocità di clock più elevata, più core o migliori capacità di vettorializzazione. L'aggiunta di più RAM potrebbe anche aiutare se il set di lavoro del programma supera la memoria disponibile.

* Meno influenzato da I/O più veloce: L'upgrade a archiviazione più veloce o hardware di rete avrà un impatto relativamente minore sul tempo di esecuzione complessivo.

Identificare se un programma è legato al calcolo o legato all'I/O è importante per l'ottimizzazione delle prestazioni. Per i programmi legati al calcolo, l'attenzione dovrebbe essere sull'ottimizzazione degli algoritmi, sull'uso di tecniche di elaborazione parallele e sull'impiego potenzialmente hardware specializzato come le GPU. Per i programmi legati all'I/O, l'attenzione si sposterebbe nell'ottimizzazione delle query di database, utilizzando l'archiviazione più veloce e il miglioramento della comunicazione di rete.

 

Programmazione © www.354353.com