functional thinking applying the philosophy of functional programming to system design and architecture
|
|
- Randolf Marshall
- 6 years ago
- Views:
Transcription
1 functional thinking applying the philosophy of functional programming to system design and architecture
2 Jed
3 functional programming has many benefits: better program reasonability, composition, refactorability and performance yet, the dominant models & paradigms for software architecture and building software systems today remain rooted in mutation and side-effects many of the ideas and principles of functional programming have been applied to solve design problems including security, concurrency, auditing and robustness it is possible and desirable to apply them to all of the systems we build, and gain practical advantage from doing so
4 is the universe mutable?
5 what is change? what about the past? what is now?
6 what is functional programming?
7 programming, with functions!
8 a function f : A -> B relates one value from its domain: A to exactly one value from its range or co-domain: B always the same or equivalent value and nothing else!
9 programming with values
10 values immutable, values do not change shareable, can be cached forever referentially transparent expressions the state of a thing in an instant in time functions are values too
11 what about identities?
12 identity what we think of as the things around us; you, me, the plants and animals, rivers and mountains identities are things we name we are used to thinking of the world in terms of identities, they are the objects in our world
13 since the time of Plato and Aristotle, philosophers have posited true reality as timeless, based on permanent substances, while processes are denied or subordinated to timeless substances if Socrates changes, becoming sick, Socrates is still the same, and change (his sickness) only glides over his substance: change is accidental, whereas the substance is essential
14 No man ever steps in the same river twice, for it's not the same river and he's not the same man. Heraclitus
15 an identity is a series of values over time
16 reifying time
17 f : A -> B
18 f : A -> B
19 f : A -> B f : A -> T -> B
20 f : A -> B f : A -> T -> B
21 Version: 1, Time: A
22 Version 1 Version: 2, Time: B
23 Version 1 Version 2 Version: 3, Time C
24 a -> t1 -> X
25 a -> t1 -> X a -> t2 -> X'
26 change
27 X + Δ = X' X' - X = Δ X' - Δ = X we can store entire versions, or we can store deltas they are equivalent being in possession of any two allows us to traverse time
28 architecture in the Real World
29 problem: atomic updates
30 journaling file system many writes in a single update describe writes in a log perform writes mark logged writes as complete replay incomplete writes to recover from system failure journal is an append-only immutable structure, contains an audit log of all changes (usually deltas) can be used to revert a system to a previous state
31 journaling file system: zfs constant time snapshot of file-system state incremental changes create multiple versions that are persistent, revertable and replayable (ie. copy-on-write) high cache efficiency due to immutability of data storage compaction via data de-duplication continuous integrity checking and automatic data repair
32 content-addressable storage files are stored at an address computed from their content: a content hash names are associated with a hash retrieval looks up the current hash for a name, then accessing the content stored at that address update adds new content, then a new (name, hash) pair caches only cache content at a hash, not at a name
33
34 git: version control system non-linear development, branching/merging distributed development, changes must be shareable between repositories that are not necessarily connected cryptographic authentication of history, the ability to uniquely identify the complete development history of any change to the resources in a repository
35 git: design content is stored as a directed acyclic graph (DAG) of content and content deltas plus meta-data content blobs are stored using the hash of the content or delta trees store lists of file names and links to content in the form of other trees, or blob hash commits are stored using a hash of the meta-data, including tree hash, author, date, parent commit/s
36
37 git: file format updates add new deltas, or a full version known as a pack all old versions are reconstructable the same content produces the same hash, equivalent updates commute data-structure is (mostly) immutable mutable pointer to head of a branch
38 git: benefits presents a mutable view of an immutable structure commit hash includes parent commits, providing a cryptographically secure signature of content and history commit and content data are shareable values, enabling distribution between multiple repositories
39
40 lucene full-text indexing and search needs to maintain a stable searchable view of an index in the face of concurrent updates
41 lucene: index an index is a collection of Documents a document is a collection of Fields and has an ID an index is updated by deleting and re-adding documents searching is done via a Searcher for its lifetime, a searcher will see the state of the index as it was when it was opened
42 lucene: file-format an index is made of Segment files segments contain documents deleting a document adds the document ID to a per-segment.del file ie. it doesn t modify the segment file directly when no searchers reference a segment with many deleted documents, it may be be merged with others into a new segment containing the remaining documents ie. garbage collection
43 segment 1 document 0 document 1 document 2 document 3 document 4 document 5 document 6 document 7 document 8 document 9 segment 2 document 10 document 11 document 12 document 13 document 14 document 15 document 16 document 17 document 18 document 19
44 searcher1 segment 1 document 0 document 1 document 2 document 3 document 4 document 5 document 6 document 7 document 8 document 9 segment 2 document 10 document 11 document 12 document 13 document 14 document 15 document 16 document 17 document 18 document 19
45 searcher1 segment 1 document 0 document 1 document 2 document 3 document 4 document 5 document 6 document 7 document 8 document 9 document 3 document 8 segment 2 document 10 document 11 document 12 document 13 document 14 document 15 document 16 document 17 document 18 document 19 document 11 segment 3 document 20 document 21 document 22
46 searcher1 segment 1 document 0 document 1 document 2 document 3 document 4 document 5 document 6 document 7 document 8 document 9 document 3 document 8 segment 2 document 10 document 11 document 12 document 13 document 14 document 15 document 16 document 17 document 18 document 19 document 11 segment 3 document 20 document 21 document 22
47 searcher1 searcher2 segment 1 document 0 document 1 document 2 document 3 document 4 document 5 document 6 document 7 document 8 document 9 document 3 document 8 segment 2 document 10 document 11 document 12 document 13 document 14 document 15 document 16 document 17 document 18 document 19 document 11 segment 3 document 20 document 21 document 22
48
49 netflix scale: 30% of last-mile internet traffic, +10k AWS instances immutable everything, including servers: servers are values, not modified new versions are printed and deployed old versions are replaced idempotent updates ReactiveJava/RX (JavaScript) programming model
50 conclusions avoid mutation at all costs values replace or occlude values store change apply changes to construct a temporal view apply these ideas to your entire system architecture profit!
51 thanks
Topics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability
Topics COS 318: Operating Systems File Performance and Reliability File buffer cache Disk failure and recovery tools Consistent updates Transactions and logging 2 File Buffer Cache for Performance What
More information1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.
Multiple-Choice Questions: 1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.) a. update b. checkout c. clone d. import
More informationJOURNALING FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 26
JOURNALING FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 26 2 File System Robustness The operating system keeps a cache of filesystem data Secondary storage devices are much slower than
More informationWeak Consistency and Disconnected Operation in git. Raymond Cheng
Weak Consistency and Disconnected Operation in git Raymond Cheng ryscheng@cs.washington.edu Motivation How can we support disconnected or weakly connected operation? Applications File synchronization across
More informationEECS 482 Introduction to Operating Systems
EECS 482 Introduction to Operating Systems Winter 2018 Harsha V. Madhyastha Multiple updates and reliability Data must survive crashes and power outages Assume: update of one block atomic and durable Challenge:
More informationVersioning with git. Moritz August Git/Bash/Python-Course for MPE. Moritz August Versioning with Git
Versioning with git Moritz August 13.03.2017 Git/Bash/Python-Course for MPE 1 Agenda What s git and why is it good? The general concept of git It s a graph! What is a commit? The different levels Remote
More informationThe Google File System
October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single
More informationTowards A Better SCM: Matt Mackall Selenic Consulting
Towards A Better SCM: Revlog and Mercurial Matt Mackall Selenic Consulting mpm@selenic.com Things To Consider When Building A New SCM Things To Consider When Scalable Building A New SCM Things To Consider
More informationTopics. " Start using a write-ahead log on disk " Log all updates Commit
Topics COS 318: Operating Systems Journaling and LFS Copy on Write and Write Anywhere (NetApp WAFL) File Systems Reliability and Performance (Contd.) Jaswinder Pal Singh Computer Science epartment Princeton
More informationCS122 Lecture 15 Winter Term,
CS122 Lecture 15 Winter Term, 2017-2018 2 Transaction Processing Last time, introduced transaction processing ACID properties: Atomicity, consistency, isolation, durability Began talking about implementing
More informationCOS 318: Operating Systems. Journaling, NFS and WAFL
COS 318: Operating Systems Journaling, NFS and WAFL Jaswinder Pal Singh Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Topics Journaling and LFS Network
More informationThe Old World. Have you ever had to collaborate on a project by
What the Git? The Old World Have you ever had to collaborate on a project by Shuttling a USB drive back and forth Using Dropbox E-mailing your document around Have you ever accidentally deleted someone
More informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationCarnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Last Class. Today s Class. Faloutsos/Pavlo CMU /615
Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#23: Crash Recovery Part 1 (R&G ch. 18) Last Class Basic Timestamp Ordering Optimistic Concurrency
More informationCrash Consistency: FSCK and Journaling. Dongkun Shin, SKKU
Crash Consistency: FSCK and Journaling 1 Crash-consistency problem File system data structures must persist stored on HDD/SSD despite power loss or system crash Crash-consistency problem The system may
More informationPillaging DVCS Repos Adam Baldwin
Pillaging DVCS Repos Adam Baldwin INTRODUCTION Distributed Version Control Systems (DVCS) including Git, Mercurial (HG), and Bazaar (BZR) are becoming increasingly popular and also a convenient method
More informationò Server can crash or be disconnected ò Client can crash or be disconnected ò How to coordinate multiple clients accessing same file?
Big picture (from Sandberg et al.) NFS Don Porter CSE 506 Intuition Challenges Instead of translating VFS requests into hard drive accesses, translate them into remote procedure calls to a server Simple,
More informationNFS. Don Porter CSE 506
NFS Don Porter CSE 506 Big picture (from Sandberg et al.) Intuition ò Instead of translating VFS requests into hard drive accesses, translate them into remote procedure calls to a server ò Simple, right?
More informationThe What, Why and How of the Pure Storage Enterprise Flash Array. Ethan L. Miller (and a cast of dozens at Pure Storage)
The What, Why and How of the Pure Storage Enterprise Flash Array Ethan L. Miller (and a cast of dozens at Pure Storage) Enterprise storage: $30B market built on disk Key players: EMC, NetApp, HP, etc.
More informationVersion Control Systems
Nothing to see here. Everything is under control! September 16, 2015 Change tracking File moving Teamwork Undo! Undo! UNDO!!! What strategies do you use for tracking changes to files? Change tracking File
More informationGit: (Distributed) Version Control
Git: (Distributed) Version Control Computer Science and Engineering College of Engineering The Ohio State University Lecture 2 The Need for Version Control Track evolution of a software artifact Development
More informationFS Consistency & Journaling
FS Consistency & Journaling Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Why Is Consistency Challenging? File system may perform several disk writes to serve a single request Caching
More informationGit: (Distributed) Version Control
Git: (Distributed) Version Control Computer Science and Engineering College of Engineering The Ohio State University Lecture 6 The Need for Version Control Track evolution of a software artifact Development
More informationb. Developing multiple versions of a software project in parallel
Multiple-Choice Questions: 1. Which of these terms best describes Git? a. Integrated Development Environment b. Distributed Version Control System c. Issue Tracking System d. Web-Based Repository Hosting
More informationLecture 21: Logging Schemes /645 Database Systems (Fall 2017) Carnegie Mellon University Prof. Andy Pavlo
Lecture 21: Logging Schemes 15-445/645 Database Systems (Fall 2017) Carnegie Mellon University Prof. Andy Pavlo Crash Recovery Recovery algorithms are techniques to ensure database consistency, transaction
More informationDistributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi
1 Lecture Notes 1 Basic Concepts Anand Tripathi CSci 8980 Operating Systems Anand Tripathi CSci 8980 1 Distributed Systems A set of computers (hosts or nodes) connected through a communication network.
More informationDistributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs
1 Anand Tripathi CSci 8980 Operating Systems Lecture Notes 1 Basic Concepts Distributed Systems A set of computers (hosts or nodes) connected through a communication network. Nodes may have different speeds
More informationBazaar Architecture Overview Release 2.8.0dev1
Bazaar Architecture Overview Release 2.8.0dev1 Bazaar Developers November 30, 2018 Contents 1 IDs and keys ii 1.1 IDs..................................................... ii File ids..................................................
More informationDATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016
DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.
More informationAnnouncements. Persistence: Log-Structured FS (LFS)
Announcements P4 graded: In Learn@UW; email 537-help@cs if problems P5: Available - File systems Can work on both parts with project partner Watch videos; discussion section Part a : file system checker
More informationGit. Christoph Matthies Software Engineering II WS 2018/19. Enterprise Platform and Integration Concepts group
Git Software Engineering II WS 2018/19 Christoph Matthies christoph.matthies@hpi.de Enterprise Platform and Integration Concepts group Outline 1. Basics 2. Local 3. Collaboration November 16, 2018 2 Centralized
More informationFunctional Programming Invades Architecture. George Fairbanks SATURN May 2017
Functional Programming Invades Architecture George Fairbanks SATURN 2017 3 May 2017 1 Programming in the Large Yesterday: Functional Programming is PITS, i.e., just inside modules Today: FP is also PITL
More informationCOS 318: Operating Systems. NSF, Snapshot, Dedup and Review
COS 318: Operating Systems NSF, Snapshot, Dedup and Review Topics! NFS! Case Study: NetApp File System! Deduplication storage system! Course review 2 Network File System! Sun introduced NFS v2 in early
More informationCS 111. Operating Systems Peter Reiher
Operating System Principles: File Systems Allocation, Naming, Performance, and Reliability Operating Systems Peter Reiher Page 1 Outline Allocating and managing file system free space Other performance
More informationSource control with Subversion A user perspective
http://svnbook.red-bean.com/ Source control with Subversion A user perspective Aaron Ponti What is Subversion? } It is a free and open-source version control system } It manages files and directories,
More informationM E R C U R I A L (The Source Control Management)
M E R C U R I A L (The Source Control Management) Jamshaid Iqbal Janjua, Shahid Awan jamshaid.janjua@kics.edu.pk shahidawan@kics.edu.pk Al-Khawarizmi Institute of Computer Science University of Engineering
More informationFile Systems Management and Examples
File Systems Management and Examples Today! Efficiency, performance, recovery! Examples Next! Distributed systems Disk space management! Once decided to store a file as sequence of blocks What s the size
More information6.033 Lecture Logging April 8, saw transactions, which are a powerful way to ensure atomicity
6.033 Lecture 17 -- Logging April 8, 2009 Sam Madden Last time: introduced atomicity two key ideas: - all or nothing - isolation saw transactions, which are a powerful way to ensure atomicity xfer(a,b,10)
More informationImplementation Garbage Collection
CITS 3242 Programming Paradigms Part IV: Advanced Topics Topic 19: Implementation Garbage Collection Most languages in the functional, logic, and object-oriented paradigms include some form of automatic
More informationModeling Process. Rich Hickey
Modeling Process Rich Hickey Which are more fundamental? Messages, classes, encapsulation, inheritance, dispatch... Time, value, identity, state, persistence, transience, place, perception, visibility,
More informationLast Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications
Last Class Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications Basic Timestamp Ordering Optimistic Concurrency Control Multi-Version Concurrency Control C. Faloutsos A. Pavlo Lecture#23:
More informationInherence and Nonsubstantial Particulars: An Object-Oriented View Samuel H. Kenyon
Inherence and Nonsubstantial Particulars: An Object-Oriented View Samuel H. Kenyon 09/29/04 Kenyon 2 Introduction In order to tackle the meanings, assumptions, and inconsistencies in Aristotle s Categories[1],
More informationGit. Ľubomír Prda. IT4Innovations.
Git Ľubomír Prda IT4Innovations lubomir.prda@vsb.cz support@it4i.cz VCS Version Control System Versioning - creation and management of multiple releases of a product, all of which have the same general
More informationLong-term Information Storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple proces
File systems 1 Long-term Information Storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple processes must be able to access the information
More informationAlgorithm Engineering
Algorithm Engineering Jens K. Mueller jkm@informatik.uni-jena.de Department of Mathematics and Computer Science Friedrich Schiller University Jena Tuesday 21 st October, 2014 Version Control with Git Version
More informationCSE 444: Database Internals. Lectures 26 NoSQL: Extensible Record Stores
CSE 444: Database Internals Lectures 26 NoSQL: Extensible Record Stores CSE 444 - Spring 2014 1 References Scalable SQL and NoSQL Data Stores, Rick Cattell, SIGMOD Record, December 2010 (Vol. 39, No. 4)
More informationWhat is a file system
COSC 6397 Big Data Analytics Distributed File Systems Edgar Gabriel Spring 2017 What is a file system A clearly defined method that the OS uses to store, catalog and retrieve files Manage the bits that
More informationStanford University Computer Science Department CS 240 Quiz 2 with Answers Spring May 24, total
Stanford University Computer Science Department CS 240 Quiz 2 with Answers Spring 2004 May 24, 2004 This is an open-book exam. You have 50 minutes to answer eight out of ten questions. Write all of your
More informationCITS3211 FUNCTIONAL PROGRAMMING. 14. Graph reduction
CITS3211 FUNCTIONAL PROGRAMMING 14. Graph reduction Summary: This lecture discusses graph reduction, which is the basis of the most common compilation technique for lazy functional languages. CITS3211
More informationDistributed File Systems
Distributed File Systems Today l Basic distributed file systems l Two classical examples Next time l Naming things xkdc Distributed File Systems " A DFS supports network-wide sharing of files and devices
More informationCOMP3151/9151 Foundations of Concurrency Lecture 8
1 COMP3151/9151 Foundations of Concurrency Lecture 8 Liam O Connor CSE, UNSW (and data61) 8 Sept 2017 2 Shared Data Consider the Readers and Writers problem from Lecture 6: Problem We have a large data
More informationReferences. What is Bigtable? Bigtable Data Model. Outline. Key Features. CSE 444: Database Internals
References CSE 444: Database Internals Scalable SQL and NoSQL Data Stores, Rick Cattell, SIGMOD Record, December 2010 (Vol 39, No 4) Lectures 26 NoSQL: Extensible Record Stores Bigtable: A Distributed
More informationName: Instructions. Problem 1 : Short answer. [48 points] CMU / Storage Systems 20 April 2011 Spring 2011 Exam 2
CMU 18-746/15-746 Storage Systems 20 April 2011 Spring 2011 Exam 2 Instructions Name: There are four (4) questions on the exam. You may find questions that could have several answers and require an explanation
More informationConcurrent & Distributed Systems Supervision Exercises
Concurrent & Distributed Systems Supervision Exercises Stephen Kell Stephen.Kell@cl.cam.ac.uk November 9, 2009 These exercises are intended to cover all the main points of understanding in the lecture
More informationEECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014
EECS 470 Lab 4 Version Control System Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 31 st January, 2014 (University of Michigan) Lab 4:
More informationPush up your code next generation version control with (E)Git
Push up your code next generation version control with (E)Git Dominik Schadow Senior Consultant Application Development dominik.schadow@trivadis.com Java Forum Stuttgart, 07.07.2011 Basel Bern Lausanne
More informationGit. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015
Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone
More informationIdentity, State and Values
Identity, State and Values Clojure s approach to concurrency Rich Hickey Agenda Functions and processes Identity, State, and Values Persistent Data Structures Clojure s Managed References Q&A Functions
More informationKey-value store with eventual consistency without trusting individual nodes
basementdb Key-value store with eventual consistency without trusting individual nodes https://github.com/spferical/basementdb 1. Abstract basementdb is an eventually-consistent key-value store, composed
More informationDistributed Systems
15-440 Distributed Systems 11 - Fault Tolerance, Logging and Recovery Tuesday, Oct 2 nd, 2018 Logistics Updates P1 Part A checkpoint Part A due: Saturday 10/6 (6-week drop deadline 10/8) *Please WORK hard
More informationVersion Control with GIT
Version Control with GIT Benjamin Roth CIS LMU München Benjamin Roth (CIS LMU München) Version Control with GIT 1 / 30 Version Control Version control [...] is the management of changes to documents, computer
More informationCon$nuous Integra$on Development Environment. Kovács Gábor
Con$nuous Integra$on Development Environment Kovács Gábor kovacsg@tmit.bme.hu Before we start anything Select a language Set up conven$ons Select development tools Set up development environment Set up
More informationExample File Systems Using Replication CS 188 Distributed Systems February 10, 2015
Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015 Page 1 Example Replicated File Systems NFS Coda Ficus Page 2 NFS Originally NFS did not have any replication capability
More informationBlockchain & Distributed Internet Infrastructure
Blockchain & Distributed Internet Infrastructure Dirk Kutscher NEC Laboratories Europe 1 Purpose of this Meeting Discuss blockchain-based and Distributed Internet Infrastructure concepts, state of the
More informationGetting Started with Functional Programming in JavaScript. Eric Normand
Getting Started with Functional Programming in JavaScript Eric Normand Buying milk Drive to store Get shopping basket Walk to milk section Put milk in basket Walk to cashier Pay for milk Drive home Making
More informationGETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017
GETTING STARTED WITH Michael Lessard Senior Solutions Architect June 2017 Agenda What is Git? Installation of Git Git basis Github First steps with Git 2 WHAT IS GIT? What is Git? Started in 2005 Created
More informationIntroduction to Cryptography in Blockchain Technology. December 23, 2018
Introduction to Cryptography in Blockchain Technology December 23, 2018 What is cryptography? The practice of developing protocols that prevent third parties from viewing private data. Modern cryptography
More informationThe Tux3 File System
Daniel Phillips Samsung Research America (Silicon Valley) d.phillips@partner.samsung.com 1 2013 SAMSUNG Electronics Co. Why Tux3? The Local filesystem is still important! Affects the performance of everything
More informationSome Lessons Learned from Designing the Resource PKI
Some Lessons Learned from Designing the Resource PKI Geoff Huston Chief Scientist, APNIC May 2007 Address and Routing Security The basic security questions that need to be answered are: Is this a valid
More informationCSE 5306 Distributed Systems. Fault Tolerance
CSE 5306 Distributed Systems Fault Tolerance 1 Failure in Distributed Systems Partial failure happens when one component of a distributed system fails often leaves other components unaffected A failure
More informationAnnouncements. Persistence: Crash Consistency
Announcements P4 graded: In Learn@UW by end of day P5: Available - File systems Can work on both parts with project partner Fill out form BEFORE tomorrow (WED) morning for match Watch videos; discussion
More informationAugust 22, New Views on your History with git replace. Christian Couder
August 22, 2014 New Views on your History with git replace Christian Couder chriscool@tuxfamily.org About Git A Distributed Version Control System (DVCS): created by Linus Torvalds maintained by Junio
More informationLinus Torvalds inventor of Linux wanted a better source control system so he wrote one
Constellations on i Orion, Git and RPG Jesse Gorzinski jgorzins@us.ibm.com IBM i Emerging Solutions Git what is it? Linus Torvalds inventor of Linux wanted a better source control system so he wrote one
More informationShared snapshots. 1 Abstract. 2 Introduction. Mikulas Patocka Red Hat Czech, s.r.o. Purkynova , Brno Czech Republic
Shared snapshots Mikulas Patocka Red Hat Czech, s.r.o. Purkynova 99 612 45, Brno Czech Republic mpatocka@redhat.com 1 Abstract Shared snapshots enable the administrator to take many snapshots of the same
More informationPersistent Data Structures and Managed References
Persistent Data Structures and Managed References Clojure s approach to Identity and State Rich Hickey Agenda Functions and processes Identity, State, and Values Persistent Data Structures Clojure s Managed
More informationCSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn
CSE 374 Programming Concepts & Tools Hal Perkins Winter 2012 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person, multi-platform, multi-month
More informationThe Google File System (GFS)
1 The Google File System (GFS) CS60002: Distributed Systems Antonio Bruto da Costa Ph.D. Student, Formal Methods Lab, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur 2 Design constraints
More informationSECURE CLOUD BACKUP AND RECOVERY
SECURE CLOUD BACKUP AND RECOVERY Learn more about how KeepItSafe can help to reduce costs, save time, and provide compliance for online backup, disaster recovery-as-a-service, mobile data protection, and
More informationVersion Control with GIT: an introduction
Version Control with GIT: an introduction Muzzamil LUQMAN (L3i) and Antoine FALAIZE (LaSIE) 23/11/2017 LaSIE Seminar Université de La Rochelle Version Control with GIT: an introduction - Why Git? - What
More informationChapter 4: Transaction Models
Chapter 4: Transaction Models Handout #19 Overview simple transactions (flat) atomicity & spheres of control non-flat transactions CS346 - Transaction Processing Markus Breunig - 4 / 1 - Atomic Actions
More informationNFS 3/25/14. Overview. Intui>on. Disconnec>on. Challenges
NFS Overview Sharing files is useful Network file systems give users seamless integra>on of a shared file system with the local file system Many op>ons: NFS, SMB/CIFS, AFS, etc. Security an important considera>on
More informationIt turns out that races can be eliminated without sacrificing much in terms of performance or expressive power.
The biggest two problems in multi-threaded programming are races and deadlocks. Races reached new levels with the introduction of relaxed memory processors. It turns out that races can be eliminated without
More informationFault tolerance with transactions: past, present and future. Dr Mark Little Technical Development Manager, Red Hat
Fault tolerance with transactions: past, present and future Dr Mark Little Technical Development Manager, Overview Fault tolerance Transaction fundamentals What is a transaction? ACID properties Distributed
More informationDisk Drives and Geometry. Maximizing Cylinder Locality. (maximizing cylinder locality) Disk Throughput vs. Block Size. Disk Seek/Latency Scheduling
File Systems: Performance & Robustness Disk Drives and Geometry 11G. File System Performance 11H. File System Robustness 11I. Checksums 11J. Log Structured File Systems 11K. Defragmentation 0 1 5 platters
More informationDisk Drives and Geometry. Maximizing Cylinder Locality. (maximizing cylinder locality) Disk Throughput vs. Block Size. Disk Seek/Latency Scheduling
File Systems: Performance & Robustness Disk Drives and Geometry 11G. File System Performance 11H. File System Robustness 11I. Check-sums 11J. Log-Structured File Systems 0 1 5 platters 10 surfaces 8 9
More informationTricky issues in file systems
Tricky issues in file systems Taylor Riastradh Campbell campbell@mumble.net riastradh@netbsd.org EuroBSDcon 2015 Stockholm, Sweden October 4, 2015 What is a file system? Standard Unix concept: hierarchy
More informationJohn DeDourek Professor Emeritus Faculty of Computer Science University of New Brunswick GIT
John DeDourek Professor Emeritus Faculty of Computer Science University of New Brunswick GIT What is Git? A source code control system Implies program code A version control system Implies any sort of
More informationJournaling and Log-structured file systems
Journaling and Log-structured file systems Johan Montelius KTH 2017 1 / 35 The file system A file system is the user space implementation of persistent storage. a file is persistent i.e. it survives the
More informationFinal Review. May 9, 2017
Final Review May 9, 2017 1 SQL 2 A Basic SQL Query (optional) keyword indicating that the answer should not contain duplicates SELECT [DISTINCT] target-list A list of attributes of relations in relation-list
More informationFinal Review. May 9, 2018 May 11, 2018
Final Review May 9, 2018 May 11, 2018 1 SQL 2 A Basic SQL Query (optional) keyword indicating that the answer should not contain duplicates SELECT [DISTINCT] target-list A list of attributes of relations
More informationVersion Control with Git
Version Control with Git Jon Loeliger O'REILLY Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface... xi 1. Introduction... 1 Background 1 The Birth of Git 2 Precedents 4 Time Line
More informationGit Branching. Chapter What a Branch Is
Chapter 3 Git Branching Nearly every VCS has some form of branching support. Branching means you diverge from the main line of development and continue to do work without messing with that main line. In
More informationNFS. CSE/ISE 311: Systems Administra5on
NFS CSE/ISE 311: Systems Administra5on Sharing files is useful Overview Network file systems give users seamless integra8on of a shared file system with the local file system Many op8ons: NFS, SMB/CIFS,
More informationFailure Models. Fault Tolerance. Failure Masking by Redundancy. Agreement in Faulty Systems
Fault Tolerance Fault cause of an error that might lead to failure; could be transient, intermittent, or permanent Fault tolerance a system can provide its services even in the presence of faults Requirements
More informationUsing Git For Development. Shantanu Pavgi, UAB IT Research Computing
Using Git For Development Shantanu Pavgi, pavgi@uab.edu UAB IT Research Computing Outline Version control system Git Branching and Merging Workflows Advantages Version Control System (VCS) Recording changes
More informationVirtual File System. Don Porter CSE 506
Virtual File System Don Porter CSE 506 History ò Early OSes provided a single file system ò In general, system was pretty tailored to target hardware ò In the early 80s, people became interested in supporting
More informationFunctional Architecture:
Functional Architecture: an Experience Report JED WESLEY-SMITH @JEDWS scala because jvm scala/fp many teams now using Scala no longer particularly controversial, mostly Scala is not very good for product
More informationNigori: Storing Secrets in the Cloud. Ben Laurie
Nigori: Storing Secrets in the Cloud Ben Laurie (benl@google.com) April 23, 2013 1 Introduction Secure login is something we would clearly like, but achieving it practically for the majority users turns
More informationFile System Consistency. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
File System Consistency Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Crash Consistency File system may perform several disk writes to complete
More informationCLOUD-SCALE FILE SYSTEMS
Data Management in the Cloud CLOUD-SCALE FILE SYSTEMS 92 Google File System (GFS) Designing a file system for the Cloud design assumptions design choices Architecture GFS Master GFS Chunkservers GFS Clients
More information