Intel® QuickAssist Technology FSB-FPGA Accelerator...

27
Intel® QuickAssist Technology FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer QATS0002

Transcript of Intel® QuickAssist Technology FSB-FPGA Accelerator...

Page 1: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

Intel® QuickAssist TechnologyFSB-FPGA Accelerator Architecture

Ian D. McCallumPrincipal Engineer

QATS0002

Page 2: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

2

Agenda

Intel® QuickAssist® OverviewFAP* System ArchitectureAccelerator Hardware Module (AHM)Accelerator Function Unit (AFU)Accelerator Abstraction Layer (AAL)

* FSB-FPGA Accelerator Platform

Page 3: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

3

Intel® QuickAssist Technology

Encompasses Industry Encompasses Industry Hardware SolutionsHardware Solutions

Future Intel Processor IntegrationFuture Intel Processor Integrationof Acceleratorsof Accelerators

Software Architecture Abstraction Layer Software Architecture Abstraction Layer and Libraries For Accelerationand Libraries For Acceleration

Comprehensive Approach To AccelerationComprehensive Approach To Acceleration

Page 4: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

4

1. Open Ubiquitous Standards Based ApproachPCI Express* Gen1, PCI Express* Gen2, andGeneseo – (Extend PCI Express* Gen 2 - Joint Intel/IBM Proposal in PCI-SIG*)

2. Enable third party FSB-FPGA Modules – targeted for Financial Services Industry, Oil and Gas, Life Sciences, Digital Health, etc.FSB-FPGA Modules Targeted 4Q07/1Q08

3. Intel® QuickAssist Technology Accelerator Abstraction Layer (AAL) that seamlessly allows the SW to access acceleration across various technologies.

Tightly Coupled

Open Attach Strategy

Geneseo – PCI Express*

Source : Pat Gelsinger Keynote Fall IDF 2006

Source: Intel Internal

Open Standards Based Attach Strategy

Page 5: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

5

What are FSB-FPGA Accelerators?- FPGA Accelerator Hardware Modules (AHMs) that plug into

Intel® Xeon® processor socketsAttach directly to the Front Side Bus (FSB)FSB provides the highest performance, lowest latency interconnect

AMB AMB AMB

AMB

IntelIntel®® XeonXeon®®

7300 platform7300 platform

FSB – FPGA Modules

AMB AMB AMB AMB

AMB AMB AMB

AMB

AMB AMB AMB

AMB

AMB AMB AMB AMB

IntelIntel®® XeonXeon®®

5300 platform5300 platform

FSB – FPGA Modules

AMB AMB AMB AMB

AMB AMB AMB

AMBAMB AMB AMB AMB

AMB AMB AMB

AMBAMB AMB AMB AMB

AMB AMB AMB

AMBAMB AMB AMB AMB

Intel® Xeon® Server Platforms – DP & MP

Page 6: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

6

FSB-FPGA Accelerator Hardware Module

Field Programmable Gate Arrays (FPGA)allow the development of domain-specific

hardware-based, parallel algorithmsthat execute significantly faster than

equivalent algorithm in software

Front Side Bus (FSB)provides

a high performance,low latency interconnectbetween AHM and CPU

Photo source: Xilinx

Page 7: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

7

Multiple AHMs

- Multiple FPGA modules can be connected in a ring topologyPartition complex algorithms across multiple accelerator modulesHigher degrees of parallelization for even higher performanceConnect to external I/O sources

AMB AMB AMB

AMB

FSB – FPGA Modules

AMB AMB AMB AMB

AMB AMB AMB

AMBAMB AMB AMB AMB

AMB AMB AMB

AMBAMB AMB AMB AMB

AMB AMB AMB

AMBAMB AMB AMB AMB

FSB – FPGA Modules

FSB – FPGA Modules

IntelIntel®® XeonXeon®®

7300 platform7300 platform

Multi-Gigabit Serial Links

Flexible Hardware ConfigurationFlexible Hardware Configuration

Page 8: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

8

FAP System ArchitectureAccelerator Hardware Modules (AHM) contains FPGA, SRAM, flash memory and control logic. AAL will support multiple AHMs from different vendors. AHMs may also be interconnected with serial links.Accelerator Function Units (AFU) implement accelerated algorithmsAHM Core logic provides FSB interface logic, low-level AHM device interface and AFU interface.Workspace memory is reserved area of system memory managed by AHM driver

- Memory is allocated, pinned (to prevent swapping) and mapped into application’s virtual address space. Both application and AFU can access this memory directly

