PyMTL and Pydgin Tutorial. Python Frameworks for Highly Productive Computer Architecture Research

Size: px
Start display at page:

Download "PyMTL and Pydgin Tutorial. Python Frameworks for Highly Productive Computer Architecture Research"

Transcription

1 PyMTL and Pydgin Tutorial Python Frameworks for Highly Productive Computer Architecture Research Derek Lockhart, Berkin Ilbeyi, Christopher Batten Computer Systems Laboratory School of Electrical and Computer Engineering Cornell University 42nd Int l Symp. on Computer Architecture, June 2015

2 Typical Research Methodologies: Application-Level Application Algorithm Programming Language Operating System Instruction Set Arch. Microarchitecture Register-Transfer Level Gate Level Circuits Devices Technology I General Approach. Use real machines. Use real machines with dynamic instrumentation (e.g., Pin). Use fast instruction set simulators or emulators (e.g., SimIt-ARM, QEMU) I Benefits. Fast execution enables experimenting with large, realistic applications I Challenges. Difficult to explore applications for emerging architectures which do not exist yet ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 2 / 125

3 Typical Research Methodologies: Architecture-Level Application Algorithm Programming Language Operating System Instruction Set Arch. Microarchitecture Register-Transfer Level Gate Level Circuits Devices Technology I General Approach. Use standard benchmark suite (e.g., Splash2, PARSEC, Rodina). Modify standard cycle-level C/C++ simulator (e.g., SESC, Simics, gem5). Use standard high-level physical modeling tool (e.g., CACTI, Wattch, Orion, McPAT) I Benefits. More accurate than ISA simulation. Faster and more flexible design-space exploration than lower-level models I Challenges. Experimenting with large, realistic apps. Physical modeling of radically new arch ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 3 / 125

4 Typical Research Methodologies: VLSI-Level Application Algorithm Programming Language Operating System Instruction Set Arch. Microarchitecture Register-Transfer Level Gate Level Circuits Devices Technology I General Approach. Possibly start with open-source IP (e.g., FabScalar, OpenRISC/SPARC, NetMaker). Write small microbenchmarks or embedded applications. Implement SystemVerilog/Verilog/VHDL RTL (or Bluespec GAA) model of design. Use standard commercial ASIC CAD tools to estimate cycle time, area, energy I Benefits. More accurate physical characterization. Increases credibility of design I Challenges. Only small apps possible due to slow sims. Cumbersome design-space exploration ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 4 / 125

5 Vertically-Integrated Modeling Environment Application Algorithm Programming Language Operating System Instruction Set Arch. Microarchitecture Register-Transfer Level Gate Level Circuits Devices Technology App Arch VLSI I Unified package with integrated applications, test programs, cross compilers, proxy kernels, full OS kernels, ISA emulators, microarchitectural models, RTL models, ASIC/FPGA CAD scripts, and unit tests I Support for rapid/iterative design-space exploration across abstraction layers especially for emerging applications and radically new architectures ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 5 / 125

6 Highly Productive Modeling Environment Change Simulator Configuration Modify Simulator Slightly Modify Simulator Significantly Sim Time Sim Sim I Choose language at the application, architecture, and VLSI level to emphasize productivity over performance I Possibly use a single language at all abstraction levels + Write Emerging Apps + Implement RTL Models Sim Highly Productive Modeling Env Sim ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 6 / 125

7 Previous Vertically Integrated Methodology Software Toolflow C++ Application Kernel Hardware Toolflow Verilog RTL Results Cycle Count Native Compiler Native Binary Cross Compiler Cross Binary Verilog RTL Simulator Synthesis Place&Route Gate-Level Model Layout Area & Cycle Time C++ ISA Sim C++ Microarch Sim Verilog GL Simulator Software and hardware toolflows are driven by a combination of Makefiles and Autoconf Switching Activity Power Analysis Energy ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 7 / 125

8 Python-Based Vertically Integrated Methodology Software Toolflow C++ Application Kernel Hardware Toolflow PyMTL Verilog RTL Results Cycle Count Native Compiler Native Binary Cross Compiler Cross Binary Verilog PyMTL RTL Simulator RTL Synthesis Place&Route Gate-Level Model Layout Area & Cycle Time Pydgin C++ ISA Sim PyMTL C++ Microarch FL & CL Sim Verilog GL Simulator Software and hardware toolflows are driven by a combination of Makefiles and Autoconf Switching Activity Power Analysis Energy ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 8 / 125

9 Why Python? I Python is well regarded as a highly productive language with lightweight, pseudocode-like syntax I Python supports modern language features to enable rapid, agile development (dynamic typing, reflection, metaprogramming) I Python has a large and active developer and support community I Python includes extensive standard and third-party libraries I Python enables embedded domain-specific languages I Python facilitates engaging application-level researchers I Python includes built-in support for integrating with C/C++ I Python performance is improving with advanced JIT compilation ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 9 / 125

