A N-dimensional Stochastic Control Algorithm for Electricity Asset Management on PC cluster and Blue Gene Supercomputer

Similar documents
How to simulate a volume-controlled flooding with mathematical morphology operators?

BoxPlot++ Zeina Azmeh, Fady Hamoui, Marianne Huchard. To cite this version: HAL Id: lirmm

Setup of epiphytic assistance systems with SEPIA

Multimedia CTI Services for Telecommunication Systems

Tacked Link List - An Improved Linked List for Advance Resource Reservation

Mokka, main guidelines and future

DANCer: Dynamic Attributed Network with Community Structure Generator

Linux: Understanding Process-Level Power Consumption

A Resource Discovery Algorithm in Mobile Grid Computing based on IP-paging Scheme

Relabeling nodes according to the structure of the graph

Regularization parameter estimation for non-negative hyperspectral image deconvolution:supplementary material

Malware models for network and service management

Blind Browsing on Hand-Held Devices: Touching the Web... to Understand it Better

The Connectivity Order of Links

HySCaS: Hybrid Stereoscopic Calibration Software

Fault-Tolerant Storage Servers for the Databases of Redundant Web Servers in a Computing Grid

Branch-and-price algorithms for the Bi-Objective Vehicle Routing Problem with Time Windows

Self-optimisation using runtime code generation for Wireless Sensor Networks Internet-of-Things

Change Detection System for the Maintenance of Automated Testing

Reverse-engineering of UML 2.0 Sequence Diagrams from Execution Traces

Modularity for Java and How OSGi Can Help

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

Robust IP and UDP-lite header recovery for packetized multimedia transmission

The optimal routing of augmented cubes.

Decentralised and Privacy-Aware Learning of Traversal Time Models

Comparison of radiosity and ray-tracing methods for coupled rooms

KeyGlasses : Semi-transparent keys to optimize text input on virtual keyboard

Comparison of spatial indexes

Natural Language Based User Interface for On-Demand Service Composition

Service Reconfiguration in the DANAH Assistive System

Very Tight Coupling between LTE and WiFi: a Practical Analysis

Traffic Grooming in Bidirectional WDM Ring Networks

A Voronoi-Based Hybrid Meshing Method

MUTE: A Peer-to-Peer Web-based Real-time Collaborative Editor

QuickRanking: Fast Algorithm For Sorting And Ranking Data

Framework for Hierarchical and Distributed Smart Grid Management

Moveability and Collision Analysis for Fully-Parallel Manipulators

lambda-min Decoding Algorithm of Regular and Irregular LDPC Codes

X-Kaapi C programming interface

Cloud My Task - A Peer-to-Peer Distributed Python Script Execution Service

Study on Feebly Open Set with Respect to an Ideal Topological Spaces

An Experimental Assessment of the 2D Visibility Complex

The New Territory of Lightweight Security in a Cloud Computing Environment

Structuring the First Steps of Requirements Elicitation

Lossless and Lossy Minimal Redundancy Pyramidal Decomposition for Scalable Image Compression Technique

Zigbee Wireless Sensor Network Nodes Deployment Strategy for Digital Agricultural Data Acquisition

Taking Benefit from the User Density in Large Cities for Delivering SMS

From medical imaging to numerical simulations

Assisted Policy Management for SPARQL Endpoints Access Control

Simulations of VANET Scenarios with OPNET and SUMO

Every 3-connected, essentially 11-connected line graph is hamiltonian

YAM++ : A multi-strategy based approach for Ontology matching task

Efficient implementation of interval matrix multiplication

A Methodology for Improving Software Design Lifecycle in Embedded Control Systems

ASAP.V2 and ASAP.V3: Sequential optimization of an Algorithm Selector and a Scheduler

Linked data from your pocket: The Android RDFContentProvider

Real-Time Collision Detection for Dynamic Virtual Environments

Formal modelling of ontologies within Event-B

Is GPU the future of Scientific Computing?

NP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal

Quality of Service Enhancement by Using an Integer Bloom Filter Based Data Deduplication Mechanism in the Cloud Storage Environment

Open Digital Forms. Hiep Le, Thomas Rebele, Fabian Suchanek. HAL Id: hal

Comparator: A Tool for Quantifying Behavioural Compatibility

Fuzzy sensor for the perception of colour

Application of RMAN Backup Technology in the Agricultural Products Wholesale Market System

Computing and maximizing the exact reliability of wireless backhaul networks

YANG-Based Configuration Modeling - The SecSIP IPS Case Study

QAKiS: an Open Domain QA System based on Relational Patterns

Real-Time and Resilient Intrusion Detection: A Flow-Based Approach

The Proportional Colouring Problem: Optimizing Buffers in Radio Mesh Networks

LaHC at CLEF 2015 SBS Lab

Mapping classifications and linking related classes through SciGator, a DDC-based browsing library interface

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs

Syrtis: New Perspectives for Semantic Web Adoption

Prototype Selection Methods for On-line HWR

Catalogue of architectural patterns characterized by constraint components, Version 1.0

Multi-atlas labeling with population-specific template and non-local patch-based label fusion

THE COVERING OF ANCHORED RECTANGLES UP TO FIVE POINTS

A Generic Architecture of CCSDS Low Density Parity Check Decoder for Near-Earth Applications

Managing Risks at Runtime in VoIP Networks and Services

A Generic Distributed Architecture for Business Computations. Application to Financial Risk Analysis.

A Practical Evaluation Method of Network Traffic Load for Capacity Planning

Preliminary analysis of the drive system of the CTA LST Telescope and its integration in the whole PLC architecture

Efficient Gradient Method for Locally Optimizing the Periodic/Aperiodic Ambiguity Function

XBenchMatch: a Benchmark for XML Schema Matching Tools

Stream Ciphers: A Practical Solution for Efficient Homomorphic-Ciphertext Compression

Sliding HyperLogLog: Estimating cardinality in a data stream

An FCA Framework for Knowledge Discovery in SPARQL Query Answers

Implementing an Automatic Functional Test Pattern Generation for Mixed-Signal Boards in a Maintenance Context

Continuous Control of Lagrangian Data

Experimental Evaluation of an IEC Station Bus Communication Reliability

Emerging and scripted roles in computer-supported collaborative learning

Combined video and laser camera for inspection of old mine shafts

UsiXML Extension for Awareness Support

A case-based reasoning approach for unknown class invoice processing

Compromise Based Evolutionary Multiobjective Optimization Algorithm for Multidisciplinary Optimization

An Efficient Numerical Inverse Scattering Algorithm for Generalized Zakharov-Shabat Equations with Two Potential Functions

XML Document Classification using SVM

Real-time tracking of multiple persons by Kalman filtering and face pursuit for multimedia applications

IMPLEMENTATION OF MOTION ESTIMATION BASED ON HETEROGENEOUS PARALLEL COMPUTING SYSTEM WITH OPENC

Transcription:

A N-dimensional Stochastic Control Algorithm for Electricity Asset Management on PC cluster and Blue Gene Supercomputer Stéphane Vialle, Xavier Warin, Patrick Mercier To cite this version: Stéphane Vialle, Xavier Warin, Patrick Mercier. A N-dimensional Stochastic Control Algorithm for Electricity Asset Management on PC cluster and Blue Gene Supercomputer. PARA 2008, May 2008, Trondheim, Norway. 4 p., 2008. <hal-00291814> HAL Id: hal-00291814 https://hal-supelec.archives-ouvertes.fr/hal-00291814 Submitted on 30 Jun 2008 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

