Moja Global Technical Guide

Total Page:16

File Type:pdf, Size:1020Kb

Moja Global Technical Guide moja global Technical Guide moja global docs team Sep 26, 2021 CONTENTS 1 FLINT Prerequisites 3 1.1 For Windows Based systems.......................................3 1.2 For Linux Based systems.........................................7 2 FLINT Development Setup 9 2.1 Before Setting Up FLINT........................................9 2.2 Datasets for FLINT............................................9 2.3 Build guides...............................................9 3 GCBM Development Setup 37 3.1 GCBM Prerequisites........................................... 37 3.2 Windows Installation........................................... 40 4 Contributing 43 4.1 Before making a contribution...................................... 43 4.2 Ways to contribute to moja global.................................... 44 4.3 Answer user Questions.......................................... 45 4.4 Organize moja global events/meetups.................................. 46 4.5 Are There Other Ways of Contributing?................................. 46 4.6 After making your first contribution................................... 46 4.7 Mentor new contributors......................................... 47 4.8 Create beginner-friendly Issues..................................... 47 4.9 Code Contribution Best Practices.................................... 47 4.10 Writing Documentation......................................... 49 4.11 Documentation (readthedocs)...................................... 50 4.12 Documentation in the repository wiki.................................. 50 4.13 Documentation in Google Docs-files.................................. 50 4.14 Documentation in PDF-files....................................... 50 4.15 Code Of Conduct............................................. 51 4.16 Enforcement............................................... 52 4.17 Attribution................................................ 52 5 GitHub Workflow 53 5.1 GitHub Repository maintenance..................................... 53 5.2 How to maintain a GitHub repository.................................. 56 5.3 Creating and maintaining Project Boards................................ 57 5.4 Adding issues/pull requests to your Project Board............................ 58 5.5 Build project boards into your workflow................................. 60 5.6 Bots and Integrations........................................... 61 5.7 Automated Checks for pull requests................................... 61 i 5.8 Code Quality Check........................................... 63 5.9 FLINT Architecture........................................... 65 5.10 FLINT Performance........................................... 65 5.11 Reviewing a contribution......................................... 65 5.12 Documentation.............................................. 66 5.13 Tests................................................... 66 5.14 Design.................................................. 66 5.15 Manually testing a pull request...................................... 66 6 Moja global documentation style guide 69 6.1 Purpose.................................................. 69 6.2 Tools & Technologies.......................................... 69 7 Frequently Asked Questions 77 7.1 Moja Global............................................... 77 7.2 FLINT.................................................. 79 7.3 FLINT Installation Support....................................... 80 7.4 GCBM.................................................. 81 7.5 FLINTpro................................................ 82 8 Join the moja global family 83 8.1 moja global Slack............................................ 83 8.2 Technical Steering Committee Meetings................................. 83 8.3 Outreach and Student Programs..................................... 84 8.4 moja global Outreach.......................................... 84 ii moja global Technical Guide moja global is an open-source platform that provides tools for estimating emissions and removals of greenhouse gases from the land sector. It’s composed of multiple GitHub repositories designed to ingest, aggregate, and serve data. The Full Lands INtegration Tool (FLINT) is the flagship software developed by the moja global community. It is an integrating platform for estimating land-based greenhouse gas emissions and removals. Integrating refers to FLINT’s design to combine a wide range of data with models to achieve more accurate estimates of stocks and fluxes of greenhouse gases. FLINT is consistent with the UNFCCC guidelines. This Documentation is meant for all and developers wishing to contribute to moja global repositories. If you would like to get in touch with the maintainers for other reasons, please drop a mail at info@moja.global. CONTENTS 1 moja global Technical Guide 2 CONTENTS CHAPTER ONE FLINT PREREQUISITES Before we take a leap into the process of development, please take a moment to verify if you have the necessary tools setup and skills to get started on this project. You should be familiar with the following :- 1.1 For Windows Based systems Contents: 1.1.1 Setup Git If you already have a Git client and Github account, please skip this section. Otherwise, keep on reading! Install and Configure Git To install Git, please refer to the official git installation instructions here and the configuration recommendations here. You can sign up for a Github account here. NOTE: Don’t forget to get credits for your contributions once it gets merged by following this guide here. 1.1.2 Cmake Installation CMake is required to build the FLINT from its source code on Windows. CMake is an open-source family of tools designed to build, test and package software. • Please download and install the latest binary distribution of CMake for your platform from here. On opening the installer: • Open the installer, click Next. • Accept the terms and click Next. • Select the Add CMake to the system PATH for all users option in the Install options section. • Click Next and finally click Install • After CMake is installed, restart your system. 3 moja global Technical Guide Fig. 1: License Page of CMake Fig. 2: Install Page of CMake 4 Chapter 1. FLINT Prerequisites moja global Technical Guide 1.1.3 Visual Studio Installation Building FLINT requires a C++ compiler. On Windows, it is recommended to use the Visual Studio IDE which includes a C++ compiler and several other useful tool. You can either install the Visual Studio 2019 or the Visual Studio 2017 variant. Please follow these steps for a smooth installation: For Visual Studio 2019 • Navigate to https://visualstudio.microsoft.com/downloads/ • Select the community version download button. • If you don’t have a Visual Studio Subscription, you can create one for free by clicking on “Create a new Mi- crosoft account” on the login page. • Follow the steps prompted by the installer. After launching the Visual Studio installer: • Select the desktop development with C++ workload and make sure it is checked. • Make sure the Install while downloading option is selected for faster installation. • Click on Install Fig. 3: Install Section of Visual Studio 2019 After the installation is complete: • Restart your system. • Create a folder inside C Drive and name it Development. • Inside the Development folder create a folder and name it moja-global 1.1. For Windows Based systems 5 moja global Technical Guide • Open the moja-global folder in the command prompt. Fig. 4: Folder Path In Command Prompt For Visual Studio 2017 • Navigate to https://visualstudio.microsoft.com/vs/older-downloads/ • Expand the 2017 version and click on the download button. • If you don’t have a Visual Studio Subscription, you can create one for free by clicking on “Create a new Mi- crosoft account” on the login page. • Follow the steps prompted by the installer. 1.1.4 Vcpkg Installation Finally, we need a C++ package manager to acquire and install third-party C++ libraries used by FLINT. Vcpkg maintains a catalog of more than 1,900 libraries that have been tested against Visual Studio 2019 and 2017, and builds these libraries during compilation to ensure compatibility with the FLINT source code. A fork of the original Vcpkg package has been created under moja global for the FLINT required libraries. To build the libraries please follow the following steps: • Clone the Vcpkg repository in the moja-global folder from here. • Start a command shell in the vcpkg repository folder and run the following commands: Note: The process may take one to two hours, depending on the specifications of your system. 6 Chapter 1. FLINT Prerequisites moja global Technical Guide # bootstrap bootstrap-vcpkg.bat # install packages vcpkg.exe install boost-test:x64-windows boost-program-options:x64-windows boost- ,!log:x64-windows turtle:x64-windows zipper:x64-windows poco:x64-windows libpq:x64- ,!windows gdal:x64-windows sqlite3:x64-windows boost-ublas:x64-windows fmt:x64- ,!windows libpqxx:x64-windows 1.2 For Linux Based systems Contents: 1.2.1 Setup Docker (for Linux based variants only) In-order to setup FLINT by using docker containers, please follow the instructions below based on your Linux Distro. If your Linux distro is not listed below, please checkout the Docker official installation guides for more information: • Install on CentOS In order to setup the latest version of Docker on CentOS, checkout the official Docker installation guide for CentOS. • Install on Fedora In order to setup the latest version of Docker on Fedora, checkout the official Docker installation guide for Fedora. • Install on Debian
Recommended publications
  • Ironpython in Action
    IronPytho IN ACTION Michael J. Foord Christian Muirhead FOREWORD BY JIM HUGUNIN MANNING IronPython in Action Download at Boykma.Com Licensed to Deborah Christiansen <pedbro@gmail.com> Download at Boykma.Com Licensed to Deborah Christiansen <pedbro@gmail.com> IronPython in Action MICHAEL J. FOORD CHRISTIAN MUIRHEAD MANNING Greenwich (74° w. long.) Download at Boykma.Com Licensed to Deborah Christiansen <pedbro@gmail.com> For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. Sound View Court 3B fax: (609) 877-8256 Greenwich, CT 06830 email: orders@manning.com ©2009 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15% recycled and processed without the use of elemental chlorine.
    [Show full text]
  • Windows 7 Operating Guide
    Welcome to Windows 7 1 1 You told us what you wanted. We listened. This Windows® 7 Product Guide highlights the new and improved features that will help deliver the one thing you said you wanted the most: Your PC, simplified. 3 3 Contents INTRODUCTION TO WINDOWS 7 6 DESIGNING WINDOWS 7 8 Market Trends that Inspired Windows 7 9 WINDOWS 7 EDITIONS 10 Windows 7 Starter 11 Windows 7 Home Basic 11 Windows 7 Home Premium 12 Windows 7 Professional 12 Windows 7 Enterprise / Windows 7 Ultimate 13 Windows Anytime Upgrade 14 Microsoft Desktop Optimization Pack 14 Windows 7 Editions Comparison 15 GETTING STARTED WITH WINDOWS 7 16 Upgrading a PC to Windows 7 16 WHAT’S NEW IN WINDOWS 7 20 Top Features for You 20 Top Features for IT Professionals 22 Application and Device Compatibility 23 WINDOWS 7 FOR YOU 24 WINDOWS 7 FOR YOU: SIMPLIFIES EVERYDAY TASKS 28 Simple to Navigate 28 Easier to Find Things 35 Easy to Browse the Web 38 Easy to Connect PCs and Manage Devices 41 Easy to Communicate and Share 47 WINDOWS 7 FOR YOU: WORKS THE WAY YOU WANT 50 Speed, Reliability, and Responsiveness 50 More Secure 55 Compatible with You 62 Better Troubleshooting and Problem Solving 66 WINDOWS 7 FOR YOU: MAKES NEW THINGS POSSIBLE 70 Media the Way You Want It 70 Work Anywhere 81 New Ways to Engage 84 INTRODUCTION TO WINDOWS 7 6 WINDOWS 7 FOR IT PROFESSIONALS 88 DESIGNING WINDOWS 7 8 WINDOWS 7 FOR IT PROFESSIONALS: Market Trends that Inspired Windows 7 9 MAKE PEOPLE PRODUCTIVE ANYWHERE 92 WINDOWS 7 EDITIONS 10 Remove Barriers to Information 92 Windows 7 Starter 11 Access
    [Show full text]
  • Thriving in a Crowded and Changing World: C++ 2006–2020
    Thriving in a Crowded and Changing World: C++ 2006–2020 BJARNE STROUSTRUP, Morgan Stanley and Columbia University, USA Shepherd: Yannis Smaragdakis, University of Athens, Greece By 2006, C++ had been in widespread industrial use for 20 years. It contained parts that had survived unchanged since introduced into C in the early 1970s as well as features that were novel in the early 2000s. From 2006 to 2020, the C++ developer community grew from about 3 million to about 4.5 million. It was a period where new programming models emerged, hardware architectures evolved, new application domains gained massive importance, and quite a few well-financed and professionally marketed languages fought for dominance. How did C++ ś an older language without serious commercial backing ś manage to thrive in the face of all that? This paper focuses on the major changes to the ISO C++ standard for the 2011, 2014, 2017, and 2020 revisions. The standard library is about 3/4 of the C++20 standard, but this paper’s primary focus is on language features and the programming techniques they support. The paper contains long lists of features documenting the growth of C++. Significant technical points are discussed and illustrated with short code fragments. In addition, it presents some failed proposals and the discussions that led to their failure. It offers a perspective on the bewildering flow of facts and features across the years. The emphasis is on the ideas, people, and processes that shaped the language. Themes include efforts to preserve the essence of C++ through evolutionary changes, to simplify itsuse,to improve support for generic programming, to better support compile-time programming, to extend support for concurrency and parallel programming, and to maintain stable support for decades’ old code.
    [Show full text]
  • Cornell CS6480 Lecture 3 Dafny Robbert Van Renesse Review All States
    Cornell CS6480 Lecture 3 Dafny Robbert van Renesse Review All states Reachable Ini2al states states Target states Review • Behavior: infinite sequence of states • Specificaon: characterizes all possible/desired behaviors • Consists of conjunc2on of • State predicate for the inial states • Acon predicate characterizing steps • Fairness formula for liveness • TLA+ formulas are temporal formulas invariant to stuering • Allows TLA+ specs to be part of an overall system Introduction to Dafny What’s Dafny? • An imperave programming language • A (mostly funconal) specificaon language • A compiler • A verifier Dafny programs rule out • Run2me errors: • Divide by zero • Array index out of bounds • Null reference • Infinite loops or recursion • Implementa2ons that do not sa2sfy the specifica2ons • But it’s up to you to get the laFer correct Example 1a: Abs() method Abs(x: int) returns (x': int) ensures x' >= 0 { x' := if x < 0 then -x else x; } method Main() { var x := Abs(-3); assert x >= 0; print x, "\n"; } Example 1b: Abs() method Abs(x: int) returns (x': int) ensures x' >= 0 { x' := 10; } method Main() { var x := Abs(-3); assert x >= 0; print x, "\n"; } Example 1c: Abs() method Abs(x: int) returns (x': int) ensures x' >= 0 ensures if x < 0 then x' == -x else x' == x { x' := 10; } method Main() { var x := Abs(-3); print x, "\n"; } Example 1d: Abs() method Abs(x: int) returns (x': int) ensures x' >= 0 ensures if x < 0 then x' == -x else x' == x { if x < 0 { x' := -x; } else { x' := x; } } Example 1e: Abs() method Abs(x: int) returns (x': int) ensures
    [Show full text]
  • Blogging Resources Lyn Hart the Following Information Is A
    Blogging Resources Lyn Hart The following information is a compilation resulting from my own experiences writing my blog from July 2005 to the present. I do not consider myself a “blog expert.” However, these resources have been very helpful for me and I hope they help others. Please keep in mind that while this information was accurate at the time of this writing, internet technology and websites constantly become obsolete or are upgraded! Blog Service Providers These are “hosting platforms” for blogs. There are many blog service providers in existence. The ones listed below are well known, offer free basic blog accounts, do not require the user to download any software, and a few of them also offer additional “upgraded” accounts with special features that require a yearly subscription fee. All provide step-by-step instructions, templates, customizable design themes, and “Help” forums to assist in blog creation and maintenance. Although they are similar, some are simpler than others to set up and use, some of the features and tools differ slightly between providers, and each provider does have its own style and “feel.” It is advisable to investigate several and choose the one which will best suit your abilities and needs. Blog.com http://blog.com/ Blogger http://www.blogger.com/home TypePad http://www.typepad.com/ Wordpress http://wordpress.com/ Writing Blog Posts Microsoft has code embedded in Word that keeps formatting from being preserved if you try to create a blog post in Word & paste it directly into a blog. Windows Live Writer, a free Microsoft download, allows you to compose posts on your desktop, then either save them as drafts or publish them to your blog.
    [Show full text]
  • Neufuzz: Efficient Fuzzing with Deep Neural Network
    Received January 15, 2019, accepted February 6, 2019, date of current version April 2, 2019. Digital Object Identifier 10.1109/ACCESS.2019.2903291 NeuFuzz: Efficient Fuzzing With Deep Neural Network YUNCHAO WANG , ZEHUI WU, QIANG WEI, AND QINGXIAN WANG China National Digital Switching System Engineering and Technological Research Center, Zhengzhou 450000, China Corresponding author: Qiang Wei (prof_weiqiang@163.com) This work was supported by National Key R&D Program of China under Grant 2017YFB0802901. ABSTRACT Coverage-guided graybox fuzzing is one of the most popular and effective techniques for discovering vulnerabilities due to its nature of high speed and scalability. However, the existing techniques generally focus on code coverage but not on vulnerable code. These techniques aim to cover as many paths as possible rather than to explore paths that are more likely to be vulnerable. When selecting the seeds to test, the existing fuzzers usually treat all seed inputs equally, ignoring the fact that paths exercised by different seed inputs are not equally vulnerable. This results in wasting time testing uninteresting paths rather than vulnerable paths, thus reducing the efficiency of vulnerability detection. In this paper, we present a solution, NeuFuzz, using the deep neural network to guide intelligent seed selection during graybox fuzzing to alleviate the aforementioned limitation. In particular, the deep neural network is used to learn the hidden vulnerability pattern from a large number of vulnerable and clean program paths to train a prediction model to classify whether paths are vulnerable. The fuzzer then prioritizes seed inputs that are capable of covering the likely to be vulnerable paths and assigns more mutation energy (i.e., the number of inputs to be generated) to these seeds.
    [Show full text]
  • The Journey of Visual Studio Code
    The Journey of Visual Studio Code Erich Gamma Envision new paradigms for online developer tooling that will be as successful as the IDE has been for the desktop 2012 2011 Eat your own dogfood hp 2011 2012 2012 2013 Meanwhile Microso; Changes Run on Windows Run everywhere Edit in Visual Studio Use your favorite editor Black box compilers Open Language Service APIs Proprietary Open Source Hacker News: Microso “Hit List” h@ps://hn.algolia.com/?query=MicrosoH Pivot or Persevere? Visual Studio A tool that combines the simplicity of a code editor withCode what developers need for the core code-build-debug-commit cycle editor IDE lightweight/fast project systems keyboard centered code understanding file/folders debug many languages integrated build many workflows File>New, wizards designers lightweight/fast ALM integraon file/folders with project conteXt plaorm tools many languages ... keyboard centered code understanding debug task running Inside Visual Studio Code – OSS in AcGon Electron, Node TypeScript Monaco Editor It’s fun to program in JavaScript Compensating patterns for classes, modules and namespaces. Refactoring JavaScript code is difficult! Code becomes read only Defining and documentation of APIs is difficult. Type information in comments are not checked TypeScript OpVonal stac types – be@er tooling: IntelliSense, Refactoring Be@er APIs docs More safety delete this.markers[range.statMarkerId]; // startMarkerId Use features from the future (ES6, ES7) today Growing the Code VS Code Preview – April 2015 Extensions Eclipse Everything is…
    [Show full text]
  • Vcpkg, Un Outil Pour Acquérir Et Compiler Plus Simplement Les Librairies Open Source C++ Sur Windows
    043_044_204 24/01/17 21:59 Page43 microsoft 43 # 204 Vcpkg, un outil pour acquérir et compiler plus simplement les librairies open source C++ sur Windows. Eric Mittelette Acquérir une librairie open source, la compiler sur Windows et l’intégrer dans son Microsoft Corp. projet C++ reste une opération délicate, voire une galère. Pour une librairie donnée, il faut trouver les sources, les installer localement, compiler la librairie et enfin la mettre à disposition du projet dans lequel vous souhaitez l’utiliser. a phase de build est de loin la plus subtile et complexe, elle nécessi- source de la librairie. Nous voulions que cette collection de « port files » te souvent un peu d’adaptation (patch) si la librairie n’est pas encore soit open source et que la communauté des développeurs C++ puisse y Ldisponible pour la version de compilateur que vous utilisez, cette contribuer en ajoutant les librairies qu’ils maintiennent ou utilisent. adaptation nécessite encore l’usage d’incantations (sous forme de scripts, L’architecture générale en découle assez naturellement : pas de magie noire…), que seuls les grands « faiseurs » maîtrisent réelle- • Créer une liste de « port file » dans un repo Github ; ment. Nous savons par sondage et les appels au support technique de • Créer un outil en ligne de commande qui exploite cette liste et capable Microsoft que les librairies tierces restent pour plus de 30% des cas le blo- de lancer le processus de compilation au regard des instructions de queur a la migration vers les dernières versions du compilateur C++. Nous chaque « port file » ; savons également que 80% des projets C++ utilisent 2 ou 3 librairies • Installer le résultat de la compilation dans un répertoire local « « LibFolder » ; tierces en moyenne, et que la vaste majorité d’entre elles sont aujourd’hui • Permettre une intégration simple avec Visual studio, CMake ou tout des librairies open source.
    [Show full text]
  • Google Picasa Eingestellt: Die Besten Alternativen Zur Fotoverwaltung
    Kein Support mehr ab Mitte März 2016 Google Picasa eingestellt: Die besten Alternativen zur Fotoverwaltung von Sebastian Kolar, Rainer Schuldt – COMPUTER-BILD 10.03.2016, 12:29 Uhr Ein Stück Software-Geschichte verschwindet von der Bildfläche: Google entwickelt Picasa nicht mehr weiter. Die Gelegenheit ist günstig, sich nach Alternativen umzuse- hen – COMPUTER BILD stellt vielfältigen Ersatz vor, der noch Updates erhält. Eingestampft: Google hegt kein Interesse mehr an Picasa. Schon 2012 verschwand der Linux-Ableger aus dem Netz, dasselbe Schicksal ereilt jetzt das Windows-Pendant. Wer in Masse fotografiert, kennt das Problem: Auf dem PC abgelegte Bilddateien gehen im Laufwerksdickicht unter. Versäumt man es, Dateien von vornherein geordnet auf der Platte zu speichern, artet späteres Auffinden zur Geduldsprobe aus. Mehr Freude an Bilddateien vergange- ner Tage verschaffte lange Zeit Picasa: Die Bildverwaltung präsentiert, sortiert und optimiert den Fotobestand von Hobbyknipsern. Mit der Weiterentwicklung des Programms ist nun Schluss: Die von Google im Juli 2004 übernommene Software stellt der Anbieter zum 15. März 2016 ein. Ge- nauer: Updates folgen keine mehr (siehe Blogpost). Anwender sind angehalten, zum Nachfolger Google Fotos zu wechseln. Da das nicht für jedermann infrage kommt, präsentiert die Redaktion Top-Alternativen zum kostenlosen Herunterladen. Reichlich Alternativen zum Nulltarif Obwohl sich Google Fotos als Ersatz für Picasa anbietet, unterscheiden sich beide Produkte grundlegend: Picasa ist ein PC-Werkzeug, während Google Fotos ausschließlich im Internet beziehungsweise Browser läuft – zumindest am PC. Für Mobilgeräte gibt es iOS- und Android-Apps. Legen Sie Wert auf eine lokal in- stallierte Anwendung mit Updates, werfen Sie einen Blick in die Zusammenstellung der Redaktion. Darin finden Sie Werkzeuge, die Ihre Bilder übersichtlich anzeigen, Farbfehler automatisch korrigieren und weit- reichende manuelle Bearbeitungen erlauben.
    [Show full text]
  • WA2775 Introduction to Angular 7 Programming
    WA2775 Introduction to Angular 7 Programming Classroom Setup Guide Web Age Solutions Inc. 1 Table of Contents Part 1 - Minimum Hardware Requirements....................................................................3 Part 2 - Minimum Software Requirements ....................................................................3 Part 3 - Software Provided..............................................................................................3 Part 4 - Instructions.........................................................................................................4 Part 5 - Installing Node.js 10.13.0...................................................................................4 Part 6 - Installing Visual Studio Code.............................................................................6 Part 7 - Summary..........................................................................................................13 2 Part 1 - Minimum Hardware Requirements ● Dual Core CPU or better 64 bits ● 4GB RAM minimum ● 20 GB in the hard disk ● Internet connection Part 2 - Minimum Software Requirements ● Windows OS: Windows 7 / 10, Windows Server 2012. ● Latest Google Chrome browser ● Latest Visual Studio Code ● Nodejs * * - indicates software provided as part of the courseware. Part 3 - Software Provided List of ZIP files required for this course and used in next steps on this document: WA2775_REL_1_0.zip Send an email to support@webagesolutions.com in order to obtain a copy of the software for this course if you haven't receive it yet.
    [Show full text]
  • SQL Server Performance Tuning on Google Compute Engine
    SQL Server Performance Tuning on Google Compute Engine Erik Darling Brent Ozar Unlimited March 2017 Table of contents Introduction Measuring your existing SQL Server Trending backup size Projecting future space requirements Trending backup speed Bonus section: Backing up to NUL Trending DBCC CHECKDB Trending index maintenance Recap: your current vital stats Sizing your Google Compute Engine VM Choosing your instance type Compute Engine’s relationship between cores and memory Memory is more important in the cloud Choosing your CPU type Putting it all together: build, then experiment Measuring what SQL Server is waiting on An introduction to wait stats Getting more granular wait stats data Wait type reference list CPU Memory Disk Locks Latches Misc Always On Availability Groups waits Demo: Showing wait stats with a live workload About the database: orders About the workload Measuring SQL Server with sp_BlitzFirst Baseline #1: Waiting on PAGEIOLATCH, CXPACKET, SOS_SCHEDULER_YIELD Mitigation #1: Fixing PAGEIOLATCH, SOS_SCHEDULER_YIELD Configuring SQL Server to use the increased power TempDB Moving TempDB Max server memory 1 CPU Baseline #2: PAGEIOLATCH gone, SOS_SCHEDULER_YIELD still here Mitigation #2: Adding cores for SOS_SCHEDULER_YIELD waits Baseline #3: High CPU, and now LCK* waits Mitigation #3: Fixing LCK* waits with optimistic isolation levels Batch requests per second 2 Introduction This whitepaper discusses how to create a SQL server in Compute Engine and then use performance metrics to optimize its performance. This paper is intended for database administrators, Windows admins, or developers planning to build your first SQL Servers in Google Compute Engine. In this white paper, you’ll learn how to do the following: ● Measure your current SQL Server using data already have.
    [Show full text]
  • My Collection
    Hardware and software requirements for Project Server 2013 Project Server 2013 Published: July 16, 2012 Summary: When you plan to install Project Server 2013, verify that the computer meets the hardware and software requirements that are listed in this article. Applies to: Project Server 2013 This article describes the following requirements: Hardware requirements: Small dataset hardware recommendations Medium dataset hardware recommendations Large dataset hardware recommendations Software requirements: Operating system SharePoint Server 2013 SQL Server Requirements for Project Server 2013 features Client requirements: Project Professional client compatibility Project Professional 2013 installation requirements Project Professional 2013 through Office 365 ProPlus Project Web App requirements Hardware requirements for Project Server 2013 When you plan for the hardware that is required for a Project Server 2013 deployment, as a starting point, you should determine the usage requirements for your Project Server 2013 environment. These variables include the number of projects, tasks, users, average tasks per project, and so on. By using the How datasets affect performance and capacity in Project Server 2013 tables, you can compare the numbers from your environment to the data for small, medium, and large datasets defined in their corresponding table. By selecting the dataset that most resembles the usage requirements in your environment, you can use the recommended topology and associated hardware requirements for your topology as a starting point when you plan for hardware for your Project Server 2013 deployment. This section specifies the hardware requirements for a Project Server 2013 deployment based on the datasets defined in How datasets affect performance and capacity in Project Server 2013.
    [Show full text]