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

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

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

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

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

Computing and maximizing the exact reliability of wireless backhaul networks

X-Kaapi C programming interface

Setup of epiphytic assistance systems with SEPIA

Linux: Understanding Process-Level Power Consumption

A Voronoi-Based Hybrid Meshing Method

Comparator: A Tool for Quantifying Behavioural Compatibility

FIT IoT-LAB: The Largest IoT Open Experimental Testbed

Reverse-engineering of UML 2.0 Sequence Diagrams from Execution Traces

Comparison of spatial indexes

Moveability and Collision Analysis for Fully-Parallel Manipulators

Multimedia CTI Services for Telecommunication Systems

Algorithm Selector and Prescheduler in the ICON challenge

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

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

Deformetrica: a software for statistical analysis of anatomical shapes

A Methodology for Improving Software Design Lifecycle in Embedded Control Systems

Relabeling nodes according to the structure of the graph

Representation of Finite Games as Network Congestion Games

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

Assisted Policy Management for SPARQL Endpoints Access Control

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

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

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

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

Mokka, main guidelines and future

An FCA Framework for Knowledge Discovery in SPARQL Query Answers

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

Scalewelis: a Scalable Query-based Faceted Search System on Top of SPARQL Endpoints

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

THE COVERING OF ANCHORED RECTANGLES UP TO FIVE POINTS

DANCer: Dynamic Attributed Network with Community Structure Generator

An Experimental Assessment of the 2D Visibility Complex

HySCaS: Hybrid Stereoscopic Calibration Software

Change Detection System for the Maintenance of Automated Testing

The Proportional Colouring Problem: Optimizing Buffers in Radio Mesh Networks

Real-Time Collision Detection for Dynamic Virtual Environments

A Practical Evaluation Method of Network Traffic Load for Capacity Planning

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

Linked data from your pocket: The Android RDFContentProvider

Continuous Control of Lagrangian Data

QAKiS: an Open Domain QA System based on Relational Patterns

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

Malware models for network and service management

LaHC at CLEF 2015 SBS Lab

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

Natural Language Based User Interface for On-Demand Service Composition

Structuring the First Steps of Requirements Elicitation

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

Traffic Grooming in Bidirectional WDM Ring Networks

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

Service Reconfiguration in the DANAH Assistive System

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

Captured Motion Data Processing for Real Time Synthesis of Sign Language

Evolutionary Cutting Planes

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

The SANTE Tool: Value Analysis, Program Slicing and Test Generation for C Program Debugging

Decentralised and Privacy-Aware Learning of Traversal Time Models

A 64-Kbytes ITTAGE indirect branch predictor

Efficient implementation of interval matrix multiplication

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

lambda-min Decoding Algorithm of Regular and Irregular LDPC Codes

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

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

Catalogue of architectural patterns characterized by constraint components, Version 1.0

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

DSM GENERATION FROM STEREOSCOPIC IMAGERY FOR DAMAGE MAPPING, APPLICATION ON THE TOHOKU TSUNAMI

MLweb: A toolkit for machine learning on the web

SDLS: a Matlab package for solving conic least-squares problems

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

Fuzzy sensor for the perception of colour

Real-time FEM based control of soft surgical robots

YANG-Based Configuration Modeling - The SecSIP IPS Case Study

Primitive roots of bi-periodic infinite pictures

The optimal routing of augmented cubes.

UsiXML Extension for Awareness Support

Light field video dataset captured by a R8 Raytrix camera (with disparity maps)

Distributed fast loop-free transition of routing protocols

A million pixels, a million polygons: which is heavier?

SIM-Mee - Mobilizing your social network

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

Syrtis: New Perspectives for Semantic Web Adoption

The Connectivity Order of Links

Kernel perfect and critical kernel imperfect digraphs structure

A case-based reasoning approach for unknown class invoice processing

A typology of adaptation patterns for expressing adaptive navigation in Adaptive Hypermedia

The New Territory of Lightweight Security in a Cloud Computing Environment

FStream: a decentralized and social music streamer

Acyclic Coloring of Graphs of Maximum Degree

IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs

Integration of an on-line handwriting recognition system in a smart phone device

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

QuickRanking: Fast Algorithm For Sorting And Ranking Data

Privacy-preserving carpooling

Relevance of the Hölderian regularity-based interpolation for range-doppler ISAR image post-processing.

Locality in Distributed Graph Algorithms

Synthesis of fixed-point programs: the case of matrix multiplication

Transcription:

ASAP.V2 and ASAP.V3: Sequential optimization of an Algorithm Selector and a Scheduler François Gonard, Marc Schoenauer, Michele Sebag To cite this version: François Gonard, Marc Schoenauer, Michele Sebag. ASAP.V2 and ASAP.V3: Sequential optimization of an Algorithm Selector and a Scheduler. Open Algorithm Selection Challenge 2017, Sep 2017, Brussels, Belgium. 79, pp.8-11, 2017, Proceedings of Machine Learning Research. <http://proceedings.mlr.press/v79/>. <hal-01659700> HAL Id: hal-01659700 https://hal.inria.fr/hal-01659700 Submitted on 13 Dec 2017 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.

Journal of Machine Learning Research 1 4 ASAP.V2 and ASAP.V3: Sequential optimization of an Algorithm Selector and a Scheduler François Gonard IRT SystemX LRI, CNRS INRIA Université Paris-Sud, Université Paris-Saclay Marc Schoenauer Michèle Sebag LRI, CNRS INRIA Université Paris-Sud, Université Paris-Saclay francois.gonard@inria.fr marc.schoenauer@inria.fr michele.sebag@inria.fr Abstract Algorithm portfolios are known to offer robust performances, efficiently overcoming the weakness of every single algorithm on some particular problem instances. The presented ASAP system relies on the alternate optimization of two complementary portfolio approaches, namely a sequential scheduler and a per-instance algorithm selector. 1. Introduction Algorithm selection comes in different flavors, depending on whether the goal is to yield optimal performance in expectation with respect to a given distribution of problem instances (global algorithm selection), or an optimal performance on a particular problem instance (per instance algorithm selection). The ASAP systems combine a global pre-scheduler and a per instance algorithm selector, to take advantage of the diversity of the problem instances on one hand and of the algorithms on the other hand (Gonard et al., 2016). Specifically, the pre-scheduler sequentially launches a few algorithms with a small computational budget each, expectedly solving the easy problem instances, and hands over the remaining problem instances to the algorithm selector, selecting an algorithm well-suited to the problem instance at hand. Note that the pre-scheduler yields some additional features characterizing the problem instance at hand, which are used together with the initial descriptive features for the training of the algorithm selector module. 2. Overview Definition 1 (Pre-scheduler) Let A be a set of algorithms. A κ-component pre-scheduler is defined as a sequence of κ (algorithm a i, time-out τ i ) pairs: ((a i, τ i ) κ i=1) with (a i, τ i ) A R +, i 1,..., κ On problem instance x, the pre-scheduler sequentially launches algorithm a i with time-out τ i until either a i solves x, or time τ i is reached, or a i stops without solving x. If x has been solved, the execution stops. Otherwise, i is incremented while i κ. This work has been carried out in the framework of IRT SystemX and therefore granted with public funds within the scope of the French Program Investissements d Avenir. c F. Gonard, M. Schoenauer & M. Sebag.

Gonard Schoenauer Sebag A pre-scheduler is meant to both contribute to better peak performance and increase the overall robustness of the solving process by mitigating the impact of algorithm selection failures (where the selected algorithm requires large computational resources to solve a problem instance or fails to solve it), as it increases the chance for each problem instance to be solved within seconds, everything else being equal. Accordingly, ASAP combines a pre-scheduler aimed at solving as many problem instances as possible in a first stage, and an algorithm selector taking care of the remaining instances. In its last version (Gonard et al., 2016), ASAP tackles the alternate optimization of the pre-scheduler and the algorithm selector modules. Note that both optimization problems are interdependent: the algorithm selector must focus on the problem instances which are not solved by the pre-scheduler, while the pre-scheduler must symmetrically focus on the problem instances which are most uncertain or badly handled by the algorithm selector. Formally, this interdependence is handled sequentially: 1. A pre-scheduler PS ini is built to optimize the number of instances solved over all training problem instances within a small budget; 2. A performance model G(x, a) is built for each algorithm over all training problem instances, using the successes and failures of the algorithms in PS ini as additional features. This performance model yields AS ini ; 3. A fine-tuned pre-scheduler PS opt is built to optimize the joint performance (PS opt, AS ini ) over all training problem instances; in comparison to PS ini, PS opt gets little reward at solving instances that AS ini solves quickly; 4. A second performance model G 2 (x, a) is built for each algorithm over all training problem instances, using additional features derived from PS opt, yielding AS opt. ASAP.V2 and V3 are composed of PS opt followed by AS opt. Implementation is in Python 3. 1 ASAP.V2 (resp. ASAP.V3) runs in less than 30 (resp. less than 3h) on a single core (Intel Xeon @2.6 GHz) for scenarios containing less than 10,000 instances and 30 algorithms. ASAP pre-scheduler A first decision regards the division of labor between the two modules: how to split the available runtime between the two, and how many algorithms are involved in the pre-scheduler (parameter κ). In ASAP.V2, the number κ of algorithms in the pre-scheduler is set to 3, following, e.g., Kadioglu et al. (2011) while in ASAP.V3, κ is optimized in {1,..., 4} depending on the scenario. The pre-scheduler computational budget T ps = κ i=1 τ i is subject to a bi-objective optimization problem (the higher T ps, the more instances the pre-scheduler can solve but the less budget remains for the algorithm selector); it is selected from the cumulative performance curve using a knee detection heuristics, as illustrated on Fig. 1. The small κ value (κ 4 in the experiments) makes it possible to exhaustively optimize the subset of κ algorithms (a 1,..., a κ ) granted that time-outs are set uniformly (τ i = T ps /κ, i = 1... κ). PS opt differs from PS ini as time-outs (τ 1,..., τ κ 1 ) are optimized using the black-box optimizer CMA-ES (Hansen et al., 2003), to minimize the regularized average PAR10 score 2 of (PS opt, AS ini ) subject to κ 1 i=1 τ i T ps. PS opt optimization differs from the optimization of 1. Available at: https://gitlab.com/francois.gonard/asap-v2-stable 2. The PAR10 score is defined as the runtime to solve the instance, or 10 times the scenario cutoff time for unsolved instances. 2

