SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Enhancing and preparing TIMES for High
Performance Computing
Evangelos Panos, Tarun Sharma
(Status report on ETSAP funded project)
72nd ETSAP-MEETING | 11th Dec 2017, ETH Zurich, Switzerland
Contents
• Premise
• Transferring TIMES on LINUX: modifications needed
• Application of TIMES on LINUX by running single/batch jobs of scenarios
• Running multiple independent scenarios with TIMES on LINUX
• By manually creating scripts controlling the execution and result collection
• By modifying the TIMES code using the Grid Computing Features of GAMS
Premise
Constraint matrix sizes for different TIMES-based models
• Solution time on a typical workstation:
• Irish TIMES: 11 minutes
• ETSAP TIAM: 1.3 hours
• JRC EU TIMES: 4.2 hours
• SWISS TIMES: 2 hours
• Uncertainty analysis part of the best
practice (DeCarolis, Daly et al. 2017).
• High Performance Computing (HPC): Aggregating computing power to
deliver better performance while solving large problems.
• Most of these systems run on LINUX.
• Transferring TIMES-based models to Linux
• Code is compatible with minor changes
• Running TIMES models on GAMS Linux installation
• Scripts for running batches of model instances
• Transferring results from Linux to Windows for post processing with VEDA_BE
• .gdx files are compatible between the platforms and data transfer can be easily established
• Scripts for converting batches of GDX files to VEDA_BE files
TIMES on LINUX: single scenario
• Making GAMS and CPLEX/Barrier to run on specific CPU cores
• Simultaneously running model instances on selected CPU cores
• This can be done either manually by the user or automated using the GAMS Grid computing
features
• When the user manually generates and runs model instances on selected CPU cores:
• Must generate the *.dd files for every model instance in VEDA-FE
• Must write OS-dependent scripts to run the scenario and assign CPU cores to each scenario
• Must write OS-dependent scripts to check if a scenario has finished and collect its solution
• When using the Grid Features Facility of GAMS then the user:
• Must only write a GAMS solve loop, in each iteration of which a scenario is solved
• GAMS undertakes the assignment to CPUs (it can be also controlled by the user if desired)
• GAMS undertakes the polling to check if a scenario is ready and collects the results
TIMES on LINUX: multiple independent scenarios
Transferring TIMES based model to Linux
Contents of the ETSAP Project Report
1. Setting up a Linux computer ...................................................................................................... 4
1.1. Some basic Linux commands ............................................................................................. 6
1.2. Terminal and File Manager ................................................................................................ 6
2. Installing Gams on Linux........................................................................................................... 6
3. Transferring a TIMES-based model to Linux ............................................................................. 9
4. Running a TIMES model on Linux .......................................................................................... 12
5. Transferring results from Linux to Windows for Post-processing with VEDA_BE ................... 13
6. Scripts ..................................................................................................................................... 14
6.1. Running a TIMES scenario in Linux ................................................................................ 14
6.2. Batch job with multiple scenarios in Linux....................................................................... 15
6.3. Batch job for creating VEDA_BE files in Windows ......................................................... 15
7. Troubleshooting a TIMES run in Linux.................................................................................... 16
7.1. GAMS Error: Scratch directory does not exist .................................................................. 17
7.2. Gams Error: Unable to open input file .............................................................................. 17
7.3. Linux error: File permission error..................................................................................... 17
Transferring TIMES based model to Linux
Contents of the ETSAP Project Report
8. Preparing TIMES for High Performance Computing................................................................ 20
8.1. Multiple parallel scenarios in TIMES using user-defined scripts that are assigned to multiple
CPUs ………………………………………………………………………………………………21
8.1.1. Making GAMS and CPLEX/Barrier to run in specific CPU(s) .................................. 21
8.1.2. Run multiple independent scenarios in parallel ......................................................... 23
8.2. Multiple parallel scenarios in TIMES using the GAMS grid features ................................ 23
8.2.1. Introduction to Grid Computing by using the GAMS language ................................. 24
8.2.2. A simple illustrative example of Grid Computing using GAMS language features .... 25
8.2.3. Equipping TIMES with grid computing features ....................................................... 34
8.2.4. Writing a GAMS file for a TIMES-based model to query the status of the submitted jobs
to the grid ................................................................................................................................ 41
8.2.5. Writing a collection script for TIMES....................................................................... 42
8.2.6. Executing TIMES using the GAMS Grid Computing Features.................................. 44
8.3. Issues for further investigation regarding running TIMES over a Grid of CPUs ................ 50
Transferring TIMES to LINUX
and running a single or a batch job of scenarios
Cross platform compatibility of TIMES source
code
1. Linux OS is case sensitive thus all filenames should be either lowercase or uppercase
2.Run file generated by Veda should be named in lowercase
3.Three major changes are required to the source code:
• calling GAMS with the call option FILECASE=2  this enforces lowercase filenames
• converting all the model names in TIMES code to lowercase, “times” and “times_macro”, to ensure compatibility
with the FILECASE=2 option, when producing the .gdx solution files
• replacing all system calls from GAMS in the TIMES code from MS-DOS commands to POSIX (Portable Operating
System Interface ) commands that operate both under Windows and Linux
Cross platform compatibility of TIMES source
code  3 major changes are required
Sl
No.
File name Current TIMES code (v400) Modification needed for Linux
1 *.run $ SET MODEL_NAME ‘TIMES’ $ SET MODEL_NAME ‘times’
2 maindrv.mod $ IF '%MACRO%' == YES $SET MODEL_NAME
'TIMES_MACRO' SET TIMESED '0' SETLOCAL
SRC tm
$ IF '%MACRO%' == YES $SET MODEL_NAME
'times_macro' SET TIMESED '0' SETLOCAL
SRC tm
3 eqlducs.vda $ if exist cplex.opt execute "copy /Y
cplex.opt+indic.txt cplex.op2 > nul";
$ if exist xpress.opt execute "copy /Y
xpress.opt+indic.txt xpress.op2 > nul";
$ if exist cplex.opt execute "cat cplex.opt
indic.txt > cplex.op2";
$ if exist xpress.opt execute "cat xpress.opt
indic.txt > xpress.op2";
Verification of execution
• the .dd files from Windows generated with VEDA-FE should be transferred to Linux prior execution
• GAMS call requires the paths to the TIMES source files and the .dd files of the scenario run
• Calling GAMS to solve a TIMES instance test.run in Linux from the gams_wrktimes directory, in a Linux
terminal window:
• gams test.run idir=…/gams_srctimesv400 filecase=2 gdx=gamssave/test.gdx
Post processing of the result file .gdx to VEDA-BE
• When the run completes, the generated test.gdx file in Linux is compatible in Windows
• It can be transferred to Windows and processed with the ‘gdx2veda’ utility to generate the .vd* files
required for post-processing with VEDA-BE (the gdx2veda comes with the GAMS installation)
• Calling gdx2veda to generate the .vd* files for VEDA-BE in the command prompt in Windows
• gdx2veda test.gdx C:VEDAVEDA_FEGAMS_SrcTIMESv400times2veda.vdd test
Script in Linux for running a scenario
Running the script from Linux terminal:
etsap-user@etsap-
user:~/gams_wrktimes$./run.sh test
# set the path to times source file
times =$HOME/gams_srctimesv400
# set the path to model data definition files
ddfiles=$HOME/gams_wrktimes
# execute gams to run the model
gams $1.run idir=$times:$ddfiles filecase=2
gdx=$ddfiles/gamssave/$1.gdx
Script name: run.sh
• Why we need a script?
• to encapsulate into it the paths to the source code and to the input files
• to encapsulate all gams options required to run TIMES and obtain the .gdx file with the results
• Thus, we create a script in Linux similar to the VTRUN.cmd script generated by VEDA-FE when running under
Windows
Script for executing a batch of scenarios
Script for processing a batch of gdx to veda
Running the script from Linux terminal to solve 3 scenarios in a batch:
etsap-user@etsap-user:~/gams_wrktimes$./batch_exo.sh “test1 test2 test3”
for s in $1
do
./run.sh $s
done
Script name: batch_exo.sh
for %%s in (%*) do (
gdx2veda %%s.gdx
C:VedaVEDA_FEGams_srcTIMESv400times2veda.vdd
%%s
)
Script name: batch_linux2veda.cmd Running the script from Windows command prompt to
collect the results from 3 scenarios ran in Linux:
C:UsersetsapDesktoplinux2veda>
batch_linux2veda test1 test2 test3
Single CPU Linux vs Windows performance
• Initial tests in a typical desktop with 1 CPU with 8 logical cores, with Linux installed as a guest OS over Windows
• Performance gain in Linux over Windows: Swiss TIMES model 20%, Irish TIMES model 50%
• The improvement in performance seems to depend on the model size (needs further investigation)
Swiss TIMES solution time in Windows : 126 minutes Swiss TIMES solution time in Linux: 100 minutes
Running multiple
independent scenarios
on Linux on different CPU cores
by manually creating execution and result collection scripts
 all the required input files *.dd should have been created in
