Lawrence Livermore National Laboratory Gary Kumfert UCRL-PRES-403107 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA 94551 This work.

Slides:



Advertisements
Similar presentations
PaperCut MF Reseller Resource Material An Introduction to PaperCut MF.
Advertisements

lld The LLVM Linker Friday, April 13, 2012
J-Interop Open Source Java COM Bridge. Contents What is it ? Comparison with Java Native interface Comparison with J-Integra® for COM Benefits of using.
Lecture 3 Getting Started with ITK!. Goals for this lecture Learn how to use Cmake Build ITK Example programs that use ITK.
Design Developing Software on Linux Tim Marriott Mel Nicholson ICCAD 2003.
GNU / Linux A free operating system. Summary History What can you find on a Linux OS Linux Economy.
Operating Systems.
1 CSE 390 Lecture 10 Do anything from anywhere – tools to free your choice of OS slides created by Marty Stepp, modified by Jessica Miller and Ruth Anderson.
How to install CGAL Yuanzhen Wang. What is CGAL Computational Geometry Algorithms Library “Provide easy access to efficient and reliable geometric algorithms.
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Lab 3 Department of Computer Science and Information Engineering National Taiwan University Lab3 - Cross Tools 2014/10/7/ 20 1.
ESB Guidance 2.0 Kevin Gock
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
Developing Mobile Applications using MVVM with Xamarin Forms
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
CCA Port, Component & Application Build Skeleton Templates “A new script toolkit for generating CCA build skeletons” Torsten Wilde and James Kohl Oak Ridge.
Trilinos User Group Meeting Thursday, November 8 th, 2007 Timothy M. Shead (1424) Danny Dunlavy (1415) SAND P Sandia is a multiprogram laboratory.
LLNL-PRES-XXXXXX This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
Enabling the ARM Learning in INDIA ARM DEVELOPMENT TOOL SETUP.
DIFFERENCE BETWEEN ORCAD AND LABVIEW
TRACEREP: GATEWAY FOR SHARING AND COLLECTING TRACES IN HPC SYSTEMS Iván Pérez Enrique Vallejo José Luis Bosque University of Cantabria TraceRep IWSG'15.
C O M P U T E R G R A P H I C S Jie chen Computer graphic -- OpenGL Howto.
CSC 215 : Procedural Programming with C C Compilers.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Mosflm & iMosflm (1) Some numbers... (2) Mosflm (3) iMosflm.
JINRLIB program library Popkova L.B., Sapozhnikov A.P., Sapozhnikova T.F., Fedorova R.N. Joint Institute for Nuclear Research.
Cooperative FVS ! Functional Requirements for a Shared Library Version of FVS, or Calling FVS from R! Nicholas L. Crookston Rocky Mountain Research Station.
Installing CompuCell3D from source Maciej Swat Biocomplexity Institute, Indiana University.
CMake refactoring P. Hristov 19/03/2014. History I  Recursive makefiles (F.Carminati):  Problems in dependencies  Slow  "Recursive Makefiles.
Lawrence Livermore National Laboratory Pianola: A script-based I/O benchmark Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA
ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA This work.
Scott Kohn with Tammy Dahlgren, Tom Epperly, and Gary Kumfert Center for Applied Scientific Computing Lawrence Livermore National Laboratory October 2,
Crossworking using Wine and Cygwin Arjun Jain, R.V. College of Engineering, Bangalore.
LLNL-PRES-?????? This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
PROGRAMMING LANGUAGES FOR WHEN USING QUANT ANALYSIS FOR HIGH FREQUENCY TRADING.
Presentation Name / 1 Visual C++ Builds and External Dependencies NAME.
October 10-11, 2002 Houston, Texas Erik DeBenedictis William McLendon Mike Carifio Sandia is a multiprogram laboratory operated by Sandia Corporation,
Test Specifications A Specification System for Multi-Platform Test Suite Configuration, Build, and Execution Greg Cooksey.
 Programming - the process of creating computer programs.
