Task skipping

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Task skipping (traducibile letteralmente come salto dei task) è una tecnica di calcolo approssimato che consente di evitare l'esecuzione di blocchi di codice in base ad una condizione booleana da verificarsi a run-time.[1]

Questa tecnica viene solitamente applicata sulle porzioni di codice che richiedono più risorse.

Il principio di funzionamento di questa tecnica si basa sul fatto che una tupla di valori calcolati in sequenza verrà considerato utile ai fini del programma solo se verifica alcune condizioni. Sapendo che un valore della tupla invalida (o molto probabilmente invaliderà) l'intera tupla, è possibile evitare di saltare il calcolo dei valori del resto della tupla.

Esempio pratico[modifica | modifica wikitesto]

L'esempio seguente mostra il risultato di un task skipping applicato su questo codice sorgente in stile C.

for ( int i = 0; i < N; i++ ) {
     value_1 = calcola_1(i);
     value_2 = calcola_2(i);
 }

Skipping a task[modifica | modifica wikitesto]

for ( int i = 0; i < N; i++ ) {
     value_1 = calcola_1(i);
     if ( value_1 >= fixed_threshold ) {
         value_2 = calcola_2(i);
     }
 }

Note[modifica | modifica wikitesto]

  1. ^ (EN) Sparsh Mittal, A Survey of Techniques for Approximate Computing, in ACM Comput. Surv., vol. 48, n. 4, ACM, maggio 2016, pp. 62:1--62:33, DOI:10.1145/2893356.

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica