VA Smalltalk Update. 24 th ESUG Conference Prague, Czech Republic August 23, John O Keefe Chief Technical Officer Instantiations, Inc.

Similar documents
VA Smalltalk Update. 10 th Smalltalks Conference Tucuman, Argentina November 9-11, John O Keefe Chief Technical Officer Instantiations, Inc.

VA Smalltalk Update. John O Keefe Chief Technical Officer Instantiations, Inc. Copyright 2014 Instantiations, Inc.

VA Smalltalk Update. John O Keefe Chief Technical Officer Instantiations, Inc. Copyright 2014 Instantiations, Inc.

VA Smalltalk Update. John O Keefe Principal Smalltalk Architect Instantiations, Inc. Copyright 2011, Instantiations, Inc.

VA Smalltalk Update. John O Keefe Chief Technical Officer Instantiations, Inc. Copyright 2012 Instantiations, Inc.

VA Smalltalk Update. John O Keefe Chief Technical Officer Instantiations, Inc. Copyright 2012 Instantiations, Inc.

VA Smalltalk Update. John O Keefe Chief Technical Officer Instantiations, Inc. Copyright 2013 Instantiations, Inc.

VA Smalltalk Update. John O Keefe Principal Smalltalk Architect Instantiations, Inc. Copyright, Instantiations, Inc.

VA Smalltalk Update. John O Keefe Principal Smalltalk Architect Instantiations, Inc. Copyright, Instantiations, Inc.

23 rd ESUG Conference Brescia, Italy July 13-17, Dino2

Open World Forum 2013

Security with VA Smalltalk

VA Smalltalk 9: Exploring the next-gen LLVM-based virtual machine

HTTP/2 Out Of The Box

Chapter 2. Operating-System Structures

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

WindowBuilder Graduation & Release Review

Vembu NetworkBackup v3.1.3 GA - Release Notes

Chapter 3: Operating-System Structures

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

E-BOOK // ORACLE VIRTUALBOX PART LIST ARCHIVE

Introduction. Key Features and Benefits

Introduction to Genero Enterprise

Reboot adieu! Online Linux kernel patching. Udo Seidel

s390 zlinux at Citi Presented by Doctor P. Robinson June 5, 2013 Hillgang Citi Managing zlinux in a Heterogenous Enterprise

Chapter 2: Operating-System Structures

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Oracle 10g and IPv6 IPv6 Summit 11 December 2003

FAQ FOR VMWARE SERVER 2 - AUGUST, 2008

Buckminster. Helios Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

Using and Developing with Azure. Joshua Drew

Object vs Image-based Testing Producing Automated GUI Tests to Withstand Change

Last class: OS and Architecture. OS and Computer Architecture

Last class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components

A Tour to Spur for Non-VM Experts. Guille Polito, Christophe Demarey ESUG 2016, 22/08, Praha

LLVM Summer School, Paris 2017

Database code in PL-SQL PL-SQL was used for the database code. It is ready to use on any Oracle platform, running under Linux, Windows or Solaris.

Mono State of the Union. FOSDEM 2012 Miguel de Icaza

Virtual Machines and Dynamic Translation: Implementing ISAs in Software

University co-operation with Maemo SW FRUCT seminar Tampere Nokia V1-Filename.ppt / YYYY-MM-DD / Initials

Operating System Services

Embedded M2M Software Testing

Advanced Object-Oriented Programming Introduction to OOP and Java

Managing Change at the Speed of Business

Parallels Virtuozzo Containers

Compiling Techniques

GNU Radio Technical Update

Lessons learned running an RPKI service

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Jenkins in the Enterprise Building resilient CI infrastructure

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

irods for Data Management and Archiving UGM 2018 Masilamani Subramanyam

Build your own Cloud on Christof Westhues

MariaDB: Community Driven SQL Server. Kristian Nielsen MariaDB developer Monty Program AB

Transforming The Code: More Than Meets The Eye

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 3: Operating-System Structures

Create quick link URLs for a candidate merge Turn off external ID links in candidate profiles... 4

Chapter 2: Operating-System Structures

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

Fundamentals and Essentials Curriculum Update

Goals for this lecture. Lecture 4 Getting Started with ITK! Getting help. Assignments. Assignments, cont. Grading of assignments

Operating Systems CS3502 Spring 2018

14-Nov-11. Chapter 5: System Software: Operating Systems and Utility Programs. Learning Objectives. Learning Objectives. Overview

Buckminster. Ganymede Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

The Operating System

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Session 4112 BW NLS Data Archiving: Keeping BW in Tip-Top Shape for SAP HANA. Sandy Speizer, PSEG SAP Principal Architect

Getting Started with Phalcon

EasyMorph Server Administrator Guide

AD105 Introduction to Application Development for the IBM Workplace Managed Client

CNT 4603, Spring 2009: Introduction

State of the Linux Kernel