advance in VEDA_FE
Script to run scenarios on a set of specific cores
Running the script from Linux terminal:
etsap-user@etsap-
user:~/gams_wrktimes$./p_run.sh test 3
#!/bin/bash
# set the path to times source file
times =$HOME/gams_srctimesv400
# set the path to model data definition files
ddfiles=$HOME/gams_wrktimes
# execute gams to run the model
taskset $2 gams $1.run idir=$times:$ddfiles
filecase=2 gdx=$ddfiles/gamssave/$1.gdx
Script name: p_run.sh
CPU core (CPU core Index)
12
(11)
11
(10)
10
(9)
9
(8)
8
(7)
7
(6)
6
(5)
5
(4)
4
(3)
3
(2)
2
(1)
1
(0)
Decimal representation
(CPU indices that are used
in the run as exponents)
Second argument
to the script:
hexadecimal
representation
0 0 0 0 0 0 0 0 1 1 1 1 2^3 + 2^2 + 2^1 + 2^0 =15 f
0 0 0 0 1 1 1 1 0 0 0 0 2^7 + 2^6 + 2^5 + 2^4 =240 f0
1 1 1 1 0 0 0 0 0 0 0 0 2^11 + 2^10 + 2^9 + 2^8 =3840 f00
Second argument to the script: Indexing CPU cores for taskset
• First argument $1: scenario to run
• Second argument $2: index for CPU group on
which solver runs
Execution of a scenario on one core
Second argument determines the cores available to CPLEX/Barrier algorithm for parallelization
in the linear algebra, i.e., 1 for this illustration.
Execution of a scenario on two cores
Second argument determines the cores available to CPLEX/Barrier algorithm for
parallelization in the linear algebra, i.e., 2 (number 1 and 2) for this illustration.
TIMES for High-Performance computing:
Application
• TIMES on FIONN at Irish Centre for High Performance Computing
• Scripts for simultaneous execution of multiple scenario batches, i.e., 1000
scenarios (5 batches of 200 scenarios each) solved in 3 hours
• Work flow optimization
• Experiments:
• Solution time vs number of cores assigned
• 48 virtual cores per node of FIONN
• Such results + further investigation
• Optimal distribution of compute load
• Maximum utilization of computing resources
• Minimization of solution time
0
1
2
3
4
5
0
5000
10000
15000
20000
6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48
timeinhours
timeinseconds
Number of virtual cores
JRC EU TIMES
TIAM 2D scenario
Running multiple
independent
scenarios on Linux on
different CPU cores
by using the GRID COMPUTING language features of GAMS
 this is an exploration of the feasibility and not a proposed design
 better integration in TIMES could be designed and implemented in a separate project and
after coordination with Antti, Amit and every one else who is interested in it
What is Grid Computing
• It combines computers from multiple administrative domains
• It is a form of distributed computing
• A “super virtual computer” is composed of many networked loosely
coupled computers to achieve a goal
• There is a submitting-system where the user creates a large task
• The task is partitioned into smaller tasks
• These smaller tasks are solved from the computers in the grid
• Advantages: Saves money, Increases efficiency, Solves problems
• Disadvantages: Requires unique software, Computers can drop-off
https://www.electronicproducts.com/Computer_Systems/Servers/Cloud_computing_vs_grid_computing.aspx
• It enables users to employ resources from any web-connected device
• Cloud computing provides 3 main services:
• Infrastructure (IaaS): virtual server for storage
• Platform (PaaS): software to create applications
• Software (SaaS): infrastructure and products
• Advantages: saves money, high performance, easy to use
• Disadvantages: security and privacy
What is Cloud Computing
https://www.electronicproducts.com/Computer_Systems/Servers/Cloud_computing_vs_grid_computing.aspx
What is the difference between Grid
Computing and Cloud Computing
• Cloud computing and grid computing have similar goals
• With grid computing:
• the user assigns one large task that gets divided into several smaller portions and
implemented on different machines
• With cloud computing:
• the user enjoys a host of readily available web-based services (without investing in any
underlying architecture); the services can be combined to provide homogenous and
optimised experience
Exploring Grid Computing with TIMES
• GAMS normally operates at a synchronous mode, and waits until the solver terminates
• When independent model solutions are required, then an asynchronous mode is an option to increase
performance
• GAMS provides the asynchronous solving, via the Grid Computing and Multi-threading features
• We need the following loops in the GAMS code:
• Submission Loop: in this phase we will generate and submit models for solutions that can be solved independently
• Inquiry Loop: in this phase we will check which solutions have been finished
• Collection Loop: in this phase the previously submitted models are collected as soon as a solution is available
• This implies that the scenarios of a TIMES-based model are solved via a GAMS-loop instead
of using separate script files one for each scenario
An exploratory implementation in TIMES (1)
• In the .run template file we create a GAMS set with the names of the scenarios we want to solve:
SET GRID_SCENARIOS /scen1, scen2, scen3/;
• In the .run template file we declare a parameter to hold the handle (i.e. the ID) of each submitted scenario:
PARAMETER HANDLE(GRID_SCENARIOS) store the instance handle;
• In the solve.mod file we make GAMS aware that the TIMES model will solve in an Asynchronous mode:
%MODEL_NAME%.solvelink = %solvelink.AsyncGrid%;
• In the solve.mod file we include a loop over the scenarios; in each iteration we update the required TIMES
parameter(s) and then we submit the scenario to GAMS to be solved
The submission loop in a Grid Computing Facility
• In each iteration we update the required TIMES parameter, then we submit the scenario to GAMS and we
keep its handle (the internal ID) for identifying this scenario in the collection phase
* turn on the grid option
%MODEL_NAME%.solvelink = %solvelink.AsyncGrid%;
LOOP(GRID_SCENARIOS,
* update model actual parameters with scenario data (here the CO2 tax)
OBJ_COMNT(R,DATAYEAR,C,S,'TAX',CUR)$ GS_COM_TAXNET (GRID_SCENARIOS, R, DATAYEAR, C, S, CUR) =
GS_COM_TAXNET (GRID_SCENARIOS, R, DATAYEAR, C, S, CUR);
* solve the model
SOLVE %MODEL_NAME% MINIMIZING objZ USING %METHOD%;
* keep the handle of the job for future reference
HANDLE(GRID_SCENARIOS)=%MODEL_NAME%.handle;
);
In this exploratory implementation, we additionally defined the input parameter over the scenario dimension and then we had to
update an internal parameter of TIMES, i.e. this parameter is not visible to the user via the VEDA_FE
More elegant designs and better integration into TIMES could be explored, if the grid computing features are of interest in
ETSAP community, in coordination with Antti, Amit and every one else who is interested in it
Running TIMES in a Grid Computing Facility
• To submit the TIMES model to a Grid Computing Facility, we must call GAMS as follows (Linux example)
gams times_demo_co2.run idir=../times filecase=2 s=submit gdir=grid
• During the submission three folders are created
under folder grid, holding the solutions of the 3
scenarios; the names of the folders correspond
to the handles of the scenarios
• During the solving, in each subfolder in the grid
directory the execution scripts generated
automatically from GAMS and also theb model matrix
and solution of each scenario are kept
Running TIMES in a Grid Computing Facility
• In the first iteration of the loop, GAMS submits scen1, and assigns a handle to it which has the same name as
the corresponding folder in the grid directory
When scen1 is running in CPU1, GAMS submits scen2 in CPU2
Scen1 is at
iteration 15 of
CPLEX/Barrier,
by the time
when scen2 is
submitted
When the
generation of
the model
matrix of
scen2 is
finished, scen1
is already at
iteration 20
Collection of the results from the GRID
• We implement a GAMS source file, similar to the report main driver file of TIMES
• It takes as a call parameter %gams.user1% the name of the scenario
scalar h handle of each scenario;
h:=handlecollect(handle("%gams.user1%"));
%MODEL_NAME%.handle=HANDLE("%gams.user1%");
execute_loadhandle %MODEL_NAME%;
*-----------------------------------------------------------------------------
* produce the reports (THIS CODE IS THE SAME AS IN THE REPORT GENERATOR IN TIMES)
*-----------------------------------------------------------------------------
$ LABEL REPORT
$ BATINCLUDE rptmain. %gams.user2% %gams.user2% NO_EMTY
$ IF NOT %TIMESED%==0
$ IF NOT %TIMESED%==YES $BATINCLUDE wrtbprice.mod
$ IF SET SPOINT $BATINCLUDE spoint. %gams.user2% 0
*-----------------------------------------------------------------------------
* do an check on compile/execute errors from reports
*-----------------------------------------------------------------------------
$ BATINCLUDE err_stat.mod '$IF NOT ERRORFREE' ABORT '*** ERRORS IN GAMS COMPILE ***'
$ BATINCLUDE err_stat.mod ABORT EXECERROR '*** ERRORS IN GAMS EXECUTION ***'
*-----------------------------------------------------------------------------
* dump to the gdx file for VEDA_BE
execute_unload "gamssave/%gams.user1%.gdx";
The collection loop can also be implemented into
TIMES without changing the reporting routines, but
would require some design considerations that were
not pursued at this stage.
Collecting the results for processing in VEDA-BE
• We call the previous script to collect the solution from the grid subdirectory corresponding to the scenario we
want to process in VEDA-BE; this would generate the .gdx file with the solution
gams gc_report.gms idir=..times r=submit gdir=grid filecase=2 user2=mod user1=scen1
• The .gdx files of the scenarios can then be transferred to Windows for processing with VEDA-BE by using the
gdx2veda utility
Linux collection of the .gdx files with the solutions of the 3 scenarios Windows VEDA-BE
Conclusions
• TIMES could be turned into a cross-platform modelling framework with minor code
modification
• Single-CPU solution times seems to be 20 – 50% less in Linux than in Windows (depends on
the model size/structure needs further tests)
• Running multiple independent scenarios can be done either by:
• Manually generating and solving the scenarios through user-defined scripts
• Making use the advanced GAMS language features for Grid Computing (needs modification of the TIMES
source code)
• Using multiple nodes for running multiple scenarios results in optimum distribution of
computation load (maximum use of resources, minimum solution time)
Conclusions
• Suggestions from this report regarding the transferring of TIMES in Linux would be
implemented in the next release of TIMES source code (Antti kindly offered to do this)
• Better integration of grid computing and mutli-trheading features into TIMES could be
considered and implemented if there is a general interest (in coordination with Antti, Amit
and everyone else who is interested in this facility)
• What is next? Exploring smart decompositions of a TIMES-based model such that to exploit
multiple CPU cores for a single scenario run
• Benefiting from the BEAM-ME project (PSI and UCC are in the advisory board)
• Using new GAMS language features regarding model annotation for facilitating decomposition
Thank you for your attention
Our thanks go to:
Gary Goldstein
Antti Lehtilä
Maurizio Gargiulio
Joseph DeCarolis, Sonia Yeh
.. and to many others who tried in the past to run TIMES under Linux
and are not visible to the rest of the TIMES community

Weitere ähnliche Inhalte

Was ist angesagt?

Disk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVMDisk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVMnknytk
 
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...ScyllaDB
 
QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?Pradeep Kumar
 
How Netflix Tunes EC2 Instances for Performance
How Netflix Tunes EC2 Instances for PerformanceHow Netflix Tunes EC2 Instances for Performance
How Netflix Tunes EC2 Instances for PerformanceBrendan Gregg
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellAMD Developer Central
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntuSim Janghoon
 
OpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseOpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseAvishay Traeger
 
Extreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 Instance
Extreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 InstanceExtreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 Instance
Extreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 InstanceScyllaDB
 
Kdump-FUDcon-2015-Session
Kdump-FUDcon-2015-SessionKdump-FUDcon-2015-Session
Kdump-FUDcon-2015-SessionBuland Singh
 
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, AmazonXPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, AmazonThe Linux Foundation
 
KVM Tuning @ eBay
KVM Tuning @ eBayKVM Tuning @ eBay
KVM Tuning @ eBayXu Jiang
 
Virtunoid: Breaking out of KVM
Virtunoid: Breaking out of KVMVirtunoid: Breaking out of KVM
Virtunoid: Breaking out of KVMNelson Elhage
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOpenStack Foundation
 
Get Lower Latency and Higher Throughput for Java Applications
Get Lower Latency and Higher Throughput for Java ApplicationsGet Lower Latency and Higher Throughput for Java Applications
Get Lower Latency and Higher Throughput for Java ApplicationsScyllaDB
 
