SlideShare a Scribd company logo
1 of 33
Download to read offline
Julia Computing
Shaurya Shekhar (14BCE0497)
Aarushi Thakral (14BCE0499)
• 4 Main Creators - one of which
is Indian - Viral B. Shah.
• He started working on it on the
same day as he joined UIDAI -
the worlds largest biometric
collection and collation
initiative - Aadhaar by Day -
Julia By Night
• MIT Professors played
instrumental role
The Need For Julia
MATLAB for matrix
calculations and linear
algebra
R Language for
statistics
Ruby & Python for web
development
All Languages Serve Different Purposes
However, they aren’t as fast as C or Java.
started off as a network simulation tool.
It was meant to be ‘good at EVERYTHING’.
What Is Julia?
• Data Science is nowadays a very big deal.
• It involves tonnes of data and the analysis of this
data to evolve meaningful inferences.
• Most of the softwares which help in these are
proprietary like MATLAB and Wolfram’s
Mathematica.
• is the first free alternative.
How Is It Faster?
THE PROBLEM
• Programmers use tools to
translate languages like Ruby
& Python into faster languages
like C & Java.
• This in turn then needs to be
compiled into machine code -
language that the machine
understands.
• This makes it slower, adds
complexity and allows more
room for error
Solution
Eliminates the need of
the intermediary step.
Uses LLVM, a
compiler developed
by UI-UC and
enhanced by Apple &
Google
How Does It Compare?
Alternative to Hadoop
• Hadoop is the widely used data crunching system
developed by Yahoo and used by Facebook.
• Hadoop breaks up a larger problem into many
smaller problems, spreads them across many
systems.
• Julia not only incorporates this fundamental
principle of ‘design parallelism’, but also enhances
it.
Features
• Multiple Dispatch
• Dynamic Programming Language
• Good Implementation Speed
• Metaprogramming
• Built-in Package Manager
• Designed for Parallelism & Cloud Computing
Features (Cont.)
• User-Defined Data Types as fast as built in ones
• Elegant & Extensible Conversions
• MIT-licensed (free & open-source)
Multiple Dispatch
• We All Know What Polymorphism is about.
• Number & type of arguments have to be analyzed
to understand which of the function
implementations needs to be executed.
• This is different from what we’ve learnt in C++, as in
C++, the switch is made during compile time,
whereas here it is made at run-time.
Dynamic Programming
Language
• It is a term used in computer science to describe a
class of high-level programming language, which
at run-time, execute many common programming
behaviors that static programming languages
perform during compilation
• First native in the Lisp language
Good Implementation
Speed
• Almost at most times equivalent to C (the grand-
daddy of programming languages)
• The secret behind the highly efficient Julia
computing is:
1. Just-In-Time (JIT) Compilation using LLVM
Compiler Framework
2. Language Design
LLVM
(Low Level Virtual Machine)
• It is a collection of modular and reusable compiler and
toolchain technologies
• Written in C++
• Can generate relocatable machine code at compile-time or
link-time or even binary machine code at runtime
• It supports language independent instruction set & type system
• Each instruction is in static single assessment form (SSA),
which means that each variable is assigned once and is frozen
Metaprogramming
• It is the ability to write programming languages which
treat their programs as their data. The program could
be designed to read, generate, analyze or transform
other programs & even modify itself while running
• Hence technically, the program operates on code
itself, this involves inspecting & modifying the code
as it runs
• The strongest legacy of Lisp in Julia is its
metaprogramming support
Built-in Package Manager
• It has a built-in manager for installing add-on functionality.
• All package commands are found in Pkg module & are included with ‘Base’
install itself.
• This ensures that libraries of other languages can be ported easily into Julia.
• Example:
1. ’ccall’ is used to access the C shared libraries
2. It has Unicode support for allowing math operators
3. For Strings, it has UTF-8, UTF-16 & UTF-32 & ASCII
4. Markup Languages Like HTML & XML are also supported
Parallelism
• It provides a multiprocessing environment based on
message passing to allow programs to run on multiple
processors in shared or distributed memory
• Implementation of message passing is one-sided
User has to manage only one processor
These do not look like message send & receive,
instead resemble high-level function calls
Two key notions are: remote calls & remote references
Remote Calls & Remote
References
• A remote reference is an object that can be used from any processor to refer to
an object stored on a particular processor
• A remote call is a request by a processor to call a certain function on certain
arguments on another (possibly the same) processor. A remote call returns a
remote reference.
• How remote calls are handled in the program flow:
1. Remote Calls return immediately
2. Processor proceeds to next operation while remote call happens
somewhere else
3. You can wait for it to finish by calling ’wait’ on its remote reference
4. You can obtain full value of result by ‘fetch’
Conversions
• Conversions of values to various types is carried
about by the ‘convert’ function
• Its a function which accepts two arguments, the
first is a type object, the second is a value to
convert to that type
• It is also really easy to define our own conversions
Licences
• The core of Julia implementation is licensed under
the MIT License.
• Various libraries used by Julia have their own
licenses.
• It is an open-source language which gives people
the flexibility of modifying the language to better
suit their needs.
Plotting Capabilities
• Since, this is being used to handle large amounts of
data, it is only normal for it to be able to aptly visualize
data easily.
• It uses various libraries to enable it to plot graphs, flow
charts, pie charts like:
1. PyPlot to call Python’s matplotlib from Julia with
little or no overhead (linspace)
2. Gadfly is another implementation of a different style
of grammar of graphics (draw)
Similar to MATLAB (using PyPlot)
Using Gadfly
Just For Fun
Lets Take An Example
We Use The N-Queens Problem
Understanding Time
Notations
Julia In The Future
Thank You

More Related Content

What's hot

Programming language
Programming languageProgramming language
Programming languageDhani Ahmad
 
Programing paradigm & implementation
Programing paradigm & implementationPrograming paradigm & implementation
Programing paradigm & implementationBilal Maqbool ツ
 
Swift: A parallel scripting for applications at the petascale and beyond.
Swift: A parallel scripting for applications at the petascale and beyond.Swift: A parallel scripting for applications at the petascale and beyond.
Swift: A parallel scripting for applications at the petascale and beyond.Nagasuri Bala Venkateswarlu
 
An overview of computers and programming languages
An overview of computers and programming languages An overview of computers and programming languages
An overview of computers and programming languages Ahmad Idrees
 
Programming language
Programming languageProgramming language
Programming languageMakku-Sama
 
C & C++ Training Centre in Ambala! BATRA COMPUTER CENTRE
C & C++ Training Centre in Ambala! BATRA COMPUTER CENTREC & C++ Training Centre in Ambala! BATRA COMPUTER CENTRE
C & C++ Training Centre in Ambala! BATRA COMPUTER CENTREjatin batra
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigmbusyking03
 
Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenationAshwini Awatare
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming ParadigmsLeo Hernandez
 
Python vs MATLAB: Which one is the best language
Python vs MATLAB:  Which one is the best languagePython vs MATLAB:  Which one is the best language
Python vs MATLAB: Which one is the best languageStat Analytica
 
What is programming what are its benefits
What is programming  what are its benefits What is programming  what are its benefits
What is programming what are its benefits Vijay Singh Khatri
 
Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"Fwdays
 

What's hot (18)

Programming language
Programming languageProgramming language
Programming language
 
Programing paradigm & implementation
Programing paradigm & implementationPrograming paradigm & implementation
Programing paradigm & implementation
 
Swift: A parallel scripting for applications at the petascale and beyond.
Swift: A parallel scripting for applications at the petascale and beyond.Swift: A parallel scripting for applications at the petascale and beyond.
Swift: A parallel scripting for applications at the petascale and beyond.
 