At a high level, the current OPNFV CI pipeline can be summarized as follows:

Project Horizon Technical Overview. Steven Forman Principal Technical Consultant

Parallels Remote Application Server 15 Beta Beta Guide

Project Horizon Technical Overview. Bob Rullo GM; Presentation Architecture

OpenStack Architecture and Pattern Deployment with Heat. OpenStack Architecture and Pattern Deployment using Heat Ruediger Schulze

Understanding the Open Source Development Model. » The Linux Foundation. November 2011

Chapter 2 Operating-System Structures

Basic Concepts & OS History

Steel Belted Radius. Release Notes SBR 6.24 Build 1. Release, Build Published Document Version Build 1 May,

G-WAN. Complete install process for Ubuntu (both for the 32 and the 64 OS versions).

Operating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy

Certkiller.P questions

Features Four popular platforms, same quality and ease of use

PI Vision: Real-time monitoring and Analysis for the Enterprise

Eclipse Foundation, Inc. Copyright 2005 by Intel, IBM, Scapa Technologies and others and made available under the EPL v1.0 1

Comparison of SSL/TLS libraries based on Algorithms/languages supported, Platform, Protocols and Performance. By Akshay Thorat

Mingw-w64 and Win-builds.org - Building for Windows

What's new in IBM Rational Build Forge Version 7.1

Tcl/Tk Status, July 2018

SALOME Maintenance Procedure. Frédéric Pons (Open Cascade) Roman Nikolaev (Open Cascade)

Using Intel VTune Amplifier XE and Inspector XE in.net environment

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Data Center 3.0: Transforming the Data Center via the Network

Introduction to Java Programming

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Embedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics

GRR Rapid Response. An exercise in failing to replace yourself with a small script.

Transcription:

24 th ESUG Conference Prague, Czech Republic August 23, 2016 VA Smalltalk Update John O Keefe Chief Technical Officer Instantiations, Inc.

Agenda Company Update Current Release Content Next Release Candidates Q&A

Company Updates VAST remains strong - new technology and users Intense new technology development Upcoming product release New 32/64-bit VM Community Outreach Conference/workshop sponsors and participants ESUG, FAST Smalltalks Sponsoring Marquette Camp Smalltalk September 15 18, 2016 Hosting North Carolina Camp Smalltalk Spring 2017

2015-2016 Engineering Focus Enhanced Cryptography Support TCP IPv6 Support Fast Reliable Headless Installation Build System Re-engineering New 32/64-bit VM

New Release V8.6.3 available Q4 2016!

V8.6.3 Content Base Class Libraries Zip/Unzip support Inflate/deflate convenience APIs added OSLong class added Simplifies handing of 64-bit data and pointers Transparent resizing on 32/64 bit systems Transparent platform adaptation

V8.6.3 Contents Communications Enhancements IPv6 support All layers enabled SocketCommunicationsInterface Server Smalltalk (SST) Parts UI handles IPv4 and IPv6 addressing syntax.ini file preference controls addressing behavior IPv4 is default

V8.6.3 Contents Seaside and Grease Small currency updates Adapted to IPv6

V8.6.3 Contents Cryptography OpenSSL 1.1 Compatibility Lots of new algorithms available Continue to support/enhance 1.0.x Compatibility layer to handle API breakage OpenSSL 1.1 is a significant overhaul Good amount of API breakage from 1.0.x We have handled that internally No code changes required for the user to move up

V8.6.3 Contents Cryptography Cont Secure Memory Support Windows User can request bytes that are encrypted in-memory Auto-decrypt-encrypt during OpenSSL native calls Uses Microsoft Crypto API UNIX/Linux Secure Arena Page-guarded on either side Pinned to RAM (won t swap to disk) Won t show up in a core-dump

V8.6.3 Contents SQLite Update SQLite to 3.14.0 Transparent performance improvements

V8.6.3 Contents Environments Management Tool New popup menu on Environments list pane provides new actions: Open a file explorer on the VA Smalltalk installation folder associated with the selected Environment Open a command (terminal) window on the selected Environment s folder Open a command (terminal) window on the VA Smalltalk installation folder associated with the selected Environment Duplicate the selected Environment Setup and use standardized images Take checkpoint of development activity

V8.6.3 Contents Installers All UNIX installers are headless.rpm (Fedora RedHat derivatives).deb (Debian derivaties).pkg (Solaris) Windows installer can be scripted Supports standard installation across multiple machines

V8.6.3 Content New Supported Platforms Ubuntu 16.04 Fedora 24 RedHat Enterprise Linux 6

Reengineered Build System Old Image Build and Installation Build All custom Smalltalk code Dates to mid-90 s with relatively small changes since Not the best code quality Builds were slow with significant manual intervention Windows and UNIX builds were sequential Difficult to restart if problem occurred Installation artifacts were unmanaged

