Some Design Notes Iteration - 2 Method - 1 Extractor main program Runs from an external VM Listens for RabbitMQ messages Starts a light database engine.

Slides:



Advertisements
Similar presentations
Executional Architecture
Advertisements

CERN LCG Overview & Scaling challenges David Smith For LCG Deployment Group CERN HEPiX 2003, Vancouver.
Parasol Architecture A mild case of scary asynchronous system stuff.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 16 – Intro. to Transactions.
Batch Production and Monte Carlo + CDB work status Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology
Batch Process Overview. Batch Processes 2 What Do You Mean By Batch Processing? Allows for Mass Entry of Data All Processing of the Data Happens Without.
FTP Using FileZilla CS10001 – Computer Literacy. Step 1: Understanding the Interface Quickconnect Bar Message Log Area Local site navigation (either lab.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Distributed Snapshots –Termination detection Election algorithms –Bully –Ring.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
CS 290C: Formal Models for Web Software Lecture 1: Introduction Instructor: Tevfik Bultan.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Useful Tools for Testing
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
SQL Server Replication By Karthick P.K Technical Lead, Microsoft SQL Server.
INTRODUCTION TO WEB DATABASE PROGRAMMING
PHOTOSWAP Albert Park & Brandon Ochs. What is PhotoSwap?  Social networking platform for iOS  Users share images with each other  Extract sensor data.
The ATLAS Production System. The Architecture ATLAS Production Database Eowyn Lexor Lexor-CondorG Oracle SQL queries Dulcinea NorduGrid Panda OSGLCG The.
 Accessing the NCCS Systems  Setting your Initial System Environment  Moving Data onto the NCCS Systems  Storing Data on the NCCS Systems  Running.
Staying Safe. Files can be added to a computer by:- when users are copying files from a USB stick or CD/DVD - downloading files from the Internet - opening.
Lecture 7 Interaction. Topics Implementing data flows An internet solution Transactions in MySQL 4-tier systems – business rule/presentation separation.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Scoring Program Updates & XML upload to the NSRCA web site July 2013.
SDL Proprietary and Confidential IMS Campaign Manager Intra-day Updates and Response Attribution SDL Campaign Management Solutions.
NMU Voic Welcome to. This presentation will walk you through the setup and use of the NMU Voic system. Follow the step by step instructions.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Bigben Pittsburgh Supercomputing Center J. Ray Scott
WEB API: WHY THEY MATTER ECOL 453/ Nirav Merchant
©Centre for Development of Advanced Computing SSDG Connector s in.Net.
Bonrix SMPP Client. Index Introduction Software and Hardware Requirements Architecture Set Up Installation HTTP API Features Screen-shots.
Operating Systems Recitation 9, May 19-20, Iterative server Handle one connection request at a time. Connection requests stored in queue associated.
CCP4(i) Database Development Wanjuan (Wendy) Yang CCP4 Annual developer’s meeting March 28, 2006 York.
Integrating HPC into the ATLAS Distributed Computing environment Doug Benjamin Duke University.
1 Automatic Processing Pipelines with XNAT and REDCap Vanderbilt University Benjamin Yvernault, Bennett Landman, Brian Boyd,
Marianne BargiottiBK Workshop – CERN - 6/12/ Bookkeeping Meta Data catalogue: present status Marianne Bargiotti CERN.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
Software Sustainability Institute Online reconstruction (Manchego) Status report 09/02/12 Mike Jackson
ODP V2 Data Provider package overview Sergey Sukhonosov National Oceanographic Data Centre, Russia Training course on establishment of the ODP regional.
Student Attendance System Requirement Analysis Presentation.
Design and Implementation of PARK (PARallel Kernel for data fitting) Paul KIENZLE, Wenwu CHEN and Ziwen FU Reflectometry Group.
Nfs or ftp server Server 1 Server 2 ClinCapture web app SAS script SAS REST notification service [SAS RNS] (can be run as standalone app) upload / download.
APST Internals Sathish Vadhiyar. apstd daemon should be started on the local resource Opens a port to listen for apst client requests Runs on the host.
FTP Using FileZilla CS10001 – Computer Literacy. Step 1: Understanding the Interface Quickconnect Bar Message Log Area Local site navigation (either lab.
How to write a MSGQ Transport (MQT) Overview Nov 29, 2005 Todd Mullanix.
ClearQuest XML Server with ClearCase Integration Northwest Rational User’s Group February 22, 2007 Frank Scholz Casey Stewart
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
The Gateway Computational Web Portal Marlon Pierce Indiana University March 15, 2002.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 16 – Intro. to Transactions.
Accounting in DataGrid HLR software demo Andrea Guarise Milano, September 11, 2001.
Manchester Computing Supercomputing, Visualization & eScience Seamless Access to Multiple Datasets Mike AS Jones ● Demo Run-through.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
Galaxy in Production Nate Coraor Galaxy Team Penn State University.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
CCCTran Technical Implementation for IT CCCApply / CCCTran User Workshops March/April, 2008 Skyline and Pasadena Colleges Richard Oberlin IT Project Leader.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Services for Sensitive Research Data Iozzi Maria Francesca, Group Leader & Nihal D. Perera, Senior Engineer Research Support Services Group ”Services for.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Useful Tools for Testing
The Client/Server Database Environment
Work report Xianghu Zhao Nov 11, 2014.
Database Driven Websites
2017, Fall Pusan National University Ki-Joune Li
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
REST APIs Maxwell Furman Department of MIS Fox School of Business
DIBBs Brown Dog BDFiddle
QlikView for use with SAP Netweaver Version 5.8 New Features
Presentation transcript:

Some Design Notes Iteration - 2 Method - 1 Extractor main program Runs from an external VM Listens for RabbitMQ messages Starts a light database engine - SQlite - additional overhead? Creates an HPC job per file and sends ACK Store the job ID and file ID in a database table Asynchronously check for job status and once a job completes with exit 0, send ack for the corresponding file id - Can this be done? Another option is to acknowledge immediately and if the job the fails resend the message - Can this be done? Extractor processing logic Resides in the HPC Is called by the extractor main program Downloads file using Clowder APIs Processes the files and uploads back previews and metadata using APIs Method - 1A All above steps are included Staging in and staging out SFTP the files from main extractor to HPC file system Helps in optimizing HPC time usage Method - 2 An elasticity control script listens to RabbitMQ messages Once the number of messages increase, it creates multiple instances of a special extractor This is more of a manual approach

Start Wait for RabbitMQ message SSH into Login node Run PBS script to submit Job to HPC queue Job Status? Queued / Running Send ACK to RabbitMQ End Failed Process File Use HPC? Yes No pyClowder HPC Flowchart (Iteration 2) Create PBS Script from HPC XML file and Config file Database Store HPC job ID, file ID, and status Read settings from Config file Read settings from Config file Completed with Exit Status 0 Get record Connect to RabbitMQ Message received? Message received? Yes No Upload Preview / Metadata Update records Wait in HPC Queue Job Picked up by HPC? Process File Upload Preview / Metadata Yes No Synchronous steps Asynchronous steps Inside HPC Environment Exit from Login node

Data/Meta data (MongoDB) Extraction Bus (RabbitMQ) Clowder Web Application Web Browser Client Clowder VM Data/Meta data (MongoDB) Main Extractor Extractor VM Job #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): GCN-51 Job #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): GCN-65 Job #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): GCN-40 Clowder APIs HPC Compute Nodes pyClowder HPC XML File HPC XML File pyClowder HPC Architecture Diagram (Iteration 2)

Some Design / Implementation Questions (from JIRA) Iteration - 1 Does the extractor program files need to be copied to the login node through program? If code compilation is needed this might created additional overhead. – Assume that the program is present in the HPC environment in the compiled format Another option is to assume that the extractor will run from within the HPC environment. I.e. the code is already present in the HPC. Is this a safe assumption to make? – Yes What are the exceptions that need to be handled? – Exception in main extractor – Exception in extraction job in HPC – Job aborts due to reasons at HPC side - requested wall-time or memory exceeded – The VM from where the main extractor is running crashes? What is expected out of the user who sets up the HPC extractor? Or what shall be provided by pyClowder and what shall be done by the one who writes the extractor? – Try to make this as generic as possible. Can extractor logic be put in a separate file? Otherwise, how will the HPC machine pick up the job file? – Need to find a workaround. Need to keep the extractor structure unchanged.

Start Get RabbitMQ message Use HPC? SSH into Login node Transfer Extractor Program to Login Node via SFTP Submit Job to HPC queue Job Status? Yes Queued / Running Send ACK to RabbitMQ Completed with Exit Status 0 End Failed Process File No Extraction Successful? Yes No Flowchart (Iteration 1)

Data/Meta data (MongoDB) Extraction Bus (RabbitMQ) Clowder Web Application Web Browser Client Clowder VM Data/Meta data (MongoDB) Main Extractor Extractor VM Job #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): GCN-51 Job #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): GCN-65 Job #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): #!/usr/bin/env python import pika import sys import logging import json import traceback... def main(): GCN-40 Clowder APIs HPC Compute Nodes pyClowder HPC XML File HPC XML File Architecture Diagram (Iteration 1)