Research Seminar - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Research Seminar

Description:

Research Seminar. Robert van Engelen. Computer Science & CSIT ... Chris Baker (for MS) collab. with Dr. Gallivan. Compiler technology & numerical algorithms ... – PowerPoint PPT presentation

Number of Views:323
Avg rating:3.0/5.0
Slides: 26
Provided by: Robertva8
Learn more at: http://www.cs.fsu.edu
Category:
Tags: research | seminar

less

Transcript and Presenter's Notes

Title: Research Seminar


1
Research Seminar
  • Robert van Engelen
  • Computer Science CSIT
  • Florida State University

2
Research Projects
  • Restructuring compiler analysis and
    transformation
  • Compilation techniques for embedded systems
  • Web and Grid services technologies
  • Bioinformatics and life sciences
  • Atmospheric and oceanographic sciences

SUIF
Trimaran
3
Current Funding Support
DOE Early Career PI Program (Compilers
Algorithms for High-Performance Computing,
Networking, and Data Management)
Improving Symbolic Analysis of Restructuring
Compilers
Collaborative Research in Compilers (with Dr.
Whalley)
Automatic Validation of Code ImprovingTransformat
ions and Related Applications (with Dr. Whalley)
4
Research Assistants
  • Chris Baker (for MS) collab. with Dr. Gallivan
  • Compiler technology numerical algorithms
  • Johnnie Birch (for MS PhD)
  • Compiler analysis techniques
  • Burt Walsh (for PhD)
  • Compiler embedded systems technology
  • Yixin Shou (for PhD)
  • Compiler technology
  • Open position (for PhD)
  • Web and grid services technologies

5
Web and Grid Services
  • Web and Grid services are remote applications,
    e.g. on the Web, that provide various data,
    document, and compute resources to client
    applications
  • Web/Grid service technology is a big step
    forwards in distributed computing on the Internet
  • Bridges platform and language interop gaps

6
Web/Grid Service Protocols
  • Web/Grid services technologies utilize the SOAP
    and WSDL protocols
  • SOAP (Simple Object Access Protocol) is a
    light-weight protocol based on XML as the
    marshalling format for request and response
    messages, typically with HTTP
  • WSDL is an XML-based Web/Grid services
    description language

7
WSDL
  1. A Web Service registers its existence in a
    registry
  2. The Web Service publishes its WSDL in the
    registry
  3. SOAP remote procedure calling by clients
    developed from this WSDL

8
gSOAP Web Services
  • SOAP/XML language binding for C C
  • SOAP/XML capabilities build into the C and C
    language
  • Uses compiler technology
  • Based on RPC compiler
  • No need to write any wrapper code
  • Generates SOAP/XML parsing routines(no DOM or
    SAX parser required)

9
gSOAP Web Services
  • gSOAP is open source (SourceForge project)
    (C/C, Java)
  • Platform independent (now with automake/conf)
  • Integrated TCP/IP, HTTP, DIME, SOAP, and XML
    stacks
  • Designed for high-performance throughput

10
gSOAP Features
  • SOAP 1.1 and 1.2 compliant
  • WSDL 1.1 import and export
  • Stand-alone servers (HTTP 1.0 and partially 1.1)
  • Supports keep-alive and chunked transfers
  • CGI, Fast-CGI, Apache_mod, IIS
  • DIME attachments
  • Supports pure C or C/C application mix
  • Multi-threaded Web services, MT safe
  • Extensible
  • Plug-ins, callbacks, and user-defined
    (de)serializers

11
gSOAP Users in Industry
  • Adobe Systems (eg. GoLive Web site development
    software)
  • IBM Alphaworks
  • Xerox
  • CoreNetworks
  • Powerllel
  • Siemens
  • Ericsson
  • Globus toolkit (DOE, Argonne National Labs)
  • Harness toolkit (DOE)

12
Implementing a Web Service Application
Publish WSDL
13
Implementing a Client Application
WSDL Publication
14
SOAP RPC Marshalling
int remoteMethod(struct BG input, struct BG
output)
struct BG int val struct BG left struct
BG right
ltBGgt ltvalgt1lt/valgt ltleftgt ltvalgt2lt/valgt
ltright hrefX/gt lt/leftgt ltright
hrefX/gtlt/BGgt ltid idXgt ltvalgt3lt/valgt
ltright hrefX/gtlt/idgt
15
SOAP RPC Demarshalling
ltBGgt
ltvalgt1lt/valgt
ltleftgt
ltvalgt2lt/valgt
ltright hrefX/gt
lt/leftgt
ltright hrefX/gt
lt/BGgt
ltid idXgt
ltvalgt3lt/valgt
ltright hrefX/gt
lt/idgt
16
Application to Life Sciences
  • Determine the Tree of Life from sequenced
    genome data
  • Serialize and deserialize phylogenetic trees in
    XML
  • Massive parallel computations
  • Cluster of workstations

SOAP/XML
17
Results
  1. Interoperability Testing
  2. Legacy C Code Web Service Integration
  3. Scalability and Performance

18
Interoperability Testing
  • WhiteMesa.org interop lab
  • Suite of test cases designed for real-time
    interoperability testing
  • Interop with Apache Axis, .NET, Delphi,

19
Legacy C Code Integration Linear System Solver
Service
  • LU decomposition from Numerical Recipes in C
  • ludcmp(double a, int n, int indx, double d)

Service routine (array size n stored in structs
for vectors and matrices)ludcmp
/ ludcmp request /( struct mat a,
/ input matrix / struct
ludcmpResponse / ludcmp response /
struct mat a / output matrix
(decomposed) / struct ivec indx /
output reordering vector / double d
/ output arg for determinant /
result )
Struct declarationsstruct vec
/ vector / double __ptr /
pointer to array of double / int __size
/ run-time array size / struct
mat / matrix / struct vec
__ptr / pointer to array of vectors /
int __size / run-time array size
/
20
Linear System Solver Service
  • Linear system solver service (LSSS) code
    (CGI-based)main() soap_serve(soap_new()) /
    process request /

Example LSSS client application codemain()
struct soap soap / runtime
environment / struct mat a
/ input matrix / struct ludcmpResponse
result / result output /
soap_init(soap) / init runtime
/ if (soap_call_ns__ludcmp(soap, URL, ,
a, result)) soap_print_fault(soap,
stderr) result.a.__ptri-gt__ptrj
/ index ai,j /
21
Scalability and Performance
  • Scalability and overhead of communication vs.
    computation
  • LU-based double fp. matrix inversion
  • Performance (send 32bit int matrix)
  • Full SOAP XML-encoded int32 matrix
  • SOAP Base64-encoded int32 matrix
  • CGI-based SOAP Web Service
  • Stand-alone SOAP Web Service
  • Java RMI

22
Communication Overhead Matrix Inversion
  • Stand-alone linear system solver service
  • Full double fp. Matrix representation in SOAP XML
  • Total time of client request and server response
    (100BaseT, Dual PIII 550MHz, Red Hat Linux)

23
Full XML Versus Base64 int32 Matrix
Representations
  • Total time of client request and server response
    (100BaseT, Dual PIII 550MHz, Red Hat Linux)
  • SOAP XML-encoded 32bit int matrix
  • SOAP Base64-encoded 32bit int matrix

24
XML vs. Base64 vs. Java RMI with Stand-Alone
Service
  • Total time of client request and server response
    (100BaseT, Dual PIII 550MHz, Red Hat Linux)
  • SOAP XML-encoded 32bit int matrix
  • SOAP Base64-encoded 32bit int matrix
  • Java RMI (1.2.2)

25
Questions?
Write a Comment
User Comments (0)
About PowerShow.com