Linux History C151 Multi-User Operating Systems. Open Source Programming Open source programming: 1983, Richard Stallman started the GNU Project (GNU.
TRANSITIONING FULL TRUST CODE TO CLIENT APIS Architecting SharePoint For The Future Chris Domino December 10, 2015.
Larry Mead TSP - Platform Modernization Microsoft Corporation SESSION CODE: WSV318 John Kelbley Sr. Technical Product Mgr. Microsoft Corporation.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
FUNCTIONAL PROGRAMING AT WORK - HASKELL AND DOMAIN SPECIFIC LANGUAGES Dr. John Peterson Western State Colorado University.
Migration to SL5 James Bellinger University of Wisconsin at Madison 21-Apr
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
 CSC 215 : Procedural Programming with C C Compilers.
Software sales at U Waterloo Successfully moved software sales online Handle purchases from university accounts Integrated with our Active Directory and.
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
CMake: Experience in ALICE P. Hristov 19/06/12. History I Recursive makefiles (F.Carminati): – Problems in dependencies – Slow "Recursive Makefiles.
CMake - Cross-Platform Make R. Douglas Barbieri Made to Order Software Corporation.
CrossOver and Wine Jeremy White CEO, Codeweavers, Inc.
Virtualization for Cloud Computing
CSC 215 : Procedural Programming with C
Build and Test system for FairRoot
Operating System & Application Software
Transitioning VisIt to CMake
IM-pack: Software Installation Using Disk Images
MonoGame and Windows 8.
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Cmake Primer.
System Management in a Windows based Control Environment
TechEd /23/2019 9:23 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Preparation for Assignment 2
Presentation transcript:

Lawrence Livermore National Laboratory Gary Kumfert UCRL-PRES Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 Technical Approaches for Babel to Support Microsoft and Cost/Effort Ramifications

2 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert We don’t have a Science customer demanding Windows. But Industry loses interest without any Windows support.  Their interest is “Blue-Collar Supercomputing” Windows on desktop w/ cluster in back room  Interoperability in pure Windows environ is already met with Microsoft.NET/CLR technology  Interoperability with everything-but-Windows doesn’t solve their problem of interest

3 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Possible Approaches & Types of Cost  Pure Cygwin  Cygwin hosted cross-compile  SUA (fka SFU fka Interix)  Visual Studio  Project Files  CMAKE  nmake  1 time costs (e.g. adding code) augmenting scripts indirection in system layers (pthreads, BSDsockets -> winsock, locks, etc.) filesystem separate build system  sustained costs testing & maintenance separate build system  licensing issues

4 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert About Downsides Pure Cygwin  Sources.redhat.com/cygwin  Linux emulation layer on top of Win32  Supports everything (32 & 64 bits) except WinCE Win95, 98, & Me will be discontinued soon.  Robust package manager 1083 packages src and binaries any version thereof  Can leverage existing build  Can leverage existing code  Sources.redhat.com/cygwin  Linux emulation layer on top of Win32  Supports everything (32 & 64 bits) except WinCE Win95, 98, & Me will be discontinued soon.  Robust package manager 1083 packages src and binaries any version thereof  Can leverage existing build  Can leverage existing code  Speed cygwin1.dll is not lightweight  Licensing issues cygwin.dll is GPL Red Hat exempts other OSI-compliant codes from infection Red Hat sells exemption licenses otherwise  Speed cygwin1.dll is not lightweight  Licensing issues cygwin.dll is GPL Red Hat exempts other OSI-compliant codes from infection Red Hat sells exemption licenses otherwise

5 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert About Downsides Cygwin hosted cross compile MinGW  MinGW.org – Minimalist GNU for Windows  GCC cross compiler  MinGW runtime is public domain  Can leverage existing build  MinGW.org – Minimalist GNU for Windows  GCC cross compiler  MinGW runtime is public domain  Can leverage existing build  Website is under construction  Wedded to GCC-3.4.x? a bit old Fortran 90?  64-bit apps?  Different system API  Website is under construction  Wedded to GCC-3.4.x? a bit old Fortran 90?  64-bit apps?  Different system API

6 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert About SUA (fka SFU fka Interix)  Microsoft purchased technology SUA = Subsystem for UNIX-based Applications SFU = Services For UNIX  Peer to Win32 kernel, not an emulation layer  Crossover technology allows SUA and Win32 to interoperate NEW for Server 2008, Server 2003R2 & Vista  Can leverage existing build  Can leverage existing code  Microsoft purchased technology SUA = Subsystem for UNIX-based Applications SFU = Services For UNIX  Peer to Win32 kernel, not an emulation layer  Crossover technology allows SUA and Win32 to interoperate NEW for Server 2008, Server 2003R2 & Vista  Can leverage existing build  Can leverage existing code

7 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert About Downsides SUA (fka SFU fka Interix)  Microsoft purchased technology SUA = Subsystem for UNIX-based Applications SFU = Services For UNIX  Peer to Win32 kernel, not an emulation layer  Crossover technology allows SUA and Win32 to interoperate NEW for Server 2008, Server 2003R2 & Vista  Can leverage existing build  Can leverage existing code  Microsoft purchased technology SUA = Subsystem for UNIX-based Applications SFU = Services For UNIX  Peer to Win32 kernel, not an emulation layer  Crossover technology allows SUA and Win32 to interoperate NEW for Server 2008, Server 2003R2 & Vista  Can leverage existing build  Can leverage existing code  Package manager is horrible % get no_such_thing getting no_such_thing…done  Vitality of effort is questionable < 200 packages many packages appear stale development is offshored  Could not reproduce progress reported over phone by SUA expert  Package manager is horrible % get no_such_thing getting no_such_thing…done  Vitality of effort is questionable < 200 packages many packages appear stale development is offshored  Could not reproduce progress reported over phone by SUA expert

8 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert About Downsides Visual Studio  Microsoft gives away basic compilers  Vocabulary Product: similar to make targets like libraries or executables Solution: collection of products  Microsoft gives away basic compilers  Vocabulary Product: similar to make targets like libraries or executables Solution: collection of products  Babel’s build has approx 344 libraries 441 driver programs This is BIG by VisualStudio standards  Apparently Microsoft’s own Windows and Office groups don’t use VisualStudio They use scripts and nmake  Parallel build environment to develop & maintain  Babel’s build has approx 344 libraries 441 driver programs This is BIG by VisualStudio standards  Apparently Microsoft’s own Windows and Office groups don’t use VisualStudio They use scripts and nmake  Parallel build environment to develop & maintain

9 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert About Downsides Visual Studio Project Files  XML-based build tool Similar to ANT?  Can be generated by external tools besides Studio  Note: Projects at LLNL taking this dual-build approach do exist.  XML-based build tool Similar to ANT?  Can be generated by external tools besides Studio  Note: Projects at LLNL taking this dual-build approach do exist.  Parallel build environment to develop and maintain.  Requires new code  Parallel build environment to develop and maintain.  Requires new code

10 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert About Downsides CMake  Generates Makefiles, XCODE, MS Project, KDevelop3 or other files for builds.  Replaces all of autotools?  BSD License  Generates Makefiles, XCODE, MS Project, KDevelop3 or other files for builds.  Replaces all of autotools?  BSD License  It isn’t its own build system, just generates input files for native build systems.  Requires complete rewrite of build system  Requires new code  Cannot find examples of reported “easy to use configure-like framework”  It isn’t its own build system, just generates input files for native build systems.  Requires complete rewrite of build system  Requires new code  Cannot find examples of reported “easy to use configure-like framework”

11 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Conclusions – If we had a big chunk of cash and time  CMake Even if it does everything autotools did, we’d still have to rewrite/port/integrate custom assets  59 custom M4 scripts (over 5000 loc total)  679 Makefile.am & fragments (44 files > 100 loc)  154 shell scripts That’s just the build, we’d still have to virtualize all system API differences

12 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Conclusions – If we had a meager but sustained funding  Project Files Probably stay with autotools and assign someone to do a separate build system for Windows VisIt folks do this There’d be no Babel downtime There’s a inherent synchronization problem between two separate builds

13 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Conclusions – If we had any sway with Microsoft  SUA This would provide the lowest cost option Lack of vitality (other than blogs and MS propaganda) make this seem very risky SUA isn’t recognized as critical to Microsoft’s HPC activities (disappointing) SUA is counter to the Microsoft model  Its all about selling the Windows OS  “If you think moving to Windows is hard, try moving off of it.” –anonymous Microsoft employee

14 UCRL-PRES Gary Kumfert, LLNL Lawrence Livermore National Laboratory Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Gary Kumfert Then there are larger design choices  Add a Babel binding for Managed Code?  Should SCL files be converted to Registry?  Cross-platform BabelRMI implementation?  How to export Babel’s build constraints do downstream compilations UNIX: babel-config, babel-libtool, compiler front- ends