10 What&is&PyMTL?& What is PyMTL?! A!Python!EDSL!for!concurrentNstructural!hardware!modeling! A!Python!API!for!analyzing!models!described!in!the!PyMTL!EDSL!! A!Python!tool!for!simulaBng!PyMTL!FL,!CL,!and!RTL!models! A!Python!tool!for!translaBng!PyMTL!RTL!models!into!Verilog! A!Python!tesBng!framework!for!model!validaBon!! TesBng!Framework!! Model!EDSL! API! SimulaBon! Tool! TranslaBon! Tool! ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 10 / 125

11 What is PyMTL for and not (currently) for? I PyMTL is for.... Taking an accelerator design from concept to implementation. Construction of highly-parameterizable RTL chip generators. Rapid design, testing, and exploration of hardware mechanisms. Quickly prototyping models and interfacing them with GEM5. Interfacing models with imported Verilog I PyMTL is not (currently) for.... Python high-level synthesis. Many-core simulations with hundreds of cores. Full-system simulation with real OS support. Users needing a complex OOO processor model out of the box. Users needing an ARM/x86 processor model out of the box. Users needing a mature modeling framework that will not change ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 11 / 125

12 What&is&Pydgin?& What is Pydgin? Pydgin!is!a!PythonNbased!framework!for! producbvely!generabng!very!fast! Pydgin is a Python-based framework for productively generating instrucbon!set!simulators!! very fast instruction-set simulators Architectural! DescripBon! Language! Pydgin InstrucBon!Set! Interpreter!in!C! with!dbt! I Flexible, productive, pseudocode-like ADL syntax Flexible,!producBve,!pseudocodeNlike!ADL!syntax! I ADL embedded in a popular, general-purpose language ADL!embedded!in!a!popular,!generalNpurpose!language! I Tracing-JIT generator applies across many different ISAs RPython! I TracingNJIT!generator!applies!across!many!different!ISAs! Leverages advancements TranslaBon! from dynamic-language JIT research I Capable Leverages!advancements!from!dynamicNlanguage!JIT!research! of simulating RISCToolchain! instruction sets at 100 s of MIPS! ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 12 / 125

13 What is Pydgin for and not (currently) for? I Pydgin is for.... Building your own very fast instruction set simulators. Experimenting with emerging research instruction sets. Easily instrumenting an instruction set simulator for early analysis I Pydgin is not (currently) for.... Multi-core simulations (planned for the near future). Full-system simulation. Users needing an ARMv8/x86 simulator out of the box. Users needing a mature modeling framework that will not change ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 13 / 125

14 I PyMTL/Pydgin in Research PyMTL/Pydgin in Practice. PyMTL CL modeling used in recent XLOOPS accelerator project. PyMTL/Pydgin modeling used in current HLS accelerator work. PyMTL/Pydgin modeling used in current data-parallel accelerator work. Pydgin used in porting PBBS to our PARC instruction set I PyMTL/Pydgin in Teaching. Graduate-Level Complex Digital ASIC Design Course. Undergraduate-Level Computer Architecture Course ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 14 / 125

15 PyMTL Pydgin PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research [ MICRO 2014 ] Pydgin: Generating Fast Instruction Set Simulators from Simple Architecture Descriptions with Meta-Tracing JIT Compilers [ ISPASS 2015 ] ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 15 / 125

16 PyMTL/Pydgin Project Sponsors Funding partially provided by the National Science Foundation through NSF CAREER Award # Funding partially provided by the Defense Advanced Research Projects Agency through a DARPA Young Faculty Award ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 16 / 125

17 PyMTL/Pydgin Tutorial Organizers Derek Lockhart I N th -Year Ph.D. Candidate, ECE, Cornell University I Graduating this summer and heading to Google Platforms I Research Interests: Hardware design methodologies, computer architecture, VLSI design I Lead researcher/developer for PyMTL framework I Co-Lead researcher/developer for Pydgin framework Berkin Ilbeyi I 3 nd -Year Ph.D. Candidate, ECE, Cornell University I Research Interests: Computer architecture, just-in-time compilation, novel hardware/software interfaces I First real user of PyMTL framework for XLOOPS project I Co-Lead researcher/developer for Pydgin framework ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 17 / 125

18 PyMTL/Pydgin Tutorial Schedule 8:30am 8:50am Virtual Machine Installation and Setup 8:50am 9:00am : PyMTL/Pydgin Tutorial 9:00am 9:10am : Introduction to Pydgin 9:10am 10:00am : Adding a uction using Pydgin 10:00am 10:10am : Introduction to PyMTL 10:10am 11:00am : PyMTL Basics with 11:00am 11:30am 11:30am 11:40am 11:40am 12:30pm Coffee Break : Multi-Level Modeling with PyMTL : FL, CL, RTL Modeling of a ISCA 2015 PyMTL/Pydgin Tutorial: Python Frameworks for Highly Productive Computer Architecture Research 18 / 125

