FroNtier: High Performance Database Access Using Standard Web Components in a Scalable Multi-tier Architecture Marc Paterno Fermilab CHEP 2004 Sept. 27-Oct.

Slides:



Advertisements
Similar presentations
Building Portals to access Grid Middleware National Technical University of Athens Konstantinos Dolkas, On behalf of Andreas Menychtas.
Advertisements

Database Architectures and the Web
1 G2 and ActiveSheets Paul Roe QUT Yes Australia!
An architecture for webb applications, J2EE
DataGrid is a project funded by the European Union 22 September 2003 – n° 1 EDG WP4 Fabric Management: Fabric Monitoring and Fault Tolerance
September 14th, 2005 NEC 2005 Symposium The Information System of CMS Concepts, Technology and Architecture Zhechka Toteva Sofia University/CERN Dirk Samyn,
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Servlets and a little bit of Web Services Russell Beale.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Kerim KORKMAZ A. Tolga KILINÇ H. Özgür BATUR Berkan KURTOĞLU.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 Client-Server Processing, Parallel Database Processing,
Chapter 9: Moving to Design
F Fermilab Database Experience in Run II Fermilab Run II Database Requirements Online databases are maintained at each experiment and are critical for.
Database Infrastructure Major Current Projects –CDF Connection Metering, codegen rewrite, hep w/ TRGSim++ – Dennis –CDF DB Client Monitor Server and MySQL.
Understanding and Managing WebSphere V5
Jason Morrill NCOAUG Training Day February, 2008
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Getting connected.  Java application calls the JDBC library.  JDBC loads a driver which talks to the database.  We can change database engines without.
JOnAS developer workshop – /02/2004 status Emmanuel Cecchet
Chapter 4: Core Web Technologies
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
/11/2003 C-JDBC: a High Performance Database Clustering Middleware Nicolas Modrzyk
Grid Job and Information Management (JIM) for D0 and CDF Gabriele Garzoglio for the JIM Team.
第十四章 J2EE 入门 Introduction What is J2EE ?
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Ramiro Voicu December Design Considerations  Act as a true dynamic service and provide the necessary functionally to be used by any other services.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
NOVA Networked Object-based EnVironment for Analysis P. Nevski, A. Vaniachine, T. Wenaus NOVA is a project to develop distributed object oriented physics.
ALICE, ATLAS, CMS & LHCb joint workshop on
CMS Conditions Data Access using FroNTier Lee Lueking CMS Offline Software and Computing 5 September 2007 CHEP 2007 – Distributed Data Analysis and Information.
Database Server Concepts and Possibilities Lee Lueking D0 Data Browser Workshop April 8, 2002.
EGEE User Forum Data Management session Development of gLite Web Service Based Security Components for the ATLAS Metadata Interface Thomas Doherty GridPP.
Building High Performance, Robust Server Applications with Internet Information Server 5.0 Van Van IIS - Program Manager Microsoft Corporation.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
Paperless Timesheet Management Project Anant Pednekar.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
WEB SERVER SOFTWARE FEATURE SETS
3D Testing and Monitoring Lee Lueking LCG 3D Meeting Sept. 15, 2005.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
ATLAS Database Access Library Local Area LCG3D Meeting Fermilab, Batavia, USA October 21, 2004 Alexandre Vaniachine (ANL)
Replicazione e QoS nella gestione di database grid-oriented Barbara Martelli INFN - CNAF.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
DBS Monitor and DAN CD Projects Report July 9, 2003.
FroNTier at BNL Implementation and testing of FroNTier database caching and data distribution John DeStefano, Carlos Fernando Gamboa, Dantong Yu Grid Middleware.
Access to HEP conditions data using FroNtier: A web-based database delivery system Lee Lueking Fermilab International Symposium on Grid Computing 2005.
The Holmes Platform and Applications
Outline Introduction and motivation, The architecture of Tycho,
Jean-Philippe Baud, IT-GD, CERN November 2007
DEPTT. OF COMP. SC & APPLICATIONS
Business System Development
FroNtier Overview and POOL Interface Prototype
Database Replication and Monitoring
Netscape Application Server
(on behalf of the POOL team)
Lee Lueking WLCG Workshop DB BoF 22 Jan. 2007
z/Ware 2.0 Technical Overview
Open Source distributed document DB for an enterprise
Conditions Data access using FroNTier Squid cache Server
PHP / MySQL Introduction
Lecture 1: Multi-tier Architecture Overview
Objectives In this lesson you will learn about: Need for servlets
Cloud Web Filtering Platform
Enterprise Java Beans.
Mark Quirk Head of Technology Developer & Platform Group
Sending data to EUROSTAT using STATEL and STADIUM web client
Presentation transcript:

