INFSO-RI-031688 Enabling Grids for E-sciencE www.eu-egee.org Pan Compiler C. Loomis (LAL-Orsay) Quattor Workshop (Madrid) 29-30 October 2007.

Slides:



Advertisements
Similar presentations
Why not just use Arrays? Java ArrayLists.
Advertisements

Geoff Quigley, Stephen Childs and Brian Coghlan Trinity College Dublin
11-Jun-14 The assert statement. 2 About the assert statement The purpose of the assert statement is to give you a way to catch program errors early The.
AIAA Model exchange standard review requests/instructions.
Unit Testing & Defensive Programming. F-22 Raptor Fighter.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Release Process Maria Alandes Pradillo.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
“is a”  Define a new class DerivedClass which extends BaseClass class BaseClass { // class contents } class DerivedClass : BaseClass { // class.
EGEE is a project funded by the European Union under contract IST Quattor Installation of Grid Software C. Loomis (LAL-Orsay) GDB (CERN) Sept.
1 Programming Languages Tevfik Koşar Lecture - II January 19 th, 2006.
CERN IT Department CH-1211 Genève 23 Switzerland t Experience with Windows Vista at CERN Rafal Otto Internet Services Group IT Department.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio CERN.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks LHCOPN Ops WG Act 4 – Conclusion Guillaume.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Control Structures. Important Semantic Difference In all of these loops we are going to discuss, the braces are ALWAYS REQUIRED. Even if your loop/block.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks General relationships with EGEE JRA1 SA3.
Progress with migration to SVN Part3: How to work with g4svn and geant4tags tools. Geant4.
Using Procedures & Functions Oracle Database PL/SQL 10g Programming Chapter 9.
E FFECTIVE C# 50 Specific Ways to Improve Your C# Second Edition Bill Wagner محمد حسین سلطانی.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks C. Loomis (CNRS/LAL) M.-E. Bégin (SixSq.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Stephen Childs Trinity College Dublin &
Pan Tutorial: A Whirlwind Tour of the Pan Language C. Loomis (CNRS/LAL) 11 th Quattor Workshop (CERN) March 2011.
EGEE is a project funded by the European Union under contract IST JRA1-SA1 requirement gathering Maite Barroso JRA1 Integration and Testing.
5-Jun-16 Getting Ready for Java. 2 What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
Recap form last time How to do for loops map, filter, reduce Next up: dictionaries.
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Usage of virtualization in gLite certification Andreas Unterkircher.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Stuart Kenny and Stephen Childs Trinity.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Stephen Childs Trinity College Dublin &
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
29-Nov-15 Getting Ready for Java. 2 What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made.
QWG Errata Management Framework Ian Collier 10 th Quattor Workshop Rutherford Appleton Laboratory October 2010.
Intermediate 2 Computing Unit 2 - Software Development.
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Tools and techniques for managing virtual machine images Andreas.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
EGEE-II INFSO-RI Enabling Grids for E-sciencE YAIM Overview MiMOS Grid tutorial HungChe, ASGC OPS Team.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Progress report from University of Cyprus.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Programming with the DRMAA OGF Standard.
CDB Namespaces, “service templates” and profile structure Véronique Lefébure June the 13 th 2008 ELFms Brainstorming meeting.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks GSI with OpenSSL Vincenzo Ciaschini EGEE-3.
INFSO-RI ETICS Local Setup Experiences A Case Study for Installation at Customers Location 4th. All Hands MeetingUwe Müller-Wilm VEGA Bologna, Nov.
1 Update at RAL and in the Quattor community Ian Collier - RAL Tier1 HEPiX FAll 2010, Cornell.
INFSO-RI Enabling Grids for E-sciencE gLite Certification and Deployment Process Markus Schulz, SA1, CERN EGEE 1 st EU Review 9-11/02/2005.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Patch Preparation SA3 All Hands Meeting.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks MSA3.4.1 “The process document” Oliver Keeble.
Generic Programming and Library Design Brian Bartman
20 October 2005 LCG Generator Services monthly meeting, CERN Validation of GENSER & News on GENSER Alexander Toropin LCG Generator Services monthly meeting.
EGEE-III INFSO-RI Enabling Grids for E-sciencE JRA1 and SA3 All Hands Meeting December 2009, CERN, Geneva Product Teams –
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Stephen Childs Trinity College Dublin &
EMI is partially funded by the European Commission under Grant Agreement RI EMI SA2 Report Andres ABAD RODRIGUEZ, CERN SA2.4, Task Leader EMI AHM,
Generating ADL Descriptions ADL Module for Together 6.x Massimo Marino Lawrence Berkeley National Laboratory.
INFSO-RI Enabling Grids for E-sciencE Software Process Author: Laurence Field (CERN) Presented by David Smith JRA1 All Hands meeting,
INFSO-RI Enabling Grids for E-sciencE Quattor Workshop Summary C. Loomis (LAL-Orsay) GDB Meeting (Rome) April 5, 2006.
SCDB Update Michel Jouvin LAL, Orsay March 17, 2010 Quattor Workshop, Thessaloniki.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Towards an Information System Product Team.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
Maria Alandes Pradillo, CERN Training on GLUE 2 information validation EGI Technical Forum September 2013.
AII v2 Ronald Starink Luis Fernando Muñoz Mejías
Logger, Assert and Invariants
WP4-install status update
Spring Cleaning the Software Repositories Matthias Schröder
IM-pack: Software Installation Using Disk Images
Quattor Advanced Tutorial, LAL
Bugs & Debugging - Testing
Focus of the Course Object-Oriented Software Development
Discussing an OVS/OVN Split
Getting Ready for Java version Apr-19.
Presentation transcript:

INFSO-RI Enabling Grids for E-sciencE Pan Compiler C. Loomis (LAL-Orsay) Quattor Workshop (Madrid) October 2007

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Contents Current Status Planned Language Changes Performance Proposed Feature Changes Roadmap Discussion

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Links Pan Documentation –Language ( –Compiler ( Packages & Installation – –QWG template distribution –Quattor distribution –ETICS repository Development –Roadmap ( –Bugs (

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Current Status Version 6 (deprecated) –Old, c implementation of compiler –Frozen; no bug fixes or feature enhancements –Used by default for CDB Version 7 (production, current = 7.2.6) –First, production java implementation of compiler –Bug fixes being applied; (very) limited feature enhancements –Almost 100% backward-compatible with Version 6 –Used by default for SCDB Version 8 (development, trunk) –Incompatible language-level changes compared to Version 6 –Expect to have production version ready before Christmas

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Performance Slow compilation of (CERN-like) profiles is the issue that has kept the java-implementation from being universally adopted. To investigate: –Added rudimentary profiling to v7.2 branch. –Developed set of performance tests. Test configuration: –Pan compilers: v6.0.4, v7.2.5, and v7.2.6 –Machine: Xeon (64bit), 2.3 GHz, 8 (2x4) cores, 16 GB RAM –OS: SL4, kernel –Java: JDK , -Xmx8192M

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Generic Performance Tests v6.0.4 (c)v7.2.5 (java)v7.2.6 (java) mono multimonomulti assign cond-assign include cond-include delete f-noargs f-1arg var-self-ref Time in milliseconds (ms) to complete tests. Smaller number is faster compilation.

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Performance for CERN Profiles v6.0.4 (c)v7.2.5 (java)v7.2.6 (java) mono multimonomulti cern-mono (100) cern cern cern Time in milliseconds (ms) to complete tests. Smaller number is faster compilation. Memory use around 2 GB for 920 profile test with java version.

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Performance Time in milliseconds (ms) to complete tests. Smaller number is faster compilation.

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Planned Changes enhancementsdeprecatedunsupported v7 foreach stmt. ‘bind’ statement bit & misc. functions optional gzipped profiles rudimentary logging ‘define’ keyword ‘description’ keyword ‘descro’ keyword ‘delete’ stmt. v8 ‘format’ function primitive type conflict err. i18n support perf. and include logging auto. var. for tpl. name ‘final’ for structure tpls. simple DML optim. ‘copy-on-write’ optim. lowercase auto. vars. ‘type’ synonym for ‘bind’ ‘define’ keyword ‘description’ keyword ‘descro’ keyword ‘delete’ stmt. v9 include my/tpl;lowercase auto. vars. ‘type’ synonym for ‘bind’ v10 include my/tpl; v11 include DML w/o braces Purpose of language changes is to simplify the pan grammar and speed-up the compilation; other changes, to enhance functionality.

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Cast Operator I have thought of introducing a cast operator into pan. However, it would be more of a replacement for the to_string(), etc. functions. Something like: variable x = (string) 3; However this does indeed cause several complications. The easiest to resolve is just the changes to the grammar. Although these changes would be extensive, I think that they could be done. A more serious complication is a semantic one. What would the following mean? variable x = (mytype) list('a','b'); Would casting be allowed for user-defined types, and if so, does this imply validation at the point of the cast? This would be useful to find errors as early as possible in the build process. In the end though, I think the complications outweigh any benefit at this point. We might bring this back for a release beyond v10.

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Forced Assignment What you're actually asking for though is not really a cast operator but something more like a forced assignment. Something like: variable x = 47; variable x := list(foo); that will do the equivalent of: variable x = 47; variable x = undef; variable x = list(foo); and hence avoids the check on the primitive types when an assignment is made. I must say I have mixed feelings about this because I think this check more often than not catches real mistakes. But as you say, it would be useful when dealing with the QWG distribution.

Pan Compiler – C. Loomis – October 2007 Enabling Grids for E-sciencE INFSO-RI Roadmap Discussion Compiler features –Are the planned features for each release OK? –Are there new features that aren’t in plan? Adopting new panc releases –Who will verify that panc v7+ works with CDB? –On what timescale can we drop panc v6 support? –What time interval between major panc releases?