The MoDeNa multi-scale simulation software framework
|
|
- Helen Francis
- 5 years ago
- Views:
Transcription
1 The MoDeNa multi-scale simulation software framework Henrik Rusche Wikki Ltd. Jyväskylä, 28/05/2015 p. 1
2 MoDeNa project MOdelling of morphology DEvelopment of micro- and NAnostructures Aim: Simulate production of polyurethane materials, eg. foaming p. 2
3 Forward Mapping Workflow File E File A Software A File C Software C File F File B Software B File D p. 3
4 Backward Mapping Workflow File A Software A File D File B File E Software B File D p. 4
5 'De-couple' using surrogate model File A Software A Software A File EE File File D File B File EE File File E Design of Experiments Parameter Estimation Software B Surrogate Model Y File D p. 5
6 Flow of data for backward mapping Re ci pe Parameter Estimation Fit model parameters Result of experiment Ad ap te Result of r Post-Process experiment Re ci p Model parameters e Ad Run higher scale code Model ap te Instantiate model and its r parameters Database Re ci pe Spec(s) of experiment(s) Design of Experiments (DOE) point Outside point Determine new experiment(s) Re ci p Do work r Use model iterate Ad Spec of Apply Input ap experiment te r Ad ap Outside te v Run lower scale code Catch return code & Trigger DOE e p. 7
7 Software Stack Computational Recipe Setting boundary conditions / parameters Computational Code Recipes/FireTasks Workflow state Experiment spec Simulation parameters Embedded model (MoDeNa interface library) Post-Processing Submit results for fitting C/Python bindings FireTask Design of Experiments Recipe Identify new experiments Function reference Parameters, Bounds function name/library Result of Experiment Outside Point Experiment spec Trigger execution of Computational Recipe Result of Experiment Parameter Fitting Recipe Embedded model (MoDeNa interface library) Database (MongoDB) Legend: Scripts or compiled code FireWorks Parameters Function reference p. 8
8 Software used: FireWorks Workflow: Fireworks used to define and execute recipes (FireTasks) FireTasks are Python Scripts with (dynamic) dependencies Fell out of the Materials Project (US) FireWorks is a small-ish Python Library Uses MongoDB for storage Features: Dynamic workflows Running on queueing systems Job packing Automated duplicate checking Fault tolerance and failure detection and recovery Automated job provenance Frontend interface and job reporting p. 9
9 Software used: MongoDB & R MongoDB is a Non-SQL database - Indexable BSON documents (no tables!) Used to store workflow, workflow state, surrogate models, experiments, metadata, simulation context Drivers for many languages (C, Python, ) MongoEngine is a Document-Object Mapper R is a software environment for statistical computing and graphics used as a basis for design of experiments and parameter estimation Rpy2 is a Python interface library to R p. 10
10 Low-level Interface Library Queries database to find and instantiate models in higher scale code Models are loaded from shared libraries onto function pointer Implementation in plain C for portability computational efficiency of model embedding Can be loaded as a Python extension (Dual-Use) to provide consistent access to models for design of experiments and parameter fitting Option to use library from Fortran (Fortran module) Option to use from other scripted languages through SWIG wrappers p. 11
11 High-level Interface Library Provides access to the database Stores C-code of surrogate model in database with automatic compilation Provides design of experiments and regression analysis capabilities Implementation as Python module based on MongoEngine & rpy2 Problem specific surrogate model libraries Problem specific recipes and adaptors Software runs on Linux (Ubuntu) and Mac OS X p. 12
12 MoDeNa software prototyp Prototype of software framework has been distributed to all partners Example: The discharge of air from one tank into another through a nozzle Two tanks macroscopic problem Nozzle microscopic problem Everything is kept to the bare minimum in order to reduce runtime and dependencies (e.g. no external codes) p. 13
13 Use a surrogate model in macroscopic code (1) // In macroscopic code #include "modena.h" // Instantiate a model modena_model_t *model = modena_model_new("flowrate"); if(modena_error_occurred()) { int ret = modena_error(); return ret; } // Allocate memory and fetch arg positions modena_inputs_t *inputs = modena_inputs_new(model); modena_outputs_t *outputs = modena_outputs_new(model); size_t size_t size_t size_t Dpos = modena_model_inputs_argpos(model, "D"); rho0pos = modena_model_inputs_argpos(model, "rho0"); p0pos = modena_model_inputs_argpos(model, "p0"); p1byp0pos = modena_model_inputs_argpos(model, "p1byp0"); modena_model_argpos_check(model); p. 14
14 Use a surrogate model in macroscopic code (2) while(t + deltat < tend + 1e 10) { t += deltat; // Set input vector modena_inputs_set(inputs, modena_inputs_set(inputs, modena_inputs_set(inputs, modena_inputs_set(inputs, Dpos, D); rho0pos, rho0); p0pos, p0); p1byp0pos, p1/p0); // Call the model int ret = modena_model_call(model, inputs, outputs); // Terminate, if requested if(modena_error_occurred()) { // Clean Up return modena_error(); } // Continue with normal operation } p. 15
15 Read experiment spec from microscopic code recipe def run_task(self, fw_spec): D = self['point']['d'] rho0 = self['point']['rho0'] p0 = self['point']['p0'] p1byp0 = self['point']['p1byp0'] # Write input f = open('in.txt', 'w') f.write('%g\n%g\n%g\n%g\n' % (D, rho0, p0, p1byp0)) f.close() # Execute the application # In this simple example, this call stands for a complex # microscopic code such as full 3D CFD simulation. os.system('../src/flowrateexact') # Write result of experiment from microscopic code recipe # (see next slide) p. 16
16 Write result of experiment from microscopic code recipe def run_task(self, fw_spec): # Read experiment spec from microscopic code recipe # (see previous slide) # Execute the application # In this simple example, this call stands for a complex # microscopic code such as full 3D CFD simulation. os.system('../src/flowrateexact') # Analyse output f = open('out.txt', 'r') self['point']['flowrate'] = float(f.readline()) f.close() return FWAction(mod_spec=[{'_push': self['point']}]) p. 17
17 Surrogate function definition (1) surrogatefunction = CFunction( Ccode= ''' #include "math.h" void two_tank_flowrate ( const double* parameters, const double* inputs, double *outputs ) { const double D = inputs[0]; const double rho0 = inputs[1]; const double p0 = inputs[2]; const double p1 = p0*inputs[3]; const double P0 = parameters[0]; const double P1 = parameters[1]; outputs[0] = M_PI*pow(D, 2.0)*P1*sqrt(P0*rho0*p0); } ''', p. 18
18 Surrogate function definition (2) f = CFunction( Ccode= ''' # Some C code } ''', # These are global bounds for the function inputs={ 'D': { 'min': 0, 'max': 9e99, 'argpos': 0 }, 'rho0': { 'min': 0, 'max': 9e99, 'argpos': 1 }, 'p0': { 'min': 0, 'max': 9e99, 'argpos': 2 }, 'p1byp0': { 'min': 0, 'max': 1.0, 'argpos': 3}, }, outputs={ 'flowrate': { 'min': 9e99, 'max': 9e99, 'argpos': 0 }, }, parameters={ 'param0': { 'min': 0.0, 'max': 10.0, 'argpos': 0 }, 'param1': { 'min': 0.0, 'max': 10.0, 'argpos': 1 }, }, ) p. 19
19 Surrogate model definition surrogatemodel = BackwardMappingModel( _id= 'flowrate', surrogatefunction= surrogatefunction, exacttask= FlowRateExactSim(), substitutemodels= [ ], initialisationstrategy= Strategy.InitialPoints( initialpoints= { 'D': [0.01, 0.01, 0.01, 0.01], 'rho0': [3.4, 3.5, 3.4, 3.5], 'p0': [2.8e5, 3.2e5, 2.8e5, 3.2e5], 'p1byp0': [0.03, 0.03, 0.04, 0.04], }, ), outofboundsstrategy= Strategy.ExtendSpaceStochasticSampling( nnewpoints= 4 ), parameterfittingstrategy= Strategy.NonLinFitWithErrorContol( # Some controls ), ) p. 20
20 Current workflow p. 21
21 Representative link p. 22
22 Where to find the code? Where to find the code? Public project: github.com//modena-euproject/modena Tar-ball downloads: modenaproject.eu p. 23
23 Questions? p. 24
S-Store: Streaming Meets Transaction Processing
S-Store: Streaming Meets Transaction Processing H-Store is an experimental database management system (DBMS) designed for online transaction processing applications Manasa Vallamkondu Motivation Reducing
More informationG Xen and Nooks. Robert Grimm New York University
G22.3250-001 Xen and Nooks Robert Grimm New York University Agenda! Altogether now: The three questions! The (gory) details of Xen! We already covered Disco, so let s focus on the details! Nooks! The grand
More informationCollege on Multiscale Computational Modeling of Materials for Energy Applications: Tutorial
College on Multiscale Computational Modeling of Materials for Energy Applications: Tutorial Ivan Kondov STEINBUCH CENTRE FOR COMPUTING - SCC KIT The Research University in the Helmholtz Association www.kit.edu
More informationSystem Call. Preview. System Call. System Call. System Call 9/7/2018
Preview Operating System Structure Monolithic Layered System Microkernel Virtual Machine Process Management Process Models Process Creation Process Termination Process State Process Implementation Operating
More informationLecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter
Lecture Topics Today: Operating System Overview (Stallings, chapter 2.1-2.4, 2.8-2.10) Next: Processes (Stallings, chapter 3.1-3.6) 1 Announcements Consulting hours posted Self-Study Exercise #3 posted
More informationNooks. Robert Grimm New York University
Nooks Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? Design and Implementation Nooks Overview An isolation
More informationIQ for DNA. Interactive Query for Dynamic Network Analytics. Haoyu Song. HUAWEI TECHNOLOGIES Co., Ltd.
IQ for DNA Interactive Query for Dynamic Network Analytics Haoyu Song www.huawei.com Motivation Service Provider s pain point Lack of real-time and full visibility of networks, so the network monitoring
More informationC 1. Recap: Finger Table. CSE 486/586 Distributed Systems Remote Procedure Call. Chord: Node Joins and Leaves. Recall? Socket API
Recap: Finger Table Finding a using fingers CSE 486/586 Distributed Systems Remote Procedure Call Steve Ko Computer Sciences and Engineering University at Buffalo N102" 86 + 2 4! N86" 20 +
More informationChapter 9 Subprograms
Chapter 9 Subprograms We now explore the design of subprograms, including parameter-passing methods, local referencing environment, overloaded subprograms, generic subprograms, and the aliasing and problematic
More informationCSE 227 Computer Security Spring 2010 S f o t ftware D f e enses I Ste St f e an f Sa v Sa a v g a e g
CSE 227 Computer Security Spring 2010 Software Df Defenses I Stefan Savage Kinds of defenses Eliminate violation of runtime model Better languages, code analysis Don t allow bad input Input validation
More informationUnit 2 : Computer and Operating System Structure
Unit 2 : Computer and Operating System Structure Lesson 1 : Interrupts and I/O Structure 1.1. Learning Objectives On completion of this lesson you will know : what interrupt is the causes of occurring
More informationCuckoo Monitor Documentation
Cuckoo Monitor Documentation Release 1.3 Jurriaan Bremer Oct 03, 2017 Contents 1 Requirements 3 2 Required packages 5 3 Compilation 7 4 Components 9 4.1 C Framework...............................................
More informationInterfacing HTCondor-CE with OpenStack: technical questions
Interfacing HTCondor-CE with OpenStack: technical questions Jose Caballero HTCondor Week 2017 Disclaimer facts: This work was done under the umbrella of OSG Technologies Investigations. So there were other
More informationObjectives. Chapter 2: Operating-System Structures. 2.1 Operating System Services
Objectives Chapter 2: Operating-System Structures To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system
More informationPrinciples of Programming Languages. Objective-C. Joris Kluivers
Principles of Programming Languages Objective-C Joris Kluivers joris.kluivers@gmail.com History... 3 NeXT... 3 Language Syntax... 4 Defining a new class... 4 Object identifiers... 5 Sending messages...
More informationICAT Job Portal. a generic job submission system built on a scientific data catalog. IWSG 2013 ETH, Zurich, Switzerland 3-5 June 2013
ICAT Job Portal a generic job submission system built on a scientific data catalog IWSG 2013 ETH, Zurich, Switzerland 3-5 June 2013 Steve Fisher, Kevin Phipps and Dan Rolfe Rutherford Appleton Laboratory
More informationWeb Database Programming
Web Database Programming Web Database Programming 2011 Created: 2011-01-21 Last update: 2014-01-14 Contents Introduction... 2 Use EasyDataSet as Data Source... 2 Add EasyDataSet to web page... 3 Make Database
More informationC++ for System Developers with Design Pattern
C++ for System Developers with Design Pattern Introduction: This course introduces the C++ language for use on real time and embedded applications. The first part of the course focuses on the language
More informationA Python extension for the massively parallel framework walberla
A Python extension for the massively parallel framework walberla PyHPC at SC 14, November 17 th 2014 Martin Bauer, Florian Schornbaum, Christian Godenschwager, Matthias Markl, Daniela Anderl, Harald Köstler
More informationECE 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 informationOpenCL TM & OpenMP Offload on Sitara TM AM57x Processors
OpenCL TM & OpenMP Offload on Sitara TM AM57x Processors 1 Agenda OpenCL Overview of Platform, Execution and Memory models Mapping these models to AM57x Overview of OpenMP Offload Model Compare and contrast
More informationCSE 4/521 Introduction to Operating Systems
CSE 4/521 Introduction to Operating Systems Lecture 5 Threads (Overview, Multicore Programming, Multithreading Models, Thread Libraries, Implicit Threading, Operating- System Examples) Summer 2018 Overview
More informationIntroduction to pthreads
CS 220: Introduction to Parallel Computing Introduction to pthreads Lecture 25 Threads In computing, a thread is the smallest schedulable unit of execution Your operating system has a scheduler that decides
More informationDot Net Online Training
chakraitsolutions.com http://chakraitsolutions.com/dotnet-online-training/ Dot Net Online Training DOT NET Online Training CHAKRA IT SOLUTIONS TO LEARN ABOUT OUR UNIQUE TRAINING PROCESS: Title : Dot Net
More informationFibonacci in Lisp. Computer Programming: Skills & Concepts (CP1) Programming Languages. Varieties of Programing Language
Fibonacci in Lisp Computer Programming: Skills & Concepts (CP1) Programming Languages (defun fibonacci (n) (if (or (= n 0) (= n 1)) 1 (+ (fibonacci (- n 1)) (fibonacci (- n 2))))) 22nd November 2010 defun-
More informationEvery language has its own scoping rules. For example, what is the scope of variable j in this Java program?
Lexical Binding There are two ways a variable can be used in a program: As a declaration As a "reference" or use of the variable Scheme has two kinds of variable "declarations" -- the bindings of a let-expression
More informationDown the event-driven road: Experiences of integrating streaming into analytic data platforms
Down the event-driven road: Experiences of integrating streaming into analytic data platforms Dr. Dominik Benz, Head of Machine Learning Engineering, inovex GmbH Confluent Meetup Munich, 8.10.2018 Integrate
More informationLecture #16: Introduction to Runtime Organization. Last modified: Fri Mar 19 00:17: CS164: Lecture #16 1
Lecture #16: Introduction to Runtime Organization Last modified: Fri Mar 19 00:17:19 2010 CS164: Lecture #16 1 Status Lexical analysis Produces tokens Detects & eliminates illegal tokens Parsing Produces
More informationSOFA 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 informationCOP4020 Fall 2006 Final Exam
COP4020 Fall 2006 Final Exam Name: (Please print) Put the answers on these sheets. You can collect 100 points in total for this exam. 1. Consider the following Ada program fragment: search: loop i := i+1;
More informationMemory Management. COMP755 Advanced Operating Systems
Memory Management COMP755 Advanced Operating Systems Purpose of Memory Manager Find a place in RAM for programs and data. OS Memory Manager allocates RAM to programs and OS tasks and data. User level memory
More informationCOSC Software Engineering. Lecture 16: Managing Memory Managers
COSC345 2013 Software Engineering Lecture 16: Managing Memory Managers Outline Typical problems (from previous lectures) Memory leaks aren t just for (Objective) C Tracking malloc() calls Catching calls
More informationProcesses. CS 416: Operating Systems Design, Spring 2011 Department of Computer Science Rutgers University
Processes Design, Spring 2011 Department of Computer Science Von Neuman Model Both text (program) and data reside in memory Execution cycle Fetch instruction Decode instruction Execute instruction CPU
More informationCollege on Multiscale Computational Modeling of Materials for Energy Applications Trieste, 4-15 July 2016
College on Multiscale Computational Modeling of Materials for Energy Applications Trieste, 4-15 July 2016 Training Materials This work is licensed under an Attribution- NonCommercial- NoDerivatives 4.0
More information"Secure" Coding Practices Nicholas Weaver
"Secure" Coding Practices based on David Wagner s slides from Sp 2016 1 Administrivia Computer Science 161 Fall 2016 2 3 This is a Remarkably Typical C Problem Computer Science 161 Fall 2016 if ((options
More informationPTN-202: Advanced Python Programming Course Description. Course Outline
PTN-202: Advanced Python Programming Course Description This 4-day course picks up where Python I leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development.
More informationThreads (light weight processes) Chester Rebeiro IIT Madras
Threads (light weight processes) Chester Rebeiro IIT Madras 1 Processes Separate streams of execution Each process isolated from the other Process state contains Process ID Environment Working directory.
More informationLecture 4 CIS 341: COMPILERS
Lecture 4 CIS 341: COMPILERS CIS 341 Announcements HW2: X86lite Available on the course web pages. Due: Weds. Feb. 7 th at midnight Pair-programming project Zdancewic CIS 341: Compilers 2 X86 Schematic
More informationcsci3411: Operating Systems
csci3411: Operating Systems Lecture 3: System structure and Processes Gabriel Parmer Some slide material from Silberschatz and West System Structure System Structure How different parts of software 1)
More informationIBM Data Science Experience White paper. SparkR. Transforming R into a tool for big data analytics
IBM Data Science Experience White paper R Transforming R into a tool for big data analytics 2 R Executive summary This white paper introduces R, a package for the R statistical programming language that
More informationBaggy bounds with LLVM
Baggy bounds with LLVM Anton Anastasov Chirantan Ekbote Travis Hance 6.858 Project Final Report 1 Introduction Buffer overflows are a well-known security problem; a simple buffer-overflow bug can often
More informationCross-compiling C++ to JavaScript. Challenges in porting the join.me common library to HTML5
Cross-compiling C++ to JavaScript Challenges in porting the join.me common library to HTML5 JUNE 24, 2015 LEVENTE HUNYADI join.me at a glance 2 join.me at a glance 3 join.me characteristics Application
More informationBackpacking with Code: Software Portability for DHTC Wednesday morning, 9:00 am Christina Koch Research Computing Facilitator
Backpacking with Code: Software Portability for DHTC Wednesday morning, 9:00 am Christina Koch (ckoch5@wisc.edu) Research Computing Facilitator University of Wisconsin - Madison Understand the basics of...
More informationPage 1. Analogy: Problems: Operating Systems Lecture 7. Operating Systems Lecture 7
Os-slide#1 /*Sequential Producer & Consumer*/ int i=0; repeat forever Gather material for item i; Produce item i; Use item i; Discard item i; I=I+1; end repeat Analogy: Manufacturing and distribution Print
More informationCMSC 202 Final May 19, Name: UserID: (Circle your section) Section: 101 Tuesday 11: Thursday 11:30
CMSC 202 Final May 19, 2005 Name: UserID: (Circle your section) Section: 101 Tuesday 11:30 102 Thursday 11:30 Directions 103 Tuesday 12:30 104 Thursday 12:30 105 Tuesday 1:30 106 Thursday 1:30 This is
More informationOverview. Constructors and destructors Virtual functions Single inheritance Multiple inheritance RTTI Templates Exceptions Operator Overloading
HOW C++ WORKS Overview Constructors and destructors Virtual functions Single inheritance Multiple inheritance RTTI Templates Exceptions Operator Overloading Motivation There are lot of myths about C++
More informationINF 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 informationCHAPTER 1 Introduction to Computers and Java
CHAPTER 1 Introduction to Computers and Java Copyright 2016 Pearson Education, Inc., Hoboken NJ Chapter Topics Chapter 1 discusses the following main topics: Why Program? Computer Systems: Hardware and
More informationChapter 4: Multi-Threaded Programming
Chapter 4: Multi-Threaded Programming Chapter 4: Threads 4.1 Overview 4.2 Multicore Programming 4.3 Multithreading Models 4.4 Thread Libraries Pthreads Win32 Threads Java Threads 4.5 Implicit Threading
More informationPython ecosystem for scientific computing with ABINIT: challenges and opportunities. M. Giantomassi and the AbiPy group
Python ecosystem for scientific computing with ABINIT: challenges and opportunities M. Giantomassi and the AbiPy group Frejus, May 9, 2017 Python package for: generating input files automatically post-processing
More informationMultithreaded Programming
Multithreaded Programming The slides do not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. September 4, 2014 Topics Overview
More informationCSCI 171 Chapter Outlines
Contents CSCI 171 Chapter 1 Overview... 2 CSCI 171 Chapter 2 Programming Components... 3 CSCI 171 Chapter 3 (Sections 1 4) Selection Structures... 5 CSCI 171 Chapter 3 (Sections 5 & 6) Iteration Structures
More informationBeyond CSE143. What s Left To Do? Templates. Using Templates. A Template Class. A Problem with Reusing Code CSE 143
What s Left To Do? Beyond CSE143 Templates Modern Software Development Windows and Java 143 Wrapup Beyond the C++ covered in this course Many topics, many more details of topics we did cover Main omission:
More informationChapter 2: System Structures
Chapter 2: System Structures Chapter 2: System Structures 2.1 Operating-System Services 2.2 User and Operating-System Interface 2.3 System Calls 2.4 Types of System Calls 2.5 System Programs 2.6 Operating-System
More informationWork Queue + Python. A Framework For Scalable Scientific Ensemble Applications
Work Queue + Python A Framework For Scalable Scientific Ensemble Applications Peter Bui, Dinesh Rajan, Badi Abdul-Wahid, Jesus Izaguirre, Douglas Thain University of Notre Dame Distributed Computing Examples
More informationExtending CircuitPython: An Introduction
Extending CircuitPython: An Introduction Created by Dave Astels Last updated on 2018-11-15 11:08:03 PM UTC Guide Contents Guide Contents Overview How-To A Simple Example shared-module shared-bindings ports/atmel-samd
More informationThreads. CS-3013 Operating Systems Hugh C. Lauer. CS-3013, C-Term 2012 Threads 1
Threads CS-3013 Operating Systems Hugh C. Lauer (Slides include materials from Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum and from Operating System Concepts,
More informationG Programming Languages Spring 2010 Lecture 9. Robert Grimm, New York University
G22.2110-001 Programming Languages Spring 2010 Lecture 9 Robert Grimm, New York University 1 Review Last week Modules 2 Outline Classes Encapsulation and Inheritance Initialization and Finalization Dynamic
More informationa. It will output It s NOT Rover b. Class Main should be changed to the following (bold characters show the changes)
May 2015 Computing Advanced Paper 1 Question 1 a. It will output It s NOT Rover b. Class Main should be changed to the following (bold characters show the changes) public class Main public static void
More informationMemory Safety (cont d) Software Security
Memory Safety (cont d) Software Security CS 161: Computer Security Prof. Raluca Ada Popa January 17, 2016 Some slides credit to David Wagner and Nick Weaver Announcements Discussion sections and office
More informationIntroduction to Abel/Colossus and the queuing system
Introduction to Abel/Colossus and the queuing system November 14, 2018 Sabry Razick Research Infrastructure Services Group, USIT Topics First 7 slides are about us and links The Research Computing Services
More informationEPL372 Lab Exercise 2: Threads and pthreads. Εργαστήριο 2. Πέτρος Παναγή
EPL372 Lab Exercise 2: Threads and pthreads Εργαστήριο 2 Πέτρος Παναγή 1 Threads Vs Processes 2 Process A process is created by the operating system, and requires a fair amount of "overhead". Processes
More informationComputers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker
Computers in Engineering COMP 208 Computer Structure Michael A. Hawker Computer Structure We will briefly look at the structure of a modern computer That will help us understand some of the concepts that
More informationlibqsearch A library designed for fast multiple pattern matching
libqsearch A library designed for fast multiple pattern matching Philippe Biondi FOSDEM 2003 February 8-9th, 2003 Outline 1 What is libqsearch? Presentation History Architecture
More informationSoftware Ecosystem for Arm-based HPC
Software Ecosystem for Arm-based HPC CUG 2018 - Stockholm Florent.Lebeau@arm.com Ecosystem for HPC List of components needed: Linux OS availability Compilers Libraries Job schedulers Debuggers Profilers
More informationpthreads CS449 Fall 2017
pthreads CS449 Fall 2017 POSIX Portable Operating System Interface Standard interface between OS and program UNIX-derived OSes mostly follow POSIX Linux, macos, Android, etc. Windows requires separate
More informationDesign Patterns in Python (Part 2)
Design Patterns in Python (Part 2) by Jeff Rush Jeff Rush 1 of 13 Design Patterns in Python What is a Pattern? a proven solution to a common problem in a specific context describes a
More informationPerformance of Various Levels of Storage. Movement between levels of storage hierarchy can be explicit or implicit
Memory Management All data in memory before and after processing All instructions in memory in order to execute Memory management determines what is to be in memory Memory management activities Keeping
More informationCMSC 4023 Chapter 9. Fundamentals of Subprograms Introduction
9. 9.1. Introduction Two fundamental abstraction facilities Process abstraction Emphasized from early days Data abstraction Emphasized in the1980s 9.2. 9.2.1. General Subprogram Characteristics Each subprogram
More informationAutoWIG Documentation
AutoWIG Documentation Release 0.1 P. Fernique, C. Pradal Oct 30, 2018 Contents 1 Citation 3 2 Installation 5 2.1 Installation from binaries......................................... 5 2.2 Installation
More informationNIC Chile Secondary DNS Service History and Evolution
NIC Chile Secondary DNS Service History and Evolution Marco Díaz OARC Buenos Aires 2016 A little bit of history NIC Chile started to offer secondary service as a way to improve the local Internet. Launched
More informationA short session with gdb verifies a few facts; the student has made notes of some observations:
This assignment refers to concepts discussed in the course notes on gdb and the book The Art of Debugging by Matloff & Salzman. The questions are definitely "hands-on" and will require some reading beyond
More informationKernel perf tool user guide
Kernel perf tool user guide 2017-10-16 Reversion Record Date Rev Change Description Author 2017-10-16 V0.1 Inital Zhang Yongchang 1 / 10 catalog 1 PURPOSE...4 2 TERMINOLOGY...4 3 ENVIRONMENT...4 3.1 HARDWARE
More informationProject 3 Due October 21, 2015, 11:59:59pm
Project 3 Due October 21, 2015, 11:59:59pm 1 Introduction In this project, you will implement RubeVM, a virtual machine for a simple bytecode language. Later in the semester, you will compile Rube (a simplified
More informationIntroduction to Compilers Professor Jeremy Siek
Professor Jeremy Siek This exam has 12 questions, for a total of 100 points. 1. 10 points Draw a parse tree and an abstract syntax tree for the following program given the grammar below. In the case of
More informationHyperkernel: Push-Button Verification of an OS Kernel
Hyperkernel: Push-Button Verification of an OS Kernel Luke Nelson, Helgi Sigurbjarnarson, Kaiyuan Zhang, Dylan Johnson, James Bornholt, Emina Torlak, and Xi Wang The OS Kernel is a critical component Essential
More informationA process. the stack
A process Processes Johan Montelius What is a process?... a computation KTH 2017 a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other processes
More informationExam 3 Chapters 7 & 9
Exam 3 Chapters 7 & 9 CSC 2100-002/003 29 Mar 2017 Read through the entire test first BEFORE starting Put your name at the TOP of every page The test has 4 sections worth a total of 100 points o True/False
More informationStructured bindings with polymorphic lambas
1 Introduction Structured bindings with polymorphic lambas Aaryaman Sagar (aary800@gmail.com) August 14, 2017 This paper proposes usage of structured bindings with polymorphic lambdas, adding them to another
More informationChapter 9. Subprograms
Chapter 9 Subprograms Chapter 9 Topics Introduction Fundamentals of Subprograms Design Issues for Subprograms Local Referencing Environments Parameter-Passing Methods Parameters That Are Subprograms Calling
More informationMemory Management. 3. What two registers can be used to provide a simple form of memory protection? Base register Limit Register
Memory Management 1. Describe the sequence of instruction-execution life cycle? A typical instruction-execution life cycle: Fetches (load) an instruction from specific memory address. Decode the instruction
More informationrpafktl Pen source Sphinx Search Beginner's Guide using Sphinx J community experience distilled PUBLISHING
Sphinx Search Beginner's Guide Implement fulltext search with lightning speed and accuracy using Sphinx Abbas All rpafktl Pen source I I I IV* IV I J community experience distilled PUBLISHING BIRMINGHAMMUMBAI
More informationMapReduce programming model
MapReduce programming model technology basics for data scientists Spring - 2014 Jordi Torres, UPC - BSC www.jorditorres.eu @JordiTorresBCN Warning! Slides are only for presenta8on guide We will discuss+debate
More informationLECTURE 14. Names, Scopes, and Bindings: Scopes
LECTURE 14 Names, Scopes, and Bindings: Scopes SCOPE The scope of a binding is the textual region of a program in which a name-to-object binding is active. Nonspecifically, scope is a program region of
More informationDetailed Design. Java Problem Repository & Education Platform JPREP
Team Members: Luke Greiner Denis Kalic Abigail McCarthy Robert Tateo Nguyen Truong Patrick White Detailed Design Java Problem Repository & Education Platform JPREP Revision: 1.1 Date: 3/07/14 1 D e l t
More informationP0434 Portable Interrupt Library SG13 HMI
2016 P0434 Portable Interrupt Library SG13 HMI Document Number: P0434 Date: 10/18/2016 Reply-To: brett.searles@attobotics.net AUTHOR: BRETT SEARLES Table of Contents Introduction Motivation and Scope Scope:
More informationCCReflect has a few interesting features that are quite desirable for DigiPen game projects:
CCReflect v1.0 User Manual Contents Introduction... 2 Features... 2 Dependencies... 2 Compiler Dependencies... 2 Glossary... 2 Type Registration... 3 POD Registration... 3 Non-Pod Registration... 3 External
More informationAn 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 informationDistributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.
Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA
More informationIn examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured
System Performance Analysis Introduction Performance Means many things to many people Important in any design Critical in real time systems 1 ns can mean the difference between system Doing job expected
More informationSemantic Analysis. Lecture 9. February 7, 2018
Semantic Analysis Lecture 9 February 7, 2018 Midterm 1 Compiler Stages 12 / 14 COOL Programming 10 / 12 Regular Languages 26 / 30 Context-free Languages 17 / 21 Parsing 20 / 23 Extra Credit 4 / 6 Average
More informationE&CE 454/750-5: Spring 2010 Programming Assignment 1 Due: 11:59 PM Friday 11 th June 2010
E&CE 454/750-5: Spring 2010 Programming Assignment 1 Due: 11:59 PM Friday 11 th June 2010 For this assignment you are required to implement a crude version of Remote Procedure Call (RPC). Normally this
More informationOperators. The Arrow Operator. The sizeof Operator
Operators The Arrow Operator Most C++ operators are identical to the corresponding Java operators: Arithmetic: * / % + - Relational: < = >!= Logical:! && Bitwise: & bitwise and; ^ bitwise exclusive
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationChapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More informationCS250 Intro to CS II. Spring CS250 - Intro to CS II 1
CS250 Intro to CS II Spring 2017 CS250 - Intro to CS II 1 Topics Virtual Functions Pure Virtual Functions Abstract Classes Concrete Classes Binding Time, Static Binding, Dynamic Binding Overriding vs Redefining
More information8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More informationAn Experience Like No Other. Stack Discipline Aug. 30, 2006
15-410 An Experience Like No Other Discipline Aug. 30, 2006 Bruce Maggs Dave Eckhardt Slides originally stolen from 15-213 15-410, F 06 Synchronization Registration If you're here but not registered, please
More informationPointers, Dynamic Data, and Reference Types
Pointers, Dynamic Data, and Reference Types Review on Pointers Reference Variables Dynamic Memory Allocation The new operator The delete operator Dynamic Memory Allocation for Arrays 1 C++ Data Types simple
More informationDecoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor
Decoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor Hari Kannan, Michael Dalton, Christos Kozyrakis Computer Systems Laboratory Stanford University Motivation Dynamic analysis help
More information