PyCompArch: Python-Based Modules for Exploring Computer Architecture Concepts

PyCompArch: Python-Based Modules for Exploring Computer Architecture Concepts PyCompArch: Python-Based Modules for Exploring Computer Architecture Concepts Dan Connors, Kyle Dunn, and Ryan Bueter Department of Electrical Engineering University of Colorado Denver Denver, Colorado

More information

12. Introduction to Virtual Machines

12. Introduction to Virtual Machines 12. Introduction to Virtual Machines 12. Introduction to Virtual Machines Modern Applications Challenges of Virtual Machine Monitors Historical Perspective Classification 332 / 352 12. Introduction to

More information

ECE 5745 Complex Digital ASIC Design Course Overview

ECE 5745 Complex Digital ASIC Design Course Overview ECE 5745 Complex Digital ASIC Design Course Overview Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745 Application Algorithm

More information

CURIE Academy 2014 Design Project: Exploring an Internet of Things

CURIE Academy 2014 Design Project: Exploring an Internet of Things CURIE Academy 2014 Design Project: Exploring an Internet of Things Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/curie2014 Electrical and

More information

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Reminders. Lab opens from today. Many students want to use the extra I/O pins on Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students

More information

ECE 5745 Complex Digital ASIC Design, Spring 2016. Course Syllabus

ECE 5745 Complex Digital ASIC Design, Spring 2016. Course Syllabus 1. Course Information School of Electrical and Computer Engineering Cornell University revision: 2016-01-28-10-32 Prereqs Instructor Admin. Assistant Graduate TA ECE 4750 Computer Architecture Prof. Christopher

More information

Systems on Chip Design

Systems on Chip Design Systems on Chip Design College: Engineering Department: Electrical First: Course Definition, a Summary: 1 Course Code: EE 19 Units: 3 credit hrs 3 Level: 3 rd 4 Prerequisite: Basic knowledge of microprocessor/microcontroller

More information

Multi-/Many-core Modeling at Freescale

Multi-/Many-core Modeling at Freescale Multi-/Many-core Modeling at Freescale David Murrell, Jim Holt, Michele Reese Perspective: Virtual Platform ROI Schedules: SW and HW available on day 1 becoming an industry expectation FSL P4080 Linux

More information

McPAT: An Integrated Power, Area, and Timing Modeling Framework for Multicore and Manycore Architectures

McPAT: An Integrated Power, Area, and Timing Modeling Framework for Multicore and Manycore Architectures McPAT: An Integrated Power, Area, and Timing Modeling Framework for Multicore and Manycore Architectures Sheng Li, Junh Ho Ahn, Richard Strong, Jay B. Brockman, Dean M Tullsen, Norman Jouppi MICRO 2009

More information

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH WHITE PAPER METRIC-DRIVEN VERIFICATION ENSURES SOFTWARE DEVELOPMENT QUALITY BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH INTRODUCTION The complexity of electronic systems is rapidly

More information

Stacey D. Son Consultant/SRI International. BSDCan Developer s Summit 15-May-2013

Stacey D. Son Consultant/SRI International. BSDCan Developer s Summit 15-May-2013 CTSR Trustworthy Systems Research and CTSRDCRASH-worthy Development Cross Building Packages Stacey D. Son Consultant/SRI International BSDCan Developer s Summit 15-May-2013 Approved for public release.

More information

7a. System-on-chip design and prototyping platforms

7a. System-on-chip design and prototyping platforms 7a. System-on-chip design and prototyping platforms Labros Bisdounis, Ph.D. Department of Computer and Communication Engineering 1 What is System-on-Chip (SoC)? System-on-chip is an integrated circuit

More information

MAJORS: Computer Engineering, Computer Science, Electrical Engineering

MAJORS: Computer Engineering, Computer Science, Electrical Engineering Qualcomm MAJORS: Computer Engineering, Computer Science, Electrical Engineering TITLE: Intern - Software Engineer - Summer 2012 JOB DESCRIPTION: G1889814 Job Title Intern - Software Engineer - Summer 2012

More information

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation Testing & Verification of Digital Circuits ECE/CS 5745/6745 Hardware Verification using Symbolic Computation Instructor: Priyank Kalla (kalla@ece.utah.edu) 3 Credits Mon, Wed, 1:25-2:45pm, WEB L105 Office

More information

Secured Embedded Many-Core Accelerator for Big Data Processing

Secured Embedded Many-Core Accelerator for Big Data Processing Secured Embedded Many- Accelerator for Big Data Processing Amey Kulkarni PhD Candidate Advisor: Professor Tinoosh Mohsenin Energy Efficient High Performance Computing (EEHPC) Lab University of Maryland,

More information

Architectures and Platforms

Architectures and Platforms Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center IOTIVITY AND EMBEDDED LINUX SUPPORT Kishen Maloor Intel Open Source Technology Center Outline Brief introduction to IoTivity Software development challenges in embedded Yocto Project and how it addresses

