RUN-TIME RECONFIGURATION FOR AUTOMATIC HARDWARE/SOFTWARE PARTITIONING Tom Davidson, Karel Bruneel, Dirk Stroobandt Ghent University, Belgium Presenting:

Slides:



Advertisements
Similar presentations
Origins  clear a replacement for DES was needed Key size is too small Key size is too small The variants are just patches The variants are just patches.
Advertisements

TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
Octavian Cret, Kalman Pusztai Cristian Vancea, Balint Szente Technical University of Cluj-Napoca, Romania CREC: A Novel Reconfigurable Computing Design.
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Advanced Encryption Standard
Cryptography and Network Security
This Lecture: AES Key Expansion Equivalent Inverse Cipher Rijndael performance summary.
Advanced Encryption Standard(AES) Presented by: Venkata Marella Slide #9-1.
AES clear a replacement for DES was needed
Advanced Encryption Standard. This Lecture Why AES? NIST Criteria for potential candidates The AES Cipher AES Functions and Inverse Functions AES Key.
Cryptography and Network Security (AES) Dr. Monther Aldwairi New York Institute of Technology- Amman Campus 10/18/2009 INCS 741: Cryptography 10/18/20091Dr.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 08: RC Principles: Software (1/4) Prof. Sherief Reda.
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
Cryptography and Network Security Chapter 5. Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know.
Cryptography and Network Security Chapter 5 Fourth Edition by William Stallings.
Lecture 23 Symmetric Encryption
Dr. Lo’ai Tawalbeh 2007 Chapter 5: Advanced Encryption Standard (AES) Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus.
Dynamic Hardware Software Partitioning A First Approach Komal Kasat Nalini Kumar Gaurav Chitroda.
StaticRoute: A novel router for the dynamic partial reconfiguration of FPGAs Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
Study of AES Encryption/Decription Optimizations Nathan Windels.
Final presentation Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter 2013 Part A.
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
Chapter 5 Advanced Encryption Standard. Origins clear a replacement for DES was needed –have theoretical attacks that can break it –have demonstrated.
1 University of Palestine Information Security Principles ITGD 2202 Ms. Eman Alajrami 2 nd Semester
Cryptography and Network Security
Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know what the key is it's virtually indecipherable."
A Compact and Efficient FPGA Implementation of DES Algorithm Saqib, N.A et al. In:International Conference on Reconfigurable Computing and FPGAs, Sept.
Overview Dynamic reconfiguration of FPGAs:
Performance and Overhead in a Hybrid Reconfigurable Computer O. D. Fidanci 1, D. Poznanovic 2, K. Gaj 3, T. El-Ghazawi 1, N. Alexandridis 1 1 George Washington.
An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt.
9/17/15UB Fall 2015 CSE565: S. Upadhyaya Lec 6.1 CSE565: Computer Security Lecture 6 Advanced Encryption Standard Shambhu Upadhyaya Computer Science &
Advance Encryption Standard. Topics  Origin of AES  Basic AES  Inside Algorithm  Final Notes.
AES Background and Mathematics CSCI 5857: Encoding and Encryption.
Information Security Lab. Dept. of Computer Engineering 122/151 PART I Symmetric Ciphers CHAPTER 5 Advanced Encryption Standard 5.1 Evaluation Criteria.
Chapter 20 Symmetric Encryption and Message Confidentiality.
Automated Design of Custom Architecture Tulika Mitra
FPGA FPGA2  A heterogeneous network of workstations (NOW)  FPGAs are expensive, available on some hosts but not others  NOW provide coarse- grained.
Chapter 20 Symmetric Encryption and Message Confidentiality.
Implementation of Finite Field Inversion
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Mapping Logic to Reconfigurable FPGA Routing Karel Heyse Karel Bruneel and Dirk Stroobandt 1 FACULTY OF ENGINEERING AND ARCHITECTURE.
Swankoski MAPLD 2005 / B103 1 Dynamic High-Performance Multi-Mode Architectures for AES Encryption Eric Swankoski Naval Research Lab Vijay Narayanan Penn.
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
Advanced Encryption Standard. Origins NIST issued a new version of DES in 1999 (FIPS PUB 46-3) DES should only be used in legacy systems 3DES will be.
Lecture 23 Symmetric Encryption
Fifth Edition by William Stallings
Advanced Encryption Standard Dr. Shengli Liu Tel: (O) Cryptography and Information Security Lab. Dept. of Computer.
FPGA Implementation of RC6 including key schedule Hunar Qadir Fouad Ramia.
RTL Design Methodology Transition from Pseudocode & Interface
Final Presentation Encryption on Embedded System Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Spring 2014 Part B.
Encryption / Decryption on FPGA Final Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
The Advanced Encryption Standard Part 1: Overview
Le Trong Ngoc Security Fundamentals (2) Encryption mechanisms 4/2011.
A Survey of Fault Tolerant Methodologies for FPGA’s Gökhan Kabukcu
Encryption / Decryption on FPGA Midterm Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
Project characterization Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter semester 2014 Part.
Programmable Hardware: Hardware or Software?
Dynamo: A Runtime Codesign Environment
Triple DES.
School of Computer Science and Engineering Pusan National University
FPGA Implementation of Multicore AES 128/192/256
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
Implementation of IDEA on a Reconfigurable Computer
Reconfigurable Computing
Dynamic High-Performance Multi-Mode Architectures for AES Encryption
Presentation transcript:

RUN-TIME RECONFIGURATION FOR AUTOMATIC HARDWARE/SOFTWARE PARTITIONING Tom Davidson, Karel Bruneel, Dirk Stroobandt Ghent University, Belgium Presenting: Steven Fingulin, Quinn Martin

Run-time Reconfiguration FPGAs store configuration data in SRAMs Allows configuration to be changed during run-time Can change functionality quickly without needing to restart Parameterisable configurations FPGA configuration where bits are expressed as Boolean functions rather than Boolean values Allows for one configuration to represent several designs Previous reconfiguration techniques required all possible configurations externally

TMAP Tool Flow TMAP tool flow is a modification of traditional FPGA mappers Inputs are either parameters (change slowly) or regular signals (change frequently) TMAP generates parameterisable configuration based on the design For different parameter values, a new configuration must be generated User specifies which signals are parameters by annotating VHDL After generating a new configuration, the FPGA can be reconfigured Only values in truth tables (LUTs) can be reconfigured Prevents need to place and route entire design This overhead of generating new configurations and applying them is application dependent Usually on the order of milliseconds

Advanced Encryption Standard (AES) AES specifies how to encode 128-bits of data using a specific key-value Data Encoding 128-bits split to 16 bytes Each byte is assigned a location in 4x4 state matrix Byte transformation are performed in rounds according to current RoundKey SubBytes ShiftRows AddRoundKey MixColumns RoundKey changes every round

AES Continued Key Expansion Used to generate keys for each round of the algorithm Input Key is used for first round Three operations Rcon(i) – constant value dependent upon i SubWord() – applies Rijndael S-box transformation RotWord() – Cyclic rotate word 8 bits left Full explanation is beyond scope of this presentation

Automatic Hardware/Software Partitioning Most research is focused on system level and algorithm aspects of HW/SW partitioning Goal of TMAP tool flow is to optimize hardware design and automatically partition HW and SW components Frequently changing inputs lead to static segments of configuration and coded in hardware Parameter inputs change more slowly and can be computed by software Configuration manager (CM) such as PowerPC processor will compute values to complete FPGA configuration

Hardware/Software Boundary Conventional HW/SW partitioning Does not use Run-time reconfiguration Hardware must be general for different parameter values All operations dependent upon Parameters are computed in SW Software writes values to registers for HW to read Run-time reconfiguration Can alter configuration memory (LUT values) rather than write to registers Hardware circuit can be more specialized and faster

An Example: k_AES Manually partitioning AES would naturally lead to encoding in HW and key generation in SW Authors write implementation: k_AES Pipelined chain of 10 rounds that implements encoding Combinatorial 10 k_rounds that perform key expansion 128-bits of encoded data output each clock cycle Design is not optimized for simplicity TMAP tool flow applied to design Key for encoding is selected as parameter

Results for k_AES For k_AES, there is a fairly large area gain (20.3%) k_AES algorithm is fairly easy to parition Converted key input (parameter-dependent) part to software Also must consider reconfiguration penalties Several milliseconds to load new FPGA configuration Memory to store bit files Manual partitioning showed.7% gain over TMAP Minimal effort to partition this application manually Motivation to see if other less clearly partitioned applications see performance gains

Comparison to other implementations k_AES algorithm also compared to open-source cores Crytopan More sequential than k_AES (state machine) Same throughput (128 bits/cycle) Less resource usage before HW/SW paritioning because already hardware optimized Smaller gains because less parallelizable Avalon_AES Even more sequential than Cryptopan However, 10x lower throughput Hard to compare designs because they are both Pareto optimal TMAP gains are small because of low levels of parallellism

Other Applications From k_AES, we see that real gains can be achieved with TMAP TMAP is fast and automatic, works well for algorithms with clear partitioning Nearly as good as manual partitioning Not every app has a clear hardware software boundary Will explore the effect of using TMAP on some of these cases Two case studies Triple DES Encryption Quadratic

Triple DES Basic symmetric key encryption/decryption scheme using Data Encryption Standard (DES) Encrypts with key 1, decrypts with key 2, then encrypts with key 3 Extra steps add layers of additional security TMAP able to improve area usage by 28.7% over hardware-only implementation From 3584 to 2552 LUTs Main design effort in finding parameters

Quadratic Quadratic polynomial solver Solves an equation of the form ax 2 +bx+c Easily parameterizable Coefficients are parameters Therefore easy to partition using TMAP Not easily partitioned manually Unclear how coefficients map to partitioning with design-space exploration TMAP sees area gain of of 21.9% Partly due to run-time reconfiguration advantage

General Guidelines Parameter selection the most important choice for TMAP Other than parameters, tool flow is fully automatic Implementation choices greatly affect partitionability k_AES saw large gains, but not Cryptonpan or Avalon_AES Since parameter-dependent parts are optimized in hardware by design-space exploration, they should be as parallel as possible Often in conflict with traditional hardware-optimized designs that are largely parameter independent

Conclusions/Thoughts TMAP tool flow successful at automatic hardware/software partitioning Can reduce FPGA resource utilization by 20% Highly dependent on parameter and implementation choices Still needs an expert user Reconfiguration time penalty should be explored more thoroughly No specifics on FPGA/microprocessor platform used for implementation Maximum frequency consideration could offset gains

Questions?