FPGA's, Clusters, and Grids
From CSI 702
Contents |
1 FPGA's
1.1 Pipelining Gravity
An example of FPGA's used for HPC includes the University of Tokyo's GRAPE project [1]. GRAPE or GRAvity PipE is an FPGA that can be used for highspeed computation of N-body problems. Since stacking FPGA's gives a fairly linear increase in performance the Last Revision of the GRAPE,GRAPE-DR, can hit 2Tflops[1]
TABLE-1 Low-Precision machines:
| Machine | Year | Peak | Notes |
|---|---|---|---|
| GRAPE-1 | 1989 | 240Mflops | Concept System |
| GRAPE-3 | 1991 | 15 Gflops | Custom LSI |
| GRAPE-5 | 1998/9 | ~ 1Tflops |
TABLE-2 High-Precision machines:
| Machine | Year | Peak | Notes |
|---|---|---|---|
| GRAPE-2 | 1990 | 40Mflops | IEEE single/double |
| HARP-1 | 1993 | 180 Mflops | Force and its time derivative |
| GRAPE-4 | 1995 | 1Tflops | Single-chip pipeline |
| GRAPE-6 | 2002 | 64Tflops | 6 pipelines in one chip |
| GRAPE-DR | 2008 | 2 Pflops | New architecture |
However, due to the expense due to limited demand of these products, future product seems to be heading towards GPU programming [1]
1.2 Hardware Evolution
- Discrete Components
- Integrated Circuits
- Large-scale Integration
- Fully-Programmable Gate Arrays
1.3 FPGA's
PRO's:
- Integrates a customizable element for specific tasks
- Compiler optimizes design from desired logic to hardware
- Very good for a large number of small, simple operations (e.g. symmetric key cryptography)
- Can be emulated on a CPU for design and testing
- Easy to scale
CON's:
- Not very robust with regard to floating point operations
- Difficult to program
- Expensive overall
- Very much a bleeding-edge technology
- Limited user community
Although many communities such as the NSA rely considerably on the use of FPGA's there is a driving force behind the use of cheeper commodity GPU's to replace FPGA's in several niche markets such as was seen with the GRAPE project. GPU's have the advantage of low price by being subsidized by PC gamers, and a large user community.
2 Grids
- Natural extension of Beowulf clusters
- Heterogeneous localities of resources
- Rooms
- Buildings
- Sites
- Over the internet
- This variation implies complex management software
2.1 Grid Examples
- BOINC (Berkley Open Infrastructure for Network Computing): Framework originally for SETI@home, currently hosts several other projects as well.
- folding@home distributed network through the Stanford University to study disease.
- TeraGrid NSF funded grid with members including: NCSA, University of Illinois at Urbana-Champaign, San Diego Supercomputer Center, University of Chicago Argonne National Laboratory, California Institute of Technology, Pitsburgh Supercomputing Center, ORNL, Purdue, Indiana University, and TACC[1]
List of Grids:
| Grid | Performance |
|---|---|
| BOINC | 5,574.75 TeraFLOPS [1] |
| folding@home | 5,000 native TeraFLOPS (8.1 x86 PFLOPS) [1] |
| TeraGrid (NSF) | 2,000 TeraFLOPS [1] |
Fast Computers for Comparison
| Computer | Performance |
|---|---|
| Cray Jaguar | 1,750 TeraFLOPS |
| Intel Core i7 980XE | 0.0799 TeraFlops |
| nVidia Tesla C1060 | 0.0780 TeraFlops (Double) |
2.2 Grid Advantages
- Good for large, geographically distributed community
- Good for community with specific goals
- Good for managing data and computation with a lot of variety
2.3 Grid Issues
- Security
- Monitoring
- Computation
- Data
- Collaboration
2.4 Grid Portals
- Portal technologies:
- HTML
- CGI
- etc.
- TeraGrid at University of Chicago
- Resource providers
- Indiana University
- Oak Ridge
- NCSA
- NCAR
- Purdue
- San Diego
- Texas Advanced Computing Center
- University of Chicago
- Joint Institute for Computational Sciences
- Pittsburg Supercomputing Center
- Very large scientific computation grid
- Portals
- SPRUCE
- CSE-Online
- Resource providers
2.5 Gateways
Current science gateways include:
- National Virtual Observatory (NVO)
- Special Priority and Urgent Computing Environment(SPRUCE)
- Linked Environments for Atmospheric Discovery (LEAD)
- Computing Chemistry Grid (GridChem)
- Computational Science And Enginering On-line (quantum chem)
- Network for Earthquake Engineering Simulation
- Biology and Biomedicine Science Gateway
- Neutron Science Teragrid Gateway
2.6 Grid Standards
- Document standards - HTML into XML
- Grid Standards - Globus into OGSA
- Modular web standards - Servlets into Portlets
- Portlet standards - JSR 286
2.7 Definitions
- Portal - a web-based application that can be customized by the end-user both in terms of look/feel and content and applications
- Gateway - a portal dedicated to providing specific services to a specific user community
- Web container - something that runs servlets (Apache Tomcat)
- Portlet container - something that runs portlets (Apache Pluto)
- SOAP - simple object access protocol for exchanging XML messages over the Internet
- SAML - security assertion markup language - a framework for authentication and authorization
- Web Services (WS) - open standards-based (SOAP, HTTP, XML) web apps that are module, distributed and dynamic
- allows easy connectivity between very software applications on different systems
- easy reuse of applications
- use of open standards
- but... open standards are still immature
- textual formats (XML) are more inefficient that other alternatives (CORBA, etc)
- WSDL - Web Services Definition Language- XML grammar to let a web service describe itself to clients
- UDDI - Universal Description, Discovery, Integration - XML format and API for searching through existing data using SOAP
- WSRP - Web Services for Remote Portlets - a presentation-orient spec aimed at portals/portlets
- allows portal creation to be simply joining together elements with very little actual programming
- encourages standard portlet and portlet reuse
- SOA - Service Oriented Architecture - a type of enterprise architecture that allows the creation of applications by combining loosely coupled and interoperable services
2.8 Servlets vs Portlets
- Portlets return fragments of web pages, servlets return complete web pages
- A single URL points to a set of Portlets
- Communication between the web client and portlets goes through the portal
- Portlets have scope of application and portlet, and are have persistent configurations
- Otherwise, very similar software— both run in Java and generate static or dynamic content
3 Clusters
- Initially:
- Main node must be installed and configured
- Compute nodes must be configured
- Oscar
- One-stop cluster management
- Queuing system
- Controlling job execution
- YUME
- Facilitates distributed software installation
- Switcher
- Manages cluster environment
| Clusters | Grids |
|---|---|
| Homogeneous | Heterogeneous |
| Small, focused user group | Large, disparate user group |
| Provides low-level software tools | Provides high-level software tools |
| Limited access allowed |
