Giter Site home page Giter Site logo

ensq / dv2524 Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 9.83 MB

DV2524 Vt14 Lp34 Examensarbete i datavetenskap för civilingenjör - Master's thesis in Computer Science at Blekinge Institute of Technology in collaboration with Intel Corporation. Tentative title: Paravirtualizing OpenGL ES in Simics; Author: Eric Nilsson; University advisor: Prof. Håkan Grahn, Research Dean of Faculty.

Home Page: bit.ly/SimicsOpenGL

License: Other

Python 7.53% TeX 89.25% Gnuplot 3.23%

dv2524's Introduction

Paravirtualizing OpenGL ES in Simics

Master's Thesis in Computer Science

Author: Eric Nilsson ([email protected])

  • Blekinge Institute of Technology
  • Intel Corporation

Abstract

Full-system simulators provide benefits to developers in terms of a more rapid development cycle; since development may begin prior to that of next-generation hardware being available. However, there is a distinct lack of graphics virtualization in industry-grade virtual platforms, leading to performance issues that may obfuscate the benefits virtual platforms otherwise have over execution on actual hardware. This dissertation concerns the implementation of graphics acceleration by the means of paravirtualizing OpenGL ES 2.0 in the Simics full-system simulator. Furthermore, this study illustrates the benefits and drawbacks of paravirtualized methodology, in addition to performance analysis and comparison with the Android Emulator; which likewise utilize paravirtualization to accelerate simulated graphics.

In this study, we propose a solution for paravirtualized graphics using Magic Instructions; the implementation of which is subsequently described. Additionally, three benchmarks are devised to stress key points in the developed solution; comprising areas such as inter-system communication latency and bandwidth. Furthermore, the solution is evaluated based on computationally intensive applications. For the purpose of this study, elapsed frame times for respective benchmarks are collected and compared with four platforms; i.e. the hardware accelerated Host machine, the paravirtualized Android emulator, the software rasterized Simics- and the paravirtualized Simics platforms.

This thesis establishes paravirtualization as a feasible method to achieve accelerated graphics in virtual platforms. The study shows graphics acceleration of up to 34 times of that of its software rasterized counterparts. Furthermore, the study establishes magic instructions as the primary bottleneck of communication latency in the devised solution.

dv2524's People

Contributors

ensq avatar

Stargazers

Santosh Bharadwaj Rangavajjula avatar

Watchers

James Cloos avatar  avatar Santosh Bharadwaj Rangavajjula avatar

dv2524's Issues

Restructure question formulations under Research Questions

Research questions bör beskriva bl.a. metoder för att uppnå målen. Dessa bör betona generella lösning och analys för paravirtualisering av drivrutiner. Eric kommer sammanfatta frågeställningarna i respektive sektion under Research Questions och ställa cirka en frågeställning per område i början av kapitlet. Genomgående för hela dokumentet är att detta bör generaliseras mera.

Formatting and structural section

In said section, in the preface of the thesis document, expand on the following:

  • Bibliography styles
  • Any formatting that may need explanation (how abbreviations are written, etc.)
  • How citations are written
  • Hyperlinks
  • Structural section in accordance to book structure (wikipedia)
  • Where to access later revisions of document
  • Licensing of source code of document
  • Copyright and licensing
  • Contributing & contact
  • Strongly advise reading document digitally (in regards to hyperlinks)
  • Suggestions on how the user may benefit from reading certain attached section under Appendix beforehand.

Inconsistencies in bibliographies

Bib-Digital Jazz, Man:

  • Is Bergan_Devietti_Hunt_Ceze_2011 published in anything? Move to 'unpublished'-bib?
  • Is Bartholomew:2006:QMM:1134160.1134163 really a scientific journal entry?
  • Can more information be found concerning the Holzmann entry into the Dr. Dobb's journal?
  • Rename Paper-references to Unpublished or similar?

Establish thesis title

Proposed Titles:

  • Paravirtualization of OpenGL ES in Simics
  • Paravirtualization of Graphics APIs in the Simics Full-system Simulator
  • Achieving Graphics Acceleration by Paravirtualization in the Simics Full-system Simulator
  • Paravirtualization of Graphics APIs in Virtual Platforms

Expand upon Aims & Objectives

The Aim and Objectives of proposed study is not only implementation. Be sure to relate the purposes of developing methods and techniques for efficient communication and general execution in the Simics run-time environment. Additionally, comparisons with the Reference solution ought not only be related to performance.

Terms command

Established terms, such as Checkpointing or Reverse Execution ought to be formatted with capitals the first time they're mentioned but formatted as plain text thereafter (e.g., checkpointing or reverse execution).
Create a command to support this.

Expand upon Risks

  • Implementation takes longer than expected.
  • Access to technical information and knowledge surrounding the Simics run-time environment.
  • Support
  • Relevant test-cases.

Expand upon Risks

  • Implementation takes longer than expected.
  • Access to technical information and knowledge surrounding the Simics run-time environment.
  • Support

Terminology chapter

Compile a terminology chapter to describe concepts mentioned throughout the report (aka a glossary).

General & Abbreviations:

  • API
  • ABI
  • CPU
  • GPU
  • GPGPU
  • Rasterization
  • Software Rasterization
  • TTM - Time to Market
  • SDK
  • Hardware Acceleration
  • Deterministic Algorithm
  • Virtual Memory
  • Paging
  • Callback
  • Texture
  • State
  • MIPS
  • ISA
  • R/W

APIs & Technologies:

  • OpenGL
  • OpenCL
  • OpenGL ES
  • EGL (XGL, AGL, and WGL)
  • The TCP-, IP-, and MAC-protocols.
  • PCI
  • ARM
  • X11

Simulatory:

  • Paravirtualization
  • Interpreters
  • Just-in-Time Compilation
  • Direct Virtualization
  • Hardware Virtualization
  • Hardware-assisted Virtualization
  • Technologies such as KVM and whatever abbreviations Intel and AMD uses to support it.
  • Emulation & Simulation and the difference thereof.
  • Virtual Platform
  • Timing

Organizations:

  • Google (any special part of Google developed the Android Emulator?)
  • Khronos Group
  • QEMU Team
  • Intel
  • Virtutech
  • Wind River

Products:

  • Microsoft Windows
  • Linux
  • OS X
  • Solaris
  • CUDA

Appendix section describing Simics

  • Convey that simics may be run using networked machines to simulate large systems (becuase it's cool).
  • Simics fundamentals (cha. 2) has some great info.

Nomenclature section

Nomenclature Section to describe code names for solutions. The section ought detail the differences in-between emulation and simulation, in addition to terms and concepts being used interchangeably.

General:

  • Pre-Silicon Development

Simulatory:

  • Host
  • Target (in some other materials called Guest)
  • Checkpointing
  • Reverse Execution
  • Deterministic Execution
  • Magic Instruction
  • Timing

Products:

  • Simics FS

Concepts:

  • Reference Implementation
  • Reference Solution

Further Reading Section

  • QEMU
  • Simics
  • Virgil3D (?)
  • Android SDK Emulator

Bibliography standard

The main bibliographies uses IEEE. Which standard ought the citations be using to differentiate them from peer-reviewed sources?

Further Reading chapter

Further Reading Section to guide the reader to more material on the subject (e.g. non-valid references and technical documentation).

Possible inherent flaw in OpenGL in terms of Determinism

Introduce under suitable section, probably under Appendix. Not a risk!

  • Inconsistencies in OpenGL implementations may cause different resultsin-between host systems (e.g. minor color variations and rounding). Such errors, if calculated upon (e.g. zipping a screenshot in the target system) would cause in-determinism in Simics.

Command for abbreviations

Create command which outputs an entire phrase the first time it's mentioned, but the abbreviation otherwize.

Contribution and Expected Outcomes ought be merged into a new chapter

Said chapter need detail implementational details and technologies used. As such, corresponding sections from Research Methodology may be merged into the new chapter. In this way, the text must be extensive enough for others to do similar implementation based on the work described.

En god idé vore att inkludera identifiering av svårigheter och rekommendationer för framtida studier inom området i detta kapitel.

Expand upon Research Methodology

Describe how the case study / literature study is to be performed along with what types of measurements are to be collected for the experiment.
Suggestion: describe possible benchmarking possibilities (i.e., number of GL-invocations, large data).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.