A N-dimensional Stochastic Control Algorithm for Electricity Asset Management on PC cluster and Blue Gene Supercomputer Stéphane Vialle 1, Xavier Warin 2, and Patrick Mercier 1 1 SUPELEC, IMS research group, 2 rue Edouard Belin, 57070 Metz, France, Stephane.Vialle@supelec.fr Patrick.Mercier@supelec.fr 2 EDF - R&D, OSIRIS group, 1 Avenue Charles de Gaulle, 92141 Clamart, France, Xavier.Warin@edf.fr Abstract. Management of French electricity production to control cost while satisfying demand, leads to solve a stochastic optimization problem where the main sources of uncertainty are the demand load, the electricity and fuel market prices, the hydraulicity, and the availability of the thermal production assets. A stochastic dynamic programming method is an interesting solution, but is both CPU and memory consuming. It requires parallelization to achieve speedup and size up, and to deal with a big number of stocks (N) and a big number of uncertainty factors. This paper introduces a distribution of a N-dimension stochastic dynamic programming application, on PC clusters and IBM Blue Gene/L supercomputer. It has needed to parallelize input and output file accesses from thousands of processors, to load balance a N-dimension cube of data and computation evolving at each time step, and to compute Monte-Carlo simulations requiring data spread in many separate files managed by different processors. Finally, a successful experiment of a 7-stock problem using up to 8192 processors validates this distribution strategy. 1 Main objectives and challenges EDF (Electricité de France) is an electricity producer that needs to manage its production assets in order to satisfy the consumer demand. It leads to a stochastic optimization problem where the main sources of uncertainty are the demand load, the electricity and fuel market prices, the hydraulicity, and the availability of the thermal production assets. The goal of the optimization is to save energetic resources and money by managing the production cost while satisfying demand. The main levers of this optimization are the commands that can be used to manage the different stocks involved in the problem and the thermal production levels. The necessity to deal with a lot of stocks (mainly water stocks used by hydraulic power plant, and fuel stocks) gives a very big optimization problem. Due to the non convexity of the problem, the stochastic dynamic programming method is a method of choice used to find a solution. Unfortunately, it is unable to deal with a big number of stocks and a big number of uncertainty factors. The goal of this work is to be able to deal with at least three or four uncertainty factors, and at least six or seven stocks in optimization while being able to efficiently use in simulation the commands calculated.

Influence zone Influence zone P2 P3 P0 P1 P2 P3 P4 P5 P6 P7 P0 P1 P7 Split only dimension 1 (with ratio 8), and get fine slices of data and calculs, but large influence subcubes. P4 P5 Split each dimension with ratio 2, and get subcubes of data and calculs, and reduced influence subcubes. Fig. 1. Small example of a cubic split of the N-Cube of data and computation The entire application is composed of three different parts and parallel algorithms. The first part consists in reading many input files and to store data in each processor memory, using an efficient parallel file system (like on Blue Gene supercomputer) or a classical file system (like NFS on our PC cluster). The second part of the application is the optimization part that computes the optimal decision to be taken depending on the state (levels of stocks and realizations of aleas) by a backward time recursion. The amount of data and computation can change at each time step of this recursion, so it is mandatory to redistribute the new computations and their required input data at the beginning of each time step to ensure a good load balancing. Moreover, processors generate a lot of intermediate results (the so called Bellman values) to store concurrently on disks at each step. The third part is devoted to the simulation process. Some Monte Carlo scenarios for aleas are calculated and some trajectories of stocks are computed using the optimal commands calculated in the first part. It looks like a loop of embarrassingly parallel computations, but these computations need data spread in all the intermediate result files stored in the second part and require many communications. Finally, applications results have to be saved in files from each processor at each time step, in order to derive some risk indicators. 2 Parallelization strategy In the first part of the application, processor 0 opens and reads input files, and broadcasts data to all other processors. This solution appeared a little bit longer on small number of processors on Blue Gene supercomputer (20s in place of 19s) but allows large PC clusters to succeed to upload input data using classical file systems. In the second part, we split a N-dimension cube of data and associated calculations (the N-cube) on an hypercube of P = 2 k processors. Due to the nature of data and associated computations, some dimensions of the N-cube can not be split. Our splitting algorithm supports this constraint, and cuts each divisible dimension of the N-cube in order to compute the map of a load balanced data and calculation distribution at t i. Then a routage plan is computed and executed to bring back on each processor the required t i+1 input data to achieve calculations of t i data (this is a backward time step loop). So, each processor stores its influence N-subcube of t i+1 input data, and to minimize the size of the influence N-subcubes and to achieve great size up, our splitting algorithm