FroNtier: High Performance Database Access Using Standard Web Components in a Scalable Multi-tier Architecture Marc Paterno Fermilab CHEP 2004 Sept. 27-Oct. 1, 2004 Interlaken Switzerland

2 Credits Fermilab, Batavia, Illinois Jim Kowalkowski, Sergey Kosyakov, Dmitri Litvintsev, Lee Lueking, Marc Paterno, Stephen White Johns Hopkins University, Baltimore, Maryland Barry Blumenfeld, Petar Maksimovic, Mark Mathis Rovaniemi Polytechnic, Rovaniemi, Finland Lauri Autio (through collaboration with Fermilab and The University of Helsinki)

3 Outline Motivation Motivation Overview Overview Testing Testing Deployment Deployment Status and Plans Status and Plans

4 Motivation CDF was CDF was –concerned about the scalability of their current database access layer –looking for a straightforward path to move to a multi- tier data delivery architecture using commodity tools Why a multi-tier approach with caching? Why a multi-tier approach with caching? –Ideal for write once, read many data –Reliability and high performance w/o expensive DB servers –Readily scalable to serve thousands of clients –Decouples client and database development and maintenance

5 Transport Protocol Several choices for transport protocol were possible Several choices for transport protocol were possible –many projects use home-grown protocols, based on bare sockets The use of HTTP for the server-client protocol provides a starting point The use of HTTP for the server-client protocol provides a starting point –Opens the door to many well understood commodity tools and techniques used routinely on the internet. –These tools are easily deployed and have low administrative overheads.

6 A Multi-tier Architecture Database (Oracle, MySQL, etc.) Database (Oracle, MySQL, etc.) Database Access Layer Database Access Layer –Tomcat: servlet management engine –JDBC: Database connection –Database Connection pool management Caching and proxy layer: Squid Caching and proxy layer: Squid –widely used, highly configurable, caching proxy server Client Client –Client API provides simple interface packaged in a compact client library

7 FroNtier Overview CDF Persistent Object Templates (Java) FroNtier components in yellow Client Caching FroNtier Server Database FroNtier Client API Library Squid Proxy/Caching Server FroNtier Servlet running under Tomcat Database (or other persistency service) XML Server Descriptors DDL for Table Descriptions C++ Header and Stubs JDBC HTTP

8 FroNtier Servlet Design 1.Client sends request (URI) 2.Command Parser translates URI into commands + values 3.Servicer Factory gets XSD (XML Server Description) from database and 4.Instantiate a Servicer 5.Servicer queries database and 6.Results sent for encoding 7.Encoder marshals (serializes) the data to requestor client Database CommandParser ServicerFactoryServicer Encoder Client

9 FroNtier XML Server Descriptor Object name and version information Object name and version information Response description Response description The SQL mapping to the database The SQL mapping to the database –Select statement –From statement –Where clause –Special modifiers (order by, etc) calib_run, calib_version, data_status CalibRunLists cid

