1 / 25

Research Seminar

Research Seminar. Robert van Engelen Computer Science & CSIT Florida State University. Research Projects. Restructuring compiler analysis and transformation Compilation techniques for embedded systems Web and Grid services technologies Bioinformatics and life sciences

aletha
Download Presentation

Research Seminar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Research, Nov 4, 2002

  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 ImprovingTransformations and Related Applications (with Dr. Whalley) Research, Nov 4, 2002

  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 Research, Nov 4, 2002

  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 Research, Nov 4, 2002

  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 Research, Nov 4, 2002

  7. WSDL • A Web Service registers its existence in a registry • The Web Service publishes its WSDL in the registry • SOAP remote procedure calling by clients developed from this WSDL Research, Nov 4, 2002

  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) Research, Nov 4, 2002

  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 Research, Nov 4, 2002

  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 Research, Nov 4, 2002

  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) • … Research, Nov 4, 2002

  12. Web Service Application Native C & C++ ApplicationCode to Serve Requests(RPC Parameter Marshalling is Fully Automatic) myService.hSpecification of Remote Proceduresand Parameter Types soapService.c soapC.cRPC Skeleton Routines andXML Parsers/Generators gSOAP RPCCompiler libgsoap.agSOAP Runtime Environment(Memory & I/O Management) myService.wsdl Implementing a Web Service Application Publish WSDL Research, Nov 4, 2002

  13. Client Application someService.hSpecification of Remote Proceduresand Parameter Types Native C & C++ ApplicationCodes with SOAP RPC Calls(RPC Calls and ParameterMarshalling are Automatic) gSOAP WSDLimporter libgsoap.agSOAP Runtime Environment(Memory & I/O Management) gSOAP RPCCompiler soapClient.c soapC.cRPC Stub Routines andXML Parsers/Generators someService.wsdl Implementing a Client Application WSDL Publication Research, Nov 4, 2002

  14. 1 2 3 SOAP RPC Marshalling int remoteMethod(struct BG input, struct BG *output); struct BG{ int val;struct BG *left;struct BG *right;}; <BG> <val>1</val> <left> <val>2</val> <right href=“#X”/> </left> <right href=“#X”/></BG> <id id=“X”> <val>3</val> <right href=“#X”/></id> Research, Nov 4, 2002

  15. 1 2 3 SOAP RPC Demarshalling <BG> <val>1</val> <left> <val>2</val> <right href=“#X”/> </left> <right href=“#X”/> </BG> <id id=“X”> <val>3</val> <right href=“#X”/> </id> Research, Nov 4, 2002

  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 Research, Nov 4, 2002

  17. Results • Interoperability Testing • Legacy C Code Web Service Integration • Scalability and Performance Research, Nov 4, 2002

  18. Interoperability Testing • WhiteMesa.org “interop lab” • Suite of test cases designed for real-time interoperability testing • Interop with: Apache Axis, .NET, Delphi,… Research, Nov 4, 2002

  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 declarations:struct 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 */ Research, Nov 4, 2002

  20. Linear System Solver Service Linear system solver service (LSSS) code (CGI-based):main(){ soap_serve(soap_new()); /* process request */} Example LSSS client application code:main(){ 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.__ptr[i]->__ptr[j]; /* index a[i,j] */} Research, Nov 4, 2002

  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 Research, Nov 4, 2002

  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) Research, Nov 4, 2002

  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 Research, Nov 4, 2002

  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) Research, Nov 4, 2002

  25. Questions? Research, Nov 4, 2002

More Related