Performance Tuning a Cloud Application: A Real World Case Study
Performance Tuning a Cloud Application: A Real World Case StudyPerformance Tuning a Cloud Application: A Real World Case Study
Performance Tuning a Cloud Application: A Real World Case Studyshane_gibson
 
Cinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit AustinCinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit AustinEd Balduf
 
Porting Xen Paravirtualization to MIPS Architecture
Porting Xen Paravirtualization to MIPS ArchitecturePorting Xen Paravirtualization to MIPS Architecture
Porting Xen Paravirtualization to MIPS ArchitectureThe Linux Foundation
 
XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.
XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.
XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.The Linux Foundation
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitDon Marti
 

Was ist angesagt? (20)

Disk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVMDisk Performance Comparison Xen v.s. KVM
Disk Performance Comparison Xen v.s. KVM
 
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...
 
QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?
 
How Netflix Tunes EC2 Instances for Performance
How Netflix Tunes EC2 Instances for PerformanceHow Netflix Tunes EC2 Instances for Performance
How Netflix Tunes EC2 Instances for Performance
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntu
 
OpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseOpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana Release
 
Extreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 Instance
Extreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 InstanceExtreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 Instance
Extreme HTTP Performance Tuning: 1.2M API req/s on a 4 vCPU EC2 Instance
 
Kdump-FUDcon-2015-Session
Kdump-FUDcon-2015-SessionKdump-FUDcon-2015-Session
Kdump-FUDcon-2015-Session
 
Xenalyze
XenalyzeXenalyze
Xenalyze
 
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, AmazonXPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
 
KVM Tuning @ eBay
KVM Tuning @ eBayKVM Tuning @ eBay
KVM Tuning @ eBay
 
Virtunoid: Breaking out of KVM
Virtunoid: Breaking out of KVMVirtunoid: Breaking out of KVM
Virtunoid: Breaking out of KVM
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMU
 
Get Lower Latency and Higher Throughput for Java Applications
Get Lower Latency and Higher Throughput for Java ApplicationsGet Lower Latency and Higher Throughput for Java Applications
Get Lower Latency and Higher Throughput for Java Applications
 
Performance Tuning a Cloud Application: A Real World Case Study
Performance Tuning a Cloud Application: A Real World Case StudyPerformance Tuning a Cloud Application: A Real World Case Study
Performance Tuning a Cloud Application: A Real World Case Study
 
Cinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit AustinCinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit Austin
 
Porting Xen Paravirtualization to MIPS Architecture
Porting Xen Paravirtualization to MIPS ArchitecturePorting Xen Paravirtualization to MIPS Architecture
Porting Xen Paravirtualization to MIPS Architecture
 
XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.
XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.
XPDDS18: Real Time in XEN on ARM - Andrii Anisov, EPAM Systems Inc.
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration Summit
 

Ähnlich wie Enhancing and Preparing TIMES for High Performance Computing

Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesAmazon Web Services
 
Deep Dive on Amazon EC2 Instances (March 2017)
Deep Dive on Amazon EC2 Instances (March 2017)Deep Dive on Amazon EC2 Instances (March 2017)
Deep Dive on Amazon EC2 Instances (March 2017)Julien SIMON
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...Amazon Web Services
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...Amazon Web Services
 
Prosit google-cloud
Prosit google-cloudProsit google-cloud
Prosit google-cloudUC Davis
 
Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005dflexer
 
Phil Basford - machine learning at scale with aws sage maker
Phil Basford - machine learning at scale with aws sage makerPhil Basford - machine learning at scale with aws sage maker
Phil Basford - machine learning at scale with aws sage makerAWSCOMSUM
 
Machine learning at scale with aws sage maker
Machine learning at scale with aws sage makerMachine learning at scale with aws sage maker
Machine learning at scale with aws sage makerPhilipBasford
 
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...Codemotion
 
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...Codemotion
 
Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...
Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...
Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...Qualcomm Developer Network
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For DevelopmentLaura Frank Tacho
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...Amazon Web Services
 
Windows containers troubleshooting
Windows containers troubleshootingWindows containers troubleshooting
Windows containers troubleshootingAlexey Bokov
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Ben Hall
 
Introction to docker swarm
Introction to docker swarmIntroction to docker swarm
Introction to docker swarmHsi-Kai Wang
 
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSPutting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSLightbend
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...DataStax Academy
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsJulien Anguenot
 

Ähnlich wie Enhancing and Preparing TIMES for High Performance Computing (20)

Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instances
 
Deep Dive on Amazon EC2 Instances (March 2017)
Deep Dive on Amazon EC2 Instances (March 2017)Deep Dive on Amazon EC2 Instances (March 2017)
Deep Dive on Amazon EC2 Instances (March 2017)
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
 
Prosit google-cloud
Prosit google-cloudProsit google-cloud
Prosit google-cloud
 
Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005
 
Phil Basford - machine learning at scale with aws sage maker
Phil Basford - machine learning at scale with aws sage makerPhil Basford - machine learning at scale with aws sage maker
Phil Basford - machine learning at scale with aws sage maker
 
Machine learning at scale with aws sage maker
Machine learning at scale with aws sage makerMachine learning at scale with aws sage maker
Machine learning at scale with aws sage maker
 
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
 
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
Jörg Schad - Hybrid Cloud (Kubernetes, Spark, HDFS, …)-as-a-Service - Codemot...
 
Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...
Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...
Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
 
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
SRV402 Deep Dive on Amazon EC2 Instances, Featuring Performance Optimization ...
 
RISC V in Spacer
RISC V in SpacerRISC V in Spacer
RISC V in Spacer
 
Windows containers troubleshooting
Windows containers troubleshootingWindows containers troubleshooting
Windows containers troubleshooting
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016
 
Introction to docker swarm
Introction to docker swarmIntroction to docker swarm
Introction to docker swarm
 
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSPutting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
 

Mehr von IEA-ETSAP

Variable Renewable Energy in China's Transition
Variable Renewable Energy in China's TransitionVariable Renewable Energy in China's Transition
Variable Renewable Energy in China's TransitionIEA-ETSAP
 
The Nordics as a hub for green electricity and fuels
The Nordics as a hub for green electricity and fuelsThe Nordics as a hub for green electricity and fuels
The Nordics as a hub for green electricity and fuelsIEA-ETSAP
 
The role of Norwegian offshore wind in the energy system transition
The role of Norwegian offshore wind in the energy system transitionThe role of Norwegian offshore wind in the energy system transition
The role of Norwegian offshore wind in the energy system transitionIEA-ETSAP
 
Detail representation of molecule flows and chemical sector in TIMES-BE: prog...
Detail representation of molecule flows and chemical sector in TIMES-BE: prog...Detail representation of molecule flows and chemical sector in TIMES-BE: prog...
Detail representation of molecule flows and chemical sector in TIMES-BE: prog...IEA-ETSAP
 
Green hydrogen trade from North Africa to Europe: optional long-term scenario...
Green hydrogen trade from North Africa to Europe: optional long-term scenario...Green hydrogen trade from North Africa to Europe: optional long-term scenario...
Green hydrogen trade from North Africa to Europe: optional long-term scenario...IEA-ETSAP
 
Optimal development of the Canadian forest sector for both climate change mit...
Optimal development of the Canadian forest sector for both climate change mit...Optimal development of the Canadian forest sector for both climate change mit...
Optimal development of the Canadian forest sector for both climate change mit...IEA-ETSAP
 