Accelerator Abstraction Layer (AAL) provides generic accelerator discovery, configuration and messaging servicesAFU proxies implement AFU specific message formatting and API.Domain Specific Libraries may be used to provide a more abstract interface on top of AAL.Applications access accelerator functionality through the domain specific library or directly to AAL.

AHM

Intel®Xeon®

System Memory

USERSPACE

KERNELSPACE

AAL

FPGA

WS1 WS2 WS3

FSB

FSB

AHM CORE

AFU1

AFU1 Proxy

AFU3AFU2

Driver

Application

Domain Specific Library

AFU Developer

LEGEND

Intel

Page 9: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

9

Basic Accelerator Operation

Application/Library

AAL(incl. driver) Workspace FSB CORE AFU

Allocate WorkspaceAllocate, pin and mmapmemory

Write operands

Send request

Send request

Read operand(s)

Read operand(s)

Write results

Write results

Send response

Send response

Send response

Read results

AAL validates all pointers, adds AFU page table descriptor

FSB Core guarantees that reads and writes are within workspace

Execute

AAL allocates workspace memory, maps into application space and creates AFU page table

Get request

AFU blocks waiting for message

AFU unblocks, gets request

NB: AHM participates in FSB coherency protocol so “correct” memory contents are always read.

ZeroZero--Copy Programming ModelCopy Programming Model

Page 10: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

10

AHM Architecture

AHM

FPGA

SRAM

MULTI-GIGABITTRANSCEIVER

SYSTEMCONTROL

ANDBOOT LOGIC

FLASH MEMORY

AHM CORE

AFU

MGTTx

JTAG

MGTRx

I_PIP INTERFACE (FSB)

Page 11: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

11

Shared Memory: SMP

In a typical SMP system, all CPUs can see system memory, but they can’t see each other because they don’t occupy address spaceCPUs usually communicate through shared memory and signal each other using Inter-Processor Interrupts (IPIs)

Intel®Xeon®

Intel®Xeon®

Memory Controller Hub

Inter-ProcessorInterrupts

(IPI)

SystemMemory SHARED

MEMORY

Page 12: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

12

Shared Memory: CPU+AHM

A similar technique is used to communicate with FSB-attached AHMsThe AHM device driver allocates (and pins) system memory for AHM device registers, command/response queues and shared workspacesThe physical address of the device register memory area is sent to the AHMCPU communicates with AHM through this memory-based interface

Intel®Xeon® AHM

Memory Controller Hub

Inter-ProcessorInterrupts

(IPI)

SystemMemory DEVICE

REGISTERS

COMMANDRESPONSE

QUEUES

WORKSPACE

Page 13: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

13

AHM Discovery Process

Page 14: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

14

AHM Core Architecture

FPGA

AHM CORE

SYSTEMPROTOCOL

LAYER

CM

DD

ATA

CM

DD

ATA

FSBLAYER ...

AFU

AFU

I_PIP

I_AFU_N

I_AFU_0

I_A

FU S

HIM

I_A

FU S

HIM

Page 15: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

15

AFU Interface

One pair of Command and Data FIFOs in each directionSeparate CSR and Bulk data transfer interfacesCommand FIFO holds Cmd_Hdrindicating the type of transferData FIFO holds data corresponding to each Cmd_HdrBenefits- High performance- Use FPGA vendor FIFO macro

implementation- Simple FIFO interface can also be

used to cross clock boundaries- Variable burst size, 64B to 4MB- Supports bursting with/without wait

states- Receiver controls dataflow

CS

R W

rite

CS

R W

rite

Dat

a

CS

R U

pdat

eD

ata

CS

R U

pdat

e

SP

L2A

FU

Cm

d S

PL2

AFU

D

ata

AFU

2SP

L C

md

AFU

2SP

L D

ata

Simple Accelerator InterfaceSimple Accelerator Interface

Page 16: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

16

AFU Slave Mode Operation

Page 17: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

17

AFU Design Flow

Multiple languages will be available for developing FPGA accelerator algorithms- VHDL / Verilog- High Level Languages

C, C++, Java

- Matlab

Intel is working with a variety of third party tool vendors to provide FPGA software development kits

VHDL / VerilogHigh Level Language

(C, C++, Java)

DSP Flow(ie: Matlab)

Compilers Compilers

Simulation

Synthesis

FPGA

VHDL

Gates / EDIF

Flexible Design ChoicesFlexible Design Choices

Page 18: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

18

What is AAL?

AAL provides a uniform set of platform level services for using FPGA accelerators on Intel platforms - Independent of attach technology (ie: FSB, PCIe*, etc.)- Independent of the acceleration workload- Defines a common programming model- Specifies a common presentation of the services using

existing interconnect interfacesTightly coupled accelerators: FSBLoosely coupled accelerators: PCIe*