Procedural programming
Procedural programmingProcedural programming
Procedural programming
 
An overview of computers and programming languages
An overview of computers and programming languages An overview of computers and programming languages
An overview of computers and programming languages
 
Introduction to programming languages part 1
Introduction to programming languages   part 1Introduction to programming languages   part 1
Introduction to programming languages part 1
 
Programming language
Programming languageProgramming language
Programming language
 
C & C++ Training Centre in Ambala! BATRA COMPUTER CENTRE
C & C++ Training Centre in Ambala! BATRA COMPUTER CENTREC & C++ Training Centre in Ambala! BATRA COMPUTER CENTRE
C & C++ Training Centre in Ambala! BATRA COMPUTER CENTRE
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigm
 
Programming Languages
Programming LanguagesProgramming Languages
Programming Languages
 
Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenation
 
The compilation process
The compilation processThe compilation process
The compilation process
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming Paradigms
 
Python vs MATLAB: Which one is the best language
Python vs MATLAB:  Which one is the best languagePython vs MATLAB:  Which one is the best language
Python vs MATLAB: Which one is the best language
 
What is programming what are its benefits
What is programming  what are its benefits What is programming  what are its benefits
What is programming what are its benefits
 
Resume
ResumeResume
Resume
 
Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"
 
Difference between c, c++ and java
Difference between c, c++ and javaDifference between c, c++ and java
Difference between c, c++ and java
 

Viewers also liked

Julia - Easier, Better, Faster, Stronger
Julia - Easier, Better, Faster, StrongerJulia - Easier, Better, Faster, Stronger
Julia - Easier, Better, Faster, StrongerKenta Sato
 
Tv5monde descriptif
Tv5monde descriptifTv5monde descriptif
Tv5monde descriptifhala youness
 
Les instruments musicales
Les instruments musicalesLes instruments musicales
Les instruments musicaleshala youness
 
2nd Advanced EAR Compliance Final
2nd Advanced EAR Compliance Final2nd Advanced EAR Compliance Final
2nd Advanced EAR Compliance FinalSTEPHANIE C HART
 
Domain registration and protection in vietnam
Domain registration and protection in vietnamDomain registration and protection in vietnam
Domain registration and protection in vietnamPATON CO., LTD.
 
Les instruments musicales
Les instruments musicalesLes instruments musicales
Les instruments musicaleshala youness
 
Díaz torres sofía teresa
Díaz torres sofía teresaDíaz torres sofía teresa
Díaz torres sofía teresasteresadiaz
 
แนะนำแผนการตลาด มิตรแท้
แนะนำแผนการตลาด มิตรแท้แนะนำแผนการตลาด มิตรแท้
แนะนำแผนการตลาด มิตรแท้tao2009
 
Features and Goals_96dpi
Features and Goals_96dpiFeatures and Goals_96dpi
Features and Goals_96dpiRosa Ruggeri
 
What is seo - Skybound Digital
What is seo - Skybound DigitalWhat is seo - Skybound Digital
What is seo - Skybound Digitalskybound
 
Resume Rakesh Jhajharia(2)
Resume Rakesh Jhajharia(2)Resume Rakesh Jhajharia(2)
Resume Rakesh Jhajharia(2)Rakesh Jhajharia
 
Autonomie dans l apprentissage de langue etrangère
Autonomie dans l apprentissage de langue etrangèreAutonomie dans l apprentissage de langue etrangère
Autonomie dans l apprentissage de langue etrangèrehala youness
 

Viewers also liked (20)

Julia - Easier, Better, Faster, Stronger
Julia - Easier, Better, Faster, StrongerJulia - Easier, Better, Faster, Stronger
Julia - Easier, Better, Faster, Stronger
 
Birth of Larp in Arab World
Birth of Larp in Arab WorldBirth of Larp in Arab World
Birth of Larp in Arab World
 
Richard Isaacs MD
Richard Isaacs MDRichard Isaacs MD
Richard Isaacs MD
 
riem's CV
riem's CVriem's CV
riem's CV
 
Tipos de herramientas
Tipos de herramientasTipos de herramientas
Tipos de herramientas
 
Tv5monde descriptif
Tv5monde descriptifTv5monde descriptif
Tv5monde descriptif
 
Les instruments musicales
Les instruments musicalesLes instruments musicales
Les instruments musicales
 
2nd Advanced EAR Compliance Final
2nd Advanced EAR Compliance Final2nd Advanced EAR Compliance Final
2nd Advanced EAR Compliance Final
 
DCI : Sistemas Tecnológicos
DCI : Sistemas Tecnológicos DCI : Sistemas Tecnológicos
DCI : Sistemas Tecnológicos
 
Domain registration and protection in vietnam
Domain registration and protection in vietnamDomain registration and protection in vietnam
Domain registration and protection in vietnam
 
Les instruments musicales
Les instruments musicalesLes instruments musicales
Les instruments musicales
 
Díaz torres sofía teresa
Díaz torres sofía teresaDíaz torres sofía teresa
Díaz torres sofía teresa
 
แนะนำแผนการตลาด มิตรแท้
แนะนำแผนการตลาด มิตรแท้แนะนำแผนการตลาด มิตรแท้
แนะนำแผนการตลาด มิตรแท้
 
Features and Goals_96dpi
Features and Goals_96dpiFeatures and Goals_96dpi
Features and Goals_96dpi
 
Presentación Plataforma ILIAS
Presentación Plataforma ILIASPresentación Plataforma ILIAS
Presentación Plataforma ILIAS
 
What is seo - Skybound Digital
What is seo - Skybound DigitalWhat is seo - Skybound Digital
What is seo - Skybound Digital
 
Dadaísmo
 Dadaísmo  Dadaísmo
Dadaísmo
 
Resume Rakesh Jhajharia(2)
Resume Rakesh Jhajharia(2)Resume Rakesh Jhajharia(2)
Resume Rakesh Jhajharia(2)
 
OFERTA SZKOLEŃ GEPOL
OFERTA SZKOLEŃ GEPOLOFERTA SZKOLEŃ GEPOL
OFERTA SZKOLEŃ GEPOL
 
Autonomie dans l apprentissage de langue etrangère
Autonomie dans l apprentissage de langue etrangèreAutonomie dans l apprentissage de langue etrangère
Autonomie dans l apprentissage de langue etrangère
 

Similar to Julia Computing - an alternative to Hadoop

Python-unit -I.pptx
Python-unit -I.pptxPython-unit -I.pptx
Python-unit -I.pptxcrAmth
 
The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189Mahmoud Samir Fayed
 
Introduction to Python Programming Basics
Introduction  to  Python  Programming BasicsIntroduction  to  Python  Programming Basics
Introduction to Python Programming BasicsDhana malar
 
C-and-Cpp-Brochure-English. .
C-and-Cpp-Brochure-English.               .C-and-Cpp-Brochure-English.               .
C-and-Cpp-Brochure-English. .spotguys705
 
Unit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptxUnit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptxshashiden1
 
Introduction to Compilers
Introduction to CompilersIntroduction to Compilers
Introduction to CompilersAkhil Kaushik
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python ProgrammingAkhil Kaushik
 
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Professor Lili Saghafi
 
computer languages
computer languagescomputer languages
computer languagesRajendran
 
Computer-charecteristics,types of languages,translators
Computer-charecteristics,types of languages,translatorsComputer-charecteristics,types of languages,translators
Computer-charecteristics,types of languages,translatorsVarshaSivashanker
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issueJigisha Pandya
 
Unit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptxUnit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptxAsst.prof M.Gokilavani
 