Presentation on IEA Net Zero Pathways/Roadmap
Presentation on IEA Net Zero Pathways/RoadmapPresentation on IEA Net Zero Pathways/Roadmap
Presentation on IEA Net Zero Pathways/RoadmapIEA-ETSAP
 
Flexibility with renewable(low-carbon) hydrogen
Flexibility with renewable(low-carbon) hydrogenFlexibility with renewable(low-carbon) hydrogen
Flexibility with renewable(low-carbon) hydrogenIEA-ETSAP
 
Bioenergy in energy system models with flexibility
Bioenergy in energy system models with flexibilityBioenergy in energy system models with flexibility
Bioenergy in energy system models with flexibilityIEA-ETSAP
 
Reframing flexibility beyond power - IEA Bioenergy TCP
Reframing flexibility beyond power - IEA Bioenergy TCPReframing flexibility beyond power - IEA Bioenergy TCP
Reframing flexibility beyond power - IEA Bioenergy TCPIEA-ETSAP
 
Decarbonization of heating in the buildings sector: efficiency first vs low-c...
Decarbonization of heating in the buildings sector: efficiency first vs low-c...Decarbonization of heating in the buildings sector: efficiency first vs low-c...
Decarbonization of heating in the buildings sector: efficiency first vs low-c...IEA-ETSAP
 
The Regionalization Tool: spatial representation of TIMES-BE output data in i...
The Regionalization Tool: spatial representation of TIMES-BE output data in i...The Regionalization Tool: spatial representation of TIMES-BE output data in i...
The Regionalization Tool: spatial representation of TIMES-BE output data in i...IEA-ETSAP
 
Synthetic methane production prospective modelling up to 2050 in the European...
Synthetic methane production prospective modelling up to 2050 in the European...Synthetic methane production prospective modelling up to 2050 in the European...
Synthetic methane production prospective modelling up to 2050 in the European...IEA-ETSAP
 
Energy Transition in global Aviation - ETSAP Workshop Turin
Energy Transition in global Aviation - ETSAP Workshop TurinEnergy Transition in global Aviation - ETSAP Workshop Turin
Energy Transition in global Aviation - ETSAP Workshop TurinIEA-ETSAP
 
Integrated Energy and Climate plans: approaches, practices and experiences
Integrated Energy and Climate plans: approaches, practices and experiencesIntegrated Energy and Climate plans: approaches, practices and experiences
Integrated Energy and Climate plans: approaches, practices and experiencesIEA-ETSAP
 
Updates on Veda provided by Amit Kanudia from KanORS-EMR
Updates on Veda provided by Amit Kanudia from KanORS-EMRUpdates on Veda provided by Amit Kanudia from KanORS-EMR
Updates on Veda provided by Amit Kanudia from KanORS-EMRIEA-ETSAP
 
Energy system modeling activities in the MAHTEP Group
Energy system modeling activities in the MAHTEP GroupEnergy system modeling activities in the MAHTEP Group
Energy system modeling activities in the MAHTEP GroupIEA-ETSAP
 
Applying science fiction to approach the future
Applying science fiction to approach the futureApplying science fiction to approach the future
Applying science fiction to approach the futureIEA-ETSAP
 
Will it leak?: Discussions of leakage risk from subsurface storage of carbon ...
Will it leak?: Discussions of leakage risk from subsurface storage of carbon ...Will it leak?: Discussions of leakage risk from subsurface storage of carbon ...
Will it leak?: Discussions of leakage risk from subsurface storage of carbon ...IEA-ETSAP
 
Long-Term Decarbonization Pathways In Emerging Economies: Insights From 12 Mo...
Long-Term Decarbonization Pathways In Emerging Economies: Insights From 12 Mo...Long-Term Decarbonization Pathways In Emerging Economies: Insights From 12 Mo...
Long-Term Decarbonization Pathways In Emerging Economies: Insights From 12 Mo...IEA-ETSAP
 

Mehr von IEA-ETSAP (20)

Variable Renewable Energy in China's Transition
Variable Renewable Energy in China's TransitionVariable Renewable Energy in China's Transition
Variable Renewable Energy in China's Transition
 
The Nordics as a hub for green electricity and fuels
The Nordics as a hub for green electricity and fuelsThe Nordics as a hub for green electricity and fuels
The Nordics as a hub for green electricity and fuels
 
The role of Norwegian offshore wind in the energy system transition
The role of Norwegian offshore wind in the energy system transitionThe role of Norwegian offshore wind in the energy system transition
The role of Norwegian offshore wind in the energy system transition
 
Detail representation of molecule flows and chemical sector in TIMES-BE: prog...
Detail representation of molecule flows and chemical sector in TIMES-BE: prog...Detail representation of molecule flows and chemical sector in TIMES-BE: prog...
Detail representation of molecule flows and chemical sector in TIMES-BE: prog...
 
Green hydrogen trade from North Africa to Europe: optional long-term scenario...
Green hydrogen trade from North Africa to Europe: optional long-term scenario...Green hydrogen trade from North Africa to Europe: optional long-term scenario...
Green hydrogen trade from North Africa to Europe: optional long-term scenario...
 
Optimal development of the Canadian forest sector for both climate change mit...
Optimal development of the Canadian forest sector for both climate change mit...Optimal development of the Canadian forest sector for both climate change mit...
Optimal development of the Canadian forest sector for both climate change mit...
 
Presentation on IEA Net Zero Pathways/Roadmap
Presentation on IEA Net Zero Pathways/RoadmapPresentation on IEA Net Zero Pathways/Roadmap
Presentation on IEA Net Zero Pathways/Roadmap
 
Flexibility with renewable(low-carbon) hydrogen
Flexibility with renewable(low-carbon) hydrogenFlexibility with renewable(low-carbon) hydrogen
Flexibility with renewable(low-carbon) hydrogen
 
Bioenergy in energy system models with flexibility
Bioenergy in energy system models with flexibilityBioenergy in energy system models with flexibility
Bioenergy in energy system models with flexibility
 
Reframing flexibility beyond power - IEA Bioenergy TCP
Reframing flexibility beyond power - IEA Bioenergy TCPReframing flexibility beyond power - IEA Bioenergy TCP
Reframing flexibility beyond power - IEA Bioenergy TCP
 
Decarbonization of heating in the buildings sector: efficiency first vs low-c...
Decarbonization of heating in the buildings sector: efficiency first vs low-c...Decarbonization of heating in the buildings sector: efficiency first vs low-c...
Decarbonization of heating in the buildings sector: efficiency first vs low-c...
 
The Regionalization Tool: spatial representation of TIMES-BE output data in i...
The Regionalization Tool: spatial representation of TIMES-BE output data in i...The Regionalization Tool: spatial representation of TIMES-BE output data in i...
The Regionalization Tool: spatial representation of TIMES-BE output data in i...
 
Synthetic methane production prospective modelling up to 2050 in the European...
Synthetic methane production prospective modelling up to 2050 in the European...Synthetic methane production prospective modelling up to 2050 in the European...
Synthetic methane production prospective modelling up to 2050 in the European...
 
