Collaborative Design Fundamentals for Software Engineers Iv

Total Page:16

File Type:pdf, Size:1020Kb

Collaborative Design Fundamentals for Software Engineers Iv A.HAMILTON-WRIGHT,K.RAYMOND ANDD.A.STACEY COLLABORATIVEDESIGN FUNDAMENTALSFOR SOFTWAREENGINEERS ONLINE TEXT FOR CIS*2250: SOFTWAREDESIGNII UNIVERSITYOFGUELPH,SCHOOLOFCOMPUTERSCIENCE Copyright © 2020 A. Hamilton-Wright, K. Raymond and D.A. Stacey published by university of guelph, school of computer science https://qemg.uoguelph.ca/cis2250book Provided under a Creative Commons Attribution-NonCommercial-NoDerivatives license. https://creativecommons.org/licenses/by-nc-nd/4.0/ First printing, July 2020 Contents 1 Introduction to the Course 1 1.1 What is Software Design? 1 1.1.1 Concept Maps of the Main Concepts in the Course 1 1.1.2 Other Tools and Tips for Success 3 1.1.3 Goals for the Semester 3 1.2 Course Logistics 4 1.2.1 Lectures 4 1.2.2 Labs 4 1.2.3 Readings 5 1.2.4 Design Challenges 5 1.2.5 Team Project 6 1.3 Getting Prepared for the Term 6 1.4 Review Questions 7 1.5 Review Questions - Chapter 1: Introduction to the course 7 I Initial Organization 9 2 Pair Programming 13 2.1 What is Pair Programming? 13 2.2 Why Pair Programming? 13 2.3 The Pair Programming Protocol 14 2.3.1 Pair Programming: Stage 1 14 2.3.2 Pair Programming: Stage 2 14 collaborative design fundamentals for software engineers iv 2.4 The Partners in Pair Programming 14 2.4.1 The Pilot (Driver) 15 2.4.2 The Co-pilot 15 2.5 Using Pair Programming for the Team Project 15 2.6 Pair Programming Hints 16 2.6.1 Let the pilot have time to type 16 2.6.2 Start your pairing session by establishing a few rules and guidelines for behaviour 16 2.6.3 There will be disagreements 16 2.6.4 If your partner is not listening then take action! 17 2.6.5 Ask questions 17 2.6.6 Be considerate 17 2.6.7 Practice test-driven development 18 2.7 Pair Programming Problem Partner Types 18 2.7.1 The Cowboy 18 2.7.2 The Strong, Silent Type 19 2.7.3 The Passenger 19 2.7.4 The Party Animal 20 2.7.5 The Ghost 20 2.8 Summary 21 2.9 Questions - Chapter 2: Pair Programming 21 3 Scripting Languages, and in particular, Perl 23 3.1 Scripting Languages – Choosing The Right Tool for the Right Job 23 3.2 Compiler versus Interpreters 23 3.3 Dynamic Typing 23 3.4 Memory Management 24 3.5 Object-Oriented Design 24 3.6 Data Structures 24 3.7 What is Perl? 24 3.8 Script Syntax 25 3.8.1 Basic Syntax 25 3.8.2 Variables 25 3.8.3 Perl Functions 26 3.8.4 Scalars 28 3.8.5 Strings 28 collaborative design fundamentals for software engineers v 3.9 Perl on the Internet 29 3.9.1 Tutorials 29 3.9.2 Using Google to Answer Questions 29 3.9.3 Perl Code to Help You Learn Perl 29 3.10 Analyzing and Evaluating Perl Code 31 3.10.1 What is Perl::Critic? 31 3.10.2 Using the Perl::Critic Website 31 3.10.3 Severity Levels 31 3.11 Questions - Chapter 3: Perl Programming 34 II Understanding our Resources 37 4 Reading Text Based Files 39 4.1 Types of Files 39 4.1.1 ASCII and/or Unicode 39 4.2 Reading Text Files 40 4.2.1 Text file Organization 41 4.2.2 Reading a file 41 4.3 Reading a file in perl 41 4.4 BOM (Byte Order Mark) 42 4.5 Questions - Chapter 4: Reading Text Based Files 43 5 Self-study Seminar Preparation: Reading with a Purpose 45 5.1 What is Reading with a Purpose? 45 5.2 How to Read with a Purpose 45 5.2.1 Example: Excerpt from Data Finds Data by Jonas and Sokol 47 5.2.2 After Reading 49 5.3 How to Read an Article: Key Steps 50 5.3.1 Have a purpose 50 5.3.2 Make notes 50 5.3.3 Organize your notes after you finish the article 50 5.3.4 Do some background research 50 5.3.5 Re-read the article 50 5.3.6 Critically evaluate what you have read 50 collaborative design fundamentals for software engineers vi 5.4 Critical Evaluation: Questions to ask about an article 51 5.4.1 What is this article about? (What is its “thesis?”) 51 5.4.2 What is the contribution? (What new thing does this article contribute to the world?) 51 5.4.3 What is its value? (How important is it to have this new thing?) 51 5.4.4 How do the authors evaluate their contribution? (How do they show that what they have done is of value?) 52 5.4.5 What questions do you have after having read this article? 52 5.5 Checklist for Reading Articles 53 6 Reading Code 55 6.1 Purpose or Goal 55 6.2 Who are you? 55 6.3 Reading Techniques 56 6.3.1 What’s in a Name? 56 6.3.2 Loops 56 6.3.3 Branching – reading if statements 57 6.3.4 Libraries and Modules 57 6.4 Modularity 58 6.5 Problem Areas 58 6.6 Example Checklist of Issues in the C Language 58 6.7 How to Approach Reading Code 60 6.7.1 Don’t just be passive! 60 6.8 Questions - Chapter 6: Reading Code 61 7 Code Review 63 7.1 Objectives 63 7.2 Benefits 63 7.3 Logistics of a Code Review 64 7.4 Code Ownership 64 7.5 Pitfalls to Avoid 64 7.6 Checklist for a Code Review 65 7.7 Questions - Chapter 7: Code Review 65 collaborative design fundamentals for software engineers vii III Design as an Intentional Activity 67 8 Design: What makes it sing, and what makes it stink? 69 8.1 Defining Design 69 8.1.1 What makes design good? 69 8.1.2 What makes design bad? 70 8.2 Bad Design 71 8.2.1 An Example of Bad Design – The Remote Control 71 8.2.2 Historical Design Artifacts 74 8.2.3 Sometimes Awkward is Good 76 8.2.4 Making Observations 77 8.2.5 Give us a Clue! 78 8.2.6 Do We Really Need a Clue! 80 8.2.7 Who needs standards? 80 8.2.8 Working for Everyone 81 8.2.9 Working under Bad Conditions 82 8.2.10 Recipe for disaster. 83 8.2.11 Listen to the user 83 8.2.12 I’ll see you to the door 84 8.3 Good Design 90 8.3.1 What is Good Design? 90 8.3.2 Principles of Good Design 90 8.4 Questions - Chapter 8: Design: What makes it sing, and what makes it stink? 92 9 Data Design 93 9.0.1 Definitions 93 9.1 Characteristics of Data 93 9.1.1 Size 94 9.1.2 Latency 95 9.1.3 Age / Timeliness 95 9.1.4 Location 95 9.1.5 Importance / Value 95 collaborative design fundamentals for software engineers viii 9.1.6 Accuracy 96 9.1.7 Verifiable 96 9.1.8 Accessible 96 9.1.9 Usefulness (Utility) 96 9.2 Data Design Problem Solving: Data Encoding 96 9.2.1 Smaller Storage Requirements 97 9.2.2 Eliminate or reduce data entry errors 97 9.2.3 Easier to check for errors 98 9.2.4 Easier to Accommodate Change 98 9.2.5 More Robust 99 9.3 Questions - Chapter 9: Data Design 100 IV Working Together As Designers 101 10 Group (Team) Work 103 10.1 Product Owner: 103 10.2 Team Leader/Project Manager: 104 10.3 Process Co-Ordinator/SCRUM Master: 104 10.4 Architect/Conceptual Interaction Lead: 104 10.5 Communication Officer/Documentation Lead: 104 10.6 Quality Assurance/Testability Lead: 105 10.7 Archivist/Revision Control Master: 105 10.8 Activities that Span All Roles 105 10.8.1 Writing the notes from each meeting: 105 10.8.2 Writing the code itself: 105 10.9 Team Work: How to make things go (well) 107 10.9.1 Don’t wait for disaster! 107 10.9.2 Integrated Goals are Key 107 10.9.3 Share the Load, Share the Learning 108 10.9.4 Take Individual Responsibility 109 10.9.5 The Whole Thing is Important 109 collaborative design fundamentals for software engineers ix 10.9.6 You are Not A Mindless Cog 110 10.9.7 You are Still Not A Mindless Cog 110 10.9.8 Don’t Be Complicit 111 10.9.9 You Have to Be There for Your Team 111 10.9.10 Evaluations are Important 111 10.9.11 Evaluations You Don’t Like Are Still Evaluations 112 10.9.12 Documentation is Key 113 10.9.13 We are Not Mindless Coders 113 10.9.14 Don’t Put the Dead in Deadline 113 10.9.15 It’s Important to Work Together 114 10.10Strategies for Success 114 10.11Questions - Chapter 10: Group (Team) Work 114 11 Agile Software Development 117 11.1 Software Development Methodologies 117 11.1.1 Software Development Lifecycles Examples 117 11.2 Agile Manifesto 118 11.2.1 Principles of the Manifesto 118 11.3 Extreme Programming 118 11.4 Scrum 119 11.4.1 What is Scrum? 119 11.4.2 Scrum And The People: Primary Scrum Roles 120 11.4.3 Scrum and its Activities 120 11.4.4 Scrum and its Artifacts 120 11.4.5 Backlogs 121 11.5 The Sprint 121 11.5.1 Daily Scrums 122 11.5.2 Using the Backlogs 123 11.5.3 Keeping Track – Using a Scrum Board 125 11.5.4 Scrum Task Board Components 125 11.5.5 Burndown Charts 126 collaborative design fundamentals for software engineers x 11.6 Test First 128 11.7 Refactoring 128 11.7.1 Refactoring Examples 128 11.7.2 Refactor Mercilessly 129 11.8 Scrum: The Important Ideas 129 11.9 Questions - Chapter 11 129 12 Problem Solving 131 12.1 Problem Solving is a Four Step Process 131 12.1.1 Understand the problem/current situation 131 12.1.2 Identify the cause(s) of the problem 131 12.1.3 Develop an effective and efficient action plan 132 12.1.4 Execute the plan, analyze its effectiveness and modify it until the problem is solved 132 12.2 Checklists 132 12.2.1 What is a Checklist? 132 12.2.2 What is on a Checklist? 132 12.2.3 Benefits of Checklists 133 12.3 What is Debugging? 134 12.3.1 Studying Debugging 134 12.3.2 How to Debug Software using the Debugging Cycle 134 12.3.3 Code Complete’s Devil’s Guide 134 12.3.4 Good Debugging Strategies 135 12.3.5 Errors To Look For 135 12.3.6 Debugging To Do List 135 12.3.7 Debugging Hints 136 12.4 Questions - Chapter 12 136 13 Project Management 137 13.1 Project Management Basics 137 13.1.1 Make sure that everyone can contribute to the project 137 13.1.2 Learn how to have productive meetings 138 collaborative design fundamentals for software engineers xi 13.1.3 Learn how to make decisions 138 13.1.4 Make Lists 138 13.1.5 Manage Transitions Within Your Process 138 13.1.6 Manage Team Morale 138 13.1.7 Real Management Starts When Things Go Wrong 139 13.1.8 Gold Plating Is A Sign Of Management Failure 139 13.2 Agile Project Management Principles 139 13.2.1 Scheduling 139 13.2.2 Iterations 139 13.3 Questions - Chapter 13:
Recommended publications
  • CSI Web Server for Linux
    INSTRUCTION CSI Web Server for Linux Installation Guide Revision: 3/18 MANUAL Copyright © 2006- 2018 Campbell Scientific, Inc. License for Use This software is protected by United States copyright law and international copyright treaty provisions. The installation and use of this software constitutes an agreement to abide by the provisions of this license agreement. Campbell Scientific grants you a non-exclusive license to use this software in accordance with the following: (1) The purchase of this software allows you to install and use a single instance of the software on one physical computer or one virtual machine only. (2) This software cannot be loaded on a network server for the purposes of distribution or for access to the software by multiple operators. If the software can be used from any computer other than the computer on which it is installed, you must license a copy of the software for each additional computer from which the software may be accessed. (3) If this copy of the software is an upgrade from a previous version, you must possess a valid license for the earlier version of software. You may continue to use the earlier copy of software only if the upgrade copy and earlier version are installed and used on the same computer. The earlier version of software may not be installed and used on a separate computer or transferred to another party. (4) This software package is licensed as a single product. Its component parts may not be separated for use on more than one computer. (5) You may make one (1) backup copy of this software onto media similar to the original distribution, to protect your investment in the software in case of damage or loss.
    [Show full text]
  • Mahasen: Distributed Storage Resource Broker K
    Mahasen: Distributed Storage Resource Broker K. Perera, T. Kishanthan, H. Perera, D. Madola, Malaka Walpola, Srinath Perera To cite this version: K. Perera, T. Kishanthan, H. Perera, D. Madola, Malaka Walpola, et al.. Mahasen: Distributed Storage Resource Broker. 10th International Conference on Network and Parallel Computing (NPC), Sep 2013, Guiyang, China. pp.380-392, 10.1007/978-3-642-40820-5_32. hal-01513774 HAL Id: hal-01513774 https://hal.inria.fr/hal-01513774 Submitted on 25 Apr 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Distributed under a Creative Commons Attribution| 4.0 International License Mahasen: Distributed Storage Resource Broker K.D.A.K.S.Perera1, T Kishanthan1, H.A.S.Perera1, D.T.H.V.Madola1, Malaka Walpola1, Srinath Perera2 1 Computer Science and Engineering Department, University Of Moratuwa, Sri Lanka. {shelanrc, kshanth2101, ashansa.perera, hirunimadola, malaka.uom}@gmail.com 2 WSO2 Lanka, No 59, Flower Road, Colombo 07, Sri Lanka [email protected] Abstract. Modern day systems are facing an avalanche of data, and they are being forced to handle more and more data intensive use cases. These data comes in many forms and shapes: Sensors (RFID, Near Field Communication, Weather Sensors), transaction logs, Web, social networks etc.
    [Show full text]
  • 21St Century C
    www.it-ebooks.info www.it-ebooks.info 21st Century C Ben Klemens Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo www.it-ebooks.info 21st Century C by Ben Klemens Copyright © 2013 Ben Klemens. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editor: Nathan Jepson Indexer: Ellen Troutman Production Editor: Rachel Steely Cover Designer: Karen Montgomery Copyeditor: Linley Dolby Interior Designer: David Futato Proofreader: Teresa Horton Illustrators: Robert Romano and Rebecca Demarest November 2012: First Edition. Revision History for the First Edition: 2012-10-12 First release See http://oreilly.com/catalog/errata.csp?isbn=9781449327149 for release details. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. 21st Century C, the image of a common spotted cuscus, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein.
    [Show full text]
  • LNCS 8147, Pp
    Mahasen: Distributed Storage Resource Broker K.D.A.K.S. Perera1, T. Kishanthan1, H.A.S. Perera1, D.T.H.V. Madola1, Malaka Walpola1, and Srinath Perera2 1 Computer Science and Engineering Department, University Of Moratuwa, Sri Lanka {shelanrc,kshanth2101,ashansa.perera,hirunimadola, malaka.uom}@gmail.com 2 WSO2 Lanka, No. 59, Flower Road, Colombo 07, Sri Lanka [email protected] Abstract. Modern day systems are facing an avalanche of data, and they are be- ing forced to handle more and more data intensive use cases. These data comes in many forms and shapes: Sensors (RFID, Near Field Communication, Weath- er Sensors), transaction logs, Web, social networks etc. As an example, weather sensors across the world generate a large amount of data throughout the year. Handling these and similar data require scalable, efficient, reliable and very large storages with support for efficient metadata based searching. This paper present Mahasen, a highly scalable storage for high volume data intensive ap- plications built on top of a peer-to-peer layer. In addition to scalable storage, Mahasen also supports efficient searching, built on top of the Distributed Hash table (DHT) 1 Introduction Currently United States collects weather data from many sources like Doppler readers deployed across the country, aircrafts, mobile towers and Balloons etc. These sensors keep generating a sizable amount of data. Processing them efficiently as needed is pushing our understanding about large-scale data processing to its limits. Among many challenges data poses, a prominent one is storing the data and index- ing them so that scientist and researchers can come and ask for specific type of data collected at a given time and in a given region.
    [Show full text]
  • PYTHON FULL STACK DEVELOPER TRAINING by Nirvana Enterprises
    PYTHON FULL STACK DEVELOPER TRAINING By Nirvana Enterprises 1 Python Full Stack Developer Training 732.889.4242 [email protected] www.nirvanaenterprises.com About the Course As part of Python Full Stack Develop- more. You will learn how to Use CSS and ment program, you will learn the Front Bootstrap (a front-end framework that End technologies you need to know, in- simplifies web design) to create beauti- cluding HTML5, CSS3, Javascript, jQuery, fully styled sites quickly. Use Javascript Bootstrap, Python, Django Basics, Djan- to interact with sites on the Front-End go Templates, Django Forms, Django and also learn to use jQuery to quickly Admin Customization, ORM, Class Based work with the DOM. The Course includes Views, REST APIs, User Authentication. 3 industry level practice projects, and in- You will also learn how to build an ad- terview preparation, and extreme coding vanced API that handles creating and practices. This prepares you for your next updating user profiles, changing pass- Fortune 500 company project as a Full words, creating objects, uploading im- Stack Python Developer. Setup a project ages, filtering and searching objects, and with Docker and Docker-Compose. 2 Python Full Stack Developer Training 732.889.4242 [email protected] www.nirvanaenterprises.com Key Course Highlights Concept & Logic development Learn Python, Django, HTML, with 160 Hours of Training by CSS, Javascript, Bootstrap & Experts MongoDB 3 Industry projects on Python, Develop Cloud Native Applica- Django, Testing, AWS, Angular,
    [Show full text]
  • High Performance Computing Modernization Program Mass Storage
    High Performance Computing Modernization Program Mass Storage September 21, 2012 Designing Storage Architectures for Digital Collections Library of Congress Gene McGill, [email protected] Arctic Region Supercomputing Center/HTL What is the HPCMP? • Five large DoD Supercomputing Resource Centers (DSRCs) and various smaller facilities – Air Force Research Lab (AFRL DSRC), Dayton, OH – Army Research Lab (ARL DSRC), Aberdeen Proving Ground, MD – US Army Engineer Research and Development Center (ERDC DSRC), Vicksburg, MS – Navy DoD Supercomputing Resource Center (Navy DSRC), Stennis Space Center, MS – Maui High Performance Computing Center (MHPCC DSRC), Kihei, Maui, HI • ARSC HEUE Test Lab (ARSC HTL), Fairbanks, AK • Other smaller, more focused centers What is the HPCMP? (cont) • ~1,500 users • Diverse scientific & engineering applications, systems are general-purpose, no single usage profile • Ten large, unclassified, HPC clusters – Total TFLOPs: 1421; 6.1 PBs local, high speed disk; • Mass Storage servers – SAM-QFS, SL8500, SL3000, T10000[A|B|C] + Remote DR. • 25 PB 1st copy, nearly all files get DR copy – Less than 2% of the users own 50% of the PBs – Growth is accelerating Legacy Architecture • Batch jobs run on HPC clusters – Jobs use fast, expensive, local disk – Insufficient space on HPCs to store restart files between jobs – Users store files on mass storage servers that shouldn’t live long-term • Restart file, intermediate results, … • … and users rarely go back and remove what they don’t need • Users tell us: – Tools to manage the millions of files on mass storage servers are lacking – HPC clusters not good for pre- & post-processing, this discourages post- processing and saving only high-value PP’d files – Users don’t think all files need a DR copy • Program management wants to live within current tape slots The HPCMP Enhanced User Environment • We don’t want to be an Archive like this group thinks of them! – We are implementing tools that could be used for an Archive… – … for the purpose of reducing rate of growth of data.
    [Show full text]
  • JAVA FULL STACK DEVELOPER TRAINING by Nirvana Enterprises
    JAVA FULL STACK DEVELOPER TRAINING By Nirvana Enterprises 1 Java Full Stack Developer Training 732.889.4242 [email protected] www.nirvanaenterprises.com About the Course This is a full stack web development (Java IDE) and Tomcat Embedded Web course using Angular, Spring Boot, and Server. The course will also give you ex- Spring Security Frameworks. You will pertise in MongoDB, and Docker so you be using Angular (Frontend Framework), can build, test, and deploy applications TypeScript Basics, Angular CLI(To create quickly using containers. The Course in- Angular projects), Spring Boot (REST API cludes 3 industry level practice projects, Framework), Spring (Dependency Man- and interview preparation, and extreme agement), Spring Security (Authentica- coding practices. This prepares you for tion and Authorization - Basic and JWT), your next Fortune 500 company project BootStrap (Styling Pages), Maven (depen- as a Full Stack Java Developer. dencies management), Node (npm), Vi- sual Studio Code (TypeScript IDE), Eclipse 2 Java Full Stack Developer Training 732.889.4242 [email protected] www.nirvanaenterprises.com Key Course Highlights Concept & Logic development Learn Core Java, Advanced Java, with 160 Hours of Training by SpringBoot, HTML, CSS, Javas- Experts cript, Bootstrap & MongoDB 3 Industry-level projects on Core Develop Cloud Native Applica- Java, Testing, Automation, AWS, tion - on AWS Cloud Angular, MongoDB & Docker Earn a Certificate in Java Full Architecture & SDLC - Microser- Stack Development on success- vices & DevOps ful completion of the program Guaranteed Placement within Cloud Platform & Deployment - months of successful comple- AWS Cloud, Docker & Jenkins tion of the program 3 Java Full Stack Developer Training 732.889.4242 [email protected] www.nirvanaenterprises.com Learning Outcomes Develop a working application on Build cloud-native application by Shopping Cart for ECommerce and seeding the code to Cloud (SCM), in Healthcare using full stack with like AWS.
    [Show full text]
  • An Interoperable & Optimal Data Grid Solution For
    An Interoperable & Optimal Data Grid Solution for Heterogeneous and SOA based Grid- GARUDA Payal Saluja, Prahlada Rao B.B., ShashidharV, Neetu Sharma, Paventhan A. Dr. B.B Prahlada Rao [email protected] s IPDPS 2010, Atlanta 2010, IPDPS s ’ 19 April 2010 IPDPS10 System Software Development Group Centre for Development of Advanced Computing HPGC Workshop, IEEE Workshop, HPGC C-DAC Knowledge Park, Bangalore, India GARUDA DataGrid Solutions:GSRM – Prahlada Rao.. et all 1 Presentation Outline • Grid Storage Requirements • Various Data Grid Solutions • Comparision of Grid data Solutions • Indian National Grid –GARUDA • Data Management Challenges for GARUDA • GARUDA Data Storage Solution - GSRM • GSRM Highlights • GSRM Architecture Integration with GARUDA s IPDPS 2010, Atlanta 2010, IPDPS s middleware components ’ • GSRM Usage Scenario for Par. applications • Conclusions HPGC Workshop, IEEE Workshop, HPGC GARUDA DataGrid Solutions:GSRM – Prahlada Rao.. et all 2 Grid Storage Requirements • Data Availability • Security • Performance & Latency • Scalability • Fault Tolerance s IPDPS 2010, Atlanta 2010, IPDPS s ’ HPGC Workshop, IEEE Workshop, HPGC GARUDA DataGrid Solutions:GSRM – Prahlada Rao.. et all Data Grid Solutions & Supported Storage Systems Data Grid Storage Systems Storage Grid File Storage Resource System Resource iRODS WS-DAI Broker Manager Gfarm StoRM GPFS DPM Lustre dCache Xtreemfs Grid Storage Storage Grid Solutions Bestman NFSv4 1.File Systems 1.File systems 1. File systems 1.File Systems AMG 2. Archives 2.Parallel File 2. Parallel File 2. Archives A WS- 3. Storage Area Systems Systems 3. Storage DAI s IPDPS 2010, Atlanta 2010, IPDPS s ’ Network (SAN) 3.Object 3.Object storage Area Network 4. Data Bases storage device (SAN) WS- 4.
    [Show full text]
  • View Line Card
    PRODUCTLINECARD Headquarters 100 E. San Marcos Boulevard, Suite #400 San Marcos, CA 92069 Customer Integra�on & Manufacturing Center 12180 Dearborn Place Poway, CA 92064 Phone: 844.371.4949 www.applieddatasystems.com SERVERS STORAGE SOFTWARE TIER 1 SYSTEMS ArcaStream Scale-Out Storage and Data Management Dell Cloudian PowerEdge Object Storage Bright Compu�ng Bright Cluster Manager R230, 330, 430, 530, 630, 730, 830, 930, C4130 Dell HPE SAN: MD1200, 1220, 1400, 1420, 3060e, MD3460 Commvault Data Protec�on and Management C7000, C3000, DL Series, Proliant BL Series Dell EMC IBM SAN: VNX 5200, 5400, 5600, 5800, 7600, 8000, Excelero Open Power, Power 8 VMAX NVMesh NAS : Isilon General Atomics COMMODITY Flash: DSSD D5, XtremIO Easy HSM, Nirvana Intel HGST HGST 1u - 2u Servers Ac�veScale P100 HGST Ac�ve Archive, Ac�ve Cloud Management, SuperMicro HPE JBOD, InfiniFlash 1u - 8u Servers SAN / Flash: 3PAR IBM Intel Xeon Spectrum Scale (GPFS) NVIDIA Tesla Systems: 1-9 GPUs Keeper Technology All Flash Servers (up to 48x NVMe) Object Storage: keeperSAFE Intel Enterprise Edi�on for Lustre, HPC Orchestrator Tyan NetApp 4u, 8 x GPU Server SAN: E-Series 2800, 5000 Keeper Technology NAS: FAS 2500, 2600, 8000, 9000 Intelligent Data Management Technology (IDMT) PROCESSORS Flash: EF-Series, All Flash FAS (AFF), SolidFire Open-E StorageGRID Webscale AMD Object Storage: Storage Management, Backup/Recovery, Security CPUs, Accelerators, 6300 Series SpectraLogic Pixit Media Tfinity & T-Series Tape, BlackPearl, Arc�cBlue Intel PixStor, PixCache CPUs, Accelerators,
    [Show full text]
  • AONS II: Continuing the Trend Towards Preservation Software 'Nirvana'
    AONS II: continuing the trend towards preservation software ‘Nirvana’ David Pearson Web Archiving and Digital Preservation Branch, National Library of Australia, Canberra ACT 2600, Australia. [email protected] Abstract. File format obsolescence is a major risk factor threatening the sustainability of and access to digital information. While the preservation community has become increasingly interested in tools for migration and transformation of file formats, the National Library of Australia is developing mechanisms specifically focused on monitoring and assessing the risks of file format obsolescence. This paper reports on the AONS II project, undertaken by the National Library of Australia (NLA) in conjunction with the Australian Partnership for Sustainable Repositories (APSR). The project aimed to develop a software tool which allows users to automatically monitor the status of file formats in their repositories, make risk assessments based on a core set of obsolescence risk questions, and receive notifications when file format risks change or other related events occur. This paper calls for the preservation community to develop a co-operating file format obsolescence community which includes registries, software tool creators and end users to effectively curate digital content in order to maintain long-term access. 1. Introduction Cycles of change in file formats impinge on even the most casual users of digital data. Technological change and format obsolescence are potentially major problems for every repository manager and data user. This is particularly true given the ever-increasing volume of digital materials, the plethora of file formats, the dynamic nature of computing environments, and the unremitting but often unpredictable drivers that cause formats to become obsolete.
    [Show full text]
  • Programming Pearls, Second Edition by Jon Bentley
    Programming Pearls, Second Edition by Jon Bentley. Addison-Wesley, Inc., 2000. ISBN 0-201-65788-0. 239 + xi pp. $24.95 This book is a collection of essays about a glamorous aspect of software: programming pearls whose origins lie beyond solid engineering, in the realm of insight and creativity. This book provides a guide for both students and experienced programmers about how to design and create programs, and how to think about programming. The book is full of small case studies, real examples, and interesting exercises for learning about how to program. This web page contains samples from the whole work for you to investigate. For teachers, the links below lead to some of the central material suitable for classroom use. Steve McConnell describes the book as ``a celebration of design in the small''. Browse this site to sample it yourself. What's new on this web site? From The Book Table of Contents Preface Part I: Preliminaries Column 1: Cracking the Oyster Column 2: Aha! Algorithms [Sketch] Column 4: Writing Correct Programs [Sketch] Column 5: A Small Matter of Programming [Sketch] Part II: Performance Column 7: The Back of the Envelope Column 8: Algorithm Design Techniques [Sketch] Part III: The Product Column 14: Heaps [Sketch] Column 15: Strings of Pearls Epilog to the First Edition Epilog to the Second Edition Appendix 2: An Estimation Quiz Appendix 3: Cost Models for Time and Space Appendix 4: Rules for Code Tuning Solutions for Column 1 Column 5 Column 7 Column 15 Index About The Book Why a Second Edition? To Readers of the First Edition About the First Edition Errata Supporting Material Source Code Web Sites Relevant to the Book Animation of Sorting Algorithms Tricks of the Trade Teaching Material Other Links ● Addison-Wesley Computer & Engineering Publishing Group ● Programming Pearls at Addison-Wesley ● Bookstores: Amazon.com, Barnes & Noble, Borders.com, Fatbrain.com, Quantum Books.
    [Show full text]
  • From DOS/Windows to Linux HOWTO from DOS/Windows to Linux HOWTO
    From DOS/Windows to Linux HOWTO From DOS/Windows to Linux HOWTO Table of Contents From DOS/Windows to Linux HOWTO ........................................................................................................1 By Guido Gonzato, ggonza at tin.it.........................................................................................................1 1.Introduction...........................................................................................................................................1 2.For the Impatient...................................................................................................................................1 3.Meet bash..............................................................................................................................................1 4.Files and Programs................................................................................................................................1 5.Using Directories .................................................................................................................................2 6.Floppies, Hard Disks, and the Like ......................................................................................................2 7.What About Windows?.........................................................................................................................2 8.Tailoring the System.............................................................................................................................2 9.Networking:
    [Show full text]