Deionizatorul MIT

Sursă Originală: http://cseweb.ucsd.edu/~mbtaylor/deionizer.html

Ce este deionizarea?

Deionizarea este o formă specială de evaluare parțială. Un deionizator efectuează o evaluare parțială; însă intenționează să se abțină de la optimizarea programului de ieșire față de intrare. Scopul unui deionizator nu este de a optimiza performanța programului, ci mai degrabă de a permite acestuia să ruleze fără a avea acces la dispozitivele originale de intrare.

Aplicație Embedding

O utilizare a deionizării este pentru încorporarea aplicațiilor . De exemplu, o aplicație poate folosi un număr de fișiere de date (de exemplu, bitmap-uri într-un joc). Deși dezvoltatorul ar putea dori să dezvolte aceste fișiere separat în forma sursă (de exemplu, un fișier .gif), deionizarea poate fi utilizată pentru a înfășura aceste fișiere împreună într-un singur binar care este trimis utilizatorului. Sau, în cazul unui sistem încorporat care nu are anumite dispozitive I / O, deionizarea permite ca programul să fie scris ca și când ar exista acele dispozitive I / O. Un final binar, care conține sursa și datele, și care poate fi ars într-o memorie numai pentru citire, poate fi apoi redat de către deionizator.

Benzi de precizie

Deionizatorul poate fi, de asemenea, utilizat pentru a îmbunătăți precizia reperelor din sistemele informatice. Această utilizare, accentul pe această hârtie scurtă, permite ca apelurile I / O și ale sistemului de operare să fie eliminate din aplicațiile de referință. Deionizatorul descris în această lucrare a fost utilizat pentru a îmbunătăți acuratețea rezultatelor colectate într-o comparație între un sistem Pentium 3 și un procesor Raw în Hârtia ISCA 2004 Raw . 

Acest lucru are două avantaje: 

1. Deionizarea elimină dependența timpului de execuție a programelor pe porțiuni ale sistemelor de calcul care nu sunt esențiale pentru experimentul realizat. De exemplu, atunci când se compară două implementări de procesoare, este tipic să se măsoare timpul de funcționare a aceleiași aplicații și a aceluiași set de date pe cele două mașini. Cu toate acestea, implementările diferite ale sistemelor de operare, ale arhitecturii I / O, ale plăcilor de bază, ale sistemelor de fișiere de rețea și ale unităților de hard disk pot cloud capacitatea noastră de a trage concluzii cu privire la impactul procesorului asupra timpului de funcționare al programului. 

2. Deionizarea elimină multe surse de variabilitate pentru colectarea datelor, chiar și pentru derularea succesivă a aceleiași aplicații pe aceeași mașină. Timpul de rulare al unui program care efectuează I / O poate fi dependent de istoricul memoriei cache a sistemului de operare al sistemului de operare, de poziția platanelor de disc pe măsură ce acestea se rotesc sau chiar de temperatura unității hard disk sau a procesorului. Dacă aparatul de colectare utilizează o rețea de stocare a fișierelor, variația de sincronizare poate fi și mai rău. Astfel, deionizarea poate reduce marjele de zgomot ale experimentelor, permițând efectuarea unor măsurători mai precise. 

Descărcări

Am creat un instrument care ajută la crearea de binare deionizate. Aceasta necesită GNU binutils 2.10 (sau mai bine) și un compilator C, pe platforma țintă. 

Descărcați deionizatorul 1.14 . 
Descărcați deionizatorul 1.13 . 

Fișierul README din interiorul fișierului tar conține instrucțiuni despre cum să îl utilizați. 

Faceți clic aici pentru prezentarea generală a deionizatorului . 


Michael Taylor 

E-mail: em tee de ce el oh sunt la tine vezi es dee dot ee dee tine.