270 likes | 284 Views
VehicleFORGE is a web-based collaborative environment that supports model-based cyber-physical system design and crowd-sourced design challenges. It provides numerous collaborators and services integration, centralized management, and analysis services. It satisfies DARPA security standards and ITAR.
E N D
MDHPCL 2013, September 29, 2013 Laszlo Juracz, ZsoltLattmann, TihamerLevendovszky, Graham Hemingway, Will Gaggioli, Tanner Netterville, Gabor Pap, Kevin Smyth and Larry Howard
What is VehicleFORGE? Home of the DARPA FANG Challenges Web-based collaborative environment for model-based cyber-physical system design Supports crowd-sourced design challenges (designathons)
What is VehicleFORGE? Home of the DARPA FANG Challenges Web-based collaborative environment for model-based cyber-physical system design Supports crowd-sourced design challenges (designathons) • Desktop-based modeling toolchain • Numerous collaborators and services to integrate • Centralized management • Multiple deployments • Satisfies DARPA security standards and ITAR • Provides analysis services • Supports design (model) sharing/re-use/discovery • Web-based and API interfaces • ~1 year lead time to 1st beta release • Adaptability and Scalability Open Source
Design Approach Evaluate options in open source domain Strengthen and Extend Enable flexible deployment Early test and validate (dogfooding)
What is VF Forge Framework • Based on SoureForge’sAllura platform • Project hosting/collaboration tools (VF) • Component Exchange (C2M2L) • Competition facilities • Extensibility for add-in capabilities, from various collaborators such as: • META Design Analyzer (GaTech) • Compute Service (VU) • CAD Viewer and Converter (StepTools) • iFAB Manufacturability Analysis (Penn State) • Scoring and Requirements Analysis (Ricardo - GaTech) • Etc. Deployed on OpenStack Cloud Infrastructure • Platform as a Service (PaaS) • VehicleFORGEon-demand • Automated provisioning and orchestration • Infrastructure as a Service (IaaS) • Virtualized servers, networks, and storagefor related AVM cloud services • Elastic scaling
Service Integration Manufacturers & Foundries Component Vendors Analysis & Simulation Service Providers In-cloud Compute & Test bench Services • MongoDB • Git, SVN, Swift • Apache SOLR • TurboGears (Web Framework) • REST Service APIs Design & Manufacturing Components Ontologies Exchange Licensing Teams’ Design Storage Ordering • Sharing and Collaboration • Cloud-based Analysis • Access to Remote Resources Integrated VF Service Gateway • Browser-based • Coordination and Monitoring Tools • Design-space Evaluation and Visualizers • Team-collaboration Tools • Component Discovery and Subscription • Service and Resource Allocation META Modeling Environment
Basic Forge Framework Concepts Forge Deployment • Inherited from Allura • Designers • Design artifacts • Projects and Neighborhoods • Tools • Role-based access control • Permissions • Groups • Major Additions • Components and Component Exchange • Design (model) interpretation (via post-commit hooks) • Design artifact cross-referencing • Visualizer framework • Competition facilities P1 P4 P3 P5 P2 P6 Neighborhoods Project (Team space)
Key Features and Benefits Customizability Scalability Powerful Monitoring and Operation
Customizability • Flexible project and access-control administration through built-in interfaces • Deployment config options (including theming) • Visualizers • Application level custom extensions (TurboGears) • Separated core forge framework (VulcanForge) Original AlluraConpets … Visualizers MSG Center Stats Da Capo Component Exchange … • Project Navigator • Design Analyzer • Topology Visualizer • PDF visualizer etc. Discussion SVN Tracker Wiki Ontology Admin Component Publish Component Curate ForgeCloud Project Tools
Scalable Service Architecture • Adaptable to various, different utilization scenarios • Every significant, load-bearing service on the Forge is horizontally scalable • Minimizing response time, optimizing cloud resource utilization
Operator Tools • Da Capo, an in-house cloud provisioning and orchestration framework: • Autonomic tools for configuring and managing a cloud deployment • Tracks dependencies among platform components • Extensible • Enables on-demand management of production deployments and developer sandboxes based on blueprints and user-specific configuration options (dataset, app code branch etc.) • Its services are accessible through the ForgeCloud tool in VehicleFORGE deployments • Communicates with OpenStack API to create instances, then installs and configures the application, services, and their dependencies on the designated instances • Can create and restore backups for a deployments • Can execute an operator-inputted command on all instances of a deployment, or only instances running specific services • It can stop, start, and restart specified services, display logs, check the status of all services, detect and run necessary application migration scripts, and perform an operating system upgrade
Infrastructure Monitoring • Automated and simplified monitoring tasks • Live utilization stats from low-level checks to DB flush times • Nagios3 for status monitoring • Large library of built-in checks • Easily extensible • Resource efficient • Nagiosconfig is synthetized via deployment-process modeling • 374 independent status checks every minute • LogStash in conjunction with ElasticSearch for log indexing • Kibana for analysis and visualization • In an average hour of operationa prod VF deployment generates over 4.3 million log records which consume almost 5MB of disk space. In one year of operation, that equates to nearly 38 billion records and 40GB of data • Dedicated virtual machines to process logs and stats data
Utilization in AVM Program Platform Extensions META Testbench Service In-cloud Compute Nodes Foundry Manufacturability Analysis Competition Management and Monitoring Scoring and Requirements XSB Component Miner Design & Manufacturing Components Ontologies Exchange Subscriptions Logs Teams’ Design Storage Design Interpreter Built-in Project Tools Design Analyzer (META) CAD Visualizer Design Visualizer Component Publish C2ML Component Curate Visualizers
AVM Modeling Concepts • META Tools design environment • Componentsare atomic building blocks that describe the dynamics behavior and the structural aspect of physical objects • Designs are integrated Component models • Design spaces encode different component alternatives as well as different design architectures Example Design Space Model in META
AVM Modeling Concepts • Test Benches (cases) are defined against the design requirements • The modeling environment composes analysis packages from the test bench models • These packages can be run locally or in VF Cloud
Test Bench Execution • Cloud Benefits • Users do not need to install analysis tools • Enables parallelization • Component content do not need to be send over network • Within 3 months of FANG1 challenge, 1000 users (200 teams) and ran 50000+ analysis jobs VF component exchange META Job Manager Client 1. VF authentication VF cloud storage VF front end (VF-auth) META compute node 1. META Job Manager Client 2. META compute node 2. META job server META compute node N.
Design Sharing via VF • Uploading design models to VF enables: • Version-controlling of artifacts • Collaborative/centralized analysis and evaluations through web-based visualizer and analyzers • Access to 3rd party analysis services • Protected analysis, such as scoring Foundry Manufacturability Analysis Scoring and Requirements SVN/Git Teams’ Design Storage META Job Manager Client 1. Design Interpreter SVN/Git META Job Manager Client 2. Design Analyzer (META) CAD Visualizer Design Visualizer
Design Sharing via VF Challenge Navigator – All interpreted design models
Design Sharing via VF Design metadata overview
Design Sharing via VF Design Structure Aspect Visualizer
Status and Future • Currently serving ~5 large-scale productions deployments • Preparations for upcoming DARPA FANG2 Challenge • Releasing VulcanForge codebase • Working on adding new visualizers • More powerful an robust design interpreter solution • Enabling model authoring capabilities