The MIT Deionizer [Romanian]

Original in English by Michael B. Taylor

MIT Deionizer

Ce este deionizarea?

Deionizare este o formă specializată de evaluare parţială. Deionizer efectuează evaluare parţială; cu toate acestea, în mod intenţionat se abţine de la optimizarea programului de ieşire faţă cel de intrare. Scopul unui deionizer nu est de a optimiza performanţa programului, ci mai degrabă de a permite rulării fără accesul la dispozitivele de intrare originale.

Aplicaţie încorporată

O metodă de utilizare a deionizării este aplicaţie încorporată. De exemplu, o aplicaţie poate face uz de o serie de fişiere de date (de exemplu, mape într-un joc). Deși dezvoltatorul ar putea dori să dezvolte separat aceste fişiere în formă de sursă (de exemplu, un fişier .gif), deionizarea poate fi folositeă pentru a strînge aceste fişiere împreună într-un singur binar care este trimis la utilizator. Sau, în cazul unui sistem integrat care nu are anumite dispozitive I/O, deionizarea permite ca programul să fie scris ca în cazul în care aceste dispozitive I/O aș exista. Un binar final, care conţin sursa de date şi potrivite pentru ardere într-o memorie numai pentru citit, apoi pot fi prelucrate de către deionizer.

Precizie standartizată

Un deionizer poate fi, de asemenea, folosit pentru a îmbunătăţi precizia de referinţă în sistemele informatice. Această utilizare, este accentul a acestei lucrări scurte, permite I/O şi solicitările a sistemului de operare să fie scoase din aplicaţiile de referinţă. Deionizer descris în această lucrare a fost utilizat pentru a îmbunătăţi acurateţea rezultatelor colectate într-o comparaţie între un Pentium 3 sistem şi un procesor Raw în cartea 2004 Raw ISCA Paper.

Acest lucru are două avantaje:

1. Deionizarea elimină dependenţa de timp a programului ce ruleaza pe porţiuni de sisteme de calcul care nu sunt importante pentru experiment care trebuie să fie întreprins. De exemplu, atunci când se compară două implementări de procesor, este tipic de a măsura timpul de execuţie al aceleiaşi cereri şi setul de date pe cele două maşini. Cu toate acestea, diferite implementari de sisteme de operare, arhitectura I/O, placi de baza, sisteme de fişiere de reţea, şi hard drive-uri pot înnora capacitatea noastră de a trage concluzii cu privire la impactul procesorului privind timpul de funcţionare a programului.

2. Deionizarea elimină multe surse de variabilitate de colectare a datelor, chiar şi pentru rulări succesive de aceeaşi aplicaţie pe aceeaşi maşină. Timpul de execuţie al unui program care face I/O poate fi dependent de istoria de cache a sistemului de operare al sistemului de fişiere, poziţia de plate disc, sau chiar temperatura lui hard disk sau procesor. În cazul în care aparatul de colectare foloseşte fişier de stocare în retea, varianţa de timp poate fi chiar mai rea. Astfel, deionizarea poate reduce marjele de zgomot de experimente, care să permită măsurătorilor mai multă precizie care urmează să fie făcute.

Descărcări

Eu am creat un instrument care vă ajută să creaţi binare deionizate. Este nevoie de GNU binutile 2.10 (sau mai bune) şi un compilator C, pe platforma ţintă.

Descarca deionizer 1.14.
Descarca deionizer 1.13.

Fişierul README din interiorul fișierului tar are instrucţiuni despre ceea cum să se folosească.

Faceți click aici pentru a vedea deionizer din ansamblu – overview.