PCSG_Computer_Science_Unit_1_Lecture_2.pptx
PCSG_Computer_Science_Unit_1_Lecture_2.pptxPCSG_Computer_Science_Unit_1_Lecture_2.pptx
PCSG_Computer_Science_Unit_1_Lecture_2.pptxAliyahAli19
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design BasicsAkhil Kaushik
 

Similar to Julia Computing - an alternative to Hadoop (20)

Python-unit -I.pptx
Python-unit -I.pptxPython-unit -I.pptx
Python-unit -I.pptx
 
The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189
 
sl slides-unit-1.pptx
sl slides-unit-1.pptxsl slides-unit-1.pptx
sl slides-unit-1.pptx
 
Introduction to Python Programming Basics
Introduction  to  Python  Programming BasicsIntroduction  to  Python  Programming Basics
Introduction to Python Programming Basics
 
C-and-Cpp-Brochure-English. .
C-and-Cpp-Brochure-English.               .C-and-Cpp-Brochure-English.               .
C-and-Cpp-Brochure-English. .
 
Unit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptxUnit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptx
 
Introduction to Compilers
Introduction to CompilersIntroduction to Compilers
Introduction to Compilers
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
 
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
 
Programming language
Programming languageProgramming language
Programming language
 
computer languages
computer languagescomputer languages
computer languages
 
Computer-charecteristics,types of languages,translators
Computer-charecteristics,types of languages,translatorsComputer-charecteristics,types of languages,translators
Computer-charecteristics,types of languages,translators
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issue
 
Unit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptxUnit 1_Evaluation Criteria_session 3.pptx
Unit 1_Evaluation Criteria_session 3.pptx
 
PCSG_Computer_Science_Unit_1_Lecture_2.pptx
PCSG_Computer_Science_Unit_1_Lecture_2.pptxPCSG_Computer_Science_Unit_1_Lecture_2.pptx
PCSG_Computer_Science_Unit_1_Lecture_2.pptx
 
Plc part 1
Plc part 1Plc part 1
Plc part 1
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
Compiler Design Basics
Compiler Design BasicsCompiler Design Basics
Compiler Design Basics
 
programming.pptx
programming.pptxprogramming.pptx
programming.pptx
 

Recently uploaded

Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...Amil baba
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersMairaAshraf6
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilVinayVitekari
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...drmkjayanthikannan
 

Recently uploaded (20)

Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 