Energy Transition in global Aviation - ETSAP Workshop Turin
Energy Transition in global Aviation - ETSAP Workshop TurinEnergy Transition in global Aviation - ETSAP Workshop Turin
Energy Transition in global Aviation - ETSAP Workshop Turin
 
Integrated Energy and Climate plans: approaches, practices and experiences
Integrated Energy and Climate plans: approaches, practices and experiencesIntegrated Energy and Climate plans: approaches, practices and experiences
Integrated Energy and Climate plans: approaches, practices and experiences
 
Updates on Veda provided by Amit Kanudia from KanORS-EMR
Updates on Veda provided by Amit Kanudia from KanORS-EMRUpdates on Veda provided by Amit Kanudia from KanORS-EMR
Updates on Veda provided by Amit Kanudia from KanORS-EMR
 
Energy system modeling activities in the MAHTEP Group
Energy system modeling activities in the MAHTEP GroupEnergy system modeling activities in the MAHTEP Group
Energy system modeling activities in the MAHTEP Group
 
Applying science fiction to approach the future
Applying science fiction to approach the futureApplying science fiction to approach the future
Applying science fiction to approach the future
 
Will it leak?: Discussions of leakage risk from subsurface storage of carbon ...
Will it leak?: Discussions of leakage risk from subsurface storage of carbon ...Will it leak?: Discussions of leakage risk from subsurface storage of carbon ...
Will it leak?: Discussions of leakage risk from subsurface storage of carbon ...
 
Long-Term Decarbonization Pathways In Emerging Economies: Insights From 12 Mo...
Long-Term Decarbonization Pathways In Emerging Economies: Insights From 12 Mo...Long-Term Decarbonization Pathways In Emerging Economies: Insights From 12 Mo...
Long-Term Decarbonization Pathways In Emerging Economies: Insights From 12 Mo...
 

Kürzlich hochgeladen

VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxMohammedJunaid861692
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiSuhani Kapoor
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 

Kürzlich hochgeladen (20)

VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 

