Method x ≝ variable that occupies n bits Vx ≝ conservative estimate of value set
Method x ≝ variable that occupies n bits Vx ≝ conservative estimate of value set
log2|Vx| < n ⇒ RAM compression possible
Method x ≝ variable that occupies n bits Vx ≝ conservative estimate of value set
log2|Vx| < n ⇒ RAM compression possible Cx ≝ another set such that |Cx| = |Vx|
Method x ≝ variable that occupies n bits Vx ≝ conservative estimate of value set
log2|Vx| < n ⇒ RAM compression possible Cx ≝ another set such that |Cx| = |Vx| fx ≝ bijection from Vx to Cx
Method x ≝ variable that occupies n bits Vx ≝ conservative estimate of value set
log2|Vx| < n ⇒ RAM compression possible Cx ≝ another set such that |Cx| = |Vx| fx ≝ bijection from Vx to Cx n - log2|Cx| ⇒ bits saved through compression of x
Example Compression void (*function_queue[8])(void);
Example Compression void (*function_queue[8])(void); x
n = size of a function pointer = 16 bits
Example Compression
x
Vx &function_A &function_B &function_C NULL
Example Compression
x
Vx
n = 16 bits |Vx| = 4
log2|Vx| < n 2 < 16
➼
Example Compression
x
Vx
Cx 0 1 2 3
fx ≝ Vx to Cx ≝ compression
fx-1 ≝ Cx to Vx ≝ decompression
Example Compression ROM x
Cx
Vx = {
,
,
,
}
0 1 2 3
fx ≝ compression table scan fx-1 ≝ decompression table lookup
Example Compression ROM x
Cx
Vx = {
,
,
,
}
0 1 2
128 bits reduced to 16 bits
3
112 bits of RAM saved
Implementation ●
Source-to-source transformation for C −
●
What about value sets of size 1? −
●
Rewrite declaration, initializer, reads, writes
Constant propagation (then DCE, DDE)
Optimizations −
Avoid table-driven compression funcs when possible
Can elect to not compress some compressible variables −
●
For each compressible variable compute a cost / benefit ratio − −
●
But which ones?
Cost – estimated penalty in ROM or CPU cycles Benefit – RAM savings
Sort compressible variables by ratio and compress until some threshold is met
Cost/Benefit Ratio
∑ C i Ai B i V C ≝ access profile A,B ≝ platform-specific costs V ≝ cardinality of value set
Cost/Benefit Ratio
∑ C i Ai B i V C ≝ access profile A,B ≝ platform-specific costs V ≝ cardinality of value set
S u −S c Su ≝ original size Sc ≝ compressed size
Turning the RAM Knob 0%
Turning the RAM Knob 10%
Turning the RAM Knob 20%
Turning the RAM Knob 30%
Turning the RAM Knob 40%
Turning the RAM Knob 50%
Turning the RAM Knob 60%
Turning the RAM Knob 70%
Turning the RAM Knob 80%
Turning the RAM Knob 90%
Turning the RAM Knob 100%
Turning the RAM Knob 95%
Compression Spectrum
Compression Spectrum 95%
Compression Spectrum 95%
Conclusion ●
● ●
RAM likely to remain scarce in low-cost, low-power systems RAM is used inefficiently Manually tweaking data sizes (even among char, short, long, etc.) is unpleasant
Offline Compression for On-Chip RAM - University of Utah School of ...
Products with embedded computing are usually⦠â Low cost, high volume. â Very sensitive to unit cost. â Bottom line: Pressure to use cheap MCUs ...
take advantage of useful abstractions such as threads and a heap. We developed offline .... Thus, there are no performance gains to be had by improving spatial locality ..... by KESO [27], an ahead-of-time Java-to-C compiler for con- strained ...
$12.5 billion market in 2006. â Products with embedded computing are usually⦠.... Benefit â RAM savings. â Sort compressible variables by ratio and.
Jun 19, 2009 - Categories and Subject Descriptors C.3 [Special-purpose and .... way: by previously performing a function inlining pass that elimi- nates all ...
University of Wisconsin, Madison, WI. B.A. Economics, (with honors, mathematics emphasis, Dean's List). PUBLISHED PAPERS: The Performance of State Tax ...
May 2, 2005 - web transaction generates 14 interrupts, and it did not seem to make .... lazy receiver processing [5] and Dannowski and Härtig's work [4],.
I ex perienc ed m ental bloc k. I w a s tired during the te s t and c ould not c onc entrate . I w a s hungry during the te s t and c ould not c onc entrate . I panic k ed.
maintaining a good degree of protection. 2. Somewhat smaller capacitor values may be required for additional protection in highâpa war sound reinforcement.
Nov 11, 2008 - Spence (1982) echoed this sentiment, writing that ... retain what he [sic] learned during the analysis''. (p. 270). ..... But I now have better tools to work with*One of the ... else, but I can still do good work and enjoy life. In sum
Which of the figures above is the best representation of the channel in the schematic on the ... (a) Calculate VOH, VOL, VM of the above inveter. (b) Find VIH, VIL, ...
Sep 30, 2003 - ... without charge from the Social Science Research Network electronic library: ... Both were twenty-eight.1 Over the next seven years, Andrea2 ..... was designing computer systems for NASA.53 Andrea approached him first in ...... nati
grammar for my conference abstracts, term papers, manuscripts, and this dissertation, ...... For example, in (21), the antecedent of the elided VP go to the ball.
MBA Only. MBA Leadership for Sustainable. Futures Scholarships. MBA Only ... Title of Masters course applied for (e.g. MSc Marketing). Type of offer received from the ... help you, and detailing your motivations, expectations and educational or profe
âBest Foot Forward or Best for Last in a Sequential Auction? .... Service to the Department of Finance, Kelley School of Business, and Indiana University.
Jan 24, 2012 - wildlife officials may choose to implement predator-management plans. The DWR recently updated its policy on predator management to place ...
9 Basic requirements. 9 Adults must .... guidebookâsuch as Utah Code § 23-20-3 ..... email. You can also learn your drawing results by visiting wildlife.utah.govor by calling 1-800-221-. 0659 .... wildlife.utah.gov/licenses/agent.html. Before you.
wildlife.utah.gov/guidebooksto view digital versions of ... apply for or obtain a 2012 black bear hunting permit ...... The signature of the owner or person in charge.
May 4, 2016 - UNIVERSITY OF UTAH S.J. QUINNEY COLLEGE OF LAW HONORS SNELL ... Dragoo is listed in The Best Lawyers in America® for Energy Law, ... Arizona; Los Angeles and Orange County, California; Denver, Colorado; Las.
sources. Semantic annotations represent information contained in text documents in a structured format which are more amenable to applications in data mining,.
Microeconomic Analysis, 1997-2000. Higher School of ... Microeconomic Analysis, 2005, 2006. Kellogg School of ... 2008-2013. Business Analytics, 2013-2014.
http://www.law.ucdavis.edu. UC Davis Legal Studies Research Paper Series. Research Paper No. 312. October 2012. Does Geoengineering Present a Moral Hazard? Albert Lin. This paper can be downloaded without charge from. The Social Science Research Netw