Scan System Parallelization

Size: px
Start display at page:

Download "Scan System Parallelization"

Transcription

1 Scan System Parallelization Recent Scan System Additions Kay Kasemir, Oct. 2015

2 n Sample n Neutron Detector n Events Data Collection Nexus File Position, Temperature,.. Experiment Control IOCs Histogram Service Channel Access User Display CS-Studio 2

3 n Sample n Neutron Detector n Events Data Collection Nexus File Position, Temperature,.. Experiment Control IOCs Histogram Service Channel Access Scan Server User Display CS-Studio 3

4 Basic Set Command Set("some_pv", 3.14) Optionally Await completion (put-callback) Check readback to match written value (same or other pv).. With numeric tolarance Timeout Set("some_pv", 3.14, completion=true, readback="some_pv.rbv", tolerance=0.02, timeout=30) 4 Managed by UT-Battelle

5 Other Commands Loop( pv, 1, 10, 0.1) Wait( pv1, 100) Wait( pv2, 100, comparison= increase by ) Get-callback for initial value, then monitors Log pv1, pv2, pv2 Get-callback for current value, to RDB Invoke MyScript Jython-based custom commands 5 Managed by UT-Battelle

6 Python API 6 Managed by UT-Battelle

7 Site-Specific Settings class BeamlineScanSettings(ScanSettings): def init (self): self.definedeviceclass("chopper:.*", completion=true) self.definedeviceclass("motor.*", completion=true, readback=true) def getreadbackname(self, device_name): if "motor" in device_name: return device_name + ".RBV return device_name Set( x, 42) Set( x, 42 ) Set( motor_x, 42) Set( motor_x, 42, completion=true, readback= motor_x.rbv) 7 Managed by UT-Battelle

8 Table Scan 8 Managed by UT-Battelle

9 Table Scan Load/save *.csv, *.xls 9 Managed by UT-Battelle

10 Parallel Command 10 Managed by UT-Battelle

11 Sequence Command Build parallel command chains Define Meta commands Table scan can use these before/after Wait For 11 Managed by UT-Battelle

12 Scripted Scan 12 Managed by UT-Battelle

13 GUI for Routine Beam Line Task 13 Managed by UT-Battelle

14 Under the hood Scan Server 14 Managed by UT-Battelle

15 Crystal Planner 15 Managed by UT-Battelle

16 Alignment Scan 16 Managed by UT-Battelle

17 Summary Scan System helps automate SNS since 2013 New Parallel & Sequence commands Python API Pure Python instead of Jython Site-specific settings Thanks to Qui Yongxiang, Guobao Shen, Dylan Maxwell Biggest Issue: Can t use numpy (Fortran) inside Script command (Jython) 17 Managed by UT-Battelle

18 18 Managed by UT-Battelle

19 What it is and isn t Is Automation via Channel Access Scan = Batch of commands Queue multiple scans Basic value logging Submit, monitor, pause, resume, abort Isn t Synchronization of actions beyond Channel Access Data Acquisition (log every event, catalog, keep forever) 19 Managed by UT-Battelle *.. depends on your definition of is

20 Like Sequencer? Yes: Read/write Channel Access No compilation Monitor & control progress of scan Basic data log Schedule multiple scans No arbitrary C code No if-then-else command 20 Managed by UT-Battelle

21 Like Scan Record? Loop y=1..10: Loop x=1..5: Set det_trigger =1 with completion, Log x.rbv, y.rbv, det_counts Monitor, pause, resume, abort. Save, edit, resubmit scans vs. save/restore scan records. Add 3 rd loop without rebooting IOC to add 3 rd scan record Queue multiple scans Logs to RDB w/ REST readout. No MDA/XDR/Nexus. 21 Managed by UT-Battelle

22 Direction of (Nested) Loops Loop( x, 0, 5, 1) 0, 1, 2, 3, 4, 5 Loop( y, 5, 0, -1) 5, 4, 3, 2, 1, 0 Loop( y, 0, 5, -1) Alternate direction on mismatch 22 Managed by UT-Battelle

23 REST Interface 23 Managed by UT-Battelle

24 Scan Editor Add commands Open, save Set parameters 24 Managed by UT-Battelle

25 Scan Monitor 25 Managed by UT-Battelle

26 Scan Plot Plot variables logged by scan Get data from Running or Finished scans 26 Managed by UT-Battelle

Control System Studio - Introduction

Control System Studio - Introduction Control System Studio - Introduction Kay Kasemir ORNL/SNS kasemirk@ornl.gov 2012, April at SLAC Managed by UT-Battelle What is CSS? a) To End Users: Integrated control system user interface b) To Developers:

More information

XAL Status Report Spring, 2008

