50 likes | 208 Views
Abstractions. Abstractions for: Architectures Applications Are others: Runtime environment, … ??? Do they depend on the metrics of interest? (Perf ormance , power, reliability, …) Abstractions can (have to) be defined on different levels
E N D
Abstractions • Abstractions for: • Architectures • Applications • Are others: Runtime environment, … ??? • Do they depend on the metrics of interest? • (Performance, power, reliability, …) • Abstractions can (have to) be defined on different levels • Alternative abstractions on similar levels are possible • Different objectives determine which abstractions are appropriate to use • (Higher) Abstractions should be (more) Machine/Application/Implementation independent • ‘Instantiating’ more abstract models becomes more difficult • Depends on level of accuracy needed
Abstractions for Architectures - Gaps • Intermediate architectural models applicable to different actual systems • More general than detailed node/processor architectures • More specific then “Lantency, Bandwidth”-type models • Aka “Skeleton architectures” • No agreed ‘dictionary’ or standards for intermediary level of abstractions • How do we generate parameters for such abstractions
Abstractions for Applications - Gaps • Code abstractions (executable code) • Proxies, Skeletons, Mini-Apps, Kernels, Dwarves/Motifs, synthetic benchmarks • Specific implementations to general descriptions (independent of programming models, languages, etc) are needed in different situations • Lack of common and agreed collections • Automated generation only very limited possible • Verification of “representativeness” (expressive power) is lacking (non-existing) • Descriptive abstraction (‘parametric’ representation) • Working set size, memory traffic, temporal/spatial localities, computation intensities on all levels, I/O, … • Lacking machine independent definitions (“agreed upon”) • How do you determine relevance, expressiveness, completeness, … • How do we iterate on defining them to arrive at relevant and minimal set • Statistical significance (?) • How do you (auto)-generate and validate models based on them
Generation of Abstractions and Models • How do we generate/instantiate our models • Mostly manual, need more (semi)-automatic • What are the basis for generation • Top down: based on specification and ‘concepts’ • Bottom up: based on measurements, counters, ‘data’ • How do we define/generate (concept of) abstraction by themselves • Situations with many characterizing parameters - how to select/simplify them • Analyzing complex execution behavior
Nathan Tallent • Jim Kahle • Lizy John • Lenny Oliker • Jeff Vetter • Erich Strohmaier • KalyanKumaran