Julia Computing - an alternative to Hadoop

  • 1. Julia Computing Shaurya Shekhar (14BCE0497) Aarushi Thakral (14BCE0499)
  • 2. • 4 Main Creators - one of which is Indian - Viral B. Shah. • He started working on it on the same day as he joined UIDAI - the worlds largest biometric collection and collation initiative - Aadhaar by Day - Julia By Night • MIT Professors played instrumental role
  • 3. The Need For Julia MATLAB for matrix calculations and linear algebra R Language for statistics Ruby & Python for web development All Languages Serve Different Purposes However, they aren’t as fast as C or Java. started off as a network simulation tool. It was meant to be ‘good at EVERYTHING’.
  • 4. What Is Julia? • Data Science is nowadays a very big deal. • It involves tonnes of data and the analysis of this data to evolve meaningful inferences. • Most of the softwares which help in these are proprietary like MATLAB and Wolfram’s Mathematica. • is the first free alternative.
  • 5. How Is It Faster? THE PROBLEM • Programmers use tools to translate languages like Ruby & Python into faster languages like C & Java. • This in turn then needs to be compiled into machine code - language that the machine understands. • This makes it slower, adds complexity and allows more room for error Solution Eliminates the need of the intermediary step. Uses LLVM, a compiler developed by UI-UC and enhanced by Apple & Google
  • 6. How Does It Compare?
  • 7. Alternative to Hadoop • Hadoop is the widely used data crunching system developed by Yahoo and used by Facebook. • Hadoop breaks up a larger problem into many smaller problems, spreads them across many systems. • Julia not only incorporates this fundamental principle of ‘design parallelism’, but also enhances it.
  • 8. Features • Multiple Dispatch • Dynamic Programming Language • Good Implementation Speed • Metaprogramming • Built-in Package Manager • Designed for Parallelism & Cloud Computing
  • 9. Features (Cont.) • User-Defined Data Types as fast as built in ones • Elegant & Extensible Conversions • MIT-licensed (free & open-source)
  • 10. Multiple Dispatch • We All Know What Polymorphism is about. • Number & type of arguments have to be analyzed to understand which of the function implementations needs to be executed. • This is different from what we’ve learnt in C++, as in C++, the switch is made during compile time, whereas here it is made at run-time.
  • 11. Dynamic Programming Language • It is a term used in computer science to describe a class of high-level programming language, which at run-time, execute many common programming behaviors that static programming languages perform during compilation • First native in the Lisp language
  • 12. Good Implementation Speed • Almost at most times equivalent to C (the grand- daddy of programming languages) • The secret behind the highly efficient Julia computing is: 1. Just-In-Time (JIT) Compilation using LLVM Compiler Framework 2. Language Design
  • 13. LLVM (Low Level Virtual Machine) • It is a collection of modular and reusable compiler and toolchain technologies • Written in C++ • Can generate relocatable machine code at compile-time or link-time or even binary machine code at runtime • It supports language independent instruction set & type system • Each instruction is in static single assessment form (SSA), which means that each variable is assigned once and is frozen
  • 14. Metaprogramming • It is the ability to write programming languages which treat their programs as their data. The program could be designed to read, generate, analyze or transform other programs & even modify itself while running • Hence technically, the program operates on code itself, this involves inspecting & modifying the code as it runs • The strongest legacy of Lisp in Julia is its metaprogramming support
  • 15. Built-in Package Manager • It has a built-in manager for installing add-on functionality. • All package commands are found in Pkg module & are included with ‘Base’ install itself. • This ensures that libraries of other languages can be ported easily into Julia. • Example: 1. ’ccall’ is used to access the C shared libraries 2. It has Unicode support for allowing math operators 3. For Strings, it has UTF-8, UTF-16 & UTF-32 & ASCII 4. Markup Languages Like HTML & XML are also supported
  • 16. Parallelism • It provides a multiprocessing environment based on message passing to allow programs to run on multiple processors in shared or distributed memory • Implementation of message passing is one-sided User has to manage only one processor These do not look like message send & receive, instead resemble high-level function calls Two key notions are: remote calls & remote references
  • 17. Remote Calls & Remote References • A remote reference is an object that can be used from any processor to refer to an object stored on a particular processor • A remote call is a request by a processor to call a certain function on certain arguments on another (possibly the same) processor. A remote call returns a remote reference. • How remote calls are handled in the program flow: 1. Remote Calls return immediately 2. Processor proceeds to next operation while remote call happens somewhere else 3. You can wait for it to finish by calling ’wait’ on its remote reference 4. You can obtain full value of result by ‘fetch’
  • 18. Conversions • Conversions of values to various types is carried about by the ‘convert’ function • Its a function which accepts two arguments, the first is a type object, the second is a value to convert to that type • It is also really easy to define our own conversions
  • 19. Licences • The core of Julia implementation is licensed under the MIT License. • Various libraries used by Julia have their own licenses. • It is an open-source language which gives people the flexibility of modifying the language to better suit their needs.
  • 20. Plotting Capabilities • Since, this is being used to handle large amounts of data, it is only normal for it to be able to aptly visualize data easily. • It uses various libraries to enable it to plot graphs, flow charts, pie charts like: 1. PyPlot to call Python’s matplotlib from Julia with little or no overhead (linspace) 2. Gadfly is another implementation of a different style of grammar of graphics (draw)
  • 21. Similar to MATLAB (using PyPlot)
  • 24. Lets Take An Example We Use The N-Queens Problem
  • 25.
  • 26.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Julia In The Future