Essential Abstractions in GCC

Total Page:16

File Type:pdf, Size:1020Kb

Essential Abstractions in GCC Essential Abstractions in GCC Uday Khedker (www.cse.iitb.ac.in/˜uday) GCC Resource Center, Department of Computer Science and Engineering, Indian Institute of Technology, Bombay 13 June 2014 EAGCC-PLDI-14 EAGCC: Outline 1/1 Outline • Compilation Models • GCC: The Great Compiler Challenge • Meeting the GCC Challenge: CS 715 The course plan Uday Khedker GRC, IIT Bombay Part 1 Compilation Models EAGCC-PLDI-14 EAGCC: Compilation Models 2/1 Compilation Models Aho Ullman Davidson Fraser Model Model Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 2/1 Compilation Models Aho Ullman Davidson Fraser Model Model Front End Input Source Program AST Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 2/1 Compilation Models Aho Ullman Davidson Fraser Model Model Front End Input Source Program AST Optimizer Target Indep. IR Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 2/1 Compilation Models Aho Ullman Davidson Fraser Model Model Front End Input Source Program AST Optimizer Target Indep. IR Code Generator Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 2/1 Compilation Models Aho Ullman Davidson Fraser Model Model Front End Input Source Program Front End AST AST Optimizer Target Indep. IR Code Generator Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 2/1 Compilation Models Aho Ullman Davidson Fraser Model Model Front End Input Source Program Front End AST AST Expander Optimizer Register Transfers Target Indep. IR Code Generator Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 2/1 Compilation Models Aho Ullman Davidson Fraser Model Model Front End Input Source Program Front End AST AST Expander Optimizer Register Transfers Target Indep. IR Optimizer Code Generator Register Transfers Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 2/1 Compilation Models Aho Ullman Davidson Fraser Model Model Front End Input Source Program Front End AST AST Expander Optimizer Register Transfers Target Indep. IR Optimizer Code Generator Register Transfers Recognizer Target Program Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 2/1 Compilation Models Aho Ullman Davidson Fraser Model Model Front End Aho Ullman: Instruction selection Front End • over optimized IR using AST AST • cost based tree tiling matching Expander Optimizer Davidson Fraser: Instruction selection • Register Transfers Target Indep. IR over AST using • simple full tree matching based Optimizer algorithms that generate Code Generator • naive code which is Register Transfers ◮ target dependent, and is Recognizer Target Program ◮ optimized subsequently Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 3/1 Typical Front Ends Parser Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 3/1 Typical Front Ends Source Parser Program Tokens Scanner Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 3/1 Typical Front Ends AST or Linear IR Source Parser + Program Symbol Table AST Parse Tokens Tree Semantic Scanner Analyzer Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 3/1 Typical Front Ends AST or Linear IR Source Parser + Program Symbol Table AST Parse Tokens Tree Semantic Scanner Analyzer Symtab Error Handler Handler Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 4/1 Typical Back Ends in Aho Ullman Model m/c Ind. IR m/c Ind. m/c Ind. Optimizer IR − Compile time evaluations − Eliminating redundant computations Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 4/1 Typical Back Ends in Aho Ullman Model m/c Ind. IR m/c Ind. m/c Code m/c Ind. Dep. Optimizer IR Generator IR − Compile time − Instruction Selection evaluations − Local Reg Allocation − Eliminating − Choice of Order of redundant Evaluation computations Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 4/1 Typical Back Ends in Aho Ullman Model m/c Ind. IR m/c Ind. m/c Code m/c m/c Dep. Ind. Dep. Optimizer IR Generator IR Optimizer − Compile time − Instruction Selection evaluations − Local Reg Allocation − Eliminating − Choice of Order of redundant Evaluation computations Assembly Code Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 4/1 Typical Back Ends in Aho Ullman Model m/c Ind. IR Register Allocator m/c Ind. m/c Code m/c Instruction Ind. Dep. Optimizer IR Generator IR Scheduler − Compile time − Instruction Selection Peephole evaluations − Local Reg Allocation Optimizer − Eliminating − Choice of Order of redundant Evaluation computations Assembly Code Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 5/1 Retargetability in Aho Ullman and Davidson Fraser Models Aho Ullman Model Davidson Fraser Model • Machine independent IR is expressed in the form of trees • Machine instructions are described in the form of trees Instruction • Trees in the IR are “covered” using the instruction trees Selection Optimization Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 5/1 Retargetability in Aho Ullman and Davidson Fraser Models Aho Ullman Model Davidson Fraser Model • Machine independent IR is expressed in the form of trees • Machine instructions are described in the form of trees Instruction • Trees in the IR are “covered” using the instruction trees Selection Cost based tree pattern matching Optimization Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 5/1 Retargetability in Aho Ullman and Davidson Fraser Models Aho Ullman Model Davidson Fraser Model • Machine independent IR is expressed in the form of trees • Machine instructions are described in the form of trees Instruction • Trees in the IR are “covered” using the instruction trees Selection Cost based tree pattern Structural tree pattern matching matching Optimization Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 5/1 Retargetability in Aho Ullman and Davidson Fraser Models Aho Ullman Model Davidson Fraser Model • Machine independent IR is expressed in the form of trees • Machine instructions are described in the form of trees Instruction • Trees in the IR are “covered” using the instruction trees Selection Cost based tree pattern Structural tree pattern matching matching Optimization Machine independent Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 5/1 Retargetability in Aho Ullman and Davidson Fraser Models Aho Ullman Model Davidson Fraser Model • Machine independent IR is expressed in the form of trees • Machine instructions are described in the form of trees Instruction • Trees in the IR are “covered” using the instruction trees Selection Cost based tree pattern Structural tree pattern matching matching Machine dependent Optimization Machine independent Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: Compilation Models 5/1 Retargetability in Aho Ullman and Davidson Fraser Models Aho Ullman Model Davidson Fraser Model • Machine independent IR is expressed in the form of trees • Machine instructions are described in the form of trees Instruction • Trees in the IR are “covered” using the instruction trees Selection Cost based tree pattern Structural tree pattern matching matching Machine dependent Optimization Machine independent Key Insight: Register transfers are target specific but their form is target independent Uday Khedker GRC, IIT Bombay Part 2 GCC ≡ The Great Compiler Challenge EAGCC-PLDI-14 EAGCC: GCC ≡ The Great Compiler Challenge 6/1 What is GCC? • For the GCC developer community: The GNU Compiler Collection • For other compiler writers: The Great Compiler Challenge Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: GCC ≡ The Great Compiler Challenge 7/1 The GNU Tool Chain for C Source Program gcc Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: GCC ≡ The Great Compiler Challenge 7/1 The GNU Tool Chain for C Source Program cc1 cpp gcc Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: GCC ≡ The Great Compiler Challenge 7/1 The GNU Tool Chain for C Source Program cc1 cpp gcc Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: GCC ≡ The Great Compiler Challenge 7/1 The GNU Tool Chain for C Source Program cc1 cpp gcc as Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: GCC ≡ The Great Compiler Challenge 7/1 The GNU Tool Chain for C Source Program cc1 cpp gcc as ld Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: GCC ≡ The Great Compiler Challenge 7/1 The GNU Tool Chain for C Source Program cc1 cpp gcc as glibc/newlib ld Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: GCC ≡ The Great Compiler Challenge 7/1 The GNU Tool Chain for C Source Program cc1 cpp gcc as glibc/newlib ld Target Program Uday Khedker GRC, IIT Bombay EAGCC-PLDI-14 EAGCC: GCC ≡ The Great Compiler Challenge 8/1 Why is Understanding GCC Difficult? Some of the obvious reasons: • Comprehensiveness GCC is a production quality framework in terms of completeness and practical usefulness • Open development model Could lead to heterogeneity. Design flaws may be difficult to correct • Rapid versioning GCC maintenance is a race against time.
Recommended publications
  • Comparison of Contemporary Real Time Operating Systems
    ISSN (Online) 2278-1021 IJARCCE ISSN (Print) 2319 5940 International Journal of Advanced Research in Computer and Communication Engineering Vol. 4, Issue 11, November 2015 Comparison of Contemporary Real Time Operating Systems Mr. Sagar Jape1, Mr. Mihir Kulkarni2, Prof.Dipti Pawade3 Student, Bachelors of Engineering, Department of Information Technology, K J Somaiya College of Engineering, Mumbai1,2 Assistant Professor, Department of Information Technology, K J Somaiya College of Engineering, Mumbai3 Abstract: With the advancement in embedded area, importance of real time operating system (RTOS) has been increased to greater extent. Now days for every embedded application low latency, efficient memory utilization and effective scheduling techniques are the basic requirements. Thus in this paper we have attempted to compare some of the real time operating systems. The systems (viz. VxWorks, QNX, Ecos, RTLinux, Windows CE and FreeRTOS) have been selected according to the highest user base criterion. We enlist the peculiar features of the systems with respect to the parameters like scheduling policies, licensing, memory management techniques, etc. and further, compare the selected systems over these parameters. Our effort to formulate the often confused, complex and contradictory pieces of information on contemporary RTOSs into simple, analytical organized structure will provide decisive insights to the reader on the selection process of an RTOS as per his requirements. Keywords:RTOS, VxWorks, QNX, eCOS, RTLinux,Windows CE, FreeRTOS I. INTRODUCTION An operating system (OS) is a set of software that handles designed known as Real Time Operating System (RTOS). computer hardware. Basically it acts as an interface The motive behind RTOS development is to process data between user program and computer hardware.
    [Show full text]
  • Software De Sistemas Introduccion
    SOFTWARE DE SISTEMAS INTRODUCCION • EL CONCEPTO DE SOFTWARE VA MAS ALLA DE LOS PROGRAMAS DE COMPUTACION EN SUS DISTINTOS ESTADOS QUE ABARCA TODO LO INTANGIBLE RELACIONADO Algodesl.wordpress.com t i ¿QUE ES? p o s d e s o f t w a r e . c o m • Parte esencial para clasificar sistemas operativos • Conocido como software base • Conjunto de programas de software que permite interactuar con el hardware y operarlo junto con configuraciones y funciones de entrada y salida ¿Que hace? • Permite utilizar sistema operativo e informático, incluyendo herramientas de diagnostico • Su propósito es aislar un programa o hardware de aplicaciones tanto como sea posible proyectoova.webcindario.com Ejemplos de programas de software de sistema a d • Potenciales ejemplos: r ia n ▪ cargadores a l is s e ▪ Enlazadores t .b lo ▪ Utilidad de software g s p o ▪ Interfaz grafica t ▪ Celdas ▪ Bios ▪ Hipervisores ▪ Gestores de arranque losejemplos.com *si el software del sistema se almacena en memoria volátil se denomina firware Tipos • Como tal no existen varios tipos de software de sistema pero se pueden dividir en 3; O k • Sistema operativo h o s • t Controladores i n g • . Programas de utilería c o m Tipos; SISTEMA OPERATIVO • Parte que se encarga de administración de hardware como los componentes de computadora y encargado de que todos se unan para funcionar en 1 solo objetivo m i n d 4 2 . c o m SISTEMAS OPERATIVOS • MICROSOFT WINDOWS ▪ Núcleo: monolítico (versiones basadas en MS­DOS) e hibrido (versiones basadas en Windows NT) ▪ Plataformas: ARM, arquitectura Intel, MIPS, Alpha, Power PC SISTEMAS OPERATIVOS • MAC OS ▪ Núcleo: XNU basado en mach y BSD, es tipo hibrido ▪ Plataformas; power PC SISTEMAS OPERATIVOS • LINUX: ▪ Núcleo: núcleo Linux ▪ Plataformas; DEC Alpha, ARM, POWER PC, superH, SPARC, ETRAX CRIS, MIPS, MN103… etc.
    [Show full text]
  • Improving Performance of Virtual Machines by Virtio Bridge Bypass
    www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 6 Issue 4 April 2017, Page No. 20931-20937 Index Copernicus value (2015): 58.10 DOI: 10.18535/ijecs/v6i4.24 Improving performance of Virtual Machines by Virtio bridge Bypass for PCI devices 1Shirley Kotian, 2Kirti Menon, 3Kirti Menon, 4Utsav Mundada, 5Neeraj Vilas Auti 1234PICT, 5PICT [CS] ABSTRACT Inspired by the Virtio module of virtualization, we propose an alternate method to directly communicate with PCI devices such as NIC without the use of any kernel modules. This method uses a specialized module written by us which will avoid the mechanism of bridges like the ones used in Virtio that increase latency. This module will be present in the userspace of the guest OS and we are specifically targeting the e1000 device for this purpose and later plan to make it generic for all PCI devices. Our motivation is to avoid unnecessary communication with the kernel which slows down the system. For the first step. we do resource mapping to map the PCI device memory into userspace. Then, we expose PCI configuration space through a userspace module using ACPI cables. Thus, we create a userspace PCI driver which will decrease the latency in access time and increase speed of execution. The applications in the Guest OS that request communication with the PCI devices will be redirected to our application. This will take some load off the kernel and reduce its overhead. Finally, we boot a VM that actually talks to our PCI device emulator. GENERAL TERMS Virtio, UPCI, e1000, QEMU, virt-manager, UIO.
    [Show full text]
  • Virtualization for Embedded Software
    JETS VIRTUALIZATION FOR EMBEDDED SOFTWARE Seasoned aerospace organizations have already weathered the VIRTUALIZATION WITH JETS: change from bespoke systems and proprietary languages to COTS A KEY ENABLER OF DEVOPS TRANSFORMATION and open-source, as well as paradigm shifts from high-overhead FOR AEROSPACE AND DEFENSE waterfall and spiral development models to lightweight and agile methodologies and are considering moving to scalable agile Like all companies in the technology industry, aerospace and defense methods. As with previous seismic shifts in the industry, most suppliers are facing increased pressure to reduce cost and increase defense and aerospace firms will have to follow, especially as best-of- productivity, while meeting their market’s demand for higher breed tools, talent and processes are all refactored to take advantage overall quality and rapid adoption of new platforms, development of DevOps’ unique productivity and quality improvements. DevOps paradigms and user experiences. is a collective term for a range of modern development practices that combines loosely-coupled architectures and process automation In recent years, the rapid pace of innovation for consumer tech, with changes to the structure of development, IT and product teams. together with a new generation of ‘digital native’ users that demand Adoption of DevOps (See Figure 1). more capability than previous generations, has left many in the industry playing constant catch-up. Adoption of DevOps includes a shift from long, structured release cycles to continuous delivery, and relies on heavy use of automation to improve productivity and quality. This can be complicated by The commercial software world is shifting again, several factors common to the defense and aerospace industry.
    [Show full text]
  • GCC Plugins and MELT Extensions
    GCC plugins and MELT extensions Basile STARYNKEVITCH [email protected] (or [email protected]) June 16th 2011 – ARCHI’11 summer school (Mont Louis, France) These slides are under a Creative Commons Attribution-ShareAlike 3.0 Unported License creativecommons.org/licenses/by-sa/3.0 and downloadable from gcc-melt.org th Basile STARYNKEVITCH GCC plugins and MELT extensions June 16 2011 ARCHI’11 ? 1 / 134 Table of Contents 1 Introduction about you and me about GCC and MELT building GCC 2 GCC Internals complexity of GCC overview inside GCC (cc1) memory management inside GCC optimization passes plugins 3 MELT why MELT? handling GCC internal data with MELT matching GCC data with MELT future work on MELT th Basile STARYNKEVITCH GCC plugins and MELT extensions June 16 2011 ARCHI’11 ? 2 / 134 Introduction Contents 1 Introduction about you and me about GCC and MELT building GCC 2 GCC Internals complexity of GCC overview inside GCC (cc1) memory management inside GCC optimization passes plugins 3 MELT why MELT? handling GCC internal data with MELT matching GCC data with MELT future work on MELT th Basile STARYNKEVITCH GCC plugins and MELT extensions June 16 2011 ARCHI’11 ? 3 / 134 Introduction about you and me opinions are mine only Opinions expressed here are only mine! not of my employer (CEA, LIST) not of the Gcc community not of funding agencies (e.g. DGCIS)1 I don’t understand or know all of Gcc ; there are many parts of Gcc I know nothing about. Beware that I have some strong technical opinions which are not the view of the majority of contributors to Gcc.
    [Show full text]
  • Design and Implementation of a Hypervisor-Based Platform for Dynamic Information Flow Tracking in a Distributed Environment by A
    Design and Implementation of a Hypervisor-Based Platform for Dynamic Information Flow Tracking in a Distributed Environment by Andrey Ermolinskiy A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the GRADUATE DIVISION of the UNIVERSITY OF CALIFORNIA, BERKELEY Committee in charge: Professor Scott Shenker, Chair Professor Ion Stoica Professor Deirdre Mulligan Spring 2011 Design and Implementation of a Hypervisor-Based Platform for Dynamic Information Flow Tracking in a Distributed Environment Copyright c 2011 by Andrey Ermolinskiy Abstract Design and Implementation of a Hypervisor-Based Platform for Dynamic Information Flow Tracking in a Distributed Environment by Andrey Ermolinskiy Doctor of Philosophy in Computer Science University of California, Berkeley Professor Scott Shenker, Chair One of the central security concerns in managing an organization is protecting the flow of sensitive information, by which we mean either maintaining an audit trail or ensuring that sensitive documents are disseminated only to the authorized parties. A promising approach to securing sensitive data involves designing mechanisms that interpose at the software-hardware boundary and track the flow of information with high precision — at the level of bytes and machine instructions. Fine-grained information flow tracking (IFT) is conceptually simple: memory and registers containing sensitive data are tagged with taint labels and these labels are propagated in accordance with the computation. However, previous efforts have demonstrated that full-system IFT faces two major practi- cal limitations — enormous performance overhead and taint explosion. These challenges render existing IFT implementations impractical for deployment outside of a laboratory setting. This dissertation describes our progress in addressing these challenges.
    [Show full text]
  • Challenges in Firmware Re-Hosting, Emulation, and Analysis
    Challenges in Firmware Re-Hosting, Emulation, and Analysis CHRISTOPHER WRIGHT, Purdue University WILLIAM A. MOEGLEIN, Sandia National Laboratories SAURABH BAGCHI, Purdue University MILIND KULKARNI, Purdue University ABRAHAM A. CLEMENTS, Sandia National Laboratories System emulation and firmware re-hosting have become popular techniques to answer various security and performance related questions, such as, does a firmware contain security vulnerabilities or meet timing requirements when run on a specific hardware platform. While this motivation for emulation and binary analysis has previously been explored and reported, starting to either work or research in the field is difficult. To this end, we provide a comprehensive guide for the practitioner or system emulation researcher. We layout common challenges faced during firmware re-hosting, explaining successive steps and surveying common tools used to overcome these challenges. We provide classification techniques on five different axes, including emulator methods, system type, fidelity, emulator purpose, and control. These classifications and comparison criteria enable the practitioner to determine the appropriate tool for emulation. We use our classifications to categorize popular works in the field and present 28 common challenges faced when creating, emulating and analyzing a system, from obtaining firmwares to post emulation analysis. CCS Concepts: • Computer systems organization → Embedded and cyber-physical systems; Firmware; Embedded hardware; Embedded software; Real-time systems; • Hardware → Simulation and emulation. Additional Key Words and Phrases: Firmware re-hosting, system emulation, embedded systems, emulation fidelity, emulator classification, binary analysis, reverse engineering, emulation challenges ACM Reference Format: Christopher Wright, William A. Moeglein, Saurabh Bagchi, Milind Kulkarni, and Abraham A. Clements. 2020. Challenges in Firmware Re-Hosting, Emulation, and Analysis.
    [Show full text]
  • The Design and Implementation of Gnu Compiler Generation Framework
    The Design and Implementation of Gnu Compiler Generation Framework Uday Khedker GCC Resource Center, Department of Computer Science and Engineering, Indian Institute of Technology, Bombay January 2010 CS 715 GCC CGF: Outline 1/52 Outline • GCC: The Great Compiler Challenge • Meeting the GCC Challenge: CS 715 • Configuration and Building Uday Khedker GRC, IIT Bombay Part 1 GCC ≡ The Great Compiler Challenge CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program gcc Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc as Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc as ld Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc as glibc/newlib ld Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 2/52 The Gnu Tool Chain Source Program cc1 cpp gcc as GCC glibc/newlib ld Target Program Uday Khedker GRC, IIT Bombay CS 715 GCC CGF: GCC ≡ The Great Compiler Challenge 3/52 Why is Understanding GCC Difficult? Some of the obvious reasons: • Comprehensiveness GCC is a production quality framework in terms of completeness and practical usefulness • Open development model Could lead to heterogeneity.
    [Show full text]
  • Comparative Study of Virtual Machine Software Packages with Real Operating System
    Master Thesis Electrical Engineering June 2012 Comparative Study of Virtual Machine Software Packages with Real Operating System Arunkumar Jayaraman Pavankumar Rayapudi School of Computing Blekinge Institute of Technology 371 79 Karlskrona Sweden This thesis is submitted to the School of Computing at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering. The thesis is equivalent to 20 weeks of full time studies. Contact Information: Author: Arunkumar Jayaraman E-mail: [email protected] Author: Pavankumar Rayapudi E-mail: [email protected] University Advisor: Prof. Lars Lundberg School of Computing Blekinge Institute of Technology Email: [email protected] University Examiner: Dr. Patrik Arlos School of Computing Blekinge Institute of Technology Email: [email protected] School of Computing Internet : www.bth.se/com Blekinge Institute of Technology Phone : +46 455 38 50 00 371 79 Karlskrona Fax : +46 455 38 50 57 Sweden i i ABSTRACT Virtualization allows computer users to utilize their resources more efficiently and effectively. Operating system that runs on top of the Virtual Machine or Hypervisor is called guest OS. The Virtual Machine is an abstraction of the real physical machine. The main aim of this thesis work was to analyze different kinds of virtualization software packages and to investigate their advantages and disadvantages. In addition, we analyzed the performance of the virtual software packages with a real operating system in terms of web services. Web Servers play an important role on the Internet. The response time and throughput for a web server are different for different virtualization software packages and between a real host and a virtual host.
    [Show full text]
  • Raspberry Pi Based Hazardous Environment Monitoring Using Wireless Communication
    ITSI Transactions on Electrical and Electronics Engineering (ITSI-TEEE) _______________________________________________________________________________________________ Raspberry Pi Based Hazardous Environment Monitoring Using Wireless Communication 1Nivedha.S, 2Shambavi.P, 3Abhirami.N, 4Jyothi.A.P, 5Darwin Britto.R 1,2,3,4,5Dept of ECE, RRCE, Bangalore using RS232 and also the transmissions is on both Abstract-This paper presents a hazardous environment monitoring and control for monitoring information directions which mean the inverted logic is also handled concerning safety and security, using wireless sensor with the same. RS232 uses MARK (negative voltage) network (WSN) with Raspberry Pi technology and the and SPPACE (positive voltage) as two voltage states. So concept of implementation is described in the context of the the baud rate is identical to the maximum number of bits industrial safety monitoring scenario. The deployed transmitted per second including the control bits. The wireless sensor network is used to perform data acquisition transmission rate of the device is 9600 baud with the with focus on several parameters like current, voltage, duration of start bit and each subsequent bit is about temperature, fire, poisonous gas leakage and water level. 0.104ms. The complete character frame of 11 bits is The advanced system for process management via a credit transmitted in 1.146ms. MAX 232 IC mountedon the card sized single board computer called Raspberry Pi based multi parameter monitoring hardware system master board converts the 0’s and 1’s to TTL logic. designed using RS232 and microcontroller that measures ZigBee frequency range is 2.4 GHz, These devices can and controls various hazardous parameters. The system transmit data over long distances by passing data comprises of a single master and single slave with wireless through a mesh network of intermediate devices to reach mode of communication and a Raspberry Pi system that can operate on Linux operating system.
    [Show full text]
  • DMA Processor
    2001:275 MASTER'S THESIS DMA processor Axel Meijer Civilingenjörsprogrammet Datateknik Institutionen för Systemteknik Avdelningen för Datorteknik 2001:275 • ISSN: 1402-1617 • ISRN: LTU-EX--01/275--SE MASTER'S THESIS DMA processor Axel Meijer [email protected] Department of Computer Science and Electrical Engineering Luleå University of Technology, Sweden September 2001 Examiner: Per Lindgren Department of Computer Science and Electrical Engineering Luleå University of Technology Supervisor: Jan Bengtsson Axis Communcations Lund, Sweden Abstract The DMA (Direct Memory Access) controller, is often a non-programmable hard- ware. As new peripheral interfaces are introduced there is often a need to change the DMA operation and therefore the design of the DMA controller. Changing the design of the DMA controller is often expensive and time-consuming. Instead, a fully programmable DMA processor can alter the behaviour by simply changing a control program. This paper describes an approach for a programmable DMA processor for a future ETRAX processor developed by Axis Communications. To reach the design solu- tion, different instruction set architectures were simulated and investigated. The result is a fully programmable DMA processor with one RISC core and several burst controllers that handles the data transfers. It can transfer data in parallel with up to 16 channels. The DMA processor is able to work with 1 Gbit/s full duplex Ethernet when the DMA processor is running at 100 MHz. The program that con- trols the DMA operations is stored in a local instruction memory of the DMA proc- essor. When synthesized with 0.25 µm technology, the DMA controller has a 160 000 gate foot print without the instruction memory.
    [Show full text]
  • Design and Implementation of a Hypervisor-Based Platform for Dynamic Information Flow Tracking in a Distributed Environment
    Design and Implementation of a Hypervisor-Based Platform for Dynamic Information Flow Tracking in a Distributed Environment Andrey Ermolinskiy Scott Shenker Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2011-50 http://www.eecs.berkeley.edu/Pubs/TechRpts/2011/EECS-2011-50.html May 12, 2011 Copyright © 2011, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Design and Implementation of a Hypervisor-Based Platform for Dynamic Information Flow Tracking in a Distributed Environment by Andrey Ermolinskiy A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the GRADUATE DIVISION of the UNIVERSITY OF CALIFORNIA, BERKELEY Committee in charge: Professor Scott Shenker, Chair Professor Ion Stoica Professor Deirdre Mulligan Spring 2011 Design and Implementation of a Hypervisor-Based Platform for Dynamic Information Flow Tracking in a Distributed Environment Copyright c 2011 by Andrey Ermolinskiy Abstract Design and Implementation of a Hypervisor-Based Platform for Dynamic Information Flow Tracking in a Distributed Environment by Andrey Ermolinskiy Doctor of Philosophy in Computer Science University of California, Berkeley Professor Scott Shenker, Chair One of the central security concerns in managing an organization is protecting the flow of sensitive information, by which we mean either maintaining an audit trail or ensuring that sensitive documents are disseminated only to the authorized parties.
    [Show full text]