10 FroNtier use of Squid Cache Squid (v 2.5STABLEn) – Open source Squid (v 2.5STABLEn) – Open source –Well documented, widespread operational experience –Easily installed and maintained –Highly configurable for access control, disk cache tuning, distributed cache peer relationships,… –Monitoring built in through SNMP-2 interface Refreshing the cache (3 options) Refreshing the cache (3 options) –Driven by servlet: expiration time sent in HTTP header –Driven by client: forced object refresh through request –Delete each Squid’s cache files and rebuild the cache However, the objects being delivered are generally not changing, so a static cache matches the requirements. However, the objects being delivered are generally not changing, so a static cache matches the requirements.

11 FroNtier client API features C and C++ interfaces C and C++ interfaces Portable Portable –32 and 64 bit systems tested Transparent object access Transparent object access –Type conversion detection –Preserves data integrity Multi-object requests Multi-object requests Easy runtime configuration Easy runtime configuration Extensive error reporting Extensive error reporting –Adjustable logs FroNtier Service User application FroNtier API

General Deployment Overview General Deployment Overview Dedicated Squid Node Tomcat Node 1 Tomcat Node N Tomcat Node 2 CAF 1 Processor Farm Database Dedicated Squid Node CAF N Processor Farm Dedicated Squid Node CAF 2 Processor Farm Squid Node N Squid Node 2 Cache Layer local to each CAF Gbit ethernit Intermediate Cache Layer DB Access Layer Squid Node 1 Load Balancing and Failover Launchpad WAN

13 FroNtier Testing at FNAL/SDSC (San Diego Super Computing Center) 0.1 MB/s 100 MB/s 5 MB/s FNAL Launchpad SDSC Squid SDCS CAF CDF Oracle No Caching Caching at FNAL Launchpad Caching local to SDSC

14 Client Side: FNAL/SDSC No Caching Caching at SDSC Squid 1000 Sec 1 Sec

15 Support Plan The launchpad hardware configuration has been designed to be stable, redundant, and reliable. It should not be a major support load. The launchpad hardware configuration has been designed to be stable, redundant, and reliable. It should not be a major support load. The software on the launchpad (Tomcat + Squid) has been reliable in our testing. Maintained by CDF database support personnel. The software on the launchpad (Tomcat + Squid) has been reliable in our testing. Maintained by CDF database support personnel. Squid at remote sites is the responsibility of the remote admin people. FroNtier team will help set up and configure as needed. Squid at remote sites is the responsibility of the remote admin people. FroNtier team will help set up and configure as needed. A monitoring system is in place using SNMP (for squid) and Log file mining (Tomcat and Squid) to assure the system is performing as expected. A monitoring system is in place using SNMP (for squid) and Log file mining (Tomcat and Squid) to assure the system is performing as expected.

16 FroNtier Status and Plans CDF Production ready CDF Production ready –Client library is included in CDF production code –Production executables built and tested with FroNtier. –Widespread use will begin as new releases are built Plan to extend the use in CDF beyond calibration data to trigger and other static data needed offline. Plan to extend the use in CDF beyond calibration data to trigger and other static data needed offline. Exploring a prototype of a FroNtier “plug-in” for POOL (LCG). Some interest in CMS to use a web-based approach for DB access. Exploring a prototype of a FroNtier “plug-in” for POOL (LCG). Some interest in CMS to use a web-based approach for DB access.

17 Summary FroNtier is a multi-tier architecture providing clients high throughput, low latency, scalable access to a persistent store, such as a database. FroNtier is a multi-tier architecture providing clients high throughput, low latency, scalable access to a persistent store, such as a database. The CDF DB access framework has been adapted to use the FroNtier approach. Extensive testing was performed to confirm the integrity, performance, and reliability of the system. The CDF DB access framework has been adapted to use the FroNtier approach. Extensive testing was performed to confirm the integrity, performance, and reliability of the system. We are in the process of executing a deployment plan and will soon have real-world production experience with the system. We are in the process of executing a deployment plan and will soon have real-world production experience with the system.

18 References FroNtier Talks: FroNtier Talks: – FroNtier working page: FroNtier working page: –