Utente:Stefano.cherubin/Sandbox




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

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
for ( int i = 0; i < N; i++ ) {
     value_1 = calcola_1(i);
     if ( value_1 >= fixed_threshold ) {
         value_2 = calcola_2(i);
     }
 }

Voci correlate

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

[[Category:Scienze computazionali]] [[Category:Ingegneria del software]]

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

Bibliografia

modifica