More information

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU ESE566 REPORT3 Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU Nov 19th, 2002 ABSTRACT: In this report, we discuss several recent published papers on design methodologies of core-based

More information

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001 Agenda Introduzione Il mercato Dal circuito integrato al System on a Chip (SoC) La progettazione di un SoC La tecnologia Una fabbrica di circuiti integrati 28 How to handle complexity G The engineering

More information

Multi-core Programming System Overview

Multi-core Programming System Overview Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,

More information

Design Cycle for Microprocessors

Design Cycle for Microprocessors Cycle for Microprocessors Raúl Martínez Intel Barcelona Research Center Cursos de Verano 2010 UCLM Intel Corporation, 2010 Agenda Introduction plan Architecture Microarchitecture Logic Silicon ramp Types

More information

FLIX: Fast Relief for Performance-Hungry Embedded Applications

FLIX: Fast Relief for Performance-Hungry Embedded Applications FLIX: Fast Relief for Performance-Hungry Embedded Applications Tensilica Inc. February 25 25 Tensilica, Inc. 25 Tensilica, Inc. ii Contents FLIX: Fast Relief for Performance-Hungry Embedded Applications...

More information

Simplify: an abstract MPSoC platform framework for enabling fast functional/behavioral simulation

Simplify: an abstract MPSoC platform framework for enabling fast functional/behavioral simulation Simplify: an abstract MPSoC platform framework for enabling fast functional/behavioral simulation Gabriel Marchesan Almeida, Oliver Bellaver Longhi, Michael Hübner, Fabiano Hessel and Jürgen Becker www.kit.edu

More information

Performance monitoring at CERN openlab. July 20 th 2012 Andrzej Nowak, CERN openlab

Performance monitoring at CERN openlab. July 20 th 2012 Andrzej Nowak, CERN openlab Performance monitoring at CERN openlab July 20 th 2012 Andrzej Nowak, CERN openlab Data flow Reconstruction Selection and reconstruction Online triggering and filtering in detectors Raw Data (100%) Event

More information

Informal methods A personal search for practical alternatives to moral improvement through suffering in systems research

Informal methods A personal search for practical alternatives to moral improvement through suffering in systems research Informal methods A personal search for practical alternatives to moral improvement through suffering in systems research (lightning-talk version) Robert N. M. Watson University of Cambridge Computer Laboratory

More information

Intro to Virtualization

Intro to Virtualization Cloud@Ceid Seminars Intro to Virtualization Christos Alexakos Computer Engineer, MSc, PhD C. Sysadmin at Pattern Recognition Lab 1 st Seminar 19/3/2014 Contents What is virtualization How it works Hypervisor

More information

Virtual Platforms Addressing challenges in telecom product development

Virtual Platforms Addressing challenges in telecom product development white paper Virtual Platforms Addressing challenges in telecom product development This page is intentionally left blank. EXECUTIVE SUMMARY Telecom Equipment Manufacturers (TEMs) are currently facing numerous

More information

Neptune. A Domain Specific Language for Deploying HPC Software on Cloud Platforms. Chris Bunch Navraj Chohan Chandra Krintz Khawaja Shams

Neptune. A Domain Specific Language for Deploying HPC Software on Cloud Platforms. Chris Bunch Navraj Chohan Chandra Krintz Khawaja Shams Neptune A Domain Specific Language for Deploying HPC Software on Cloud Platforms Chris Bunch Navraj Chohan Chandra Krintz Khawaja Shams ScienceCloud 2011 @ San Jose, CA June 8, 2011 Cloud Computing Three

More information

General Introduction

General Introduction Managed Runtime Technology: General Introduction Xiao-Feng Li (xiaofeng.li@gmail.com) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime

More information

The Emerging Trends in Electrical and Computer Engineering

The Emerging Trends in Electrical and Computer Engineering 18-200 Fall 2006 The Emerging Trends in Electrical and Computer Engineering Hosting instructor: Prof. Jimmy Zhu; Time: Thursdays 3:30-4:20pm; Location: DH 2210 Date Lecturer Lecture Contents L01 08/31

More information

Digital Systems Design! Lecture 1 - Introduction!!

Digital Systems Design! Lecture 1 - Introduction!! ECE 3401! Digital Systems Design! Lecture 1 - Introduction!! Course Basics Classes: Tu/Th 11-12:15, ITE 127 Instructor Mohammad Tehranipoor Office hours: T 1-2pm, or upon appointments @ ITE 441 Email:

More information

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015 Development With ARM DS-5 Mervyn Liu FAE Aug. 2015 1 Support for all Stages of Product Development Single IDE, compiler, debug, trace and performance analysis for all stages in the product development

More information

CS312 Solutions #6. March 13, 2015

CS312 Solutions #6. March 13, 2015 CS312 Solutions #6 March 13, 2015 Solutions 1. (1pt) Define in detail what a load balancer is and what problem it s trying to solve. Give at least two examples of where using a load balancer might be useful,

More information

Performance Architect Remote Storage (Intern)

Performance Architect Remote Storage (Intern) Performance Architect Remote Storage (Intern) Samsung Semiconductor, Inc. is a world leader in Memory, System LSI and LCD technologies. We are currently looking for a Performance Architect (Intern) to

More information

Tensilica Software Development Toolkit (SDK)

Tensilica Software Development Toolkit (SDK) Tensilica Datasheet Tensilica Software Development Toolkit (SDK) Quickly develop application code Features Cadence Tensilica Xtensa Xplorer Integrated Development Environment (IDE) with full graphical

More information

Virtual Machines. Virtual Machines

Virtual Machines. Virtual Machines Virtual Machines Virtual Machines What is a virtual machine? Examples? Benefits? 1 Virtualization Creation of an isomorphism that maps a virtual guest system to a real host: Maps guest state S to host

More information

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur 2015 The MathWorks, Inc. 1 Model-Based Design Continuous Verification and Validation Requirements

More information

Virtual Platforms in System-on-Chip Design

Virtual Platforms in System-on-Chip Design Virtual Platforms in System-on-Chip Design Katalin Popovici 1 and Ahmed A. Jerraya 2 1 The MathWorks, Inc., Natick, MA, USA 2 CEA-LETI, Grenoble, France Notice of Copyright This material is protected under

More information

Huawei Agile Network FAQ... 2. 1 What is an agile network? What is the relationship between an agile network and SDN?... 2

Huawei Agile Network FAQ... 2. 1 What is an agile network? What is the relationship between an agile network and SDN?... 2 Contents Huawei Agile Network FAQ... 2 1 What is an agile network? What is the relationship between an agile network and SDN?... 2 2 What is an agile campus?... 3 3 What are the benefits of an agile network?...

More information

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase

More information

Jonathan C. Sevy. Software and Systems Engineering Experience

Jonathan C. Sevy. Software and Systems Engineering Experience Jonathan C. Sevy jsevy@cs.drexel.edu http://gicl.cs.drexel.edu/people/sevy Software and Systems Engineering Experience Experienced in all phases of software development, including requirements, architecture

More information

SystemC Tutorial. John Moondanos. Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley

SystemC Tutorial. John Moondanos. Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley SystemC Tutorial John Moondanos Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley SystemC Introduction Why not leverage experience of C/C++ developers for H/W & System Level Design? But

More information

http://www.ece.ucy.ac.cy/labs/easoc/people/kyrkou/index.html BSc in Computer Engineering, University of Cyprus

http://www.ece.ucy.ac.cy/labs/easoc/people/kyrkou/index.html BSc in Computer Engineering, University of Cyprus Christos Kyrkou, PhD KIOS Research Center for Intelligent Systems and Networks, Department of Electrical and Computer Engineering, University of Cyprus, Tel:(+357)99569478, email: ckyrkou@gmail.com Education

More information

So#ware Tools and Techniques for HPC, Clouds, and Server- Class SoCs Ron Brightwell

So#ware Tools and Techniques for HPC, Clouds, and Server- Class SoCs Ron Brightwell So#ware Tools and Techniques for HPC, Clouds, and Server- Class SoCs Ron Brightwell R&D Manager, Scalable System So#ware Department Sandia National Laboratories is a multi-program laboratory managed and

More information

Undergraduate Major in Computer Science and Engineering

Undergraduate Major in Computer Science and Engineering University of California, Irvine 2015-2016 1 Undergraduate Major in Computer Science and Engineering On This Page: Overview Admissions Requirements for the B.S. in Computer Science and Engineering Sample

More information

Techniques for Real-System Characterization of Java Virtual Machine Energy and Power Behavior

Techniques for Real-System Characterization of Java Virtual Machine Energy and Power Behavior Techniques for Real-System Characterization of Java Virtual Machine Energy and Power Behavior Gilberto Contreras Margaret Martonosi Department of Electrical Engineering Princeton University 1 Why Study

More information

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE Sudha M 1, Harish G M 2, Nandan A 3, Usha J 4 1 Department of MCA, R V College of Engineering, Bangalore : 560059, India sudha.mooki@gmail.com 2 Department

More information

Testing of Digital System-on- Chip (SoC)

Testing of Digital System-on- Chip (SoC) Testing of Digital System-on- Chip (SoC) 1 Outline of the Talk Introduction to system-on-chip (SoC) design Approaches to SoC design SoC test requirements and challenges Core test wrapper P1500 core test

More information

ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT

ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT 216 ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT *P.Nirmalkumar, **J.Raja Paul Perinbam, @S.Ravi and #B.Rajan *Research Scholar,

More information

Virtual Machines. www.viplavkambli.com

Virtual Machines. www.viplavkambli.com 1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software

More information

Using EDA Databases: Milkyway & OpenAccess