ASAP.V2 and ASAP.V3 % solved instances A 2 A 1 knee T ps κ T max 10 T ps Figure 1: Knee detection on the cumulative performance curve. A somehow optimal tradeoff is obtained for T ps, minimizing the grey shaded area A 1 + A 2. the pre-solving schedule in claspfolio2 (Hoos et al., 2014) in two ways: all training instances are used to fit AS ini while the selector performance is estimated using cross-validation in claspfolio2; to counterbalance this over-optimistic selector and prevent overfitting, the following regularization term is used in ASAP: w T max κ (τ i /T ps ) 2 with weight w = 0.005 (fixed after preliminary cross-validation experiments on the training data) and T max the scenario cutoff time. ASAP algorithm selector The algorithm selector module relies on a performance model for each algorithm, learned from the training problem instance PAR10 score using a random forest regression algorithm. Random forests are chosen 3 for their robustness against overfitting (Breiman, 2001), which is to be feared considering the small size of some of the scenarios. A main difficulty comes from the representation of problem instances. Typically, feature values are missing for some groups of features for quite a few problem instances, for diverse reasons (computation exceeded time limit, exceeded memory, presolved the instance, crashed, other, unknown). This missing data problem is handled by i) replacing the missing value by the feature average value; ii) adding to the set of descriptive features extra Boolean features, indicating for each feature group whether the values are available or the reason why they are missing otherwise. Eventually the evaluation of the feature relevance in random forests is used to prune the less relevant features. AS ini (resp. AS opt ) is trained using κ additional Boolean features indicating whether the instance is solved by each algorithm of PS ini (resp. PS opt ) in the imparted time. All these features take value false for test instances since they are passed to the algorithm selector only if all algorithms in the pre-scheduler failed to solve them. i=1 3. All hyper-parameters are set to their default value in the scikit-learn (Pedregosa, F. et al., 2011) Python library, with 200 trees. 3

Gonard Schoenauer Sebag References Leo Breiman. Random forests. Machine learning, 45(1):5 32, 2001. François Gonard, Marc Schoenauer, and Michèle Sebag. Algorithm selector and prescheduler in the ICON challenge. In Int. Conf. on Metaheuristics and Nature Inspired Computing (META 2016), 2016. Nikolaus Hansen, Sibylle D Müller, and Petros Koumoutsakos. Reducing the time complexity of the derandomized Evolution Strategy with Covariance Matrix Adaptation. Evolutionary Computation, 11(1):1 18, 2003. Holger Hoos, Marius Lindauer, and Torsten Schaub. claspfolio 2: Advances in algorithm selection for answer set programming. Theory and Practice of Logic Programming, 14 (4-5):569 585, 2014. Serdar Kadioglu, Yuri Malitsky, Ashish Sabharwal, Horst Samulowitz, and Meinolf Sellmann. Algorithm selection and scheduling. In Int. Conf. on Principles and Practice of Constraint Programming, pages 454 469. Springer, 2011. Pedregosa, F. et al. Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12:2825 2830, 2011. 4