Creating a simplified global unique file catalogue Miguel Martinez Pedreira Pablo Saiz.

Slides:



Advertisements
Similar presentations
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 8 – File Structures.
Advertisements

Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Peoplesoft Fundamentals David Lewis 10/18/02 (adapted from Psoft Training Materials)
IASSIST Conference 2006 – Ann Arbor, May Metadata as report and support A case for distinguishing expected from fielded metadata Reto Hadorn S I.
Designing for Performance Announcement: The 3-rd class test is coming up soon. Open book. It will cover the chapter on Design Theory of Relational Databases.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
The Design and Implementation of a Log-Structured File System Presented by Carl Yao.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
CLEO’s User Centric Data Access System Christopher D. Jones Cornell University.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
XP New Perspectives on Microsoft Office Access 2003 Tutorial 12 1 Microsoft Office Access 2003 Tutorial 12 – Managing and Securing a Database.
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES P. Saiz (IT-ES) AliEn job agents.
BigTable and Accumulo CMSC 461 Michael Wilson. BigTable  This was Google’s original distributed data concept  Key value store  Meant to be scaled up.
File Systems CSCI What is a file? A file is information that is stored on disks or other external media.
IT253: Computer Organization
A Brief Documentation.  Provides basic information about connection, server, and client.
DATABASE What exactly is a database How do databases work? What's the difference between a spreadsheet database and a "real" database?
Introduction to Database Systems1. 2 Basic Definitions Mini-world Some part of the real world about which data is stored in a database. Data Known facts.
INFO1408 Database Design Concepts Week 15: Introduction to Database Management Systems.
+ AliEn status report Miguel Martinez Pedreira. + APIs dcache issue having lfn-like pfns root://srm.ndgf.org:1094//alice/cern.ch/user/a/alitrain/PWGJE/Jets_PbPb_2011/104_
This document gives one example of how one might be able to “fix” a meteorological file, if one finds that there may be problems with the file. There are.
Linux+ Guide to Linux Certification, Third Edition
1 Andrea Sciabà CERN Critical Services and Monitoring - CMS Andrea Sciabà WLCG Service Reliability Workshop 26 – 30 November, 2007.
ICOM 5016 – Introduction to Database Systems Lecture 13- File Structures Dr. Bienvenido Vélez Electrical and Computer Engineering Department Slides by.
Andrew McNab - Dynamic Accounts - 2 July 2002 Dynamic Accounts in TB1.3 What we could do with what we’ve got now... Andrew McNab, University of Manchester.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES L. Betev, A. Grigoras, C. Grigoras, P. Saiz, S. Schreiner AliEn.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES P. Saiz The future of AliEn.
+ AliEn status report Miguel Martinez Pedreira. + Touching the APIs Bug found, not sending site info from ROOT to central side was causing the sites to.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES The AliEn File Catalogue Jamboree on Evolution of WLCG Data &
GNU EPrints 2 Overview Christopher Gutteridge 19 th October 2002 CERN. Geneva, Switzerland.
SQL IMPLEMENTATION & ADMINISTRATION Indexing & Views.
3rd July 2007Open Repository, Open Source 1 Where we were, What we've learnt, And what it means to you.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES A. Abramyan, S. Bagnasco, L. Betev, D. Goyal, A. Grigoras, C.
Linux and File Systems What is a file system?.
Networking Objectives Understand what the following policies will contain – Disaster recovery – Backup – Archiving – Acceptable use – failover.
Disk Cache Main memory buffer contains most recently accessed disk sectors Cache is organized by blocks, block size = sector’s A hash table is used to.
Federating Data in the ALICE Experiment
Partitioning & Creating Hardware Tablespaces for Performance
Module 11: File Structure
Chapter 14: System Protection
Mechanism: Address Translation
ALICE FAIR Meeting KVI, 2010 Kilian Schwarz GSI.
Single Sample Registration
New backend for the AliEn File Catalogue
Chapter 11: File System Implementation
Process Creation Processes get created (and destroyed) all the time in a typical computer Some by explicit user command Some by invocation from other running.
B+-Trees.
Chapter 5 Conclusion CIS 61.
Software Documentation
B+-Trees.
B+-Trees.
Alejandro Álvarez on behalf of the FTS team
Modularity and Memory Clearly, programs must have access to memory
Chapter 11: File System Implementation
Data Lifecycle Review and Outlook
-A File System for Lots of Tiny Files
Normalization Referential Integrity
Chapter 11: File System Implementation
File System B. Ramamurthy B.Ramamurthy 11/27/2018.
Microsoft Office Access 2003
Printed on Monday, December 31, 2018 at 2:03 PM.
Files Management – The interfacing
Chapter 14: Protection.
CSE 451 Fall 2003 Section 11/20/2003.
ICOM 5016 – Introduction to Database Systems
Chapter 11: File System Implementation
Mechanism: Address Translation
Chapter 5 File Systems -Compiled for MCA, PU
B+-trees In practice, B-trees are not used much as defined earlier.
Presentation transcript:

Creating a simplified global unique file catalogue Miguel Martinez Pedreira Pablo Saiz

Motivations  Reaching memory limits in the actual catalogue database machine(s)  Catalogue is now ~700 Gigabytes  Some tables are too large (in G#L and L#L)  e.g. G132L – 55 GB, tried to split  Conversion old-catalogue to new-catalogue takes too long  Between 15 and 20 hours  Stuck on some of these large tables  Several mysql configurations (threads, memory, pools...)  Tried on alientest03 and alientest07  Helped to find things that shouldn’t be there  In search of better performance 2

Motivations  Tendency points to even bigger increase 3

Previous status  Catalogue implementing several-host database  In order to separate the database into different machines  Never used in practice: users and data in the same host  Hosts Index  No referential integrity 4

Current status (production)  Only references between G#L_REF and G#L_PFN with G#L, and them with SE  Found some entries that shouldn’t be there  e.g. PFNs with GUIDs that don’t exist  some unused or temporary tables (old functionalities, L#L without _s)  ~250L tables (x3)  ~100 G tables (x4) 5

Improvements  Complete referential integrity: FKs all around  consistent database  InnoDB tables  row level locking  using ids (instead of text fields) for referencing  normalized data, surrogated keys  Cleaning tables, renaming fields  Fixing some keys  Lead to v2-20 version (currently in PANDA) 6

7 Link to documentation! x 100 x 250

How to improve  New (Pablo’s) idea: Filesystem catalogue  No database, instead the catalogue is a UNIX-like filesystem  Using metadata files to keep the necessary information  aggregating this information was quite similar to having the DB itself...  Tried/discussed about different available filesystems  dealing with inodes, file limits, performance...  Performance was measured  unfortunately, it was too slow  What else? -> guidless catalogue 8

GUIDs  GUID = Global Unique IDentifier  First decided to have GUIDs, because it was expected that LFNs would change the name very often, and GUIDs were something static  They give flexibility and functionalities  Very nice for mirroring  Permissions per LFN and per GUID  e.g. for having reduced permissions on links  Being used for the quotas too  BUT: not really used in practice, and adds quite a lot of complexity compared to the benefits 9 LFN GUID PFN

Deleting GUIDs  We plan to use the LFN combined with the timestamp to maintain its uniqueness  So you can differ between them when they are deleted and a new LFN with the same name is registered  File naming for storage in SEs was based on GUIDs  now is LFN+timestamp: more human-readable  Simplicity  240GB directly gone (~35% DB) 10

Links  At this moment we have the ‘special’ PFN ‘guid://’ for handling links  A link is a LFN pointing to other LFN  Using GUIDs is more flexible (- consistent)  Our design implies pointing inside the same index: but is the use case in production (job outputs and archives).  This change helps us to get rid of 65% of the PFN entries-> 65% of 160GB = 100GB  Slightly different from UNIX symlinks, AliEn links point to part of an archive, not the full file 11

12 linkId Link to documentation! x 100 x 250

Expectations  GUIDs gone, LFNs stay the same, PFN significantly reduced  if there was consistency, GUIDs should be below LFNs  35% PFNs (350000) should be similar to the number of stored files in SEs (310000) 13

Expectations  We get rid of ~50% of the catalogue in terms of size (240GB from GUIDs + 100GB from links)  Performance based on all the changes expected to really increase  We’ve had good experience with the TaskQueue  Looks like simple changes from a high-level view  but it involves a lot of effort to check and adapt the code  GUIDs everywhere   Found old, miss working, improvable code  When?  May-Jun all tests working (AliEn test set)  ALICE_TEST prepared in July to ‘really’ test 14

Testing  Desired a production-like environment  Not only for the new catalogue, but any change in AliEn  Going back to ALICE_TEST  Already had first stages of trains and standard jobs running  We want to synchronize the test catalogue with the production one  And to execute production jobs  We know is not that easy and beautiful (e.g. API)  Aiming to have newer versions of AliEn in production  In a ‘safe’ way  Test cases are very hard to cover 15

To sum up  File Catalogue is getting unmaintainable  Is a critical part in AliEn  Some improvements implemented, we need more  Moving to a GUIDless catalogue  Planning to have production-like testing  and newer versions easier 16