Using EDA Databases: Milkyway & OpenAccess Using EDA Databases: Milkyway & OpenAccess Enabling and Using Scripting Languages with Milkyway and OpenAccess Don Amundson Khosro Khakzadi 2006 LSI Logic Corporation 1 Outline History Choice Of Scripting

More information

Android Development: a System Perspective. Javier Orensanz

Android Development: a System Perspective. Javier Orensanz Android Development: a System Perspective Javier Orensanz 1 ARM - Linux and Communities Linux kernel GNU Tools 2 Linaro Partner Initiative Mission: Make open source development easier by delivering a common

More information

Lecture 3: Evaluating Computer Architectures. Software & Hardware: The Virtuous Cycle?

Lecture 3: Evaluating Computer Architectures. Software & Hardware: The Virtuous Cycle? Lecture 3: Evaluating Computer Architectures Announcements - Reminder: Homework 1 due Thursday 2/2 Last Time technology back ground Computer elements Circuits and timing Virtuous cycle of the past and

More information

Xeon+FPGA Platform for the Data Center

Xeon+FPGA Platform for the Data Center Xeon+FPGA Platform for the Data Center ISCA/CARL 2015 PK Gupta, Director of Cloud Platform Technology, DCG/CPG Overview Data Center and Workloads Xeon+FPGA Accelerator Platform Applications and Eco-system

More information

A hypervisor approach with real-time support to the MIPS M5150 processor

A hypervisor approach with real-time support to the MIPS M5150 processor ISQED Wednesday March 4, 2015 Session 5B A hypervisor approach with real-time support to the MIPS M5150 processor Authors: Samir Zampiva (samir.zampiva@acad.pucrs.br) Carlos Moratelli (carlos.moratelli@pucrs.br)

More information

Some Future Challenges of Binary Translation. Kemal Ebcioglu IBM T.J. Watson Research Center

Some Future Challenges of Binary Translation. Kemal Ebcioglu IBM T.J. Watson Research Center Some Future Challenges of Binary Translation Kemal Ebcioglu IBM T.J. Watson Research Center Disclaimers! The IBM material in this tutorial consists of nonconfidential research projects and ideas! Non-IBM

More information

ns-3 development overview ns-3 GENI Eng. Conf., Nov. 2010 1

ns-3 development overview ns-3 GENI Eng. Conf., Nov. 2010 1 ns-3 development overview ns-3 GENI Eng. Conf., Nov. 2010 1 ns-3 tutorial agenda 3:00-4:30: ns-3 current capabilities Project overview Walkthrough of basic simulation scenario Parallel simulations and

More information

NIOS II Based Embedded Web Server Development for Networking Applications

NIOS II Based Embedded Web Server Development for Networking Applications NIOS II Based Embedded Web Server Development for Networking Applications 1 Sheetal Bhoyar, 2 Dr. D. V. Padole 1 Research Scholar, G. H. Raisoni College of Engineering, Nagpur, India 2 Professor, G. H.

More information

VMware Server 2.0 Essentials. Virtualization Deployment and Management

VMware Server 2.0 Essentials. Virtualization Deployment and Management VMware Server 2.0 Essentials Virtualization Deployment and Management . This PDF is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.

More information

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Introduction to Android Development. Jeff Avery CS349, Mar 2013 Introduction to Android Development Jeff Avery CS349, Mar 2013 Overview What is Android? Android Architecture Overview Application Components Activity Lifecycle Android Developer Tools Installing Android

More information

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

Seeking Opportunities for Hardware Acceleration in Big Data Analytics Seeking Opportunities for Hardware Acceleration in Big Data Analytics Paul Chow High-Performance Reconfigurable Computing Group Department of Electrical and Computer Engineering University of Toronto Who

More information

Derek Chiou, UT and IAA Workshop

Derek Chiou, UT and IAA Workshop Simulating 100M Endpoint Sytems Derek Chiou University of Texas at Austin Electrical and Computer Engineering 7/21/2008 Derek Chiou, UT Austin, IAA Workshop 1 Stolen from http://research.microsoft.com/si/ppt/hardwaremodelinginfrastructure.pdf

More information

Fundamentals of Computer Science (FCPS) CTY Course Syllabus

Fundamentals of Computer Science (FCPS) CTY Course Syllabus Fundamentals of Computer Science (FCPS) CTY Course Syllabus Brief Schedule Week 1 Introduction and definition Logic and Gates Hardware Systems Binary number and math Machine/Assembly Language Week 2 Operating

More information

9/14/2011 14.9.2011 8:38

9/14/2011 14.9.2011 8:38 Algorithms and Implementation Platforms for Wireless Communications TLT-9706/ TKT-9636 (Seminar Course) BASICS OF FIELD PROGRAMMABLE GATE ARRAYS Waqar Hussain firstname.lastname@tut.fi Department of Computer

More information

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13 Virtualization Clothing the Wolf in Wool Virtual Machines Began in 1960s with IBM and MIT Project MAC Also called open shop operating systems Present user with the view of a bare machine Execute most instructions

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

System Level Virtual Prototyping becomes a reality with OVP donation from Imperas.

System Level Virtual Prototyping becomes a reality with OVP donation from Imperas. System Level Virtual Prototyping becomes a reality with OVP donation from Imperas. Brian Bailey EDA Consultant Abstract For many years, Electronic System Level (ESL) design and verification has been on

More information

High-Level Synthesis for FPGA Designs

High-Level Synthesis for FPGA Designs High-Level Synthesis for FPGA Designs BRINGING BRINGING YOU YOU THE THE NEXT NEXT LEVEL LEVEL IN IN EMBEDDED EMBEDDED DEVELOPMENT DEVELOPMENT Frank de Bont Trainer consultant Cereslaan 10b 5384 VT Heesch

More information

http://d-nb.info/1041302002

http://d-nb.info/1041302002 Contents 1 Introduction 1 1.1 Requirements for Evaluation Techniques 1 1.2 Performance Evaluation Techniques 2 1.2.1 Network Testbeds / Real-World Measurements 2 1.2.2 Network Simulators 3 1.2.3 Analytic

More information

OpenSPARC Program. David Weaver Principal Engineer, UltraSPARC Architecture Principal OpenSPARC Evangelist Sun Microsystems, Inc. www.opensparc.

OpenSPARC Program. David Weaver Principal Engineer, UltraSPARC Architecture Principal OpenSPARC Evangelist Sun Microsystems, Inc. www.opensparc. OpenSPARC Program David Weaver Principal Engineer, UltraSPARC Architecture Principal OpenSPARC Evangelist Sun Microsystems, Inc. 1 Agenda What is OpenSPARC? OpenSPARC University Program OpenSPARC Resources

More information

Floating Point Fused Add-Subtract and Fused Dot-Product Units

Floating Point Fused Add-Subtract and Fused Dot-Product Units Floating Point Fused Add-Subtract and Fused Dot-Product Units S. Kishor [1], S. P. Prakash [2] PG Scholar (VLSI DESIGN), Department of ECE Bannari Amman Institute of Technology, Sathyamangalam, Tamil Nadu,

More information

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler DAC 2008 Philip Watson Philip Watson Implementation Environment Program Manager ARM Ltd Background - Who Are We? Processor

More information

High Performance or Cycle Accuracy?

High Performance or Cycle Accuracy? CHIP DESIGN High Performance or Cycle Accuracy? You can have both! Bill Neifert, Carbon Design Systems Rob Kaye, ARM ATC-100 AGENDA Modelling 101 & Programmer s View (PV) Models Cycle Accurate Models Bringing

More information

Application Note: AN00141 xcore-xa - Application Development

Application Note: AN00141 xcore-xa - Application Development Application Note: AN00141 xcore-xa - Application Development This application note shows how to create a simple example which targets the XMOS xcore-xa device and demonstrates how to build and run this

More information

Codesign: The World Of Practice

Codesign: The World Of Practice Codesign: The World Of Practice D. Sreenivasa Rao Senior Manager, System Level Integration Group Analog Devices Inc. May 2007 Analog Devices Inc. ADI is focused on high-end signal processing chips and

More information

Beyond Virtualization: A Novel Software Architecture for Multi-Core SoCs. Jim Ready September 18, 2012

Beyond Virtualization: A Novel Software Architecture for Multi-Core SoCs. Jim Ready September 18, 2012 Beyond Virtualization: A Novel Software Architecture for Multi-Core SoCs Jim Ready September 18, 2012 How HW guys view the world SW Software HW How SW guys view the world SW HW Reality The SoC Software

More information

Enterprise-Class Virtualization with Open Source Technologies

Enterprise-Class Virtualization with Open Source Technologies Enterprise-Class Virtualization with Open Source Technologies Alex Vasilevsky CTO & Founder Virtual Iron Software June 14, 2006 Virtualization Overview Traditional x86 Architecture Each server runs single

More information

LASTLINE WHITEPAPER. In-Depth Analysis of Malware

LASTLINE WHITEPAPER. In-Depth Analysis of Malware LASTLINE WHITEPAPER In-Depth Analysis of Malware Abstract Malware analysis is the process of determining the purpose and functionality of a given malware sample (such as a virus, worm, or Trojan horse).

More information

OpenSoC Fabric: On-Chip Network Generator

OpenSoC Fabric: On-Chip Network Generator OpenSoC Fabric: On-Chip Network Generator Using Chisel to Generate a Parameterizable On-Chip Interconnect Fabric Farzad Fatollahi-Fard, David Donofrio, George Michelogiannakis, John Shalf MODSIM 2014 Presentation

More information

An Embedded Wireless Mini-Server with Database Support

