20
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000. Hey, You got your DWA in my HPC! Experiences Integra<ng Analy<cs and HPC Ron A. Oldfield Scalable System SoEware Sandia Na<onal Laboratories Albuquerque, NM, USA Salishan Conference on HighSpeed Compu<ng April 2013 April, 2013 Approved for Public Release: SAND20133322C

Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000.

Hey,  You  got  your  DWA  in  my  HPC!    Experiences  Integra<ng  Analy<cs  and  HPC  

Ron  A.  Oldfield    Scalable  System  SoEware  Sandia  Na<onal  Laboratories  Albuquerque,  NM,  USA    Salishan  Conference  on  High-­‐Speed  Compu<ng  April  2013  

April,  2013  

Approved  for  Public  Release:  SAND2013-­‐3322C  

Page 2: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Why HPC and Analytics?!1.  Increasing desire to use HPC for analytics!

§  Process massive amounts of data!§  Current approaches cull data before processing!§  HPC could identify global relationships in data!§  Time-series analysis to identify patterns (requires large time

windows)!§  Some problems have strong compute requirements!

§  Eigensolves, LSA, LMSA (lots of matrix multiplies)!§  Graph algorithms!

§  Some problems have short time-to-solution requirements!§  Short response-time is critical!

§  National security interest!

2.  Increasing desire to use DWA in HPC-app workflow!§  Post-processing sim data (e.g., economic modeling)!§  I/O system metadata (fast indexing, searching)!§  Feature selection/detection for “data triage” in DWA! © Sandia Corporation

© IBM Corporation

April,  2013   Salishan   2  

Page 3: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

MulAlingual  Document  Clustering  Linking  threats  across  different  languages  §  Threats buried in many languages!

§  Web documents!§  Internet traffic (email, packet payloads)!§  Journal publications!

§  Sandia has technology for handling massive data sets in 54 different languages!Afrikaans Estonian Norwegian

Albanian Finnish Persian (Farsi)

Amharic French Polish

Arabic German Portuguese

Aramaic Greek (New Testament) Romani

Armenian Eastern Greek (Modern) Romanian

Armenian Western Hebrew (Old Testament) Russian

Basque Hebrew (Modern) Scots Gaelic

Breton Hungarian Spanish

Chamorro Indonesian Swahili

Chinese (Simplified) Italian Swedish

Chinese (Traditional) Japanese Tagalog

Croatian Korean Thai

Czech Latin Turkish

Danish Latvian Ukrainian

Dutch Lithuanian Vietnamese

English Manx Gaelic Wolof

Esperanto Maori Xhosa

Rosetta stone!

April,  2013   Salishan   3  

Page 4: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Latent Morpho-Semantic Analysis!

Term-by-verse matrix for all languages!

terms!

Bible verses!

English!

Spanish!

Russian!

Arabic!

French!

Truncated SVD!

Term-by-concept!matrix!

“Translate” new documents into a small number of language-independent features!

Books of the Bible clustered by topic regardless of language!

Compressed representation!

Peter A. Chew, Brett W. Bader, and Ahmed Abdelali. Latent Morpho-Semantic Analysis: Multilingual information retrieval with character n-grams and mutual information. In Proceedings of the 22nd International Conference on Computational Linguistics (Coling 2008), pages 129–136, Manchester, UK, August 2008.

April,  2013   Salishan   4  

Page 5: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Latent Morpho-Semantic Analysis!

April,  2013   Salishan   5  

Page 6: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Multilingual Document Clustering is a Great Candidate for HPC!§  Satisfies HPC requirements!

§  Scale of Data!§  Millions of elements (Bible, Quran,

Wikipedia, Europarl)!§  Computationally expensive!

§  Matrix multiplies for large matrices!§  Time to Solution!

§  Interactive control/vis is a motivating factor!§  Focus on “strong scaling” capabilities of

HPC platform!

Visualization

Red StormCompute Nodes

WT

(YX) Netezza

Red StormNetwork Nodes

App-

control

proxy

Sparse

matrix

source

Applic

atio

n

para

mete

rs

Portals

Sockets

ODBC

Legend

Workstation

Y X

Trilinos

Matrix Multiply

PMI Scaling+

Transpose

Trilinos

Matrix Multiply

Cosine

Similarity

Matrix

Threshold

ODBC

proxy

Z

U

WTU

§  Leveraging Existing Sandia Libraries!§  LMSA for dataset generation!§  Trilinos for computation!§  VTK/Titan for visualization!§  Nessie for data services (provides “glue” to integrate systems)!

April,  2013   Salishan   6  

Page 7: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Scaling Challenges for Document Clustering!

Strong scaling exposes weaknesses!§  Original methods for loading were not

designed for production use.!!Improvements to enable large scale!

§  Sparse Reads!§  Keep track of mapping!§  Parallel I/O!

§  Dense Reads!§  Convert to binary format!§  Parallel I/O!§  Data ordering!

Performance Results: Bible Dataset

Ron A. Oldfield, Brett W. Bader, and Peter Chew. Supporting multilingual document clustering on the Cray XT3. In SIAM Conference on Parallel Processing and Scientific Computing, February 2010.

April,  2013   Salishan   7  

§  Memory efficient algorithms!§  Multi-pass dense-matrix multiply for cosine-similarity allows calculation of full dataset !§  Previous version could not cluster 400K docs (one matrix had to be resident in memory

on each process)!

MatrixScalingPMI(W)

Z = W’*U C = Z*Z’

Load X,Y W = Y*X

Load U

0

700

matlab

nssi

matlab

nssi

matlab

nssi

matlab

nssi

matlab

nssi

matlab

nssi

matlab

nssi

matlab

nssi

Tim

e (

sec)

Number of Cores 2 4 8 16 32 64 128 236

500

400

300

200

100

600

23

6

5

10

15

20

25

30

16

32

64

12

8

0

NSSI only

orig

inal

re

fined

orig

inal

re

fined

orig

inal

re

fined

orig

inal

re

fined

orig

inal

re

fined

orig

inal

re

fined

orig

inal

re

fined

orig

inal

re

fined

Refined

Page 8: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Multilingual Document ClusteringPerformance on JaguarPF!

W = Y*XLoad X and Y

0

20

40

60

80

100

120

140

1,024 2,048 4,096 8,192 16,384 32,768

Tim

e (

min

ute

s)

Processors

Multilingual Clustering on JaguarPF: 1.25M Documents from Europarl

Load BalanceC = Z*Z’Z = W*ULoad UW = ScalingPMI(W)

32,768

2

4

6

8

10

12

16,384 0

April,  2013   Salishan   8  

Page 9: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

NISAC/N-ABLEModeling Economic Security!

§  Model economic impact of disruptions in infrastructure!§  Changes in U.S. Border Security technologies!§  Terrorist acts on commodity futures markets!§  Transportation disruptions on regional agriculture and

food supply chains!§  Optimized military supply chains!§  Electric power and rail transportation disruptions on

chemical supply chains!

§  Compute and data challenges!§  Models economy to the level of the individual firm!§  Model transactions from 10s of millions of companies!§  Simulation data ingested into DB for analysis!§  DB ingest is bottleneck (10x time to simulate data)!§  Time to solution is critical… want answers in hours!

April,  2013   Salishan   9  

Page 10: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Integration of Cray XT and Netezza Cray XT for Simulation, Netezza for Analysis!

§  Potential Benefits!§  Cray XT provides memory and compute resources for large-scale simulations!§  Netezza provides fast queries for post-analysis of data!

§  Software and Hardware Challenges for HPC!§  Specialized internal network APIs (Portals) for Cray!

§  No support for standard DB interfaces (e.g., ODBC)!§  Standard database APIs not designed for “bursty” input patterns!

§  Fast network internally (2 GB/s/link), slow externally (1 Gb/s)!§  Networked integration of systems could lead to a severe I/O bottleneck!

Compute (n)

Net I/O

Service

Users

File I/O (m)

/home © IBM Corporation

April,  2013   Salishan   10  

Page 11: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Database Service A Network Proxy Between Cray and Netezza!

Database Service Features!§  Provides “bridge” between parallel apps and external DWA!§  Runs on Cray XT/XE/XMT network nodes!§  Applications communicate with DB service using Nessie (over Portals/uGNI)!§  Service-level access to Netezza through standard interface (e.g., ODBC)!

Client Application on Cray XT!(compute nodes)!

Database Service!(service node)!

Portals! ODBC/NZLoad  

© Netezza Corporation

NEtwork-Scalable Service InterfacE

NessieStorage Arrays!

Ron A. Oldfield, Andrew Wilson, George Davidson, and Craig Ulmer. Access to external resources using service-node proxies. In Proceedings of the Cray User Group Meeting, Atlanta, GA, May 2009.

April,  2013   Salishan   11  

Page 12: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Database Service Implementation!

vtkSQLDatabase

vtkSQLiteDatabase

vtkMySQLDatabase

vtkPostgreSQLDatabase

vtkODBCDatabase

vtkSQLQuery

vtkMySQLQuery

vtkODBCQuery

vtkPostgreSQLQuery

vtkSQLiteQuery

vtkRemoteSQLDatabase

vtkRemoteSQLQuery

SQL Service!§  Client!

§  Extensions of vtkSQL{Database,Query) classes!§  Construct direct SQL command for remote DB!§  Marshal args for remote func, send to server using

NSSI (on top of Portals)!§  Server!

§  De-serialize request!§  Execute SQL command on behalf of application using

ODBC. !

!Bulk Ingest Service!

§  Client!§  Simple interface to dump large tables!§  Options to transport data with request or fetch data

using RDMA!§  Server!

§  De-serialize request, fetch data (if necessary)!§  Options for File, SQLite, ODBC, NZLoad!

!April,  2013   Salishan   12  

Page 13: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Tight Coupling of Cray and Netezza A hardware solution to improving ingest rates!

Original Networked Implementation

Service Node/Netezza HostCompute Node

Nessie-NZLIBClient

(serialize args, send requests to server)

Nessie-NZLIBServer

