Platform abstraction
Download
1 / 9

Platform Abstraction - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

Platform Abstraction. Group 3. Question. How to deal with different types hardware and software platforms? What detail to expose to the programmer? What detail to expose to the modeler? What are the layers in the abstraction?. Properties of hardware platform. 1. Number of cores

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Platform Abstraction' - kolina


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Question
Question

  • How to deal with different types hardware and software platforms?

  • What detail to expose to the programmer?

  • What detail to expose to the modeler?

  • What are the layers in the abstraction?


Properties of hardware platform
Properties of hardware platform

1. Number of cores

2. Type of cores (special purpose, GPU, CPU)

3. Memory bus (one, two, cross bars)

3! Cache lay-out (size, strategy, layers, …)

4. Memory architecture (NUMA, …)

5. Instruction set

  • (number indicates relevance to model)

  • Like to have: order relates to impact on accuracy

  • Priority list reflects how well it is understood


Properties of hw sw platform
Properties of HW/SW(?) platform

  • Software locks in threads/processes

  • Locking strategy and lock density

  • Hardware execution or software implementation

  • Is there an abstraction layer such as a JVM?

  • Synchronization strategy / atomic operations used by Java, .Net, C++ vs. C libraries


Layers
Layers

  • Domain specific

    • Sometimes hardware features (e.g., branch prediction) are turned off to make performance predictable

  • All layers would profit from more collaboration.

    • E.g. Hyper-threaded cores (more on next slide)

  • Trade-off: complexity

  • Do we need standardization?



8 ht cores on intel 4 core
8 HT cores on Intel 4-core

  • We assume we are programming an application

  • We assume parallel tasks scale with the number of processing resources

  • Same task on 8 cores, hurts?

  • What expectation of performance should we have?

    • No direct relation between core count and performance

  • Should the programmer know about the HW platform?


Platform abstraction
Ctd.

  • We do not know how many ‘real’ cores we have? What is the core’s speed? …

  • Parallel behavior dependent on input

  • Monitoring and adaptation at runtime is necessary

  • There is a strong link between runtime adaptation and platform abstraction


Open problems
Open problems

  • Can collaboration between layers improve the situation?

  • What gain is possible by collaboration?

  • What are the properties of the layers?

  • How can we then abstract these properties?

  • Who builds the ‘low’ level models?

  • Can the lower level provide a contract to satisfy our need for performance information?