An Embedded Wireless Mini-Server with Database Support An Embedded Wireless Mini-Server with Database Support Hungchi Chang, Sy-Yen Kuo and Yennun Huang Department of Electrical Engineering National Taiwan University Taipei, Taiwan, R.O.C. Abstract Due to

More information

Unit 4: Performance & Benchmarking. Performance Metrics. This Unit. CIS 501: Computer Architecture. Performance: Latency vs.

Unit 4: Performance & Benchmarking. Performance Metrics. This Unit. CIS 501: Computer Architecture. Performance: Latency vs. This Unit CIS 501: Computer Architecture Unit 4: Performance & Benchmarking Metrics Latency and throughput Speedup Averaging CPU Performance Performance Pitfalls Slides'developed'by'Milo'Mar0n'&'Amir'Roth'at'the'University'of'Pennsylvania'

More information

5MD00. Assignment Introduction. Luc Waeijen 16-12-2014

5MD00. Assignment Introduction. Luc Waeijen 16-12-2014 5MD00 Assignment Introduction Luc Waeijen 16-12-2014 Contents EEG application Background on EEG Early Seizure Detection Algorithm Implementation Details Super Scalar Assignment Description Tooling (simple

More information

KEEP IT SYNPLE STUPID

KEEP IT SYNPLE STUPID Utilizing Programmable Logic for Analyzing Hardware Targets Dmitry Nedospasov SHORT DESCRIPTION Hardware security analysis differs from software security analysis primarily in the tools

More information

Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development.

Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development. Chapter 3.2 C++, Java, and Scripting Languages The major programming languages used in game development. C++ C used to be the most popular language for games Today, C++ is the language of choice for game

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION OF RESEARCH Multicore processors have two or more execution cores (processors) implemented on a single chip having their own set of execution and architectural recourses.

More information

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Jenkins World Tour 2015 Santa Clara, CA, September 2-3 1 Jenkins World Tour 2015 Santa Clara, CA, September 2-3 Continuous Delivery with Container Ecosystem CAD @ Platform Equinix - Overview CAD Current Industry - Opportunities Monolithic to Micro Service

More information

Enhanced Project Management for Embedded C/C++ Programming using Software Components

Enhanced Project Management for Embedded C/C++ Programming using Software Components Enhanced Project Management for Embedded C/C++ Programming using Software Components Evgueni Driouk Principal Software Engineer MCU Development Tools 1 Outline Introduction Challenges of embedded software

More information

Research and Design of Universal and Open Software Development Platform for Digital Home

Research and Design of Universal and Open Software Development Platform for Digital Home Research and Design of Universal and Open Software Development Platform for Digital Home CaiFeng Cao School of Computer Wuyi University, Jiangmen 529020, China cfcao@126.com Abstract. With the development

More information

Java and Real Time Storage Applications

Java and Real Time Storage Applications Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual

More information

Extending the Power of FPGAs. Salil Raje, Xilinx

Extending the Power of FPGAs. Salil Raje, Xilinx Extending the Power of FPGAs Salil Raje, Xilinx Extending the Power of FPGAs The Journey has Begun Salil Raje Xilinx Corporate Vice President Software and IP Products Development Agenda The Evolution of

More information

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada ken@unb.ca Micaela Serra

More information

PyCompArch: Python-Based Modules for Exploring Computer Architecture Concepts

PyCompArch: Python-Based Modules for Exploring Computer Architecture Concepts PyCompArch: Python-Based Modules for Exploring Computer Architecture Concepts Workshop on Computer Architecture Education 2015 Dan Connors, Kyle Dunn, Ryan Bueter Department of Electrical Engineering University

More information

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition A Tutorial Approach James O. Hamblen Georgia Institute of Technology Michael D. Furman Georgia Institute of Technology KLUWER ACADEMIC PUBLISHERS Boston

More information

Example Software Development Process.

Example Software Development Process. Example Software Development Process. The example software development process is shown in Figure A. The boxes represent the software development process kernels. The Software Unit Testing, Software Component

More information

Curriculum for a Master s Degree in ECE with focus on Mixed Signal SOC Design

Curriculum for a Master s Degree in ECE with focus on Mixed Signal SOC Design Curriculum for a Master s Degree in ECE with focus on Mixed Signal SOC Design Department of Electrical and Computer Engineering Overview The VLSI Design program is part of two tracks in the department:

More information

How To Understand The Design Of A Microprocessor

How To Understand The Design Of A Microprocessor Computer Architecture R. Poss 1 What is computer architecture? 2 Your ideas and expectations What is part of computer architecture, what is not? Who are computer architects, what is their job? What is

More information

An Easier Way for Cross-Platform Data Acquisition Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers

More information

Building Embedded Systems

Building Embedded Systems All Rights Reserved. The contents of this document cannot be reproduced without prior permission of the authors. Building Embedded Systems Chapter 2: Building Operating Systems Andreas Knirsch andreas.knirsch@h-da.de

More information