Time of the optimisation part (s) 1E5 1E4 1E3 16 32 64 128 appli-1 on IBM BG/L, 1-proc/node appli-1 on IBM BG/L, 2-proc/node appli-2 on IC PC-cluster, 1-core/node appli-2 on IC PC-cluster, 2-core/node Number of nodes Fig. 2. Execution time of two 7-dimension stochastic control applications attempts to create cubic sub-cubes of data and calculations on each processor (in place of flat sub-cubes), see figure 1. This is a generalization of the onedimension algorithm we designed and validated on a gas storage valuation [3, 2]. At each step, each processor appends its intermediate results in four files, from t n to t 0, and 4.P files written concurrently store all results of this second part of the application. On a Blue Gene supercomputer all intermediate results are stored on a remote disk across an efficient file system at each step, while on a PC cluster each processor stores its files on its local disk, and can overlap these file accesses with its communications and computations using multithreading. The third part of the application is composed of set of N s forward Monte- Carlo simulations, and each processor computes N s /P simulations. These MC simulations are independent computations, but require intermediate results stored in files by the second part of the application. In order to minimize the number of file accesses, the implementation is a time step loop, and at each time step t i each processor reads a file and loads data of step t i+1. Then processors enter a second loop, and process one of their N s /P simulations. However, to progress from t i to t i+1 each simulation requires data not always located on the processor. So, processors compute data required to process one of their simulations, exchange data, process one of their simulations, and repeat these operations for each of their N s /P simulations. 256 512 1024 2048 4096 3 Current achievements We have successfully implemented the first and second part of the application in C++ with MPI library, on a 256-PC cluster of SUPELEC (built by CARRI Systems company) and on the IBM Blue Gene/L supercomputer of EDF R&D. The algorithm of the last part has been designed and is under implementation. Our first experiments show that we succeed to achieve speedup and size up both on PC clusters up to 256 processors and on IBM Blue Gene/L up to 8192 processors. Figure 2 shows the execution time decreases regularly when processing two different 7-energetic-stock applications, running the same 7-dimension stochastic control algorithm (we used a modelization of a stock of water and 6 stocks of monthly peak and off-peak future products [5]). It is impossible to run these ap-

plications in sequential mode on one processor (lack of memory and prohibitive execution time), but parallel executions have succeeded. Execution time of the input file reading and optimization parts of application- 2 was close to 8000s on 256 nodes of our PC cluster using one core per node, and on 128 nodes using 2 cores per node. Straight and approximately parallel curves on the left of figure 2 show the application-2 speedups regularly on our PC cluster up to 256 nodes, and show we can efficiently use 2 cores per node. Application-1 speedups regularly on Blue Gene/L supercomputer using one processor per node, and achieves an execution time close to 10800s on 2048 processors. Using two processors per node leads to better execution time up to 1024 nodes, but leads to worst time on 2048 nodes. When the numbers of nodes and communications increase it seems better to devote one processor per node to manage communications. Unfortunately it has not been possible to run application-1 on 4096 nodes using only one processor per node (due to the load of the machine), but we succeeded to run application-1 on 4096 nodes using 8192 processors and figure 2 shows the execution has decreased again to reach 8000s. 4 Perspectives Next development steps will consist mainly in implementing the third part of the application and processing higher number of stocks on the new 32000 processor Blue Gene/P of EDF R&D. From a parallel computing point of view, we will further examine where the calculation time is now spent when we use thousands of processors and we will track optimizations on Blue Gene very large architecture. From an applicative point of view, we will extend our application so that it will be able to deal with others stocks appearing in electricity management asset problem. The methodology developed will bring some reference calculation that will help us to derive some simplified versions to use in production. Acknowledgment: This research is part of the ANR-CICG GCPMF project, and is supported both by ANR and by Region Lorraine. References 1. F. Longstaff and E. Schwartz. Valuing american options by simulation : A simple least-squares. Review of Financial Studies, 14(1), Spring 2001. 2. C. Makassikis, S. Vialle, and X. Warin. Large scale distribution of stochastic control algorithms for financial applications. In The First International Workshop on Parallel and Distributed Computing in Finance, Miami, USA, April 2008. To appear. 3. C. Makassikis, X. Warin, and S. Vialle. Distribution of a stochastic control algorithm applied to gas storage valuation. In The 7th IEEE International Symposium on Signal Processing and Information Technology, Cairo, Egypt, 2007. 4. J.N. Tsitsiklis and B. Van Roy. Optimal stopping of markov processes: Hilbert spaces theory, approximations algorithms and an application to pricing high-dimensional financial derivatives. IEEE Transactions on Automatic Control, October 1999. 5. X. Warin and W. Van-Ackooij. Electricity asset management with future hedging. Technical Report H-R33-2006-04103-FR, EDF, 2008. to appear.