(receive requests, deserialize args,

call ODBC)

SPUBox

Host (Unused)SPUSPUSPUSPUSPUSPUSPUSPU

Application

SeaStar(2 GiB/sec)

Inte

rnal

Sw

itch

Ethernet(1--10 Gb/sec)

Would like to use Netezza library in the DB service instead of piping everything through the nzsql command-line tool.

April,  2013   Salishan   13  

Page 14: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

rsologin02 (svc node)Netezza HostCompute Node

Nessie-NZLIBClient

(serialize args, send requests to server)

Nessie-NZLIBServer

(receive requests, deserialize args, call

"real" nzlib)

SPUBox

Host (Unused)

SPUSPUSPUSPUSPUSPUSPUSPU

nzlib

Outside Network (SON)

Application

SeaStar(2 GiB/sec)

Inte

rnal

Swi

tch

Private Network(10.0.0.*)

Required New PCIX Ethernet Card

UnusedEthernet

Ports

rsopenAll systems located in Building 880

Tight Coupling of Cray and Netezza A hardware solution to improving ingest rates!

Move Host to Service Node

Use Netezza library in the DB service instead of piping everything through the nzsql command-line tool.

April,  2013   Salishan   14  

Page 15: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Results (Bulk Ingest)!

§  ODBC is the only available interface for remote access. It’s the interface, not the network that’s the bottleneck!

§  NZLoad only runs on the Netezza host, but it is many order of magnitude faster!

0

500

1000

1500

2000

2500

103 104 105 106 107 108 109

ODBC (Netezza)SQLite (file)

NZLoad (Netezza)

Bytes Written

Tim

e (s

ec)

Database Ingest Performance

§  Benchmark: Generate 4GiB of records/process, scale data by increasing number of clients.!

April,  2013   Salishan   15  

Page 16: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Evaluation of Hybrid SystemUsing NZLoad from the DB Service!

64 Threads

0

50

100

150

200

250

300

350

1 2 4 8 16 32 64

Tim

e (

sec)

Number of Client Processors (4MiB/Proc)

Ingest Performance using NZLoad on Multi!Threaded Servers

1 Threads2 Threads4 Threads8 Threads16 Threads32 Threads

April,  2013   Salishan   16  

Page 17: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Evaluation of Hybrid SystemUsing NZLoad from the DB Service!

Write file

Number of Client Processors (4MiB/Proc)

0

50

100

150

200

250

300

350

1 2 4

Ingest Performance using NZLoad on Multi!Threaded Servers

NZLoad file

Tim

e (

sec)

Fetch data Wait in queue

8 16 32 64

April,  2013   Salishan   17  

Page 18: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Hybrid Architecture Evolution!

Research/Engineering Questions!§  What ingest rates will keep up with scientific workloads?!§  Where are bottlenecks? Between host and S-BLADE? !§  What software/networking infrastructure will resolve the bottlenecks? !

!

An evolving architecture to support rapid ingest for HPC workloads!1)  Stage data to FS during sim, ftp to host, bulk load to DB. (post-processing)!2)  DB Service forwards ODBC requests to remote Netezza (slow network to host)!3)  Service node becomes NZ host (fast access to host, slow to S-BLADEs) !4)  Multiple service-node hosts (parallel access to back-end S-BLADEs)!5)  Really wacky! Hosts and S-BLADEs on fast network (fully integrated)!

Compute (n) Service

Users

File I/O (m)

/home © Netezza Corporation

NZ Host S-Blades

April,  2013   Salishan   18  

Page 19: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Summary and Lessons!§  Data size, compute reqs, and time-to-solution motivate HPC for analytics!

§  Multilingual Document Clustering (Analytics Code on HPC)!§  Large Data Sets!§  Strong scaling for short time-to-solution!§  Requires interactive use by analyst!

§  Economic Modeling (Integration of HPC and Analytics Hardware)!§  Integrates HPC code with Data Warehouse Appliance!§  Time-to-solution includes data generation, DB ingest, post-analysis!§  Response time is critical to maintain relevance!

§  Data Services Play and Important Role!§  Provides “glue” for system integration!§  Enable data-warehouse integration!§  Enable interactive visualization!

§  Scaling Challenges Demand Attention to Detail!§  Moving cluster-based analytics codes to HPC system is not a trivial task!§  Strong scaling exposes weaknesses not seen in cluster!

April,  2013   Salishan   19  

Page 20: Hey,%You%got%your%DWAin%my%HPC!% · Albanian Finnish Persian (Farsi) Amharic French Polish Arabic German Portuguese Aramaic Greek (New Testament) Romani Armenian Eastern Greek (Modern)

Acknowledgements!§  Multilingual Document Clustering!

§  Peter Chew, Brett Bader!

§  N-ABLE!§  Eric Eidsen, John Masciatoni!

§  Netezza Integration!§  George Davidson, Craig Ulmer, Andrew Wilson, Kevin Pedretti!

§  Funding Support!§  LDRD: Networks Grand Challenge!§  ASC/CSRF: HPC System Support for Informatics!

April,  2013   Salishan   20