Page 19: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

AAL Software Architecture

Application

AAS AFU(n) Proxy

AIA(n)

ISystem, IFactory IAFU Callback IProprietary*

IAFUFactory

Open, Close, Read, Write, IOCTL, MMap, …

IRegistrar

Read, park thread

IRegistrar IEDS

IPIP Callback Proprietary*

User Mode

Kernel Mode

FSB AHM Driver(n)

33rdrd Party / Party / StandardStandard

IntelIntel

19

Page 20: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

20

AAL Services

Installation and configuration of accelerators on the platform- Standard interface for installers to register the packages

they are installing - Standard interface for applications / libraries to

query, enumerate, find and load installed packages Communication between applications and accelerators- Asynchronous programming model with event dispatcher

and delivery: optimized for parallel task processing- Protection of shared resources allowing multiple

applications to use one accelerator: support for multiple threads

- Dynamic binding to acceleration packages: provides maximum flexibility without changing framework

Page 21: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

21

AAL Interfaces

Installation and Configuration- AFU Registration Interface (IRegistrar)

Used by installer to register AFU packagesAdministrative privilege required

- AAL System Interface (ISystem)Called once per process to initialize AAL

- AAL Factory Interface (IFactory)Called to create AFU proxy object instances

Communication- AAL Event Delivery Service (IEDS)

Used to deliver events and support different threading models- AIA Interface (IAFU)

Implemented by AFU proxy to support data exchange with AHMUser level privilege since device driver validates all workspacememory references

Using AAL protects your software investmentUsing AAL protects your software investment

Page 22: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

22

Summary

Intel is defining Intel® QuickAssist technology and enabling FPGA, tool and hardware vendors, to provide customers with a complete solution for integrating FSB-FPGA acceleration into their applications- Comprehensive Approach To Acceleration- Flexible Hardware Configuration- Zero-Copy Programming Model- Simple AFU Interface, flexible design choices- Using AAL protects your software investment

Page 23: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

23

Additional sources of information on this topic:

Other Sessions / Chalk Talks / Labs:QATS004 - Geneseo and Intel® QuickAssist Technology Architecture Overview QATS003 - Accelerator Exoskeleton: Intel® Architecture Look and Feel for

Heterogeneous Cores QATS001 - Intel® Embedded Processor for 2008 (Tolapai) SoC Architecture OverviewQATL001 - PCIe 2.0 Interop Lab QATC001 - Geneseo and Intel® QuickAssist Technology Architecture Chalk Talk by Intel

Fellow Ajay BhattQATP001 - Industry Panel: Trends and challenges ahead for accelerator usage and

growth

Accelerators in Action : Visit the I/O & Application Acceleration Community in the showcase to see technology demonstrations from Intel and other industry-leading companies

More web based info:http://www.intel.com/technology/platforms/quickassist

This Session presentation (PDF) is available from www.intel.com/idf.

Page 24: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

24

Please fill out the Session Evaluation Form for your chance

to win a $500 Gift card! How?

Use your IDF Flash DriveGo to an IDF Internet Station

Go to www.Intel.com/go/myidfeval

There will be daily drawings for Gift cards – The more evaluations you fill out the more chances to win!

See drawing terms and condition in Program Guide for more information including alternative means of entry.

Page 25: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

25

Risk FactorsThis presentation contains forwardThis presentation contains forward--looking statements. All looking statements. All statements made that are not historical facts are subject to a statements made that are not historical facts are subject to a number of risks and uncertainties, and actual results may differnumber of risks and uncertainties, and actual results may differmaterially. Please refer to materially. Please refer to our most recent Earnings Release our most recent Earnings Release and our most recent Form 10and our most recent Form 10--Q or 10Q or 10--K filing available on our K filing available on our website for more information on the risk factors that could website for more information on the risk factors that could cause actual results to differ.cause actual results to differ.

Rev. 4/17/07

Page 26: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer

Legal DisclaimerINFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL® PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS. Intel may make changes to specifications and product descriptions at any time, without notice.All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice.Intel, processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request.Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured by those tests. Any difference in system hardware or software design or configuration may affect actual performance. Intel, Intel Inside, Intel QuickAssist and the Intel logo are trademarks of Intel Corporation in the United States and other countries. *Other names and brands may be claimed as the property of others.Copyright © 2007 Intel Corporation.

26

Page 27: Intel® QuickAssist Technology FSB-FPGA Accelerator ...szarka.ssgg.sk/.../Technologie/QuickAssist/fsbfpga.pdf · FSB-FPGA Accelerator Architecture Ian D. McCallum Principal Engineer