XAL Status Report Spring, 2008 Spring, 2008 Thomas Pelaia II EPICS Meeting March 14, 2008 What is XAL? Development environment for creating accelerator physics applications, scripts and services Control room applications Analysis applications

More information

The SNS Science Portal: Web-Based Visualization, Analysis and Simulation

The SNS Science Portal: Web-Based Visualization, Analysis and Simulation The SNS Science Portal: Web-Based Visualization, Analysis and Simulation James Jeeembo Kohl Computer Science and Mathematics Oak Ridge National Laboratory DANSE Meeting Tuesday, January 23, 2007 This research

More information

Multithreading and Interactive Programs

Multithreading and Interactive Programs Multithreading and Interactive Programs CS160: User Interfaces John Canny. Last time Model-View-Controller Break up a component into Model of the data supporting the App View determining the look of the

More information

Uniformity scan of the 6cm tubes. Jingbo Wang Argonne National Laboratory, Lemont, IL

Uniformity scan of the 6cm tubes. Jingbo Wang Argonne National Laboratory, Lemont, IL Uniformity scan of the 6cm tubes Jingbo Wang Argonne National Laboratory, Lemont, IL wjingbo@anl.gov Update of the test system Realized the computer control for the multi-channel HV supply, the 2D translation

More information

BOY, A Modern Graphical Operator Interface Editor and Runtime

BOY, A Modern Graphical Operator Interface Editor and Runtime BOY, A Modern Graphical Operator Interface Editor and Runtime Xihui Chen, Kay Kasemir chenx1@ornl.gov PAC 11 What is BOY? 2 Managed by UT-Battelle What is BOY? BOY (Best OPI, Yet) An Operator Interface

More information

CS-Studio Display Builder

CS-Studio Display Builder CS-Studio Display Builder Tutorial presented: Spring 2017 EPICS Collaboration Meeting at KURRI, Osaka, Japan Megan Grodowitz, Kay Kasemir (kasemir@ornl.gov) Overview Display Builder replaces OPI Builder

More information

1 BROOKHAVEN SCIENCE ASSOCIATES

1 BROOKHAVEN SCIENCE ASSOCIATES EPICS V4 Expands Support to Physics Application, Data Acquisition, and Data Analysis L. Dalesio, Gabriele Carcassi, Martin Richard Kraimer, Nikolay Malitsky, Guobao Shen, Michael Davidsaver, BNL, Upton,

More information

Questions from last time

Questions from last time Questions from last time Pthreads vs regular thread? Pthreads are POSIX-standard threads (1995). There exist earlier and newer standards (C++11). Pthread is probably most common. Pthread API: about a 100

More information

AALib::Framework concepts

AALib::Framework concepts AALib::Framework concepts Asynchronous Action Library AALib PyAALib JyAALib Tutorial and Techniques by R. A. Pieritz Asynchronous Asynchrony, in the general meaning, is the state of not being synchronized.

More information

R&S QuickStep Test Executive Software Flexibility and excellent performance

R&S QuickStep Test Executive Software Flexibility and excellent performance Product Brochure Version 05.00 R&S QuickStep Test Executive Software Flexibility and excellent performance QuickStep_bro_en_3607-2249-12_v0500.indd 1 21.12.2017 16:45:09 R&S QuickStep Test Executive Software

More information

Getting along and working together. Fortran-Python Interoperability Jacob Wilkins

Getting along and working together. Fortran-Python Interoperability Jacob Wilkins Getting along and working together Fortran-Python Interoperability Jacob Wilkins Fortran AND Python working together? Fortran-Python May 2017 2/19 Two very different philosophies Two very different code-styles

More information

Conditionals & Control Flow