Reengineered Build System Old Image Build and Installation Build All custom Smalltalk code Dates to mid-90 s with relatively small changes since Not the best code quality Builds were slow with significant manual intervention Windows and UNIX builds were sequential Difficult to restart if problem occurred Installation artifacts were unmanaged New Image Build and Installation Build Cmake-based system used to script build Can restart at any job step Duplicate and redundant processing removed Still uses Smalltalk function where appropriate Driven using abt.cnf scripting Fully-automated nightly builds (if changes occurred) Installable artifacts will be managed in Git repository

Reengineered Build System (cont) Old Installation Smalltalk packaged image Difficult to maintain Slow install File-by-file copying File attributes in separate shadow file New Installation Standard installers Windows MSI UNIX RPM/DEB/PKG Documentation in separate packages Smaller download packages FAST install

Reengineered Build System (cont) Old Build Testing Only VM Build testing was automated New Build Testing Automated build testing using CMake/CTest Install Verification Tests VM Tests Image Tests All platforms can be tested in parallel Currently over 10,000 mainline testcases (and growing) Additional non-automated testcases for features

Looking to the Future

Future Releases Release schedule is about once a year Depends on volume of content Current content information in Product Roadmap http://www.instantiations.com/products/roadmap.html Content based on requirements from: Surveys Direct customer interactions Forums Support cases Internals

Web interface Seaside 3.x Continuation support Middleware Postgres Next Release Candidate Items NOSql (Voyage/MongoDB or???)

Next Release Candidate Items GUI Look-and-Feel Common Widgets Application Window framework Useful for SUnit, Seaside, etc. Windows Common Controls TreeView improvements GTK to replace Motif on UNIX platforms Communications HTTP/2 0MQ Server Easy to use server farm support

Next Release Candidate Items Development Tools Improved code library access over WAN Revamped Changes Browser New Code Merge Engine Performance and Scalability Incremental garbage collection 64-bit Smalltalk

Dino2 32/64 Bit VM Project Overview Project Goals 64-bit VMs for x86, PowerPC and SPARC 32-bit VMs with performance at least as good as production Improve build systems and testing infrastructure Production VM Review Proprietary Smalltalk Model (generates assembly) VM Interpreter/JIT/Primitives is generated assembly Supporting Modules written in C @135,000 lines of ASM @50,000 lines of C

Dino2 32/64 Bit VM Project Current Status Build/Compiler Infrastructure CMake-Based Build System GCC, MinGW and MSVC compilers 32/64-bit Virtual Machine Running on Windows and Linux Current Focus: Interpreter Performance 32/64-bit Smalltalk Image 32-bit -> 64-bit Image Translation Complete Core Smalltalk Image and many libraries are 64-bit prepped Current Focus: Continued 64-bit library prep

Dino2 32/64 Bit VM Project The Journey Forward Raptor 1 st Generation C-Interpreter Slow but 64-bit Clean 80% bytecode speed (32-bit) 50% message send speed (32-bit) Primitive call machinery slow Smalltalk process switching slow Primitive implementation often faster than production Allowed us to move forward with Image work @90,000 lines of C code

Dino2 32/64 Bit VM Project The Journey Forward Indominus-Rex 2 nd Generation C-Interpreter Faster C-Implementation 85% bytecode speed (32-bit) 75% message send speed (32-bit) Primitive implementation often faster than production Stable - good reference implementation for new platforms Small changes to large interpreter loop resulted in unpredictable behavior Register allocator having a difficult time Constant fight with the compiler @85,000 lines of C Code

Dino2 32/64 Bit VM Project The Journey Forward Coelo LLVM Code-Generated Interpreter Compiler toolkit SSA Abstract Assembly Representation Still down one register on X86 compared to production VM Can t use hardware-stack register (ESP) Superior Code-Gen makes up for it 100% bytecode speed (32-bit) 110% message send speed (32-bit) At least 20% performance jump in primitives For many prims (Floats) the production VM used call-outs to C These are described directly in LLVM Speedups are more like 4-6x @19,000 of C++ Code (Interpreter Code-Gen) @75,000 of C Code

Dino2 32/64 Bit VM Project Customer Involvement Early Customer Access Program (ECAP) Kicked off our ECAP program in July, 2016 Select customer involvement Opportunity for feedback and collaboration

How Do You Get VA Smalltalk? Download evaluation copy http://www.instantiations.com/products/vasmalltalk/download.html Buy development licenses http://www.instantiations.com/products/purchase.html Download development build Announced in VA Smalltalk Google Group Be a committer on an Open Source project http://www.instantiations.com/company/open-source.html Work for an educational institution http://www.instantiations.com/products/academic-licenseprogram.html

Contact us General information info@instantiations.com Sales sales@instantiations.com Support Me support@instantiations.com john_okeefe@instantiations.com

Thank you for your attention Questions?