MIT Lincoln Laboratory SPP-HPEC09-1 BAM 12/5/2015 A Special-Purpose Processor System with Software-Defined Connectivity Benjamin Miller, Sara Siegal, James.

Slides:



Advertisements
Similar presentations
CAST – Reconfigurability CAST – Configurable Radio with Advanced Software Technology Reconfigurability – Enabling Technology Problems Galway – 1 st October.
Advertisements

EEL6686 Guest Lecture February 25, 2014 A Framework to Analyze Processor Architectures for Next-Generation On-Board Space Computing Tyler M. Lovelly Ph.D.
CS 345 Computer System Overview
K-means clustering –An unsupervised and iterative clustering algorithm –Clusters N observations into K clusters –Observations assigned to cluster with.
Chapter 13 Embedded Systems
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Reference: Message Passing Fundamentals.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Signalling Systems System which allows various network components to exchange information –In particular, it supports call / connection control network.
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
IACT 901 Module 9 Establishing Technology Strategy - Scope & Purpose.
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
RTOS Design & Implementation Swetanka Kumar Mishra & Kirti Chawla.
Computer Organization Review and OS Introduction CS550 Operating Systems.
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
1 WHY NEED NETWORKING? - Access to remote information - Person-to-person communication - Cooperative work online - Resource sharing.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
1 of 23 Fouts MAPLD 2005/C117 Synthesis of False Target Radar Images Using a Reconfigurable Computer Dr. Douglas J. Fouts LT Kendrick R. Macklin Daniel.
GBT Interface Card for a Linux Computer Carson Teale 1.
Xenomai’s Porting on processor NIOS II Professor : P. Kadionik Authors : Bassi Vincent Louati Azza Mirault Raphael Polette Simon.
Developments in networked embedded system technologies and programmable logic are making it possible to develop new, highly flexible data acquisition system.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
IntroductionRelated work 2 Contents Publish/Subscribe middleware Conclusion and Future works.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Salim Hariri HPDC Laboratory Enhanced General Switch Management Protocol Salim Hariri Department of Electrical and Computer.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
HPEC2002_Session1 1 DRM 11/11/2015 MIT Lincoln Laboratory Session 1: Novel Hardware Architectures David R. Martinez 24 September 2002 This work is sponsored.
PADS Power Aware Distributed Systems Architecture Approaches USC Information Sciences Institute Brian Schott, Bob Parker UCLA Mani Srivastava Rockwell.
EE3A1 Computer Hardware and Digital Design
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presenter: James.
Latest ideas in DAQ development for LHC B. Gorini - CERN 1.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Slide-1 Multicore Theory MIT Lincoln Laboratory Theory of Multicore Algorithms Jeremy Kepner and Nadya Bliss MIT Lincoln Laboratory HPEC 2008 This work.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
HPEC HN 9/23/2009 MIT Lincoln Laboratory RAPID: A Rapid Prototyping Methodology for Embedded Systems Huy Nguyen, Thomas Anderson, Stuart Chen, Ford.
© imec 2003 Designing an Operating System for a Heterogeneous Reconfigurable SoC Vincent Nollet, P. Coene, D. Verkest, S. Vernalde, R. Lauwereins IMEC,
Cray XD1 Reconfigurable Computing for Application Acceleration.
Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.
MIT Lincoln Laboratory 1 of 4 MAA 3/8/2016 Development of a Real-Time Parallel UHF SAR Image Processor Matthew Alexander, Michael Vai, Thomas Emberley,
TCP/IP Protocol Suite Suresh Kr Sharma 1 The OSI Model and the TCP/IP Protocol Suite Established in 1947, the International Standards Organization (ISO)
CLIENT SERVER COMPUTING. We have 2 types of n/w architectures – client server and peer to peer. In P2P, each system has equal capabilities and responsibilities.
Project Paper Presentation Hanlin Wan March 15, 2011.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Space Plug-and-Play Architecture (SPA) and SSM
The OSI Model Prof. Choong Seon HONG.
Dynamo: A Runtime Codesign Environment
CS408/533 Computer Networks Text: William Stallings Data and Computer Communications, 6th edition Chapter 1 - Introduction.
Mobile Operating System
FPGAs & Software Components
Parallel Processing in ROSA II
Indigo Doyoung Lee Dept. of CSE, POSTECH
Intro. To Operating Systems
® IRL Solutions File Number Here.
NVMe.
Presentation transcript:

MIT Lincoln Laboratory SPP-HPEC09-1 BAM 12/5/2015 A Special-Purpose Processor System with Software-Defined Connectivity Benjamin Miller, Sara Siegal, James Haupt, Huy Nguyen and Michael Vai MIT Lincoln Laboratory 22 September 2009 This work is sponsored by the Navy under Air Force Contract FA Opinions, interpretations, conclusions and recommendations are those of the authors and are not necessarily endorsed by the United States Government.

MIT Lincoln Laboratory SPP-HPEC09-2 BAM 12/5/2015 Outline Introduction System Architecture Software Architecture Initial Results and Demonstration Ongoing Work/Summary

MIT Lincoln Laboratory SPP-HPEC09-3 BAM 12/5/2015 Why Software-Defined Connectivity? Modern ISR, COMM, EW systems need to be flexible –Change hardware and software in theatre as conditions change –Technological upgrade –Various form factors Want the system to be open –Underlying architecture specific enough to reduce redundant software development –General enough to be applied to a wide range of system components E.g., different vendors Example: Reactive electronic warfare (EW) system –Re-task components as environmental conditions change –Easily add and replace components as needed before and during mission

MIT Lincoln Laboratory SPP-HPEC09-4 BAM 12/5/2015 Antenna Interface Special Purpose Processor (SPP) System System representative of advanced EW architectures –RF and programmable hardware, processors all connected through a switch fabric LNARF Distribution Rx 1 Rx 2 Rx R RF Distribution  HPA FPGA 1 Processor 1 Enabling technology: bare- bone, low-latency pub/sub middleware FPGA M FPGA 2 Processor 2 Processor N Switch Fabric Thin Communications Layer (TCL) Middleware Config. Mgr.Res. Mgr. Switch Fabric Proc. 1 Proc. 2 OS FPGA 1 FPGA M Rx R Rx 1 Tx T Tx 1 data processing algorithms OS Proc. N OS Process P Process 2 Process 1 configure backplane connections manage inter-process connections Tx 1 Tx T

MIT Lincoln Laboratory SPP-HPEC09-5 BAM 12/5/2015 Mode 1: Hardwired Hardware components physically connected Connections through backplane are fixed (no configuration management) No added latency but inflexible Thin Communications Layer (TCL) Middleware Config. Mgr.Res. Mgr. Switch Fabric Proc. 1 Proc. 2 OS FPGA Rx Tx OS Proc. N OS FPGA Process P Process 2 Process 1 connections to hardware fixed

MIT Lincoln Laboratory SPP-HPEC09-6 BAM 12/5/2015 Mode 2: Pub-Sub Everything communicates through the middleware –Hardware components have on-board processors running proxy processes for data transfer Most flexible, but there will be overhead due to the middleware Proc OS Process 4 FPGA Thin Communications Layer (TCL) Middleware Res. Mgr. Proc OS FPGA OS Proc OS Rx Switch Fabric FPGA Tx Proc OS Rx Process 3 Process 2 Proxy 1 Process P Process 2 Process 1

MIT Lincoln Laboratory SPP-HPEC09-7 BAM 12/5/2015 Mode 3: Circuit Switching Configuration manager sets up all connections across the switch fabric May still be some co-located hardware, or some hardware that communicates via a processor through the middleware Overhead only incurred during configuration Thin Communications Layer (TCL) Middleware Config. Mgr.Res. Mgr. Switch Fabric Proc. 1 Proc. 2 OS FPGA 1 FPGA M Rx R Rx 1 Tx T Tx 1 OS Proc. N OS Process P Process 2 Process 1

MIT Lincoln Laboratory SPP-HPEC09-8 BAM 12/5/2015 Today’s Presentation TCL middleware developed to support the SPP system –Essential foundation Resource Manager sets up (virtual) connections between processes Thin Communications Layer (TCL) Middleware Config. Mgr.Res. Mgr. Switch Fabric Proc. 1 Proc. 2 OS FPGA 1 FPGA M Rx R Rx 1 Tx T Tx 1 OS Proc. N OS Process P Process 2 Process 1

MIT Lincoln Laboratory SPP-HPEC09-9 BAM 12/5/2015 Outline Introduction System Architecture Software Architecture Initial Results and Demonstration Ongoing Work/Summary

MIT Lincoln Laboratory SPP-HPEC09-10 BAM 12/5/2015 System Configuration 3 COTS boards connected through VPX backplane – 1 Single-board computer, dual-core PowerPC 8641 –1 board with 2 Xilinx Virtex- 5 FPGAs and a dual-core 8641 –1 board with 4 dual-core 8641s –Processors run VxWorks Boards come from same vendor, but have different board support packages (BSPs) Data transfer technology of choice: Serial RapidIO (sRIO) –Low latency important for our application Implement middleware in C++

MIT Lincoln Laboratory SPP-HPEC09-11 BAM 12/5/2015 BSP2 VPX + Serial Rapid I/O Physical Interface Operating System (Realtime: VxWorks; Standard: Linux)‏ VxWorks BSP1 System Model HW (Rx/Tx, ADC, etc.) Vendor Specific Application Components Signal Processing Lib System Control Components

MIT Lincoln Laboratory SPP-HPEC09-12 BAM 12/5/2015 VPX + Serial Rapid I/O Operating System (Realtime: VxWorks; Standard: Linux)‏ System Model Vendor Specific VPX + Serial Rapid I/O VxWorks BSP1 BSP2 HW (Rx/Tx, ADC, etc.) TCL Middleware Signal Processing Lib System Control Components Application Components Physical Interface

MIT Lincoln Laboratory SPP-HPEC09-13 BAM 12/5/2015 BSP1 BSP2 System Model VPX + Serial Rapid I/O Physical Interface Operating System (Realtime: VxWorks; Standard: Linux)‏ VxWorks HW (Rx/Tx, ADC, etc.) Vendor Specific TCL Middleware Application Components System Control Components Signal Processing Lib New components can easily be added by complying with the middleware API New SW components New HW components

MIT Lincoln Laboratory SPP-HPEC09-14 BAM 12/5/2015 Outline Introduction System Architecture Software Architecture Initial Results and Demonstration Ongoing Work/Summary

MIT Lincoln Laboratory SPP-HPEC09-15 BAM 12/5/2015 Switch Fabric Publish/Subscribe Middleware Process l 1 Process k publish Process l 2 Proc. l 1 Proc. l 2 Topic T Subscribers l 1 l 2 Publishing application doesn’t need to know where the data is going and the subscribers are unconcerned about where their data comes from send to application deliver TCL Middleware Middleware acts as interface to both application and hardware/OS Proc. k notify OS send to l 1 send to l 2 subscribers

MIT Lincoln Laboratory SPP-HPEC09-16 BAM 12/5/2015 Abstract Interfaces to Middleware Middleware must be abstract to be effective –Middleware developers are unaware of hardware-specific libraries –Users have to implement functions that are specific to BSPs TCL Middleware publisher/subscriber mgmt interface with application interface with hardware/OS arrival notification send data to subscribers accept data from publishers How (exactly) do I execute a data transfer? What data- transfer technology am I using?

MIT Lincoln Laboratory SPP-HPEC09-17 BAM 12/5/2015 XML Parser Resource manager is currently in the form of an XML parser –XML file defines topics, publishers, and subscribers – Parser sets up the middleware and defines virtual network topology Thin Communications Layer (TCL) Middleware Config. Mgr.Res. Mgr. Switch Fabric Proc. 1 Proc. 2 OS FPGA 1 FPGA M Rx R Rx 1 Tx T Tx 1 OS Proc. N OS Process P Process 2 Process 1 setup.xml Parser

MIT Lincoln Laboratory SPP-HPEC09-18 BAM 12/5/2015 Builder has a CustomBSP- Builder derived from Interface to BSP Middleware Interfaces Base classes – DataReader, DataReaderListener and DataWriter interface with the application – Builder interfaces with BSPs Derive board- and communication-specific classes has a DataReader DataReaderListener DataWriter derived from SrioData- Reader SrioData- ReaderListener SrioData- Writer derived from Interface to Application change with hardware change with comm. tech. has a

MIT Lincoln Laboratory SPP-HPEC09-19 BAM 12/5/2015 Builder CustomBSP- Builder derived from Interface to BSP Builder Follows the Builder pattern in Design Patterns* Provides interface for sRIO-specific tasks –e.g., establish sRIO connections, execute data transfer Certain functions are empty (not necessarily virtual) in the base class, then implemented in the derived class with BSP- specific libraries #include #include “vendorPath/bspDma.h”... //member functions STATUS CustomBSPBuilder::performDmaTransfer(...){ return bspDmaTransfer(...); }... #include... //member functions STATUS Builder::performDmaTransfer(...){}... *E. Gamma et. al. Design Patterns: Elements of Reusable Object-Oriented Software. Reading, Mass.: Addison-Wesley, 1995.

MIT Lincoln Laboratory SPP-HPEC09-20 BAM 12/5/2015 has a DataReader DataReaderListener DataWriter derived from SrioData- Reader SrioData- ReaderListener SrioData- Writer derived from Interface to Application Publishers and Subscribers DataReaders, DataWriters and DataReaderListeners act as “Directors” of the Builder –Tell the Builder what to do, Builder determines how to do it DataWriter used for publishing, DataReader and DataReaderListener used by subscribers Derived classes implement communication(sRIO)-specific, but not BSP-specific, functionality –e.g., ring a recipient’s doorbell after transferring data //member functions virtual STATUS DataWriter::write(message)=0; virtual STATUS SrioDataWriter::write(message) {... myBuilder->performDmaXfer(…);... } Derived Builder type determined dynamically

MIT Lincoln Laboratory SPP-HPEC09-21 BAM 12/5/2015 Outline Introduction System Architecture Software Architecture Initial Results and Demonstration Ongoing Work/Summary

MIT Lincoln Laboratory SPP-HPEC09-22 BAM 12/5/2015 Software-Defined Connectivity Initial Implementation Send SendBack Send SendBack Experiment: Process-to- process data transfer latency –Set up two topics –Processes use TCL to send data back and forth –Measure round trip time with and without middleware in place Process 2 TCL Middleware Process 1 Switch Fabric Proc. 1 Proc. 2 OS FPGA 1 FPGA M Rx R Rx 1 Tx T Tx 1 OS Proc. N OS

MIT Lincoln Laboratory SPP-HPEC09-23 BAM 12/5/2015 Software-Defined Connectivity Communication Latency One-way latency ~23 us for small packet sizes Latency grows proportionally to packet size for large packets Reach 95% efficiency at 64 KB Overhead is negligible for large packets, despite increasing size P1P2

MIT Lincoln Laboratory SPP-HPEC09-24 BAM 12/5/2015 Demo 1: System Reconfiguration Processor #1Processor #2Processor #3 Detect Transmit Process TCL Middleware ProcessTransmit Configuration 1: Configuration 2: XML1 XML2 Objective: Demonstrate connectivity reconfiguration by simply replacing the configuration XML file DetectProcessTransmit DetectTransmitProcess

MIT Lincoln Laboratory SPP-HPEC09-25 BAM 12/5/2015 TransmitProc #2 ReceiveProc #1 Low-latency predefined connections allow quick response Demo 2: Resource Management Receive Proc #1 Transmit TCL Middleware Proc #2 Control I’ve detected signals! I will process this new information!

MIT Lincoln Laboratory SPP-HPEC09-26 BAM 12/5/2015 TransmitProc #2 ReceiveProc #1 Demo 2: Resource Management I need more help to analyze the signals! I will determine what to transmit in response! Resource manager sets up new connections on demand to efficiently utilize available computing power Receive Proc #1 Transmit TCL Middleware Proc #2 Control Working…

MIT Lincoln Laboratory SPP-HPEC09-27 BAM 12/5/2015 TransmitProc #2 ReceiveProc #1 Demo 2: Resource Management Working… Proc #1/Transmit are publisher/subscriber on topic TransmitWaveform I will transmit the response! I have determined an appropriate response! Receive Proc #1 Transmit TCL Middleware Proc #2 Control

MIT Lincoln Laboratory SPP-HPEC09-28 BAM 12/5/2015 TransmitProc #2 ReceiveProc #1 Demo 2: Resource Management Done! After finishing, components may be re-assigned Receive Proc #1 Transmit TCL Middleware Proc #2 Control I will transmit the response! I have determined an appropriate response!

MIT Lincoln Laboratory SPP-HPEC09-29 BAM 12/5/2015 Outline Introduction System Architecture Software Architecture Initial Results and Demonstration Ongoing Work/Summary

MIT Lincoln Laboratory SPP-HPEC09-30 BAM 12/5/2015 Ongoing Work Develop the middleware (configuration manager) to set up fixed connections –Mode 3: Objective system Automate resource management -Dynamically reconfigure system as needs change -Enable more efficient use of resources (load balancing) Process P Process 2 Thin Communications Layer (TCL) Middleware Config. Mgr.Res. Mgr.Process 1 Switch Fabric Proc. 1 Proc. 2 OS FPGA 1 FPGA M Rx R Rx 1 Tx T Tx 1 OS Proc. N OS

MIT Lincoln Laboratory SPP-HPEC09-31 BAM 12/5/2015 Summary Developing software-defined connectivity of hardware and software components Enabling technology: low-latency pub/sub middleware –Abstract base classes manage connections between nodes –Application developer implements only system-specific send and receive code Encouraging initial results –At full sRIO data rate, overhead is negligible Working toward automated resource management for efficient allocation of processing capability, as well as automated setup of low-latency hardware connections