Conditionals & Control Flow CS 1110: Introduction to Computing Using Python Lecture 8 Conditionals & Control Flow [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements: Assignment 1 Due tonight at 11:59pm. Suggested early

More information

Fault Tolerance. Goals: transparent: mask (i.e., completely recover from) all failures, or predictable: exhibit a well defined failure behavior

Fault Tolerance. Goals: transparent: mask (i.e., completely recover from) all failures, or predictable: exhibit a well defined failure behavior Fault Tolerance Causes of failure: process failure machine failure network failure Goals: transparent: mask (i.e., completely recover from) all failures, or predictable: exhibit a well defined failure

More information

HPS Slow Controls: Performance and Future. N. Baltzell HPS Collaboration Meeting November 16, 2016

HPS Slow Controls: Performance and Future. N. Baltzell HPS Collaboration Meeting November 16, 2016 HPS Slow Controls: Performance and Future N. Baltzell HPS Collaboration Meeting November 16, 2016 1 HPS Controls Framework EPICS R3.14.12.5 Mostly softiocs (RHEL7) A few VME crates (vxworks) beamline motors/scalers

More information

Introduction to Python. Didzis Gosko

Introduction to Python. Didzis Gosko Introduction to Python Didzis Gosko Scripting language From Wikipedia: A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment

More information

Overview of Embedded Systems in Medical Applications

Overview of Embedded Systems in Medical Applications of Embedded Systems in Medical Applications 1 Embedded Systems Simplistic definition Embedded System Shorthand for Embedded Processor System Embed microprocessor + fixed program in non-computer system

More information

Java Threads. COMP 585 Noteset #2 1

Java Threads. COMP 585 Noteset #2 1 Java Threads The topic of threads overlaps the boundary between software development and operation systems. Words like process, task, and thread may mean different things depending on the author and the

More information

Enhancement of Real Time EPICS IOC PV Management for Data Archiving System. Jae-Ha Kim

Enhancement of Real Time EPICS IOC PV Management for Data Archiving System. Jae-Ha Kim Enhancement of Real Time EPICS IOC PV Management for Data Archiving System Jae-Ha Kim Korea Multi-purpose Accelerator Complex, Korea Atomic Energy Research Institute, Gyeongju, Korea For operating a 100MeV

More information

Operating Systems CS3502 Spring 2018

Operating Systems CS3502 Spring 2018 Operating Systems CS3502 Spring 2018 Presented by Dr. Guoliang Liu Department of Computer Science College of Computing and Software Engineering Kennesaw State University Computer Systems See Appendix G

More information

CSCE Introduction to Computer Systems Spring 2019

CSCE Introduction to Computer Systems Spring 2019 CSCE 313-200 Introduction to Computer Systems Spring 2019 Processes Dmitri Loguinov Texas A&M University January 24, 2019 1 Chapter 3: Roadmap 3.1 What is a process? 3.2 Process states 3.3 Process description

More information

Argos Version 3.1 Release Guide, Version 1.0 Last Updated 04/04/2008 TABLE OF CONTENTS. Introduction MAP Server Updates... 4

Argos Version 3.1 Release Guide, Version 1.0 Last Updated 04/04/2008 TABLE OF CONTENTS. Introduction MAP Server Updates... 4 Argos Version 3.1 Release Guide Document version 1.0 TABLE OF CONTENTS Introduction... 3 MAP Server Updates... 4 Thread Lock Fix... 4 Individual Processes for Each Scheduled Report... 4 Automatic Termination

More information

An introduction to checkpointing. for scientifc applications

An introduction to checkpointing. for scientifc applications damien.francois@uclouvain.be UCL/CISM An introduction to checkpointing for scientifc applications November 2016 CISM/CÉCI training session What is checkpointing? Without checkpointing: $./count 1 2 3^C

More information

Fault Tolerance Causes of failure: process failure machine failure network failure Goals: transparent: mask (i.e., completely recover from) all

Fault Tolerance Causes of failure: process failure machine failure network failure Goals: transparent: mask (i.e., completely recover from) all Fault Tolerance Causes of failure: process failure machine failure network failure Goals: transparent: mask (i.e., completely recover from) all failures or predictable: exhibit a well defined failure behavior

More information

Language Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program.

Language Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program. Language Translation Compilation vs. interpretation Compilation diagram Step 1: compile program compiler Compiled program Step 2: run input Compiled program output Language Translation compilation is translation

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part II: Data Center Software Architecture: Topic 3: Programming Models Piccolo: Building Fast, Distributed Programs

More information

Lauetools. A software package for Laue microdiffraction data analysis. https://sourceforge.net/projects/lauetools /

Lauetools. A software package for Laue microdiffraction data analysis. https://sourceforge.net/projects/lauetools / Lauetools A software package for Laue microdiffraction data analysis https://sourceforge.net/projects/lauetools / Motivations Motivations ImageJ LAUE raw data XMAS fit2d Some codes Motivations LAUE raw

More information

Asynchronous I/O: A Case Study in Python

Asynchronous I/O: A Case Study in Python Asynchronous I/O: A Case Study in Python SALEIL BHAT A library for performing await -style asynchronous socket I/O was written in Python. It provides an event loop, as well as a set of asynchronous functions

More information

Lotus IT Hub. Module-1: Python Foundation (Mandatory)

Lotus IT Hub. Module-1: Python Foundation (Mandatory) Module-1: Python Foundation (Mandatory) What is Python and history of Python? Why Python and where to use it? Discussion about Python 2 and Python 3 Set up Python environment for development Demonstration

More information

Eclipse, Java, Scientific Software, Etc.

Eclipse, Java, Scientific Software, Etc. Eclipse, Java, Scientific Software, Etc. Kenneth Evans, Jr. Presented at the European Synchrotron Radiation Facility ESRF May 3, 2007 Grenoble, France Outline Scientific Software and Examples Java Eclipse

More information

Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME

Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME Felix Meyenhofer Technology Development Studio 3. March 2011 4th KNIME Users Group Meeting and Workshop

More information

Essential Import Service

Essential Import Service Essential Import Service Interface Specification Version 2.0 March 2017 Contents Operation of the service Default callback listener Importing Microsoft Excel and CSV documents Operation of the service

More information

Tango for Experiment Control

Tango for Experiment Control Tango for Experiment Control What is Tango Scanning and Sequencing Diffractometers 2D Detectors Data Analysis Workbench PCaPAC2012 - Tango for Experiment Control 2 What is Tango PCaPAC2012 - Tango for

More information

Using an RDB in an EPICS Control System

Using an RDB in an EPICS Control System Ralph Lange (BESSY) Outline of this Talk Configuring an EPICS based control system Concepts of RDB use: prescriptive and descriptive approach Experiences with two prescriptive RDB designs at BESSY IRMIS

More information

Python in the Copernicus Climate Change Service

Python in the Copernicus Climate Change Service Python in the Copernicus Service Gionata Biavati C D S : A n e w w a y o f s e r v i n g d a t a Copernicus Services (C3S) (https://climate.copernicus.eu) is providing the Data Store (CDS) (https://cds.climate.copernicus.eu)

More information

JS Event Loop, Promises, Async Await etc. Slava Kim

JS Event Loop, Promises, Async Await etc. Slava Kim JS Event Loop, Promises, Async Await etc Slava Kim Synchronous Happens consecutively, one after another Asynchronous Happens later at some point in time Parallelism vs Concurrency What are those????

More information

Python review. 1 Python basics. References. CS 234 Naomi Nishimura

Python review. 1 Python basics. References. CS 234 Naomi Nishimura Python review CS 234 Naomi Nishimura The sections below indicate Python material, the degree to which it will be used in the course, and various resources you can use to review the material. You are not

More information

Scientific Computing Using. Atriya Sen

Scientific Computing Using. Atriya Sen Scientific Computing Using Atriya Sen Broad Outline Part I, in which I discuss several aspects of the Python programming language Part II, in which I talk about some Python modules for scientific computing

More information

LabVIEW Academy. 12. óra event, property node

LabVIEW Academy. 12. óra event, property node LabVIEW Academy 12. óra event, property node Event-Driven Programming Events Definition Event-Driven Programming Definition Polling Versus Event Structures Parts of an Event Structure Configuring the Event

More information

Notices. Restricted Rights Legend. Keysight Technologies Incorporated, Fountaingrove Pkwy., Santa Rosa, CA , United States

Notices. Restricted Rights Legend. Keysight Technologies Incorporated, Fountaingrove Pkwy., Santa Rosa, CA , United States Scripting MBP 2017 Notices Keysight Technologies Incorporated, 2002-2017 1400 Fountaingrove Pkwy., Santa Rosa, CA 95403-1738, United States All rights reserved. No part of this documentation may be reproduced

More information

Multithreading and Interactive Programs

Multithreading and Interactive Programs Multithreading and Interactive Programs CS160: User Interfaces John Canny. This time Multithreading for interactivity need and risks Some design patterns for multithreaded programs Debugging multithreaded

More information

ELEC 377 Operating Systems. Week 1 Class 2

ELEC 377 Operating Systems. Week 1 Class 2 Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.

More information

Distributed Control Systems at SSRL Constraints for Software Development Strategies. Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory

Distributed Control Systems at SSRL Constraints for Software Development Strategies. Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory Distributed Control Systems at SSRL Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory Overview Computing Environment at our Beam Lines Need

More information

DiskBoss DATA MANAGEMENT

DiskBoss DATA MANAGEMENT DiskBoss DATA MANAGEMENT Disk Change Monitor Version 9.3 May 2018 www.diskboss.com info@flexense.com 1 1 Product Overview DiskBoss is an automated, policy-based data management solution allowing one to

More information

cience Studio Remote Control of the VESPERS Beamline using Science Studio

cience Studio Remote Control of the VESPERS Beamline using Science Studio cience Studio Remote Control of the VESPERS Beamline using Science Studio October 7, 2010 What is Science Studio? Science Studio is a web portal, and framework, that provides scientists with a platform

More information

Building your First Image Processing ASIC

Building your First Image Processing ASIC Building your First Image Processing ASIC CS250 Laboratory 2 (Version 092312) Written by Rimas Avizienis (2012) Overview The goal of this assignment is to give you some experience implementing an image

More information

Python ORBIT in a Nutshell

Python ORBIT in a Nutshell Python ORBIT in a Nutshell Jeff Holmes Oak Ridge National Laboratory Spallation Neutron Source Space Charge MiniWorkshp CERN May 20, 2014 Managed by UT-Battelle Python ORBIT (py-orbit) py-orbit is a collection

More information

DiskBoss DATA MANAGEMENT

DiskBoss DATA MANAGEMENT DiskBoss DATA MANAGEMENT File Integrity Monitor Version 9.3 May 2018 www.diskboss.com info@flexense.com 1 1 Product Overview DiskBoss is an automated, policy-based data management solution allowing one

More information

Processes and Threads. Processes and Threads. Processes (2) Processes (1)

Processes and Threads. Processes and Threads. Processes (2) Processes (1) Processes and Threads (Topic 2-1) 2 홍성수 Processes and Threads Question: What is a process and why is it useful? Why? With many things happening at once in a system, need some way of separating them all

More information

Geomagic Leica Tracker Plug-In 1.0 User s Manual

Geomagic Leica Tracker Plug-In 1.0 User s Manual Geomagic Leica Tracker Plug-In 1.0 User s Manual Document version 1.0.1 Overview The Geomagic Leica Tracker Plug-In supports the Leica AT901 Laser Tracker in Geomagic Qualify, Geomagic Qualify Probe, Geomagic

More information

You are going to learn how to make a timer, so that you can use it to challenge your friends!

You are going to learn how to make a timer, so that you can use it to challenge your friends! Against the Clock Introduction You are going to learn how to make a timer, so that you can use it to challenge your friends! Instructions: If you re reading this online, press A+B on the micro:bit below

More information

NOWHERE. Targeted for Personal (Web) agents Supports Knowledge Level (KL) Agents. a Knowledge-Level API Agent Programming Infrastructure 1 06/09/06

NOWHERE. Targeted for Personal (Web) agents Supports Knowledge Level (KL) Agents. a Knowledge-Level API Agent Programming Infrastructure 1 06/09/06 NOWHERE a Knowledge-Level API Agent Programming Infrastructure Targeted for Personal (Web) agents Supports Knowledge Level (KL) Agents 1 06/09/06 KL Agent Properties The programmer does not have to manage

More information

An introduction to checkpointing. for scientific applications

An introduction to checkpointing. for scientific applications damien.francois@uclouvain.be UCL/CISM - FNRS/CÉCI An introduction to checkpointing for scientific applications November 2013 CISM/CÉCI training session What is checkpointing? Without checkpointing: $./count

More information

POWERFUL APPLICATIONS USING PYTHON IN ENSIGHT. Aric Meyer CEI Japan Users Meeting

POWERFUL APPLICATIONS USING PYTHON IN ENSIGHT. Aric Meyer CEI Japan Users Meeting POWERFUL APPLICATIONS USING PYTHON IN ENSIGHT Aric Meyer CEI Japan Users Meeting 2012-10-26 Outline 1. Overview of Python and EnSight 2. Detailed Introduction to 2 Tools 3. Quick Introduction to 6 Tools

More information

SCADA system & HMI Programming. Pre-request: Have good knowledge with PLC Basic. Plot all variables and store the values

SCADA system & HMI Programming. Pre-request: Have good knowledge with PLC Basic. Plot all variables and store the values SCADA system & HMI Programming Pre-request: Have good knowledge with PLC Basic Course duration: 40 Hours On completing this course you will be able to: Understand how SCADA system work How to make GUI

More information

SOFA 2 RUNTIME SUPPORT FOR DYNAMIC LANGUAGES Jaroslav Keznikl

SOFA 2 RUNTIME SUPPORT FOR DYNAMIC LANGUAGES Jaroslav Keznikl SOFA 2 RUNTIME SUPPORT FOR DYNAMIC LANGUAGES Jaroslav Keznikl 1. Why should you be interested? Overview of the current SOFA 2 controllers Cool features for easy component development 2. What I m expecting

More information

Overview of TANGO Control system

Overview of TANGO Control system http://www.tangocontrols.org/ Overview of TANGO Control system EUROPEAN SYNCHROTRON RADIATION FACILITY June 2010 JM Chaize, ESRF/CERN control workshop 1 A simple acquisition system For simple system Many

More information

CS123. Programming Your Personal Robot. Part 2: Event Driven Behavior

CS123. Programming Your Personal Robot. Part 2: Event Driven Behavior CS123 Programming Your Personal Robot Part 2: Event Driven Behavior You Survived! Smooth Sailing Topics 2.1 Event Driven Programming Programming Paradigms and Paradigm Shift Event Driven Programming Concept

More information

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department 0901212 Python Programming 1 st Semester 2014/2015 Course Catalog This course introduces

More information

Test management and load testing with Salomé-TMF and CLIF is a Load Injection

Test management and load testing with Salomé-TMF and CLIF is a Load Injection Test management and load testing with Salomé-TMF and CLIF is a Load Injection Bruno Dillenseger Orange Labs OW2 Tech Day, May 15th 2008 Montbonnot (Grenoble), France Salomé Test management Framework Marche

More information

JOB SCHEDULING CHECKLIST

JOB SCHEDULING CHECKLIST JOB SCHEDULING CHECKLIST MVP Systems Software / Phone: 1-800-261-5267 / Web: www.jamsscheduler.com 1 Using these Criteria The following is a detailed list of evaluation criteria that you can use to benchmark

More information

SOFTWARE MAINTENANCE AND EVOLUTION --- REFACTORING FOR ASYNC --- CS563 WEEK 3 - THU

SOFTWARE MAINTENANCE AND EVOLUTION --- REFACTORING FOR ASYNC --- CS563 WEEK 3 - THU SOFTWARE MAINTENANCE AND EVOLUTION --- REFACTORING FOR ASYNC --- CS563 WEEK 3 - THU Danny Dig Course Objectives: Project Practice a research or novel-industrial project through all its stages: - formulate

More information

Asynchronous Programming Under the Hood. Week 6

Asynchronous Programming Under the Hood. Week 6 Asynchronous Programming Under the Hood Week 6 How to Implement Event Dispatchers Recall: Record registered callbacks in a data structure (easy) Wait for an event to happen (easy) Call the callbacks when

More information

ARTIFICIAL INTELLIGENCE AND PYTHON

ARTIFICIAL INTELLIGENCE AND PYTHON ARTIFICIAL INTELLIGENCE AND PYTHON DAY 1 STANLEY LIANG, LASSONDE SCHOOL OF ENGINEERING, YORK UNIVERSITY WHAT IS PYTHON An interpreted high-level programming language for general-purpose programming. Python

More information

Beyond Hive Pig and Python

Beyond Hive Pig and Python Beyond Hive Pig and Python What is Pig? Pig performs a series of transformations to data relations based on Pig Latin statements Relations are loaded using schema on read semantics to project table structure

More information

Epics Applications using PyEpics

Epics Applications using PyEpics Epics Applications using PyEpics Release 1.0 Matthew Newville April 25, 2012 CONTENTS 1 AreaDetector Display 3 2 Step Scan 5 3 Strip Chart 7 4 Epics Instruments 9 5 Sample Stage 11 6 Motor Setup 13 7

More information

INF 212 ANALYSIS OF PROG. LANGS FUNCTION COMPOSITION. Instructors: Crista Lopes Copyright Instructors.

INF 212 ANALYSIS OF PROG. LANGS FUNCTION COMPOSITION. Instructors: Crista Lopes Copyright Instructors. INF 212 ANALYSIS OF PROG. LANGS FUNCTION COMPOSITION Instructors: Crista Lopes Copyright Instructors. Topics Recursion Higher-order functions Continuation-Passing Style Monads (take 1) Identity Monad Maybe

More information

Asynchronous Programming

Asynchronous Programming Asynchronous Programming Turn-in Instructions A main file, called gui.py See previous slides for how to make it main I ll run it from the command line Put in a ZIP file, along with any additional needed

More information

CamJam EduKit Robotics Worksheet Four Driving & Turning camjam.me/edukit

CamJam EduKit Robotics Worksheet Four Driving & Turning camjam.me/edukit - Driving and Turning Project Description Driving and Turning You will learn how to make your robot move in the direction you want it to. Equipment Required For this worksheet, you will require: Your robot

More information

Parallel Python: Multiprocessing With ArcPy. Clinton Dow Geoprocessing Neeraj Rajasekar Spatial Analyst

Parallel Python: Multiprocessing With ArcPy. Clinton Dow Geoprocessing Neeraj Rajasekar Spatial Analyst Parallel Python: Multiprocessing With ArcPy Clinton Dow Geoprocessing Neeraj Rajasekar Spatial Analyst Agenda What Multiprocessing Is What Multiprocessing Is Not Demo of Multiprocessing Modules - Multiprocessing

More information

Acquiring and Processing NREL Wind Prospector Data. Steven Wallace, Old Saw Consulting, 27 Sep 2016

Acquiring and Processing NREL Wind Prospector Data. Steven Wallace, Old Saw Consulting, 27 Sep 2016 Acquiring and Processing NREL Wind Prospector Data Steven Wallace, Old Saw Consulting, 27 Sep 2016 NREL Wind Prospector Interactive web page for viewing and querying wind data Over 40,000 sites in the

More information

Day 15: Science Code in Python

Day 15: Science Code in Python Day 15: Science Code in Python 1 Turn In Homework 2 Homework Review 3 Science Code in Python? 4 Custom Code vs. Off-the-Shelf Trade-offs Costs (your time vs. your $$$) Your time (coding vs. learning) Control

More information

5-In switch case statement, every case should have a statement as the last statement A- Jump B- Break C- Exit D- Both a and b

5-In switch case statement, every case should have a statement as the last statement A- Jump B- Break C- Exit D- Both a and b Q1) choose the correct answer: 1-High level languages like C, Fortran are also known as --------------- A- Procedural languages B- Object oriented language C- Form based language D- Both a and b 2- One

More information

AutoTx. (and more ) Smart automatic background data transfer for Windows. Niko Ehrenfeuchter - Imaging Core Facility - University of Basel

AutoTx. (and more ) Smart automatic background data transfer for Windows. Niko Ehrenfeuchter - Imaging Core Facility - University of Basel AutoTx (and more ) Smart automatic background data transfer for Windows AutoTx Smart automatic background data transfer for Windows Windows Service based on.net 4.5 Targets an ActiveDirectory environment

More information

Building the GUI ILOG Views GUI Builder

Building the GUI ILOG Views GUI Builder Building the GUI ILOG Views GUI Builder Overview The GUI Builder Generating Classes 2-1 Overview ILOG Views Controls encompasses:, a powerful GUI builder An application programming interface (API) with

More information

Python Scripting for Computational Science

Python Scripting for Computational Science Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures 43 Springer Table of Contents 1 Introduction... 1 1.1 Scripting versus Traditional Programming... 1 1.1.1

More information

Version 3 Updated: 10 March Distributed Oceanographic Match-up Service (DOMS) User Interface Design

Version 3 Updated: 10 March Distributed Oceanographic Match-up Service (DOMS) User Interface Design Distributed Oceanographic Match-up Service (DOMS) User Interface Design Shawn R. Smith 1, Jocelyn Elya 1, Adam Stallard 1, Thomas Huang 2, Vardis Tsontos 2, Benjamin Holt 2, Steven Worley 3, Zaihua Ji

More information

Introduction to Asynchronous Programming Fall 2014

Introduction to Asynchronous Programming Fall 2014 CS168 Computer Networks Fonseca Introduction to Asynchronous Programming Fall 2014 Contents 1 Introduction 1 2 The Models 1 3 The Motivation 3 4 Event-Driven Programming 4 5 select() to the rescue 5 1

More information

Application Server Release 2015

Application Server Release 2015 Application Server Release 2015 Disclaimer This document is provided as-is. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice.

More information

Chapter 4: Programming with MATLAB

Chapter 4: Programming with MATLAB Chapter 4: Programming with MATLAB Topics Covered: Programming Overview Relational Operators and Logical Variables Logical Operators and Functions Conditional Statements For Loops While Loops Debugging

More information

Inside core.async Channels. Rich Hickey

Inside core.async Channels. Rich Hickey Inside core.async s Rich Hickey Warning! Implementation details Subject to change The Problems Single channel implementation For use from both dedicated threads and go threads simultaneously, on same channel

More information

CS415 Compilers. Procedure Abstractions. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

CS415 Compilers. Procedure Abstractions. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University CS415 Compilers Procedure Abstractions These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University Where are we? Well understood Engineering Source Code

More information

KB_SQL 2018 (Version 6.1) Release Notes 04 December KBS eservice Center ( 3. KBS.NET Download Agent...

KB_SQL 2018 (Version 6.1) Release Notes 04 December KBS eservice Center (  3. KBS.NET Download Agent... Table of Contents KBS eservice Center (http://www.kbsreporting.com/support)... 3 KBS.NET Download Agent... 4 KB_SQL ADO.NET Data Provider... 5 KB_SQL JDBC Driver... 6 KB_SQL ODBC Driver... 7 2963 - Bug:

More information

A More Realistic Way of Stressing the End-to-end I/O System

A More Realistic Way of Stressing the End-to-end I/O System A More Realistic Way of Stressing the End-to-end I/O System Verónica G. Vergara Larrea Sarp Oral Dustin Leverman Hai Ah Nam Feiyi Wang James Simmons CUG 2015 April 29, 2015 Chicago, IL ORNL is managed

More information

PYTHON CONTENT NOTE: Almost every task is explained with an example

PYTHON CONTENT NOTE: Almost every task is explained with an example PYTHON CONTENT NOTE: Almost every task is explained with an example Introduction: 1. What is a script and program? 2. Difference between scripting and programming languages? 3. What is Python? 4. Characteristics

More information

Python Programming, bridging course 2011

Python Programming, bridging course 2011 Python Programming, bridging course 2011 About the course Few lectures Focus on programming practice Slides on the homepage No course book. Using online resources instead. Online Python resources http://www.python.org/

More information

MuSR Graphical User Interface: deltat Reference Manual

MuSR Graphical User Interface: deltat Reference Manual MuSR Graphical User Interface: deltat Reference Manual 1.0 Generated by Doxygen 1.4.6-NO Wed May 10 10:53:04 2006 Contents 1 deltat Manual 1 2 MuSR Graphical User Interface: deltat Page Documentation

More information

PYTHON FOR USER INTERFACES AT SIRIUS

PYTHON FOR USER INTERFACES AT SIRIUS doi:10.18429/jacow-icalepcs2017- Abstract PYTHON FOR USER INTERFACES AT SIRIUS Sirius is the new Brazilian Synchrotron and will be finished in 2018. Based on experiences at LNLS UVX light source along

More information

Toward real-time data query systems in HEP

Toward real-time data query systems in HEP Toward real-time data query systems in HEP Jim Pivarski Princeton University DIANA August 22, 2017 1 / 39 The dream... LHC experiments centrally manage data from readout to Analysis Object Datasets (AODs),

More information

ECE 2400 / ENGRD 2140 Computer Systems Programming Course Overview

ECE 2400 / ENGRD 2140 Computer Systems Programming Course Overview ECE 2400 / ENGRD 2140 Computer Systems Programming Course Overview Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece2400 What is

More information

TotalView. Debugging Tool Presentation. Josip Jakić

TotalView. Debugging Tool Presentation. Josip Jakić TotalView Debugging Tool Presentation Josip Jakić josipjakic@ipb.ac.rs Agenda Introduction Getting started with TotalView Primary windows Basic functions Further functions Debugging parallel programs Topics

More information

Lecture 8. Conditionals & Control Flow

Lecture 8. Conditionals & Control Flow Lecture 8 Conditionals & Control Flow Announcements For This Lecture Readings Sections 5.1-5.7 today Chapter 4 for Tuesday Assignment 2 Posted Today Written assignment Do while revising A1 Assignment 1

More information

DISTRIBUTED MEMORY IN A HETEROGENEOUS NETWORK, AS USED IN THE CERN. PS-COMPLEX TIMING SYSTEM

DISTRIBUTED MEMORY IN A HETEROGENEOUS NETWORK, AS USED IN THE CERN. PS-COMPLEX TIMING SYSTEM 1 DISTRIBUTED MEMORY IN A HETEROGENEOUS NETWORK, AS USED IN THE CERN. PS-COMPLEX TIMING SYSTEM ABSTRACT V. Kovaltsov 1, J. Lewis PS Division, CERN, CH-1211 Geneva 23, Switzerland The Distributed Table

More information

Epics Applications using PyEpics

Epics Applications using PyEpics Epics Applications using PyEpics Release 1.0 Matthew Newville March 23, 2012 CONTENTS 1 AreaDetector Display 3 2 Strip Chart 5 3 Epics Instruments 7 4 Sample Stage 9 5 Motor Setup 11 6 Ion Chamber 13

More information

Python where we can, C ++ where we must

Python where we can, C ++ where we must Python where we can, C ++ where we must Source: http://xkcd.com/353/ Guy K. Kloss Python where we can,c++ where we must 1/28 Python where we can, C ++ where we must Guy K. Kloss BarCamp Auckland 2007 15

More information

Concurrency User Guide

Concurrency User Guide Concurrency User Guide Release 1.0 Dylan Hackers January 26, 2019 CONTENTS 1 Basic Abstractions 3 1.1 Executors................................................. 3 1.2 Queues..................................................

More information

Sardana & Taurus status

Sardana & Taurus status Sardana & Taurus status by: Carlos Pascual-Izarra & Zbigniew Reszela (on behalf of the Sardana Community) 1 Docs http://sardana-controls.org http://taurus-scada.org Taurus Taurus Widgets Widgets CLI CLI

More information

CS 112: Intro to Comp Prog

CS 112: Intro to Comp Prog CS 112: Intro to Comp Prog Importing modules Branching Loops Program Planning Arithmetic Program Lab Assignment #2 Upcoming Assignment #1 Solution CODE: # lab1.py # Student Name: John Noname # Assignment:

More information

Lecture 13: Expression Evaluation

Lecture 13: Expression Evaluation The University of North Carolina at Chapel Hill Spring 2002 Lecture 13: Expression Evaluation Feb 8 1 Control Flow Control flow refers to the order in which a program executes This is fundamental in the

More information

Python Scripting for Computational Science

Python Scripting for Computational Science Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures Sprin ger Table of Contents 1 Introduction 1 1.1 Scripting versus Traditional Programming 1 1.1.1 Why Scripting

More information