Enhancing and Preparing TIMES for High Performance Computing

  • 1. Enhancing and preparing TIMES for High Performance Computing Evangelos Panos, Tarun Sharma (Status report on ETSAP funded project) 72nd ETSAP-MEETING | 11th Dec 2017, ETH Zurich, Switzerland
  • 2. Contents • Premise • Transferring TIMES on LINUX: modifications needed • Application of TIMES on LINUX by running single/batch jobs of scenarios • Running multiple independent scenarios with TIMES on LINUX • By manually creating scripts controlling the execution and result collection • By modifying the TIMES code using the Grid Computing Features of GAMS
  • 3. Premise Constraint matrix sizes for different TIMES-based models • Solution time on a typical workstation: • Irish TIMES: 11 minutes • ETSAP TIAM: 1.3 hours • JRC EU TIMES: 4.2 hours • SWISS TIMES: 2 hours • Uncertainty analysis part of the best practice (DeCarolis, Daly et al. 2017). • High Performance Computing (HPC): Aggregating computing power to deliver better performance while solving large problems. • Most of these systems run on LINUX.
  • 4. • Transferring TIMES-based models to Linux • Code is compatible with minor changes • Running TIMES models on GAMS Linux installation • Scripts for running batches of model instances • Transferring results from Linux to Windows for post processing with VEDA_BE • .gdx files are compatible between the platforms and data transfer can be easily established • Scripts for converting batches of GDX files to VEDA_BE files TIMES on LINUX: single scenario
  • 5. • Making GAMS and CPLEX/Barrier to run on specific CPU cores • Simultaneously running model instances on selected CPU cores • This can be done either manually by the user or automated using the GAMS Grid computing features • When the user manually generates and runs model instances on selected CPU cores: • Must generate the *.dd files for every model instance in VEDA-FE • Must write OS-dependent scripts to run the scenario and assign CPU cores to each scenario • Must write OS-dependent scripts to check if a scenario has finished and collect its solution • When using the Grid Features Facility of GAMS then the user: • Must only write a GAMS solve loop, in each iteration of which a scenario is solved • GAMS undertakes the assignment to CPUs (it can be also controlled by the user if desired) • GAMS undertakes the polling to check if a scenario is ready and collects the results TIMES on LINUX: multiple independent scenarios
  • 6. Transferring TIMES based model to Linux Contents of the ETSAP Project Report 1. Setting up a Linux computer ...................................................................................................... 4 1.1. Some basic Linux commands ............................................................................................. 6 1.2. Terminal and File Manager ................................................................................................ 6 2. Installing Gams on Linux........................................................................................................... 6 3. Transferring a TIMES-based model to Linux ............................................................................. 9 4. Running a TIMES model on Linux .......................................................................................... 12 5. Transferring results from Linux to Windows for Post-processing with VEDA_BE ................... 13 6. Scripts ..................................................................................................................................... 14 6.1. Running a TIMES scenario in Linux ................................................................................ 14 6.2. Batch job with multiple scenarios in Linux....................................................................... 15 6.3. Batch job for creating VEDA_BE files in Windows ......................................................... 15 7. Troubleshooting a TIMES run in Linux.................................................................................... 16 7.1. GAMS Error: Scratch directory does not exist .................................................................. 17 7.2. Gams Error: Unable to open input file .............................................................................. 17 7.3. Linux error: File permission error..................................................................................... 17
  • 7. Transferring TIMES based model to Linux Contents of the ETSAP Project Report 8. Preparing TIMES for High Performance Computing................................................................ 20 8.1. Multiple parallel scenarios in TIMES using user-defined scripts that are assigned to multiple CPUs ………………………………………………………………………………………………21 8.1.1. Making GAMS and CPLEX/Barrier to run in specific CPU(s) .................................. 21 8.1.2. Run multiple independent scenarios in parallel ......................................................... 23 8.2. Multiple parallel scenarios in TIMES using the GAMS grid features ................................ 23 8.2.1. Introduction to Grid Computing by using the GAMS language ................................. 24 8.2.2. A simple illustrative example of Grid Computing using GAMS language features .... 25 8.2.3. Equipping TIMES with grid computing features ....................................................... 34 8.2.4. Writing a GAMS file for a TIMES-based model to query the status of the submitted jobs to the grid ................................................................................................................................ 41 8.2.5. Writing a collection script for TIMES....................................................................... 42 8.2.6. Executing TIMES using the GAMS Grid Computing Features.................................. 44 8.3. Issues for further investigation regarding running TIMES over a Grid of CPUs ................ 50
  • 8. Transferring TIMES to LINUX and running a single or a batch job of scenarios
  • 9. Cross platform compatibility of TIMES source code 1. Linux OS is case sensitive thus all filenames should be either lowercase or uppercase 2.Run file generated by Veda should be named in lowercase 3.Three major changes are required to the source code: • calling GAMS with the call option FILECASE=2  this enforces lowercase filenames • converting all the model names in TIMES code to lowercase, “times” and “times_macro”, to ensure compatibility with the FILECASE=2 option, when producing the .gdx solution files • replacing all system calls from GAMS in the TIMES code from MS-DOS commands to POSIX (Portable Operating System Interface ) commands that operate both under Windows and Linux
  • 10. Cross platform compatibility of TIMES source code  3 major changes are required Sl No. File name Current TIMES code (v400) Modification needed for Linux 1 *.run $ SET MODEL_NAME ‘TIMES’ $ SET MODEL_NAME ‘times’ 2 maindrv.mod $ IF '%MACRO%' == YES $SET MODEL_NAME 'TIMES_MACRO' SET TIMESED '0' SETLOCAL SRC tm $ IF '%MACRO%' == YES $SET MODEL_NAME 'times_macro' SET TIMESED '0' SETLOCAL SRC tm 3 eqlducs.vda $ if exist cplex.opt execute "copy /Y cplex.opt+indic.txt cplex.op2 > nul"; $ if exist xpress.opt execute "copy /Y xpress.opt+indic.txt xpress.op2 > nul"; $ if exist cplex.opt execute "cat cplex.opt indic.txt > cplex.op2"; $ if exist xpress.opt execute "cat xpress.opt indic.txt > xpress.op2";
  • 11. Verification of execution • the .dd files from Windows generated with VEDA-FE should be transferred to Linux prior execution • GAMS call requires the paths to the TIMES source files and the .dd files of the scenario run • Calling GAMS to solve a TIMES instance test.run in Linux from the gams_wrktimes directory, in a Linux terminal window: • gams test.run idir=…/gams_srctimesv400 filecase=2 gdx=gamssave/test.gdx Post processing of the result file .gdx to VEDA-BE • When the run completes, the generated test.gdx file in Linux is compatible in Windows • It can be transferred to Windows and processed with the ‘gdx2veda’ utility to generate the .vd* files required for post-processing with VEDA-BE (the gdx2veda comes with the GAMS installation) • Calling gdx2veda to generate the .vd* files for VEDA-BE in the command prompt in Windows • gdx2veda test.gdx C:VEDAVEDA_FEGAMS_SrcTIMESv400times2veda.vdd test
  • 12. Script in Linux for running a scenario Running the script from Linux terminal: etsap-user@etsap- user:~/gams_wrktimes$./run.sh test # set the path to times source file times =$HOME/gams_srctimesv400 # set the path to model data definition files ddfiles=$HOME/gams_wrktimes # execute gams to run the model gams $1.run idir=$times:$ddfiles filecase=2 gdx=$ddfiles/gamssave/$1.gdx Script name: run.sh • Why we need a script? • to encapsulate into it the paths to the source code and to the input files • to encapsulate all gams options required to run TIMES and obtain the .gdx file with the results • Thus, we create a script in Linux similar to the VTRUN.cmd script generated by VEDA-FE when running under Windows
  • 13. Script for executing a batch of scenarios Script for processing a batch of gdx to veda Running the script from Linux terminal to solve 3 scenarios in a batch: etsap-user@etsap-user:~/gams_wrktimes$./batch_exo.sh “test1 test2 test3” for s in $1 do ./run.sh $s done Script name: batch_exo.sh for %%s in (%*) do ( gdx2veda %%s.gdx C:VedaVEDA_FEGams_srcTIMESv400times2veda.vdd %%s ) Script name: batch_linux2veda.cmd Running the script from Windows command prompt to collect the results from 3 scenarios ran in Linux: C:UsersetsapDesktoplinux2veda> batch_linux2veda test1 test2 test3
  • 14. Single CPU Linux vs Windows performance • Initial tests in a typical desktop with 1 CPU with 8 logical cores, with Linux installed as a guest OS over Windows • Performance gain in Linux over Windows: Swiss TIMES model 20%, Irish TIMES model 50% • The improvement in performance seems to depend on the model size (needs further investigation) Swiss TIMES solution time in Windows : 126 minutes Swiss TIMES solution time in Linux: 100 minutes
  • 15. Running multiple independent scenarios on Linux on different CPU cores by manually creating execution and result collection scripts  all the required input files *.dd should have been created in advance in VEDA_FE
  • 16. Script to run scenarios on a set of specific cores Running the script from Linux terminal: etsap-user@etsap- user:~/gams_wrktimes$./p_run.sh test 3 #!/bin/bash # set the path to times source file times =$HOME/gams_srctimesv400 # set the path to model data definition files ddfiles=$HOME/gams_wrktimes # execute gams to run the model taskset $2 gams $1.run idir=$times:$ddfiles filecase=2 gdx=$ddfiles/gamssave/$1.gdx Script name: p_run.sh CPU core (CPU core Index) 12 (11) 11 (10) 10 (9) 9 (8) 8 (7) 7 (6) 6 (5) 5 (4) 4 (3) 3 (2) 2 (1) 1 (0) Decimal representation (CPU indices that are used in the run as exponents) Second argument to the script: hexadecimal representation 0 0 0 0 0 0 0 0 1 1 1 1 2^3 + 2^2 + 2^1 + 2^0 =15 f 0 0 0 0 1 1 1 1 0 0 0 0 2^7 + 2^6 + 2^5 + 2^4 =240 f0 1 1 1 1 0 0 0 0 0 0 0 0 2^11 + 2^10 + 2^9 + 2^8 =3840 f00 Second argument to the script: Indexing CPU cores for taskset • First argument $1: scenario to run • Second argument $2: index for CPU group on which solver runs
  • 17. Execution of a scenario on one core Second argument determines the cores available to CPLEX/Barrier algorithm for parallelization in the linear algebra, i.e., 1 for this illustration.
  • 18. Execution of a scenario on two cores Second argument determines the cores available to CPLEX/Barrier algorithm for parallelization in the linear algebra, i.e., 2 (number 1 and 2) for this illustration.
  • 19. TIMES for High-Performance computing: Application • TIMES on FIONN at Irish Centre for High Performance Computing • Scripts for simultaneous execution of multiple scenario batches, i.e., 1000 scenarios (5 batches of 200 scenarios each) solved in 3 hours • Work flow optimization • Experiments: • Solution time vs number of cores assigned • 48 virtual cores per node of FIONN • Such results + further investigation • Optimal distribution of compute load • Maximum utilization of computing resources • Minimization of solution time 0 1 2 3 4 5 0 5000 10000 15000 20000 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 timeinhours timeinseconds Number of virtual cores JRC EU TIMES TIAM 2D scenario
  • 20. Running multiple independent scenarios on Linux on different CPU cores by using the GRID COMPUTING language features of GAMS  this is an exploration of the feasibility and not a proposed design  better integration in TIMES could be designed and implemented in a separate project and after coordination with Antti, Amit and every one else who is interested in it
  • 21. What is Grid Computing • It combines computers from multiple administrative domains • It is a form of distributed computing • A “super virtual computer” is composed of many networked loosely coupled computers to achieve a goal • There is a submitting-system where the user creates a large task • The task is partitioned into smaller tasks • These smaller tasks are solved from the computers in the grid • Advantages: Saves money, Increases efficiency, Solves problems • Disadvantages: Requires unique software, Computers can drop-off https://www.electronicproducts.com/Computer_Systems/Servers/Cloud_computing_vs_grid_computing.aspx
  • 22. • It enables users to employ resources from any web-connected device • Cloud computing provides 3 main services: • Infrastructure (IaaS): virtual server for storage • Platform (PaaS): software to create applications • Software (SaaS): infrastructure and products • Advantages: saves money, high performance, easy to use • Disadvantages: security and privacy What is Cloud Computing https://www.electronicproducts.com/Computer_Systems/Servers/Cloud_computing_vs_grid_computing.aspx
  • 23. What is the difference between Grid Computing and Cloud Computing • Cloud computing and grid computing have similar goals • With grid computing: • the user assigns one large task that gets divided into several smaller portions and implemented on different machines • With cloud computing: • the user enjoys a host of readily available web-based services (without investing in any underlying architecture); the services can be combined to provide homogenous and optimised experience
  • 24. Exploring Grid Computing with TIMES • GAMS normally operates at a synchronous mode, and waits until the solver terminates • When independent model solutions are required, then an asynchronous mode is an option to increase performance • GAMS provides the asynchronous solving, via the Grid Computing and Multi-threading features • We need the following loops in the GAMS code: • Submission Loop: in this phase we will generate and submit models for solutions that can be solved independently • Inquiry Loop: in this phase we will check which solutions have been finished • Collection Loop: in this phase the previously submitted models are collected as soon as a solution is available • This implies that the scenarios of a TIMES-based model are solved via a GAMS-loop instead of using separate script files one for each scenario
  • 25. An exploratory implementation in TIMES (1) • In the .run template file we create a GAMS set with the names of the scenarios we want to solve: SET GRID_SCENARIOS /scen1, scen2, scen3/; • In the .run template file we declare a parameter to hold the handle (i.e. the ID) of each submitted scenario: PARAMETER HANDLE(GRID_SCENARIOS) store the instance handle; • In the solve.mod file we make GAMS aware that the TIMES model will solve in an Asynchronous mode: %MODEL_NAME%.solvelink = %solvelink.AsyncGrid%; • In the solve.mod file we include a loop over the scenarios; in each iteration we update the required TIMES parameter(s) and then we submit the scenario to GAMS to be solved
  • 26. The submission loop in a Grid Computing Facility • In each iteration we update the required TIMES parameter, then we submit the scenario to GAMS and we keep its handle (the internal ID) for identifying this scenario in the collection phase * turn on the grid option %MODEL_NAME%.solvelink = %solvelink.AsyncGrid%; LOOP(GRID_SCENARIOS, * update model actual parameters with scenario data (here the CO2 tax) OBJ_COMNT(R,DATAYEAR,C,S,'TAX',CUR)$ GS_COM_TAXNET (GRID_SCENARIOS, R, DATAYEAR, C, S, CUR) = GS_COM_TAXNET (GRID_SCENARIOS, R, DATAYEAR, C, S, CUR); * solve the model SOLVE %MODEL_NAME% MINIMIZING objZ USING %METHOD%; * keep the handle of the job for future reference HANDLE(GRID_SCENARIOS)=%MODEL_NAME%.handle; ); In this exploratory implementation, we additionally defined the input parameter over the scenario dimension and then we had to update an internal parameter of TIMES, i.e. this parameter is not visible to the user via the VEDA_FE More elegant designs and better integration into TIMES could be explored, if the grid computing features are of interest in ETSAP community, in coordination with Antti, Amit and every one else who is interested in it
  • 27. Running TIMES in a Grid Computing Facility • To submit the TIMES model to a Grid Computing Facility, we must call GAMS as follows (Linux example) gams times_demo_co2.run idir=../times filecase=2 s=submit gdir=grid • During the submission three folders are created under folder grid, holding the solutions of the 3 scenarios; the names of the folders correspond to the handles of the scenarios • During the solving, in each subfolder in the grid directory the execution scripts generated automatically from GAMS and also theb model matrix and solution of each scenario are kept
  • 28. Running TIMES in a Grid Computing Facility • In the first iteration of the loop, GAMS submits scen1, and assigns a handle to it which has the same name as the corresponding folder in the grid directory
  • 29. When scen1 is running in CPU1, GAMS submits scen2 in CPU2 Scen1 is at iteration 15 of CPLEX/Barrier, by the time when scen2 is submitted When the generation of the model matrix of scen2 is finished, scen1 is already at iteration 20
  • 30. Collection of the results from the GRID • We implement a GAMS source file, similar to the report main driver file of TIMES • It takes as a call parameter %gams.user1% the name of the scenario scalar h handle of each scenario; h:=handlecollect(handle("%gams.user1%")); %MODEL_NAME%.handle=HANDLE("%gams.user1%"); execute_loadhandle %MODEL_NAME%; *----------------------------------------------------------------------------- * produce the reports (THIS CODE IS THE SAME AS IN THE REPORT GENERATOR IN TIMES) *----------------------------------------------------------------------------- $ LABEL REPORT $ BATINCLUDE rptmain. %gams.user2% %gams.user2% NO_EMTY $ IF NOT %TIMESED%==0 $ IF NOT %TIMESED%==YES $BATINCLUDE wrtbprice.mod $ IF SET SPOINT $BATINCLUDE spoint. %gams.user2% 0 *----------------------------------------------------------------------------- * do an check on compile/execute errors from reports *----------------------------------------------------------------------------- $ BATINCLUDE err_stat.mod '$IF NOT ERRORFREE' ABORT '*** ERRORS IN GAMS COMPILE ***' $ BATINCLUDE err_stat.mod ABORT EXECERROR '*** ERRORS IN GAMS EXECUTION ***' *----------------------------------------------------------------------------- * dump to the gdx file for VEDA_BE execute_unload "gamssave/%gams.user1%.gdx"; The collection loop can also be implemented into TIMES without changing the reporting routines, but would require some design considerations that were not pursued at this stage.
  • 31. Collecting the results for processing in VEDA-BE • We call the previous script to collect the solution from the grid subdirectory corresponding to the scenario we want to process in VEDA-BE; this would generate the .gdx file with the solution gams gc_report.gms idir=..times r=submit gdir=grid filecase=2 user2=mod user1=scen1 • The .gdx files of the scenarios can then be transferred to Windows for processing with VEDA-BE by using the gdx2veda utility Linux collection of the .gdx files with the solutions of the 3 scenarios Windows VEDA-BE
  • 32. Conclusions • TIMES could be turned into a cross-platform modelling framework with minor code modification • Single-CPU solution times seems to be 20 – 50% less in Linux than in Windows (depends on the model size/structure needs further tests) • Running multiple independent scenarios can be done either by: • Manually generating and solving the scenarios through user-defined scripts • Making use the advanced GAMS language features for Grid Computing (needs modification of the TIMES source code) • Using multiple nodes for running multiple scenarios results in optimum distribution of computation load (maximum use of resources, minimum solution time)
  • 33. Conclusions • Suggestions from this report regarding the transferring of TIMES in Linux would be implemented in the next release of TIMES source code (Antti kindly offered to do this) • Better integration of grid computing and mutli-trheading features into TIMES could be considered and implemented if there is a general interest (in coordination with Antti, Amit and everyone else who is interested in this facility) • What is next? Exploring smart decompositions of a TIMES-based model such that to exploit multiple CPU cores for a single scenario run • Benefiting from the BEAM-ME project (PSI and UCC are in the advisory board) • Using new GAMS language features regarding model annotation for facilitating decomposition
  • 34. Thank you for your attention Our thanks go to: Gary Goldstein Antti Lehtilä Maurizio Gargiulio Joseph DeCarolis, Sonia Yeh .. and to many others who tried in the past to run TIMES under Linux and are not visible to the rest of the TIMES community