Amazon EC2 F1 Instances
Amazon EC2 F1 instances use FPGAs to enable delivery of custom hardware accelerations. F1 instances are easy to program and come with everything you need to develop, simulate, debug, and compile your hardware acceleration code, including an FPGA Developer AMI and supporting hardware level development on the cloud. Using F1 instances to deploy hardware accelerations can be useful in many applications to solve complex science, engineering, and business problems that require high bandwidth, enhanced networking, and very high compute capabilities. Good target applications for F1 are ones that have a modest number of distinct operations that account for significant portions of application run-time. Examples of such applications include big data analytics, genomics, electronic design automation (EDA), image and video processing, compression, security, and search/analytics. Customers are using F1 instances when in need of processing large amounts of data at lower overall costs, as well as when the acceleration helps significantly reduce compute time.
F1 instances provide diverse development environments: from low-level hardware developers to software developers who are more comfortable with C/C++ and openCL environments (avaliable on our GitHub). Once your FPGA design is complete, you can register it as an Amazon FPGA Image (AFI), and deploy it to your F1 instance in just a few clicks. You can reuse your AFIs as many times as you like, and across as many F1 instances as you like. There is no software charge for the development tools when using the FPGA developer AMI and you can program the FPGAs on your F1 instance as many times as you like with no additional fees.
SCALABLE HIGH-PERFORMANCE COMPUTING
Unlike on-premises systems, running high-performance computing on Amazon EC2 F1 instances offers virtually unlimited capacity to scale out your infrastructure and the flexibility to change resources easily and as often as your workload demands. You can configure your resources to meet the demands of your application, and launch as many FPGA instances needed, in minutes, and pay for only what you use.
ACCELERATE COMPUTE TIME BY UP TO 100X
Amazon EC2 F1 instances provide up to 100X acceleration compared to CPUs for a diverse set of compute-bound applications. Customers can discover, test and deploy custom accelerators directly from the AWS Marketplace to accelerate their compute pipelines with ease. There is no need to know how to program FPGAs, as F1 based products developed by F1 technology partners are packaged as any other EC2 instance software.
EASE OF ACCELERATION DEVELOPMENT
Developers can accelerate their FPGA development with advanced cloud-based tools and flows that allow them to focus on their value-add acceleration logic. Developers can get hands-on experience with self-paced online tutorials and learn from many GitHub examples. To ease the debugging process, AWS has developed virtual hardware debugging tools like virtual JTAG, providing a familiar development environment allowing for multiple developers to make progress without being dependent on limited on-premises resources.
The amount and complexity of biological data that must be processed by genomics researchers continues to grow and they must process petabytes of data in order to quickly meet the needs of physicians and their patients. F1 instances are an ideal solution for these time sensitive use cases and also ideal for processing large amounts of data. FPGAs can provide up to 30x better compute cost compared to the latest CPU instances on AWS.
The financial services industry has increasing needs for accelerated compute capabilities for a wide range of applications including risk modeling and analysis, transaction analysis for security, data analytics and more. Financial services organizations can use F1 instances to improve the accuracy of risk modeling and analysis which helps dramatically improve their decision making processes and get results faster so that a trader can make better judgment calls based on fresh data. With CPUs, banks can only risk model once a day, while with FPGAs they can use real-time analysis.
Real Time Video Processing
High performance live broadcast-quality video applications, such as video analytics, and video transcoding and compression have real time requirements. Video compression is a specific use-case to save on ISP bandwidth and live video compression allows organizations who stream live video to customers to save on their service provider bandwidth costs. F1 instances are an ideal solution to meet the requirements of these applications without compromising quality.
Large Throughput Image Processing
Large websites can save storage doing image transcoding on the fly. For example, processing a large volume of data coming from smart phone customers.
Big Data Search and Analytics
The volume, variety, and velocity of data analysis and search requirements in many big data applications have risen to the point where customers are looking for hardware acceleration to keep up. For those applications, customers can leverage the increased performance of F1 instances to meet their big data analytics and search requirements.
Networking and Security
AWS FPGAs include the ability to efficiently compute networking packets at line rate using the virtual ethernet feature. With this capability, cloud FPGAs can be used for security applications like deep packet inspection or high-performance load-balancers and any other networking application that requires real-time custom packet processing.
Field Programmable Gate Array (FPGA)
FPGAs are reprogrammable hardware devices that can implement any logic function. This makes FPGAs similar to custom silicon (aka Application-Specific Integrated Circuits, or ASICs), allowing developers to create custom processors/accelerators that provide optimized compute tailored to accelerate a specific workload. This enables in specific cases a significant acceleration compared to fixed-function compute solutions like CPUs and GPUs.
Developers can get started on F1 instances by creating an AWS account and downloading the AWS FPGA Development Kit. The kit is avaliable on GitHub and includes all documentation on F1, internal FPGA interfaces, and compiler scripts for generating Amazon FPGA Images (AFIs). AWS FPGAs support multiple development environments to serve both hardware and software developers. The HDK provides fully custom hardware development, and the software-defined environment allows developing accelerations using C/C++/OpenCL code with no hardware knowledge needed. This allows for fast FPGA development for the EC2 F1 instances.
FPGA Developer AMI
The FPGA Developer AMI includes Xilinx Vivado at no additional software charge as well as a prepackaged tool development environment with scripts and tools for simulating your FPGA design and building and registering your AFI. The FPGA Developer AMI also includes tools for debugging and compiling your code. You can deploy the FPGA Developer AMI on an Amazon EC2 instance and quickly provision the resources you need to write and test your FPGA design.
||vCPUs||Instance Memory (GiB)||SSD Storage (GB)||Enhanced Networking||EBS Optimized||On-Demand Price/hr*||1-yr Reserved Instance Effective Hourly*||3-yr Reserved Instance Effective Hourly*|
||4 x 940
*Prices shown are for Linux/Unix in the US East (Northern Virginia) AWS Region and rounded to the nearest cent. Prices for 1-year and 3-year reserved instances are for "Partial Upfront" payment options. For full pricing details, see the Amazon EC2 pricing page.
Blog posts & articles
"This highly parallelized model is ideal for building custom accelerators to process compute-intensive problems. Properly programmed, an FPGA has the potential to provide a 30x speedup to many types of genomics, seismic analysis, financial risk analysis, big data search, and encryption algorithms and applications."
"Today, Edico Genome is deployed on our FPGA-based Amazon EC2 F1 instances and can process a whole genome sequence in about 70 minutes on an f1.2xlarge instance type and about 30 minutes on an f1.16xlarge instance type. These speeds can be over 10 times faster than current state-of-the-art algorithms."
Aaron Friedman and Ujjwal Ratan
"FireSim lowers that entry bar and makes it easier for everyone to leverage the power of an FPGA-accelerated compute environment."
"Edico Genome partnered with the Children’s Hospital of Philadelphia (CHOP) to demonstrate their FPGA-accelerated genomic pipeline software, called DRAGEN...This set a Guinness World Record for the fastest analysis of 1000 whole human genomes, and they did this using 1000 EC2 f1.2xlarge instances in a single AWS region."
Aaron Friedman and Angel Pizarro