julia for infrastructure
play

Julia for Infrastructure Ajay Mendez ajay@kinant.com Agenda - - PowerPoint PPT Presentation

Julia for Infrastructure Ajay Mendez ajay@kinant.com Agenda - Julia for Startups - Our journey and why Julia made sense - Julia for Infrastructure - How we used Julia to build a data ubiquity platform Our Journey Data Governance Platform


  1. Julia for Infrastructure Ajay Mendez ajay@kinant.com

  2. Agenda - Julia for Startups - Our journey and why Julia made sense - Julia for Infrastructure - How we used Julia to build a data ubiquity platform

  3. Our Journey Data Governance Platform Datastore for Backups and Data Ubiquity Platform Archives ● Is sensitive data being ● Checkpoint, move and copied and shared? ● Compression at scale share data ● How much can be saved by ● Scale horizontally ● Like git for data eliminating redundancies? using commodity ● Is it easy to find all relevant nodes data sets for an analytics job? ● Are you sure all copies of data marked for deletion are removed?

  4. Fail Fast and Fail Early Idea! "No matter the programming language chosen, a professional developer will write an average 10 lines of code a day." ● Compression at scale -- Fred Brooks, The Mythical Man Month ● Find redundancies in petabytes ● Prototype in C "The only way to get software written faster is to use a more succinct language" -- Paul Graham, Succinctness is Power

  5. Build Something Useful Fast! December ‘16 March ‘17 November ‘17 Datastore for backup Pivot 1: Data Ubiquity and archive. C Pivot 1 complete had Platform Prototype. we used C/C++ Dec Jan Feb Mar Apr May Jun Jul Aug Oct Nov Dec January ‘17 May ‘17 Port to Julia Pivot 2: Data Governance Platform

  6. Building A Data Ubiquity Platform Ravana.jl ● Like Git for large data ● Persistent cache ● S3 for long term retention ● Replicated oplog for availability ● Fast checkpoint, clone and restart

  7. What Worked ● Debugging - REPL to the rescue ● Rapid prototyping - the prototype is the product Forget about on disk formats! ● Building distributed systems with remotecall() ● ● Increase throughput and responsiveness with tasks

  8. Challenges Challenge Work Around Lack of threads Use @threadcall() judiciously. Not an elegant solution. Multiplexing m tasks on n threads is the way to go. Buffer bloat Use ring buffer Hard to ship binaries Use PKG3? Language instability/compatibility Waiting for 1.0

  9. Summary Julia is great for infrastructure projects! Julia is a competitive advantage for startups! contactus@kinant.com ajay@kinant.com

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend